/* Coral Path 2026 — approved design system (white/navy/brass) */
:root{--cp-ink:#14181f;--cp-navy:#1c2a44;--cp-navy-deep:#15203a;--cp-mist:#f6f7f9;--cp-line:#e6e8ec;--cp-brass:#d3ab63}
body.coral2026{font-family:'Inter',sans-serif;color:var(--cp-ink);background:#fff;margin:0}
.coral2026 a{text-decoration:none;color:inherit}
.coral2026 h1,.coral2026 h2,.coral2026 h3,.cp-sec-title{font-family:Cochin,'EB Garamond',Georgia,serif;font-weight:400}

.cp-announce{text-align:center;font-size:11px;letter-spacing:3px;text-transform:uppercase;padding:13px;background:var(--cp-navy);color:#fff}
.cp-site{position:sticky;top:0;background:rgba(255,255,255,.97);backdrop-filter:blur(8px);z-index:50;border-bottom:1px solid var(--cp-line)}
.cp-nav-top{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:22px 56px 14px}
.cp-logo{font-family:'Cinzel',serif;font-size:27px;letter-spacing:7px;text-align:center;grid-column:2;color:var(--cp-ink)}
.cp-nav-icons{grid-column:3;justify-self:end;display:flex;gap:22px;align-items:center}
.cp-nav-icons a{display:flex;align-items:center;position:relative;color:var(--cp-brass);transition:.25s}
.cp-nav-icons a:hover{opacity:.7}
.cp-nav-icons svg{display:block;stroke:currentColor}
.cp-cart-count{position:absolute;top:-6px;right:-9px;background:var(--cp-navy);color:#fff;font-size:9px;width:15px;height:15px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:500}
.cp-nav-links{display:flex;justify-content:center;gap:44px;font-size:11.5px;letter-spacing:3px;text-transform:uppercase;padding:0 56px 16px}
.cp-nav-links>a,.cp-navitem>a{padding-bottom:3px;border-bottom:1px solid transparent;transition:.25s;display:inline-block}
.cp-nav-links>a:hover,.cp-navitem:hover>a{border-color:var(--cp-navy)}
/* hover dropdowns */
.cp-navitem{position:relative}
.cp-drop{position:absolute;top:100%;left:50%;transform:translateX(-50%);padding-top:17px;display:none;z-index:60}
.cp-navitem:hover .cp-drop{display:block}
.cp-drop{min-width:220px}
.cp-drop a{display:block;background:#fff;padding:13px 26px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--cp-ink);white-space:nowrap;text-align:center;border:1px solid var(--cp-line);border-top:none;transition:.2s}
.cp-drop a:first-child{border-top:1px solid var(--cp-line)}
.cp-drop a:hover{background:var(--cp-navy);color:#fff;border-color:var(--cp-navy)}

.cp-hero{position:relative;height:86vh;min-height:540px;overflow:hidden}
.cp-hero>img{width:100%;height:100%;object-fit:cover;object-position:center 30%}
.cp-veil{position:absolute;inset:0;background:linear-gradient(rgba(20,24,31,.18),rgba(20,24,31,.34))}
.cp-hero-inner{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#fff;padding:0 20px}
.cp-hero-kicker{font-size:14px;letter-spacing:5px;text-transform:uppercase;opacity:.95;margin-bottom:22px}
.cp-hero h1{font-size:clamp(42px,5.4vw,74px);line-height:1.1;max-width:16ch;color:#fff;margin:0}
.cp-hero h1 em{font-style:italic}
.cp-btn{display:inline-block;margin-top:40px;padding:17px 48px;font-size:11px;letter-spacing:3px;text-transform:uppercase;transition:.3s;border:none;cursor:pointer}
.cp-btn-light{background:#fff;color:var(--cp-ink)}
.cp-btn-light:hover{background:var(--cp-navy);color:#fff}
.cp-btn-navy{background:var(--cp-navy);color:#fff}
.cp-btn-navy:hover{background:var(--cp-navy-deep)}
.cp-btn-ghost{border:1px solid var(--cp-navy);color:var(--cp-navy);background:none}
.cp-btn-ghost:hover{background:var(--cp-navy);color:#fff}
/* beat the theme-wide `.coral2026 a{color:inherit}` rule on buttons */
.coral2026 a.cp-btn-light{color:var(--cp-ink)}
.coral2026 a.cp-btn-light:hover{color:#fff}
.coral2026 a.cp-btn-navy,.coral2026 a.cp-btn-navy:hover{color:#fff}
.coral2026 a.cp-btn-ghost{color:var(--cp-navy)}
.coral2026 a.cp-btn-ghost:hover{color:#fff}

.cp-trust{display:flex;justify-content:center;gap:7vw;padding:30px 20px;background:var(--cp-navy);color:#fff;flex-wrap:wrap}
.cp-trust-item{display:flex;align-items:center;gap:12px;font-size:12px;letter-spacing:2.5px;text-transform:uppercase}
.cp-trust-item svg{stroke:#d3ab63;flex:none;fill:none}

.cp-quotes{max-width:860px;margin:0 auto;padding:54px 30px 46px;text-align:center}
.cp-quote{display:none;animation:cpq .8s ease}
.cp-quote.active{display:block}
.cp-quote p{font-family:Cochin,'EB Garamond',serif;font-size:20px;font-style:italic;line-height:1.6;margin:0}
.cp-who{margin-top:12px;font-size:11px;letter-spacing:3px;text-transform:uppercase;color:#9aa2af}
.cp-qdots{margin-top:18px;display:flex;justify-content:center;gap:8px}
.cp-qdot{width:7px;height:7px;border-radius:50%;background:var(--cp-line);border:none;cursor:pointer;padding:0}
.cp-qdot.active{background:var(--cp-navy)}
@keyframes cpq{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.cp-sec-head{text-align:center;margin-bottom:60px}
.cp-sec-kicker{font-size:13px;letter-spacing:4px;text-transform:uppercase;color:#5a6373;margin-bottom:14px}
.cp-sec-title{font-size:40px;margin:0}
.cp-sec-cta{text-align:center;margin-top:56px}
.cp-section{padding:110px 56px;max-width:1360px;margin:0 auto}

.cp-board{background:var(--cp-navy) repeating-linear-gradient(90deg,rgba(255,255,255,.14) 0 1px,transparent 1px 15px);padding:110px 44px}
.cp-board .cp-sec-kicker{color:#b9c6e0}
.cp-board .cp-sec-title{color:#fff}
.cp-collections{display:grid;grid-template-columns:repeat(6,1fr);gap:26px;max-width:1560px;margin:0 auto}
.cp-coll{position:relative;display:block;background:#fff;padding:13px 13px 20px;box-shadow:0 16px 34px rgba(0,0,0,.35);transition:transform .35s ease,box-shadow .35s ease}
.cp-coll:nth-child(1){transform:rotate(-2.2deg)}
.cp-coll:nth-child(2){transform:rotate(1.6deg)}
.cp-coll:nth-child(3){transform:rotate(-1deg)}
.cp-coll:nth-child(4){transform:rotate(2deg)}
.cp-coll:nth-child(5){transform:rotate(-1.7deg)}
.cp-coll:hover{transform:rotate(0deg) translateY(-8px);box-shadow:0 26px 48px rgba(0,0,0,.42);z-index:2}
.cp-coll::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4e2b8,#b3894f 55%,#7a5a2e);box-shadow:0 3px 5px rgba(0,0,0,.45);z-index:3}
.cp-coll img{width:100%;aspect-ratio:1/1.08;object-fit:cover;display:block;background:var(--cp-mist)}
.cp-coll-label{display:block;padding:16px 6px 2px;text-align:center;color:var(--cp-ink)}
.cp-coll-label .n{font-family:Cochin,'EB Garamond',serif;font-size:22px;font-style:italic;display:block}
.cp-coll-label .d{font-size:10.5px;letter-spacing:2.5px;text-transform:uppercase;margin-top:6px;color:#6c7482;display:block}

.cp-seasonal{background:#fbf7e9;display:grid;grid-template-columns:1fr 1fr;align-items:center;max-width:1360px;margin:100px auto}
.cp-seasonal-photo{height:100%;min-height:380px}
.cp-seasonal-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cp-seasonal-text{padding:70px 6vw}
.cp-seasonal-text .tag{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:#b08d2f;margin-bottom:14px}
.cp-seasonal-text h3{font-size:38px;line-height:1.2;margin:0}
.cp-seasonal-text p{margin-top:16px;font-size:14.5px;font-weight:300;line-height:1.85;color:#5c5747;max-width:42ch}
.cp-seasonal-text .cp-feature{font-family:Cochin,'EB Garamond',serif;font-style:italic;font-size:19px;color:#3d3a2e;margin-top:20px}
.cp-seasonal-text .cp-btn{margin-top:30px}

.cp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:56px 40px}
.cp-card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--cp-mist)}
.cp-card .name{font-family:Cochin,'EB Garamond',serif;font-size:22px;margin-top:18px;text-align:left}
.cp-card .price{font-size:14px;letter-spacing:1px;color:var(--cp-ink);margin-top:5px;text-align:left}
.cp-card{transition:opacity .3s;position:relative}
.cp-card:hover{opacity:.85}
.cp-badge{position:absolute;top:14px;left:14px;background:#fff;font-size:10px;letter-spacing:2.5px;text-transform:uppercase;padding:7px 14px;color:var(--cp-navy);z-index:2}
.cp-badge.brass{color:#8a6320;border:1px solid var(--cp-brass)}

.cp-occasions{background:var(--cp-navy);color:#fff;padding:100px 56px}
.cp-occasions .cp-sec-kicker{color:#b9c6e0}
.cp-occasions .cp-sec-title{color:#fff}
.cp-occ-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;max-width:1100px;margin:0 auto}
.cp-occ{border:1px solid rgba(255,255,255,.25);padding:34px 20px;text-align:center;transition:.3s;color:#fff}
.cp-occ:hover{background:#fff;color:var(--cp-navy)}
.cp-occ svg{display:block;margin:0 auto 16px;stroke:#d3ab63;fill:none;opacity:.95}
.cp-occ:hover svg{stroke:#b3894f}
.cp-occ .n{font-family:Cochin,'EB Garamond',serif;font-size:22px;font-style:italic}
.cp-occ .d{font-size:12px;letter-spacing:3px;text-transform:uppercase;margin-top:10px;opacity:.85}

.cp-video-band{max-width:1360px;margin:0 auto;padding:110px 56px;text-align:center}
.cp-video-shell{position:relative;aspect-ratio:16/9;background:var(--cp-navy-deep);overflow:hidden}
.cp-video-shell img{width:100%;height:100%;object-fit:cover;opacity:.55}
.cp-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:86px;height:86px;border-radius:50%;border:1px solid #fff}
.cp-play::after{content:"";position:absolute;top:50%;left:50%;transform:translate(-40%,-50%);border-left:18px solid #fff;border-top:11px solid transparent;border-bottom:11px solid transparent}

.cp-services-wrap{background:#faf7f2;padding:100px 0}
.cp-service-row{max-width:1360px;margin:0 auto 90px;padding:0 56px;display:grid;grid-template-columns:1.15fr 1fr;gap:5vw;align-items:center}
.cp-service-row:last-child{margin-bottom:0}
.cp-service-row.flip .cp-service-photo{order:2}
.cp-service-photo{position:relative}
.cp-service-photo img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block;box-shadow:0 26px 50px rgba(28,42,68,.14)}
.cp-service-photo::after{content:"";position:absolute;inset:-14px;border:1px solid #d97f6e;z-index:0;transform:translate(12px,12px);pointer-events:none}
.cp-service h3{font-size:34px;line-height:1.2;margin:0}
.cp-service .tag{font-size:12px;letter-spacing:3px;text-transform:uppercase;color:#c06a5a;margin-bottom:16px}
.cp-service p{margin-top:18px;font-size:15px;font-weight:300;line-height:1.9;color:#514a44;max-width:46ch}
.cp-service .cp-btn{margin-top:30px}

.cp-workshop{max-width:1360px;margin:0 auto;padding:90px 56px;text-align:center}
.cp-workshop-inner{border:1px solid var(--cp-navy);padding:52px 20px;position:relative}
.cp-workshop-inner::before{content:"";position:absolute;top:-8px;left:50%;transform:translateX(-50%);width:15px;height:15px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#f4e2b8,#b3894f 55%,#7a5a2e);box-shadow:0 3px 5px rgba(0,0,0,.3)}
.cp-workshop-inner .tag{font-size:12px;letter-spacing:4px;text-transform:uppercase;color:#5a6373}
.cp-workshop-inner h3{font-size:34px;margin-top:12px}
.cp-workshop-inner .soon{display:inline-block;margin-top:18px;font-size:12px;letter-spacing:4px;text-transform:uppercase;color:var(--cp-navy);border-bottom:1px solid var(--cp-navy);padding-bottom:4px}

.cp-newsletter{background:repeating-linear-gradient(45deg,var(--cp-navy) 0 38px,#ffffff 38px 76px);text-align:center;padding:90px 20px}
.cp-news-inner{background:var(--cp-navy);max-width:640px;margin:0 auto;padding:56px 40px;box-shadow:0 24px 48px rgba(21,32,58,.25);color:#fff}
.cp-news-inner h3{font-size:32px;color:#fff;margin:0}
.cp-news-inner p{font-size:13px;letter-spacing:2px;text-transform:uppercase;color:#b9c6e0;margin-top:12px}
.cp-news-form{margin-top:34px;display:flex;justify-content:center;max-width:480px;margin-left:auto;margin-right:auto}
.cp-news-form input{flex:1;padding:16px 20px;border:1px solid rgba(255,255,255,.4);background:transparent;color:#fff;font-family:'Inter',sans-serif;font-size:13px;outline:none}
.cp-news-form input::placeholder{color:#93a2c2}
.cp-news-form button{padding:16px 34px;background:#fff;color:var(--cp-navy);border:none;font-size:11px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;font-family:'Inter',sans-serif}

.cp-footer{background:var(--cp-navy-deep);color:#aab4c6;padding:70px 56px 40px}
.cp-foot-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr 1fr;gap:40px;font-size:12.5px;max-width:1360px;margin:0 auto}
.cp-foot-logo{font-family:'Cinzel',serif;font-size:22px;letter-spacing:8px;color:#fff}
.cp-foot-grid p{margin-top:18px;font-weight:300;line-height:1.8}
.cp-foot-grid h5{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#fff;margin:0 0 16px}
.cp-foot-grid ul{list-style:none;margin:0;padding:0}
.cp-foot-grid li{margin-bottom:10px;font-weight:300}
.cp-foot-note{text-align:center;margin-top:50px;font-size:11px;letter-spacing:2px;color:#7c8598}

@media(max-width:900px){
  .cp-nav-top{padding:16px 20px 10px}.cp-nav-links{gap:22px;padding:0 16px 12px;flex-wrap:wrap}
  .cp-section,.cp-occasions,.cp-video-band{padding:60px 20px}
  .cp-grid{grid-template-columns:repeat(2,1fr);gap:36px 16px}
  .cp-occ-grid{grid-template-columns:1fr 1fr}
  .cp-board{padding:60px 20px}
  .cp-collections{display:flex;overflow-x:auto;gap:20px;scroll-snap-type:x mandatory;padding:10px 4px 16px}
  .cp-coll{flex:0 0 66vw;scroll-snap-align:center}
  .cp-seasonal{grid-template-columns:1fr;margin:60px auto}
  .cp-trust{gap:18px;flex-direction:column;align-items:center}
  .cp-service-row,.cp-service-row.flip{grid-template-columns:1fr;padding:0 20px}
  .cp-service-row.flip .cp-service-photo{order:0}
  .cp-foot-grid{grid-template-columns:1fr 1fr}
}

/* ===== Shop archive (Phase 3) ===== */
.cp-pagehead{text-align:center;padding:64px 0 18px;border-bottom:1px solid var(--cp-line)}
.cp-pagehead h1{font-size:48px;margin:0}
.cp-pagedesc{margin-top:14px;font-size:15px;color:#20293a;max-width:60ch;margin-left:auto;margin-right:auto;line-height:1.8;padding:0 20px}
.cp-pagedesc p{margin:0}
/* themed collection header frames */
.cp-headframe{position:relative;max-width:760px;margin:0 auto;padding:46px 52px 42px;border:1px solid var(--cp-brass)}
.cp-headframe::after{content:"";position:absolute;inset:7px;border:1px solid rgba(211,171,99,.45);pointer-events:none}
.cp-headframe .k{font-size:11px;letter-spacing:4px;text-transform:uppercase;color:#b08d2f;margin-bottom:14px}
.cp-headframe h1{margin:0}
.cp-headframe .cp-pagedesc{max-width:52ch}
.cp-headframe .corner{position:absolute;width:58px;height:58px;z-index:2}
.cp-headframe .corner.tl{top:-20px;left:-20px}
.cp-headframe .corner.br{bottom:-20px;right:-20px;transform:rotate(180deg)}
.frame-summer{background:#fbf7e9}
.cp-pagehead.has-frame{padding-top:56px}
@media(max-width:700px){.cp-headframe{margin:0 18px;padding:34px 24px 30px}.cp-headframe .corner{width:44px;height:44px}}

.cp-crumb-row{max-width:1440px;margin:38px auto 0;padding:0 48px;text-align:left}
.cp-crumb{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;display:flex;align-items:center;gap:11px}
.coral2026 .cp-crumb a{color:#98a0ad;border-bottom:1px solid transparent;transition:.2s}
.coral2026 .cp-crumb a:hover{color:var(--cp-navy);border-color:var(--cp-navy)}
.cp-crumb .here{color:var(--cp-ink);font-weight:500}
.cp-shopwrap{max-width:1440px;margin:0 auto;padding:56px 48px 40px;display:grid;grid-template-columns:250px 1fr;gap:56px;align-items:start}
.cp-filters{position:sticky;top:130px}
.cp-filters h4{font-size:12px;letter-spacing:3px;text-transform:uppercase;padding-bottom:16px;border-bottom:1px solid var(--cp-ink);margin:0 0 6px;font-family:'Inter',sans-serif;font-weight:500}
.cp-filters details{border-bottom:1px solid var(--cp-line)}
.cp-filters summary{padding:16px 0;font-size:11.5px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;justify-content:space-between;color:var(--cp-ink)}
.cp-filters summary::-webkit-details-marker{display:none}
.cp-filters summary::after{content:"+";color:#3d4657}
.cp-filters details[open] summary::after{content:"–"}
.fbody{padding:2px 0 18px;display:grid;gap:10px}
.fbody-scroll{max-height:264px;overflow-y:auto;scrollbar-width:thin}
.fopt{display:flex;align-items:center;gap:10px;font-size:13.5px;color:var(--cp-ink);cursor:pointer;font-weight:400}
.fopt input{accent-color:var(--cp-navy);width:14px;height:14px;margin:0;flex:none}
.fopt .count{margin-left:auto;font-size:11.5px;color:#4c5563}
.fopt .dot{width:15px;height:15px;border-radius:50%;border:1px solid rgba(0,0,0,.15);flex:none}
.fopt-empty{opacity:.45}
.coral2026 a.cp-clearall{margin-top:18px;font-size:11.5px;letter-spacing:2px;text-transform:uppercase;color:var(--cp-navy);border-bottom:1px solid var(--cp-navy);display:inline-block}
.cp-shop-grid{gap:56px 36px}
.cp-shop-grid .cp-card img{width:100%;aspect-ratio:3/4;object-fit:cover;background:var(--cp-mist);height:auto}
.cp-loading-marker{display:none;align-items:center;justify-content:center;gap:14px;padding:34px 0 10px;color:var(--cp-ink);font-size:12px;letter-spacing:2.5px;text-transform:uppercase}
.cp-loading-marker.show{display:flex}
.cp-ring{width:22px;height:22px;border:2px solid #d4d9e0;border-top-color:var(--cp-navy);border-radius:50%;animation:cpspin .9s linear infinite}
@keyframes cpspin{to{transform:rotate(360deg)}}
.cp-loadmore{text-align:center;padding:44px 20px 20px}
.cp-loadmore .count{font-size:13px;letter-spacing:2px;color:var(--cp-ink);text-transform:uppercase;margin-bottom:20px}
.cp-loadbar{width:240px;height:3px;background:#d4d9e0;margin:0 auto;position:relative}
.cp-loadbar i{position:absolute;left:0;top:0;height:3px;width:0;background:var(--cp-navy);transition:width .4s}
.cp-noresults{padding:60px 0;font-size:15px;color:#20293a}
.coral2026 .cp-noresults a{color:var(--cp-navy);border-bottom:1px solid var(--cp-navy)}
@media(max-width:980px){
  .cp-shopwrap{grid-template-columns:1fr;padding:36px 20px}
  .cp-filters{position:static}
  .cp-shop-grid{grid-template-columns:repeat(2,1fr);gap:36px 16px}
  .cp-pagehead h1{font-size:36px}
  .cp-crumb-row{padding:0 20px}
}

/* ===== Product page (Phase 3) ===== */
.cp-pwrap{max-width:1280px;margin:0 auto;padding:38px 56px 90px;display:grid;grid-template-columns:1.05fr 1fr;gap:5.5vw;align-items:start}
.cp-pcrumb{grid-column:1/-1;margin-bottom:14px;flex-wrap:wrap}
.cp-gallery{position:sticky;top:150px}
.cp-gallery .onsale{display:none}
.cp-gallery .woocommerce-product-gallery__image img{width:100%;height:auto}
.cp-gallery .flex-viewport,.cp-gallery .woocommerce-product-gallery__wrapper{background:var(--cp-mist)}
.cp-gallery .flex-control-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin:12px 0 0;padding:0;list-style:none}
.cp-gallery .flex-control-thumbs img{width:100%;aspect-ratio:1;object-fit:cover;cursor:pointer;opacity:.7;transition:.25s;background:var(--cp-mist)}
.cp-gallery .flex-control-thumbs img:hover,.cp-gallery .flex-control-thumbs img.flex-active{opacity:1;outline:1px solid var(--cp-navy)}
.cp-pkicker{font-size:11.5px;letter-spacing:3px;text-transform:uppercase;color:#4c5563}
.cp-pkicker .k-summer{color:#8a6320}
.cp-ptitle{font-size:42px;margin:10px 0 0;line-height:1.15}
.cp-pprice{font-size:22px;letter-spacing:1px;margin-top:14px;font-weight:500}
.cp-pprice del{color:#98a0ad;font-weight:300;font-size:17px;margin-right:8px}
.cp-pprice .cp-holiday-label,.cp-pprice small{display:block;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:#4c5563;margin-top:6px;font-weight:400}
.cp-pdesc{margin-top:18px;font-size:14.5px;line-height:1.85;color:#2c3442}
.cp-blocklabel{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;margin:34px 0 12px;color:var(--cp-ink);display:flex;align-items:center;gap:12px;font-weight:500}
.cp-stepnum{font-size:13px;font-weight:600;display:flex;align-items:center;gap:8px}
.cp-stepnum svg{flex:none}
.cp-blocklabel .req{color:#6d7788;letter-spacing:1px;text-transform:none;font-size:11.5px;font-weight:400}
/* legacy date picker, restyled to the approved datebox */
.cp-pdetails .product-field-box{border:1px solid var(--cp-navy);padding:20px}
.cp-pdetails .product-fields{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.cp-pdetails .product_date_field{border:1px solid var(--cp-line);padding:12px 6px;text-align:center;font-size:12px;cursor:pointer;transition:.2s;line-height:1.5;color:#2c3442;letter-spacing:.5px}
.cp-pdetails .product_date_field:hover{border-color:var(--cp-navy)}
.cp-pdetails .product_date_field.active_date{background:var(--cp-navy);color:#fff;border-color:var(--cp-navy)}
.cp-pdetails .full_calendar{grid-column:1/-1;margin:12px 0 0;padding:0}
.cp-pdetails .full_calendar input{width:100%;padding:12px 14px;border:1px solid var(--cp-line);font-family:'Inter',sans-serif;font-size:13.5px;color:var(--cp-ink);background:#fff;cursor:pointer;text-align:left}
.cp-pdetails .select_date_note{font-size:12.5px;color:#6d7788;margin-top:10px}
/* variations */
.cp-pdetails table.variations{border:none;margin:0}
.cp-pdetails table.variations td{padding:0;border:none}
.cp-pdetails table.variations select{width:100%;padding:13px 14px;border:1px solid var(--cp-line);font-family:'Inter',sans-serif;font-size:13.5px;color:var(--cp-ink);background:#fff}
/* Each variation attribute is its own numbered step (box colour, enhance…) */
.cp-pdetails table.variations,
.cp-pdetails table.variations tbody,
.cp-pdetails table.variations tr,
.cp-pdetails table.variations td.value{display:block;width:auto;padding:0}
.cp-pdetails table.variations{counter-reset:cpvar 1}
.cp-pdetails table.variations tr{counter-increment:cpvar}
.cp-pdetails table.variations th.label{
  display:flex;align-items:center;gap:8px;
  margin:34px 0 12px;padding:0;text-align:left;
  font-size:12px;letter-spacing:2.5px;text-transform:uppercase;
  color:var(--cp-ink);font-weight:500;
  /* WP styles <th> with a grey border + tint — not wanted for a heading */
  border:none!important;background:none!important;box-shadow:none!important;
}
.cp-pdetails table.variations th.label::before{
  content:counter(cpvar) ".";
  font-size:13px;font-weight:600;letter-spacing:2.5px;
  padding-left:20px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none' stroke='%23b3894f' stroke-width='1.1'%3E%3Cpath d='M1.5 10.5 C1.5 5 5 1.5 10.5 1.5 C10.5 7 7 10.5 1.5 10.5 z'/%3E%3Cpath d='M1.5 10.5 C4 8 6.5 5.5 9 3'/%3E%3C/svg%3E") left center/12px 12px no-repeat;
}
.cp-pdetails table.variations th.label label{margin:0;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit}
.cp-pdetails .reset_variations{font-size:11.5px;letter-spacing:1px;text-transform:uppercase;color:#6d7788}
.cp-pdetails .woocommerce-variation-price{margin:10px 0 0;font-size:15px;font-weight:500}
.cp-pdetails .woocommerce-variation-availability{font-size:12.5px;color:#6d7788}
/* add-ons */
.cp-addons{display:grid;gap:10px;margin-bottom:6px}
.cp-addon{display:flex;align-items:center;gap:14px;border:1px solid var(--cp-line);padding:14px 16px;cursor:pointer;transition:.2s;font-size:13px}
.cp-addon:hover{border-color:var(--cp-navy)}
.cp-addon:has(input:checked){border-color:var(--cp-navy);background:#fafbfd}
.cp-addon input{accent-color:var(--cp-navy);width:16px;height:16px;margin:0;flex:none}
.cp-addon .t{flex:1}
.cp-addon .t b{display:block;font-size:14px;font-weight:500}
.cp-addon .t span{font-size:12.5px;color:#4c5563}
.cp-addon .p{font-size:13.5px;letter-spacing:1px;color:var(--cp-navy);white-space:nowrap;font-weight:500}
.cp-addon-free{cursor:default;background:var(--cp-mist);border-style:solid}
.cp-addon.cp-addon-free:hover{border-color:var(--cp-line)}  /* not clickable — no hover cue */
/* qty + button */
.cp-pdetails form.cart{margin-top:0}
.cp-pdetails form.cart .quantity{display:inline-flex;border:1px solid var(--cp-line);align-items:center;margin-right:14px}
.cp-pdetails form.cart .quantity input{border:none;width:64px;text-align:center;font-size:14.5px;padding:16px 0;font-family:'Inter',sans-serif;-moz-appearance:textfield}
.cp-pdetails .single_add_to_cart_button{background:var(--cp-navy);color:#fff;border:none;font-size:12.5px;letter-spacing:3px;text-transform:uppercase;cursor:pointer;transition:.3s;font-family:'Inter',sans-serif;padding:18px 44px;min-width:60%}
.cp-pdetails .single_add_to_cart_button:hover{background:var(--cp-navy-deep)}
.cp-favrow{margin-top:14px;text-align:center}
.cp-favbtn{display:inline-flex;align-items:center;gap:10px;background:none;border:none;cursor:pointer;font-family:'Inter',sans-serif;font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:#2c3442;padding:8px 14px;transition:.25s}
.cp-favbtn:hover{color:var(--cp-navy)}
.cp-favbtn.saved{color:#b02a30}
.cp-favbtn.saved svg path{fill:#b02a30;stroke:#b02a30}
.cp-under-cta{margin-top:10px;text-align:center;font-size:12px;letter-spacing:1.5px;color:#4c5563;text-transform:uppercase}
.cp-under-cta b{color:var(--cp-ink);font-weight:500}
/* accordions */
.cp-acc{margin-top:44px;border-top:1px solid var(--cp-line)}
.cp-acc details{border-bottom:1px solid var(--cp-line)}
.cp-acc summary{padding:18px 0;font-size:12.5px;letter-spacing:2.5px;text-transform:uppercase;cursor:pointer;list-style:none;display:flex;justify-content:space-between;font-weight:500}
.cp-acc summary::-webkit-details-marker{display:none}
.cp-acc summary::after{content:"+";font-size:15px;color:#4c5563}
.cp-acc details[open] summary::after{content:"–"}
.cp-acc .body{padding:0 0 20px;font-size:14px;line-height:1.85;color:#2c3442}
.cp-acc .body p{margin:0 0 12px}
.cp-acc .cp-subst-note{color:#6d7788;font-size:13.5px;font-style:italic}
.coral2026 .cp-acc a{color:var(--cp-navy);border-bottom:1px solid var(--cp-navy)}
.cp-also{max-width:1280px;margin:0 auto;padding:20px 56px 90px}
.cp-also h3{font-size:32px;text-align:center;margin:0 0 44px}
@media(max-width:920px){
  .cp-pwrap{grid-template-columns:1fr;padding:26px 20px 60px}
  .cp-gallery{position:static}
  .cp-ptitle{font-size:34px}
  .cp-pdetails .product-fields{grid-template-columns:repeat(2,1fr)}
  .cp-also{padding:10px 20px 60px}
}

/* ===== Product page polish round 1 (Harout's five) ===== */
/* 1. kill the magnifying glass zoom trigger */
.cp-gallery .woocommerce-product-gallery__trigger{display:none!important}

/* 2. jQuery-UI calendar: white, black type, navy highlights */
#ui-datepicker-div{background:#fff!important;border:1px solid var(--cp-line)!important;box-shadow:0 18px 40px rgba(20,24,31,.16);font-family:'Inter',sans-serif!important;padding:14px!important;border-radius:0!important;z-index:99!important}
.ui-datepicker .ui-datepicker-header{background:#fff!important;border:none!important;border-radius:0!important}
.ui-datepicker .ui-datepicker-title{color:var(--cp-ink)!important;font-size:12px!important;letter-spacing:2px;text-transform:uppercase;font-weight:500!important}
.ui-datepicker th{color:#6d7788!important;font-size:10.5px!important;text-transform:uppercase;letter-spacing:1px}
.ui-datepicker td{padding:2px!important}
.ui-datepicker td a,.ui-datepicker td span{background:#fff!important;border:1px solid transparent!important;color:var(--cp-ink)!important;text-align:center!important;padding:7px 0!important;border-radius:0!important}
.ui-datepicker td .ui-state-hover{background:var(--cp-navy)!important;color:#fff!important}
.ui-datepicker td .ui-state-active{background:var(--cp-navy)!important;color:#fff!important;border-color:var(--cp-navy)!important}
.ui-datepicker td.ui-datepicker-today a{border-color:var(--cp-navy)!important;font-weight:600}
.ui-datepicker .ui-state-disabled span,.ui-datepicker td.ui-state-disabled{color:#c3c9d2!important;background:#fff!important}
.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{background:#fff!important;border:none!important;border-radius:0!important;cursor:pointer;top:6px!important}
.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover{background:var(--cp-mist)!important}
.ui-datepicker .ui-icon{filter:grayscale(1) brightness(.25)}

/* 3. hide the CLEAR link; deselect handled in JS by re-clicking the swatch */
.cp-pdetails .reset_variations{display:none!important}

/* 4. Add to Bag: navy antique frame with inner brass line */
.cp-pdetails .single_add_to_cart_button,
.cp-pdetails button.single_add_to_cart_button.alt{
  background:var(--cp-navy)!important;color:#fff!important;
  border:1px solid var(--cp-brass)!important;border-radius:0!important;
  box-shadow:inset 0 0 0 2px var(--cp-navy),inset 0 0 0 3px var(--cp-brass)!important;
}
.cp-pdetails .single_add_to_cart_button:hover{background:var(--cp-navy-deep)!important;box-shadow:inset 0 0 0 2px var(--cp-navy-deep),inset 0 0 0 3px var(--cp-brass)!important}

/* 5. calendar-picked date chip: solid navy, white text, single clean border */
.cp-pdetails .product_date_field.full_calendar{border:none!important;padding:0!important;background:transparent!important;box-shadow:none!important}
.cp-pdetails .full_calendar input{border:1px solid var(--cp-line)!important;box-shadow:none!important;border-radius:0!important}
.cp-pdetails .full_calendar.active_date input,
.cp-pdetails .full_calendar input.active_date,
.cp-pdetails .full_calendar input.hasDatepicker.active_date{
  background:var(--cp-navy)!important;color:#fff!important;border:1px solid var(--cp-navy)!important;text-align:center;letter-spacing:1px
}
.cp-pdetails .full_calendar.active_date input::placeholder{color:#fff}
.cp-pdetails .product_date_field{box-shadow:none!important;border:1px solid var(--cp-line)!important}
.cp-pdetails .product_date_field.active_date{border:1px solid var(--cp-navy)!important;background:var(--cp-navy)!important;color:#fff!important}

/* ===== Product polish round 2 ===== */
/* free-standing color swatches — kill the grey panel behind them */
.cp-pdetails table.variations td.value{background:transparent!important;border:none!important;padding:0!important}
.cp-pdetails .cfvsw-swatches-container{background:transparent!important;border:none!important;padding:0!important;gap:12px}

/* calendar, Google-style: bare white, brass frame, round day cells */
#ui-datepicker-div{background:#fff!important;border:1px solid var(--cp-brass)!important;border-radius:12px!important;box-shadow:0 12px 34px rgba(20,24,31,.14)!important;padding:20px!important;width:auto!important;min-width:302px}
.ui-datepicker .ui-datepicker-header{background:#fff!important;border:none!important;padding:0 0 12px!important;position:relative!important}
.ui-datepicker .ui-datepicker-title{text-align:left!important;margin:0 64px 0 4px!important;font-size:15px!important;letter-spacing:0!important;text-transform:none!important;color:#3c4043!important;font-weight:500!important;font-family:'Inter',sans-serif!important}
.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{background:none!important;border:none!important;width:30px!important;height:30px!important;top:-2px!important;display:flex!important;align-items:center;justify-content:center;cursor:pointer;border-radius:50%!important}
.ui-datepicker .ui-datepicker-prev{left:auto!important;right:38px!important}
.ui-datepicker .ui-datepicker-next{right:2px!important}
.ui-datepicker .ui-datepicker-prev:hover,.ui-datepicker .ui-datepicker-next:hover{background:#f1f3f4!important}
.ui-datepicker .ui-datepicker-prev span.ui-icon,.ui-datepicker .ui-datepicker-next span.ui-icon{background:none!important;background-image:none!important;text-indent:0!important;overflow:visible!important;width:auto!important;height:auto!important;font-size:0!important;position:static!important;margin:0!important}
.ui-datepicker .ui-datepicker-prev span.ui-icon::before{content:"‹";font-size:20px;color:#5f6368;line-height:1}
.ui-datepicker .ui-datepicker-next span.ui-icon::before{content:"›";font-size:20px;color:#5f6368;line-height:1}
.ui-datepicker table{margin:0!important;border-collapse:collapse!important}
.ui-datepicker th{color:#9aa0a6!important;font-weight:400!important;font-size:11px!important;padding:6px 0!important;text-transform:uppercase;letter-spacing:.5px}
.ui-datepicker td{padding:2px!important;background:#fff!important;border:none!important}
.ui-datepicker td a,.ui-datepicker td span{display:flex!important;align-items:center!important;justify-content:center!important;width:34px!important;height:34px!important;margin:0 auto!important;padding:0!important;border:1px solid transparent!important;border-radius:50%!important;background:#fff!important;color:#202124!important;font-size:13px!important;text-align:center!important}
.ui-datepicker td a:hover{background:#f1f3f4!important;color:#202124!important}
.ui-datepicker td a.ui-state-active{background:var(--cp-navy)!important;color:#fff!important;border-color:var(--cp-navy)!important}
.ui-datepicker td.ui-datepicker-today a{border-color:var(--cp-navy)!important;font-weight:600!important}
.ui-datepicker td.ui-state-disabled span,.ui-datepicker .ui-state-disabled span{color:#c0c4cb!important;background:#fff!important}
.ui-datepicker td.ui-datepicker-other-month a,.ui-datepicker td.ui-datepicker-other-month span{color:#c0c4cb!important}

/* ===== calendar: force white on every layer the old skin painted ===== */
#ui-datepicker-div table,#ui-datepicker-div thead,#ui-datepicker-div tbody,#ui-datepicker-div tr,
#ui-datepicker-div th,#ui-datepicker-div td,
#ui-datepicker-div td.ui-datepicker-unselectable,#ui-datepicker-div td.ui-state-disabled,
#ui-datepicker-div td.ui-datepicker-other-month{background:#fff!important;background-color:#fff!important;background-image:none!important;border:none!important}
#ui-datepicker-div th{color:#9aa0a6!important}
#ui-datepicker-div td.ui-datepicker-unselectable span,#ui-datepicker-div td.ui-state-disabled span{background:#fff!important;color:#c0c4cb!important}
#ui-datepicker-div .ui-datepicker-prev span.ui-icon::before,#ui-datepicker-div .ui-datepicker-next span.ui-icon::before{color:#5f6368}

/* ===== Add to Bag: antique plaque frame (double line, scooped corners) ===== */
.cp-pdetails .single_add_to_cart_button,
.cp-pdetails button.single_add_to_cart_button.alt{
  box-shadow:none!important;
  border:14px solid transparent!important;
  border-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 120 120'%3E%3Cpath d='M27,7 H93 A20,20 0 0 0 113,27 V93 A20,20 0 0 0 93,113 H27 A20,20 0 0 0 7,93 V27 A20,20 0 0 0 27,7 Z' fill='none' stroke='%23d3ab63' stroke-width='3'/%3E%3Cpath d='M31,15 H89 A16,16 0 0 0 105,31 V89 A16,16 0 0 0 89,105 H31 A16,16 0 0 0 15,89 V31 A16,16 0 0 0 31,15 Z' fill='none' stroke='%23d3ab63' stroke-width='1.6'/%3E%3C/svg%3E") 40 stretch!important;
  background:var(--cp-navy)!important;
  padding:10px 32px!important;
}
.cp-pdetails .single_add_to_cart_button:hover{background:var(--cp-navy-deep)!important;box-shadow:none!important}

/* ===== Add to Bag frame, take 2: reliable double brass line ===== */
.cp-pdetails .single_add_to_cart_button,
.cp-pdetails button.single_add_to_cart_button.alt{
  border:none!important;border-image:none!important;border-radius:0!important;
  background:var(--cp-navy)!important;
  padding:19px 44px!important;
  box-shadow:
    inset 0 0 0 3px var(--cp-navy),
    inset 0 0 0 4px var(--cp-brass),
    inset 0 0 0 8px var(--cp-navy),
    inset 0 0 0 9px var(--cp-brass)!important;
}
.cp-pdetails .single_add_to_cart_button:hover{
  background:var(--cp-navy-deep)!important;
  box-shadow:
    inset 0 0 0 3px var(--cp-navy-deep),
    inset 0 0 0 4px var(--cp-brass),
    inset 0 0 0 8px var(--cp-navy-deep),
    inset 0 0 0 9px var(--cp-brass)!important;
}

/* ===== Checkout (Phase 3): navy/brass single pass ===== */
.woocommerce-checkout .coral2026 h1,.coral2026.woocommerce-checkout h1{font-size:40px}
.coral2026 form.checkout{max-width:1200px;margin:0 auto}
.coral2026 form.checkout .col2-set{display:flex;flex-direction:row-reverse;gap:5vw} /* delivery (col-2) shown first */
.coral2026 form.checkout .col2-set .col-1,.coral2026 form.checkout .col2-set .col-2{flex:1;width:auto;float:none}
.coral2026 form.checkout h3{font-family:Cochin,'EB Garamond',serif;font-size:26px;font-weight:400;border-bottom:1px solid var(--cp-line);padding-bottom:12px;margin-bottom:20px}
.coral2026 form.checkout .form-row label{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#3d4657;margin-bottom:6px}
.coral2026 form.checkout .form-row input.input-text,.coral2026 form.checkout .form-row textarea,.coral2026 form.checkout .form-row select{border:1px solid var(--cp-line);padding:13px 14px;font-family:'Inter',sans-serif;font-size:14px;color:var(--cp-ink);background:#fff;border-radius:0}
.coral2026 form.checkout .form-row input.input-text:focus,.coral2026 form.checkout .form-row textarea:focus{border-color:var(--cp-navy);outline:none}
.coral2026 #place_order{background:var(--cp-navy)!important;color:#fff!important;border:none!important;border-radius:0!important;font-size:12.5px!important;letter-spacing:3px;text-transform:uppercase;padding:19px 44px!important;font-family:'Inter',sans-serif!important;box-shadow:inset 0 0 0 3px var(--cp-navy),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy),inset 0 0 0 9px var(--cp-brass)!important;transition:.3s}
.coral2026 #place_order:hover{background:var(--cp-navy-deep)!important;box-shadow:inset 0 0 0 3px var(--cp-navy-deep),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy-deep),inset 0 0 0 9px var(--cp-brass)!important}
@media(max-width:900px){.coral2026 form.checkout .col2-set{flex-direction:column}}

/* ===== Checkout cleanup pass (Harout) ===== */
body.coral2026.woocommerce-checkout h1{font-family:Cochin,'EB Garamond',Georgia,serif!important;font-weight:400!important;font-size:44px!important;text-align:center;letter-spacing:.5px;color:var(--cp-ink)}
.woocommerce-checkout .woocommerce-form-coupon-toggle,.woocommerce-checkout form.checkout_coupon{display:none!important}
#billing_country_field,#shipping_country_field{display:none!important}
#ship-to-different-address{display:none!important}
.woocommerce-shipping-fields::before{content:"Delivery";display:block;font-family:Cochin,'EB Garamond',serif;font-size:26px;border-bottom:1px solid var(--cp-line);padding-bottom:12px;margin-bottom:20px}
.cp-dtype{max-width:460px;margin:0 auto 34px!important;text-align:center}
.cp-dtype label{display:block;font-family:Cochin,'EB Garamond',serif;font-size:24px;text-transform:none!important;letter-spacing:.5px!important;color:var(--cp-ink)!important;margin-bottom:12px!important}
.cp-dtype select{width:100%;border:1px solid var(--cp-navy);padding:14px;font-family:'Inter',sans-serif;font-size:14px;color:var(--cp-ink);background:#fff;border-radius:0;cursor:pointer}
.coral2026 form.checkout .form-row{margin:0 0 16px;padding:0}
.coral2026 form.checkout .form-row label{display:block}
.coral2026 form.checkout .form-row .woocommerce-input-wrapper{display:block;width:100%}
.coral2026 form.checkout .form-row input.input-text,.coral2026 form.checkout .form-row textarea,.coral2026 form.checkout .form-row select{width:100%;box-sizing:border-box}
.coral2026 form.checkout .form-row-first,.coral2026 form.checkout .form-row-last{width:48.5%}
/* select2 dropdowns in brand colors */
.select2-container--default .select2-selection--single{border:1px solid var(--cp-line)!important;border-radius:0!important;height:auto!important;padding:10px 12px!important}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.4!important;color:var(--cp-ink)!important;padding:0!important}
.select2-container--default .select2-selection--single .select2-selection__arrow{height:100%!important;top:0!important}
.select2-dropdown{border:1px solid var(--cp-line)!important;border-radius:0!important;box-shadow:0 12px 30px rgba(20,24,31,.12)}
.select2-container--default .select2-results__option--highlighted[aria-selected],.select2-container--default .select2-results__option--highlighted[data-selected]{background:var(--cp-navy)!important;color:#fff!important}
.select2-container--default .select2-results__option[aria-selected=true],.select2-container--default .select2-results__option[data-selected=true]{background:var(--cp-mist)!important;color:var(--cp-ink)!important}
.select2-search--dropdown .select2-search__field{border:1px solid var(--cp-line)!important;border-radius:0!important}

/* ===== Checkout: Shopify-style layout — fields left, sticky summary card right ===== */
.coral2026 form.checkout{display:grid;grid-template-columns:minmax(0,1fr) 440px;column-gap:60px;max-width:1200px;margin:0 auto;align-items:start}
.coral2026 form.checkout>*{grid-column:1;min-width:0}
.coral2026 form.checkout #order_review{grid-column:2;grid-row:1/span 30;position:sticky;top:120px;background:var(--cp-mist);border:1px solid var(--cp-line);padding:28px;margin:0}
.coral2026 form.checkout #order_review_heading{display:none}
.coral2026 form.checkout #order_review::before{content:"Order Summary";display:block;font-family:Cochin,'EB Garamond',serif;font-size:24px;margin-bottom:18px;color:var(--cp-ink)}
/* stack the two field sections vertically: Delivery first, then Billing */
.coral2026 form.checkout .col2-set{display:flex;flex-direction:column-reverse;gap:0}
.coral2026 form.checkout .col2-set .col-1,.coral2026 form.checkout .col2-set .col-2{width:100%;max-width:640px}
.coral2026 form.checkout .col2-set .col-1{margin-top:34px}
/* summary table, Shopify-flavored */
.coral2026 #order_review table.shop_table{background:transparent;border:none;margin:0;font-size:13.5px}
.coral2026 #order_review table.shop_table td,.coral2026 #order_review table.shop_table th{border:none;padding:10px 0;background:transparent;vertical-align:middle}
.coral2026 #order_review table.shop_table thead{display:none}
.coral2026 #order_review table.shop_table tbody tr{border-bottom:1px solid var(--cp-line)}
.coral2026 #order_review table.shop_table img{width:56px;height:56px;object-fit:cover;border:1px solid var(--cp-line);margin-right:12px}
.coral2026 #order_review .cart-subtotal th,.coral2026 #order_review .order-total th,.coral2026 #order_review .tax-total th,.coral2026 #order_review tr.shipping th{font-size:12px;letter-spacing:1.5px;text-transform:uppercase;color:#3d4657;font-weight:500;text-align:left}
.coral2026 #order_review .order-total{border-top:1px solid var(--cp-ink)}
.coral2026 #order_review .order-total td,.coral2026 #order_review .order-total th{font-size:17px;font-weight:600;padding-top:14px}
/* payment box inside the card */
.coral2026 #order_review .woocommerce-checkout-payment{background:transparent!important}
.coral2026 #order_review .wc_payment_methods{padding:0!important;border-bottom:1px solid var(--cp-line)}
.coral2026 #order_review .wc_payment_method{list-style:none}
.coral2026 #order_review .payment_box{background:#fff!important;border:1px solid var(--cp-line);font-size:13px}
.coral2026 #order_review .payment_box::before{display:none!important}
.coral2026 #order_review #place_order{width:100%;margin-top:18px}
/* keep left column tidy */
.coral2026 form.checkout .woocommerce-shipping-fields::before{margin-top:6px}
.coral2026 form.checkout h3{font-size:24px}
@media(max-width:1000px){
  .coral2026 form.checkout{display:flex;flex-direction:column}
  .coral2026 form.checkout #order_review{position:static;order:99;margin-top:30px}
}

/* ===== Checkout v2 — Harout's PDF layout ===== */
/* reset the previous grid experiment */
.coral2026 form.checkout{display:block;max-width:none}
.coral2026 form.checkout #order_review{position:static;grid-column:auto;grid-row:auto;background:transparent;border:none;padding:0;margin:0}
.coral2026 form.checkout #order_review::before{display:none}
body.coral2026.woocommerce-checkout h1{text-align:left}

.cp-co-frame{border:26px solid var(--cp-navy);max-width:1240px;margin:0 auto 60px;padding:44px 48px 70px;background:#fff}
.cp-co-banner{position:relative;max-width:560px;margin:0 auto 54px;background:repeating-linear-gradient(45deg,var(--cp-navy) 0 30px,#fff 30px 60px);padding:44px 40px}
.cp-co-banner-card{position:relative;background:#fff;border:1px solid var(--cp-brass);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px var(--cp-brass);text-align:center;padding:26px 30px 24px}
.cp-co-banner-card h1{font-family:Cochin,'EB Garamond',serif!important;font-size:40px!important;font-weight:400!important;margin:0;color:var(--cp-ink);text-align:center!important}
.cp-co-banner-card .tag{font-family:Cochin,'EB Garamond',serif;font-style:italic;font-size:16px;color:var(--cp-navy);margin-top:6px}
.cp-co-leaf{position:absolute;width:26px;height:26px;background:radial-gradient(circle at 35% 30%,#f4e2b8,#b3894f 55%,#7a5a2e);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.35);transform:scale(.55)}
.cp-co-leaf.tl{top:-14px;left:-14px}
.cp-co-leaf.br{bottom:-14px;right:-14px}
.cp-umbrella{position:absolute;width:110px;top:-34px;right:-30px;filter:drop-shadow(0 6px 10px rgba(20,24,31,.25))}
.cp-co-grid{display:grid;grid-template-columns:440px minmax(0,1fr);gap:56px;align-items:start}
.cp-co-left{position:sticky;top:110px}
.cp-co-card{background:var(--cp-navy);padding:26px 26px 30px;color:#fff}
.cp-co-card-title{font-family:Cochin,'EB Garamond',serif;font-size:24px;color:#fff!important;margin:0 0 16px;border:none!important;padding:0!important}
.cp-co-card #order_review{background:#fff;padding:18px;color:var(--cp-ink)}
.cp-co-card table.shop_table{margin:0;border:none;font-size:13px;background:transparent}
.cp-co-card table.shop_table th,.cp-co-card table.shop_table td{border:none;padding:8px 0;background:transparent}
.cp-co-card table.shop_table thead{display:none}
.cp-co-card table.shop_table tbody tr{border-bottom:1px solid var(--cp-line)}
.cp-co-card table.shop_table img{width:64px;height:64px;object-fit:cover;border:1px solid var(--cp-line);margin-right:12px}
.cp-co-card .cart-subtotal th,.cp-co-card tr.shipping th,.cp-co-card .tax-total th,.cp-co-card .order-total th{font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:600;text-align:left;color:#3d4657}
.cp-co-card .order-total{border-top:1px solid var(--cp-ink)}
.cp-co-card .order-total th,.cp-co-card .order-total td{font-size:16px;font-weight:700;padding-top:12px}
.cp-msgcard{margin-top:24px}
.cp-msgcard-row{display:flex;gap:12px;margin-bottom:12px}
.cp-msgcard input,.cp-msgcard textarea{width:100%;border:1px solid #fff;background:#fff;padding:12px 13px;font-family:'Inter',sans-serif;font-size:13.5px;color:var(--cp-ink);border-radius:0;box-sizing:border-box}
.cp-msgcard textarea{min-height:90px;resize:vertical}
.cp-msgcard-note{margin-top:10px;font-size:10.5px;letter-spacing:2px;text-transform:uppercase;color:#b9c6e0}
.cp-place-proxy{display:block;width:100%;margin-top:18px;background:var(--cp-navy);color:#fff;border:1px solid var(--cp-brass);font-size:13px;letter-spacing:3.5px;text-transform:uppercase;padding:20px;cursor:pointer;font-family:'Inter',sans-serif;transition:.3s;box-shadow:inset 0 0 0 3px var(--cp-navy),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy),inset 0 0 0 9px var(--cp-brass)}
.cp-place-proxy:hover{background:var(--cp-navy-deep);box-shadow:inset 0 0 0 3px var(--cp-navy-deep),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy-deep),inset 0 0 0 9px var(--cp-brass)}
#order_review .woocommerce-checkout-payment #place_order{display:none}
#cp-payment-anchor .woocommerce-checkout-payment #place_order{display:none}
.cp-co-h{font-family:Cochin,'EB Garamond',serif;font-size:27px;font-weight:400;margin:34px 0 18px;border-bottom:1px solid var(--cp-line);padding-bottom:10px}
.cp-co-right .cp-dtype{max-width:none;margin:0 0 26px!important;text-align:left}
.cp-co-right .cp-dtype label{display:none}
.cp-co-right .cp-dtype select::-ms-expand{display:none}
.cp-billfields h3,.cp-shipfields h3{display:none}
.cp-billfields .woocommerce-billing-fields>h3{display:none}
.cp-addr-hidden{display:none!important}
#cp-addr-manual{display:inline-block;margin-top:8px;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cp-navy);border-bottom:1px solid var(--cp-navy)}
.cp-pickup-info .lead{font-family:Cochin,'EB Garamond',serif;font-size:19px;margin:0 0 10px}
.cp-pickup-info .addr{font-family:Cochin,'EB Garamond',serif;font-size:22px;font-weight:600;color:#c06a5a;line-height:1.4;margin:0 0 18px}
.cp-pickup-info .warn{font-family:Cochin,'EB Garamond',serif;font-size:16px;color:#c06a5a;line-height:1.6;margin:18px 0}
.cp-pickup-info .love{font-family:Cochin,'EB Garamond',serif;font-size:18px;font-weight:600;margin:14px 0 6px}
@media(max-width:1020px){
  .cp-co-frame{border-width:14px;padding:24px 18px 40px}
  .cp-co-grid{display:flex;flex-direction:column-reverse}
  .cp-co-left{position:static;width:100%}
  .cp-umbrella{width:80px;right:-10px}
}

/* ===== Checkout declutter: placeholders carry the labels ===== */
.cp-shipfields .form-row>label,.cp-billfields .form-row>label{border:0;clip:rect(0 0 0 0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}
.cp-shipfields .form-row,.cp-billfields .form-row{margin-bottom:12px}
/* order summary: white panel firmly behind item + totals */
.cp-co-card #order_review{background:#fff!important;padding:20px!important}
.cp-co-card #order_review table.shop_table,.cp-co-card #order_review table.shop_table td,.cp-co-card #order_review table.shop_table th{color:var(--cp-ink)}

/* ===== Checkout round 3: black summary text, uniform Cochin/Inter ===== */
.cp-co-card #order_review, .cp-co-card #order_review *{color:var(--cp-ink)!important}
.cp-co-frame, .cp-co-frame input, .cp-co-frame select, .cp-co-frame textarea, .cp-co-frame button, .cp-co-frame td, .cp-co-frame th, .cp-co-frame label, .cp-co-frame p, .cp-co-frame a, .cp-co-frame span, .cp-co-frame div{font-family:'Inter',sans-serif}
.cp-co-frame h1,.cp-co-frame h2,.cp-co-frame h3,.cp-co-banner-card h1,.cp-co-banner-card .tag,.cp-co-card-title,.cp-co-h,.cp-pickup-info .lead,.cp-pickup-info .addr,.cp-pickup-info .warn,.cp-pickup-info .love{font-family:Cochin,'EB Garamond',Georgia,serif!important}
.select2-container--default .select2-selection__placeholder{color:#6d7788!important}
#cp-addr-manual-b{display:inline-block;margin-top:8px;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cp-navy);border-bottom:1px solid var(--cp-navy)}

/* ===== "Pick Up or Delivery?" — impossible to miss ===== */
.cp-co-right .cp-dtype{max-width:520px;margin:0 auto 36px!important;text-align:center}
.cp-co-right .cp-dtype label{display:block!important;font-family:Cochin,'EB Garamond',serif!important;font-size:27px!important;font-weight:700!important;letter-spacing:.5px!important;text-transform:none!important;color:var(--cp-ink)!important;margin-bottom:14px!important;border-bottom:1px solid var(--cp-line);padding-bottom:10px}
.cp-co-right .cp-dtype select{text-align:center;font-weight:500}
.cp-addr-manual-link{display:inline-block;margin-top:8px;font-size:11.5px;letter-spacing:1.5px;text-transform:uppercase;color:var(--cp-navy);border-bottom:1px solid var(--cp-navy)}

/* ===== Product page message card fields ===== */
.cp-msg-fields{border:1px solid var(--cp-line);padding:14px 16px;display:grid;gap:10px;margin-top:0;background:#fff}
.cp-msg-fields .row{display:flex;gap:10px}
.cp-msg-fields input,.cp-msg-fields textarea{width:100%;border:1px solid var(--cp-line);padding:11px 12px;font-family:'Inter',sans-serif;font-size:13px;color:var(--cp-ink);border-radius:0;box-sizing:border-box}
.cp-msg-fields textarea{min-height:70px;resize:vertical}
.cp-msg-product{border-bottom:none!important}

/* ===== "Pick Up or Delivery?" — one line, centered in the column ===== */
.cp-co-right .cp-dtype{float:none!important;width:100%!important;max-width:none!important;margin:0 0 36px!important;text-align:center!important;display:block!important}
.cp-co-right .cp-dtype label{white-space:nowrap!important;width:100%!important;text-align:center!important;border-bottom:none!important;padding-bottom:0!important}
.cp-co-right .cp-dtype select{display:block!important;max-width:420px;margin:14px auto 0!important}

/* ===== "Pick Up or Delivery?" as a framed navy card (Harout's mock) ===== */
.cp-co-right .cp-dtype{
  background:var(--cp-navy)!important;
  padding:38px 34px 40px!important;
  margin:0 0 38px!important;
  box-shadow:inset 0 0 0 10px var(--cp-navy),inset 0 0 0 13px #fff!important;
}
.cp-co-right .cp-dtype label{color:#fff!important;margin-bottom:18px!important}
.cp-co-right .cp-dtype select{border:none!important;max-width:520px;padding:16px!important}
/* dropdown list: navy selection, no legacy red / OS blue */
.cp-dtype select option{background:#fff!important;color:var(--cp-ink)!important}
.cp-dtype select option:checked,.cp-dtype select option:hover{background:var(--cp-navy)!important;color:#fff!important}
.cp-co-right .cp-dtype select:focus{outline:2px solid var(--cp-brass)!important;outline-offset:2px}

/* ===== dtype card: slimmer, full-width select matching the fields below ===== */
.cp-co-right .cp-dtype{padding:22px 26px 24px!important;box-shadow:inset 0 0 0 6px var(--cp-navy),inset 0 0 0 8px #fff!important}
.cp-co-right .cp-dtype label{font-size:23px!important;margin-bottom:12px!important}
.cp-co-right .cp-dtype select{max-width:none!important;width:100%!important;margin:0!important;padding:13px 14px!important}

/* ===== hide the redundant page title above the checkout frame ===== */
body.coral2026.woocommerce-checkout h1{display:none!important}
body.coral2026.woocommerce-checkout .cp-co-banner-card h1{display:block!important}

/* ===== pickup location card + all dropdown lists: navy, not maroon ===== */
.woocommerce-checkout .pisol-location{background:var(--cp-navy)!important;color:#fff!important;border:1px solid var(--cp-brass)!important;border-radius:0!important;padding:14px 18px!important;font-family:'Inter',sans-serif!important;font-size:13px!important;line-height:1.6!important;cursor:pointer;display:inline-block}
.woocommerce-checkout .pisol-location:hover{background:var(--cp-navy-deep)!important}
.woocommerce-checkout .pisol-location *{color:#fff!important}
.woocommerce-checkout select option{background:#fff!important;color:var(--cp-ink)!important}
.woocommerce-checkout select option:checked,.woocommerce-checkout select option:hover{background:var(--cp-navy)!important;color:#fff!important}

/* ===== dropdown option highlight: navy wins over legacy maroon, everywhere ===== */
html body.coral2026 select option:checked,
html body.coral2026 select option:focus,
html body.coral2026 select option:active{background:var(--cp-navy)!important;background-color:var(--cp-navy)!important;color:#fff!important}
html body.coral2026 select option{background:#fff;color:var(--cp-ink)}
.cp-pickup-info .lead{margin-bottom:14px!important}

/* ===== Cart page: navy/brass treatment ===== */
body.coral2026.woocommerce-cart h1{display:block!important;font-family:Cochin,'EB Garamond',serif!important;font-weight:400!important;font-size:42px!important;color:var(--cp-ink)!important;letter-spacing:.5px}
.woocommerce-cart table.cart{border:1px solid var(--cp-line)!important;border-radius:0}
.woocommerce-cart table.cart th{font-size:11px!important;letter-spacing:2px;text-transform:uppercase;color:#3d4657!important;font-weight:500!important;background:var(--cp-mist)!important;padding:14px 12px!important;border:none!important}
.woocommerce-cart table.cart td{border:none!important;border-top:1px solid var(--cp-line)!important;padding:18px 12px!important;background:#fff!important}
.woocommerce-cart table.cart img{width:72px!important;height:72px!important;object-fit:cover;border:1px solid var(--cp-line)}
.woocommerce-cart td.product-name{font-size:14px}
.woocommerce-cart td.product-name a{font-family:Cochin,'EB Garamond',serif;font-size:17px;color:var(--cp-ink)!important}
.woocommerce-cart td.product-name,.woocommerce-cart td.product-name *{color:var(--cp-ink)!important}
.woocommerce-cart td.product-name b,.woocommerce-cart td.product-name strong{color:#3d4657!important}
.woocommerce-cart .product-remove a{color:#98a0ad!important;font-size:18px!important}
.woocommerce-cart .product-remove a:hover{color:#b02a30!important;background:transparent!important}
.woocommerce-cart .quantity input{border:1px solid var(--cp-line)!important;padding:10px!important;width:64px!important;border-radius:0!important;text-align:center}
.woocommerce-cart button[name=update_cart],.woocommerce-cart input[name=update_cart]{background:none!important;border:1px solid var(--cp-navy)!important;color:var(--cp-navy)!important;font-size:11px!important;letter-spacing:2.5px;text-transform:uppercase;padding:14px 30px!important;border-radius:0!important;cursor:pointer;font-family:'Inter',sans-serif!important}
.woocommerce-cart button[name=update_cart]:hover{background:var(--cp-navy)!important;color:#fff!important}
.woocommerce-cart .cart_totals{border:1px solid var(--cp-line);padding:26px;background:var(--cp-mist)}
.woocommerce-cart .cart_totals h2{font-family:Cochin,'EB Garamond',serif!important;font-size:24px!important;font-weight:400!important;margin:0 0 14px!important}
.woocommerce-cart .cart_totals table,.woocommerce-cart .cart_totals td,.woocommerce-cart .cart_totals th{border:none!important;background:transparent!important;color:var(--cp-ink)!important;font-size:13.5px}
.woocommerce-cart .cart_totals th{font-size:11px!important;letter-spacing:1.5px;text-transform:uppercase;color:#3d4657!important;font-weight:500!important;text-align:left}
.woocommerce-cart .cart_totals .order-total th,.woocommerce-cart .cart_totals .order-total td{border-top:1px solid var(--cp-ink)!important;font-size:16px!important;font-weight:600!important;padding-top:12px!important}
.woocommerce-cart .checkout-button{display:block!important;width:100%!important;background:var(--cp-navy)!important;color:#fff!important;border:1px solid var(--cp-brass)!important;border-radius:0!important;font-size:12.5px!important;letter-spacing:3px!important;text-transform:uppercase!important;padding:19px!important;text-align:center;font-family:'Inter',sans-serif!important;transition:.3s;box-shadow:inset 0 0 0 3px var(--cp-navy),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy),inset 0 0 0 9px var(--cp-brass)!important}
.woocommerce-cart .checkout-button:hover{background:var(--cp-navy-deep)!important;box-shadow:inset 0 0 0 3px var(--cp-navy-deep),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy-deep),inset 0 0 0 9px var(--cp-brass)!important}

/* ===== Slide-out bag drawer ===== */
.cp-drawer-overlay{position:fixed;inset:0;background:rgba(21,32,58,.5);opacity:0;pointer-events:none;transition:opacity .3s;z-index:998}
.cp-drawer-overlay.show{opacity:1;pointer-events:auto}
.cp-drawer{position:fixed;top:0;right:0;height:100%;width:min(430px,92vw);background:#fff;z-index:999;transform:translateX(102%);transition:transform .35s cubic-bezier(.22,.8,.36,1);display:flex;flex-direction:column;box-shadow:-18px 0 44px rgba(20,24,31,.25)}
.cp-drawer.open{transform:translateX(0)}
body.cp-drawer-lock{overflow:hidden}
.cp-drawer-head{background:var(--cp-navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:20px 24px}
.cp-drawer-head .t{font-family:Cochin,'EB Garamond',serif;font-size:24px}
.cp-drawer-close{background:none;border:none;color:#fff;font-size:26px;cursor:pointer;line-height:1;padding:2px 6px}
.cp-drawer-body{flex:1;overflow-y:auto;padding:20px 24px}
.cp-drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.cp-drawer .woocommerce-mini-cart li{display:block;border-bottom:1px solid var(--cp-line);padding:14px 0;position:relative}
.cp-drawer .woocommerce-mini-cart img{width:64px;height:64px;object-fit:cover;border:1px solid var(--cp-line);float:right;margin-left:12px}
.cp-drawer .woocommerce-mini-cart li a{font-family:Cochin,'EB Garamond',serif;font-size:16px;color:var(--cp-ink)!important}
.cp-drawer .woocommerce-mini-cart li a.remove{font-family:'Inter',sans-serif;font-size:18px;color:#98a0ad!important;position:absolute;left:-6px;top:14px;float:none}
.cp-drawer .woocommerce-mini-cart li{padding-left:20px}
.cp-drawer .woocommerce-mini-cart .quantity{display:block;font-size:13px;color:#3d4657;margin-top:6px}
.cp-drawer .woocommerce-mini-cart dl.variation{margin:6px 0 0;font-size:11.5px;color:#3d4657}
.cp-drawer .woocommerce-mini-cart dl.variation dt,.cp-drawer .woocommerce-mini-cart dl.variation dd{display:inline;margin:0}
.cp-drawer .woocommerce-mini-cart dl.variation dd{margin-right:8px}
.cp-drawer .woocommerce-mini-cart dl.variation dd p{display:inline;margin:0}
.cp-drawer .woocommerce-mini-cart__total{border-top:1px solid var(--cp-ink);padding-top:14px;margin:14px 0;font-size:14px;display:flex;justify-content:space-between}
.cp-drawer .woocommerce-mini-cart__total strong{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#3d4657}
.cp-drawer .woocommerce-mini-cart__buttons{display:flex;flex-direction:column;gap:12px;margin:0}
.cp-drawer .woocommerce-mini-cart__buttons a{display:block;text-align:center;border-radius:0!important;font-size:12px!important;letter-spacing:2.5px;text-transform:uppercase;padding:16px!important;font-family:'Inter',sans-serif!important}
.cp-drawer .woocommerce-mini-cart__buttons a.checkout{background:var(--cp-navy)!important;color:#fff!important;border:1px solid var(--cp-brass)!important;box-shadow:inset 0 0 0 3px var(--cp-navy),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy),inset 0 0 0 9px var(--cp-brass)!important}
.cp-drawer .woocommerce-mini-cart__buttons a.checkout:hover{background:var(--cp-navy-deep)!important}
.cp-drawer .woocommerce-mini-cart__buttons a:not(.checkout){background:none!important;border:1px solid var(--cp-navy)!important;color:var(--cp-navy)!important}
.cp-drawer .woocommerce-mini-cart__buttons a:not(.checkout):hover{background:var(--cp-navy)!important;color:#fff!important}
.cp-drawer .woocommerce-mini-cart__empty-message{font-size:14px;color:#3d4657;text-align:center;padding:40px 0}

/* ===== drawer polish: ink text, stacked plaque buttons ===== */
.cp-drawer .cp-drawer-body, .cp-drawer .cp-drawer-body li, .cp-drawer .cp-drawer-body li *{color:var(--cp-ink)!important}
.cp-drawer .cp-drawer-body li b, .cp-drawer .cp-drawer-body li strong{color:#3d4657!important}
.cp-drawer .cp-drawer-body a.remove{color:#98a0ad!important}
.cp-drawer p.woocommerce-mini-cart__buttons{display:flex!important;flex-direction:column!important;gap:12px!important;margin:16px 0 0!important}
.cp-drawer p.woocommerce-mini-cart__buttons a.button{width:100%!important;box-sizing:border-box;display:block!important;text-align:center!important;border-radius:0!important;font-size:12px!important;letter-spacing:2.5px!important;text-transform:uppercase!important;padding:16px!important;font-family:'Inter',sans-serif!important;float:none!important;margin:0!important}
.cp-drawer p.woocommerce-mini-cart__buttons a.button.checkout{background:var(--cp-navy)!important;color:#fff!important;border:1px solid var(--cp-brass)!important;box-shadow:inset 0 0 0 3px var(--cp-navy),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy),inset 0 0 0 9px var(--cp-brass)!important}
.cp-drawer p.woocommerce-mini-cart__buttons a.button.checkout:hover{background:var(--cp-navy-deep)!important}
.cp-drawer p.woocommerce-mini-cart__buttons a.button:not(.checkout){background:none!important;border:1px solid var(--cp-navy)!important;color:var(--cp-navy)!important;box-shadow:none!important}
.cp-drawer p.woocommerce-mini-cart__buttons a.button:not(.checkout):hover{background:var(--cp-navy)!important;color:#fff!important}
.cp-drawer .woocommerce-mini-cart__total{border:none!important;border-top:1px solid var(--cp-ink)!important;background:transparent!important;padding:14px 0 0!important;text-align:left!important}

/* ===== drawer polish v2 — targeting the actual (Elementor) mini-cart markup ===== */
.cp-drawer .elementor-menu-cart__product{border-bottom:1px solid var(--cp-line);padding:14px 0;display:flex;gap:12px;align-items:flex-start}
.cp-drawer .elementor-menu-cart__product-image img{width:64px!important;height:64px!important;object-fit:cover;border:1px solid var(--cp-line)}
.cp-drawer .elementor-menu-cart__product-name,.cp-drawer .elementor-menu-cart__product-name a{font-family:Cochin,'EB Garamond',serif!important;font-size:16px!important;color:var(--cp-ink)!important}
.cp-drawer dl.variation,.cp-drawer dl.variation dt,.cp-drawer dl.variation dd,.cp-drawer dl.variation p{color:var(--cp-ink)!important;font-family:'Inter',sans-serif!important;font-size:11.5px!important;font-weight:400!important}
.cp-drawer dl.variation dt{color:#3d4657!important;font-weight:600!important}
.cp-drawer .elementor-menu-cart__product-price{color:var(--cp-ink)!important;font-size:13px!important;font-family:'Inter',sans-serif!important}
.cp-drawer .elementor-menu-cart__product-remove a{color:#98a0ad!important;background:none!important;border:none!important}
.cp-drawer .elementor-menu-cart__subtotal{border:none!important;border-top:1px solid var(--cp-ink)!important;background:transparent!important;padding:14px 0 0!important;margin:16px 0!important;text-align:left!important;display:flex;justify-content:space-between;font-size:14px;color:var(--cp-ink)!important}
.cp-drawer .elementor-menu-cart__subtotal strong{font-size:11px;letter-spacing:2px;text-transform:uppercase;font-weight:600;color:#3d4657!important}
.cp-drawer .elementor-menu-cart__footer-buttons{display:flex!important;flex-direction:column!important;gap:12px!important;grid-template-columns:none!important;margin-top:16px}
.cp-drawer .elementor-menu-cart__footer-buttons a.elementor-button{width:100%!important;box-sizing:border-box;border-radius:0!important;font-size:12px!important;letter-spacing:2.5px!important;text-transform:uppercase!important;padding:16px!important;font-family:'Inter',sans-serif!important;text-align:center!important;margin:0!important}
.cp-drawer a.elementor-button--checkout{background:var(--cp-navy)!important;color:#fff!important;border:1px solid var(--cp-brass)!important;box-shadow:inset 0 0 0 3px var(--cp-navy),inset 0 0 0 4px var(--cp-brass),inset 0 0 0 8px var(--cp-navy),inset 0 0 0 9px var(--cp-brass)!important}
.cp-drawer a.elementor-button--checkout:hover{background:var(--cp-navy-deep)!important}
.cp-drawer a.elementor-button--view-cart{background:none!important;border:1px solid var(--cp-navy)!important;color:var(--cp-navy)!important;box-shadow:none!important}
.cp-drawer a.elementor-button--view-cart:hover{background:var(--cp-navy)!important;color:#fff!important}
.cp-drawer a.elementor-button--view-cart .elementor-button-text{color:inherit!important}

/* ===== drawer items: hug the left edge, price right, remove pinned ===== */
.cp-drawer .elementor-menu-cart__product{display:grid!important;grid-template-columns:64px minmax(0,1fr) auto!important;gap:4px 14px!important;align-items:start!important;justify-items:start!important;text-align:left!important;padding:16px 0!important;margin:0!important;width:100%;position:relative}
.cp-drawer .elementor-menu-cart__product-image{grid-row:1/span 2;margin:0!important;width:64px!important;float:none!important}
.cp-drawer .elementor-menu-cart__product-image img{float:none!important;margin:0!important}
.cp-drawer .elementor-menu-cart__product-name{text-align:left!important;margin:0!important;justify-self:start!important;padding:0!important}
.cp-drawer .elementor-menu-cart__product-name dl.variation{margin:6px 0 0!important;text-align:left!important}
.cp-drawer .elementor-menu-cart__product-price{grid-column:3;justify-self:end!important;text-align:right!important;white-space:nowrap;margin:0!important;padding-right:22px}
.cp-drawer .elementor-menu-cart__product-remove{position:absolute!important;top:16px;right:0;margin:0!important}

/* ===== Soft-radius pass: gentle corners, pill CTAs (Harout, Aug 2026) ===== */
/* -- product page -- */
.cp-pdetails .product-field-box{border-radius:12px!important}
.cp-pdetails .product_date_field{border-radius:8px!important}
.cp-pdetails .full_calendar input{border-radius:8px!important}
.cp-pdetails table.variations select{border-radius:8px!important}
.cp-pdetails .cfvsw-swatches-option{border-radius:8px!important;overflow:hidden}
.cp-addon{border-radius:10px!important}
.cp-msg-fields{border-radius:10px!important}
.cp-msg-fields input,.cp-msg-fields textarea{border-radius:8px!important}
.cp-pdetails form.cart .quantity{border-radius:999px!important;overflow:hidden}
.cp-pdetails .single_add_to_cart_button,
.cp-pdetails button.single_add_to_cart_button.alt{border-radius:999px!important}
.cp-badge{border-radius:999px!important}
/* -- checkout -- */
.coral2026 form.checkout .form-row input.input-text,
.coral2026 form.checkout .form-row textarea,
.coral2026 form.checkout .form-row select{border-radius:8px!important}
.select2-container--default .select2-selection--single{border-radius:8px!important}
.select2-dropdown{border-radius:8px!important;overflow:hidden}
.cp-co-banner-card{border-radius:6px}
.cp-co-card{border-radius:14px}
.cp-co-card #order_review{border-radius:10px!important;overflow:hidden}
.cp-msgcard input,.cp-msgcard textarea{border-radius:8px!important}
.cp-co-right .cp-dtype{border-radius:14px!important}
.cp-co-right .cp-dtype select{border-radius:8px!important}
.woocommerce-checkout .pisol-location{border-radius:10px!important}
.cp-place-proxy{border-radius:999px!important}
#cp-payment-anchor .payment_box{border-radius:8px!important}
.cp-pickup-info .warn{border-radius:0}
/* -- cart page -- */
.woocommerce-cart table.cart{border-radius:12px!important;overflow:hidden}
.woocommerce-cart table.cart img{border-radius:8px!important}
.woocommerce-cart .quantity input{border-radius:8px!important}
.woocommerce-cart .cart_totals{border-radius:14px!important}
.woocommerce-cart button[name=update_cart],.woocommerce-cart input[name=update_cart]{border-radius:999px!important}
.woocommerce-cart .checkout-button{border-radius:999px!important}
/* -- bag drawer -- */
.cp-drawer .elementor-menu-cart__product-image img{border-radius:8px!important}
.cp-drawer .elementor-menu-cart__footer-buttons a.elementor-button{border-radius:999px!important}
.cp-drawer .cp-drawer-head{border-radius:0}

/* ===== Thank-you page (order received) ===== */
body.coral2026.woocommerce-order-received .woocommerce{max-width:880px;margin:0 auto;padding:30px 20px 80px}
.woocommerce-order-received .woocommerce-thankyou-order-received{font-family:Cochin,'EB Garamond',serif!important;font-size:34px!important;text-align:center;color:var(--cp-ink)!important;margin:10px 0 8px!important;line-height:1.3}
.woocommerce-order-received .woocommerce-thankyou-order-received::after{content:"A confirmation email is on its way to you.";display:block;font-size:15px;font-style:italic;color:#5a6373;margin-top:10px}
.woocommerce-order-received ul.woocommerce-order-overview{display:flex;flex-wrap:wrap;justify-content:center;gap:0;list-style:none;margin:34px 0!important;padding:22px 10px!important;background:var(--cp-mist);border:1px solid var(--cp-line);border-radius:14px}
.woocommerce-order-received ul.woocommerce-order-overview li{border:none!important;float:none!important;margin:0!important;padding:6px 26px!important;font-size:10.5px!important;letter-spacing:2px;text-transform:uppercase;color:#3d4657!important;border-right:1px solid var(--cp-line)!important;text-align:center}
.woocommerce-order-received ul.woocommerce-order-overview li:last-child{border-right:none!important}
.woocommerce-order-received ul.woocommerce-order-overview li strong{display:block;font-size:15px!important;letter-spacing:.5px;text-transform:none;color:var(--cp-ink)!important;margin-top:6px;font-weight:600}
.woocommerce-order-received h2,.woocommerce-order-received .woocommerce-column__title{font-family:Cochin,'EB Garamond',serif!important;font-size:26px!important;font-weight:400!important;color:var(--cp-ink)!important;border-bottom:1px solid var(--cp-line);padding-bottom:10px;margin:38px 0 16px!important}
.woocommerce-order-received table.woocommerce-table--order-details{border:1px solid var(--cp-line)!important;border-radius:12px!important;overflow:hidden;border-collapse:separate!important;border-spacing:0}
.woocommerce-order-received table.woocommerce-table--order-details th,.woocommerce-order-received table.woocommerce-table--order-details td{border:none!important;border-top:1px solid var(--cp-line)!important;padding:13px 16px!important;font-size:13.5px!important;color:var(--cp-ink)!important;background:#fff}
.woocommerce-order-received table.woocommerce-table--order-details thead th{background:var(--cp-mist)!important;border-top:none!important;font-size:11px!important;letter-spacing:2px;text-transform:uppercase;color:#3d4657!important;font-weight:500!important}
.woocommerce-order-received table.woocommerce-table--order-details tfoot th{font-size:11px!important;letter-spacing:1.5px;text-transform:uppercase;color:#3d4657!important;font-weight:600!important}
.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child th,.woocommerce-order-received table.woocommerce-table--order-details tfoot tr:last-child td{font-size:15px!important;font-weight:700!important}
.woocommerce-order-received .woocommerce-table--order-details *{color:var(--cp-ink)!important}
.woocommerce-order-received address{border:1px solid var(--cp-line)!important;border-radius:12px;padding:20px!important;font-style:normal!important;font-size:13.5px;line-height:1.8;color:var(--cp-ink)!important;background:#fff}
/* the legacy From/To/Message block becomes a card-message panel */
.woocommerce-order-received .woocommerce-customer-details ~ p,
.woocommerce-order-received section.woocommerce-order-details ~ p{background:#fbf7e9;border:1px solid var(--cp-brass);border-left:none;border-right:none;margin:0;padding:10px 18px;font-size:13.5px;color:var(--cp-ink)!important}
.woocommerce-order-received .woocommerce-customer-details ~ p:first-of-type{border-radius:12px 12px 0 0;border-top:1px solid var(--cp-brass);border-left:1px solid var(--cp-brass);border-right:1px solid var(--cp-brass);padding-top:16px}
.woocommerce-order-received .woocommerce-customer-details ~ p{border-left:1px solid var(--cp-brass);border-right:1px solid var(--cp-brass)}
.woocommerce-order-received .woocommerce-customer-details ~ p:last-of-type{border-radius:0 0 12px 12px;border-bottom:1px solid var(--cp-brass);padding-bottom:16px}
.woocommerce-order-received .woocommerce-customer-details ~ p strong{color:#8a6320!important;font-size:11px;letter-spacing:1.5px;text-transform:uppercase}

/* ===== Thank-you v2: striped banner, facts chips, brass tracker ===== */
.woocommerce-order-received .woocommerce-thankyou-order-received{display:none!important}
.woocommerce-order-received ul.woocommerce-order-overview{display:none!important}
.cp-ty-banner{position:relative;max-width:640px;margin:6px auto 30px;background:repeating-linear-gradient(45deg,var(--cp-navy) 0 30px,#fff 30px 60px);padding:42px 38px;border-radius:6px}
.cp-ty-banner-card{position:relative;background:#fff;border:1px solid var(--cp-brass);box-shadow:inset 0 0 0 3px #fff,inset 0 0 0 4px var(--cp-brass);text-align:center;padding:30px 28px 26px;border-radius:4px}
.cp-ty-banner-card h2{font-family:Cochin,'EB Garamond',serif!important;font-size:34px!important;font-weight:400!important;margin:0!important;color:var(--cp-ink)!important;border:none!important;padding:0!important;line-height:1.2}
.cp-ty-banner-card .tag{font-family:Cochin,'EB Garamond',serif;font-style:italic;font-size:15px;color:var(--cp-navy);margin-top:10px}
.cp-ty-van{position:absolute;width:104px;bottom:-26px;right:-18px;filter:drop-shadow(0 5px 9px rgba(20,24,31,.22))}
.cp-ty-facts{display:flex;flex-wrap:wrap;justify-content:center;max-width:760px;margin:0 auto 30px;background:#fff;border:1px solid var(--cp-brass);border-radius:999px;padding:14px 10px}
.cp-ty-facts .f{padding:2px 26px;text-align:center;border-right:1px solid var(--cp-line)}
.cp-ty-facts .f:last-child{border-right:none}
.cp-ty-facts .f span{display:block;font-size:9.5px;letter-spacing:2px;text-transform:uppercase;color:#8a6320}
.cp-ty-facts .f b{display:block;font-size:14px;color:var(--cp-ink);margin-top:3px;font-weight:600}
.cp-ty-facts .f b.chip{background:var(--cp-navy);color:#fff;border-radius:999px;padding:3px 14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:500}
.cp-ty-track{display:flex;align-items:flex-start;justify-content:center;max-width:760px;margin:0 auto 44px;padding:22px 16px;background:var(--cp-mist);border-radius:14px}
.cp-ty-track .step{display:flex;flex-direction:column;align-items:center;gap:9px;min-width:86px}
.cp-ty-track .dot{width:15px;height:15px;border-radius:50%;border:2px solid var(--cp-navy);background:#fff;box-sizing:border-box}
.cp-ty-track .step.on .dot{background:var(--cp-navy);box-shadow:0 0 0 3px #fff,0 0 0 4px var(--cp-brass)}
.cp-ty-track .lbl{font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;color:#3d4657;text-align:center}
.cp-ty-track .step.on .lbl{color:var(--cp-ink);font-weight:600}
.cp-ty-track .bar{flex:1;height:2px;background:repeating-linear-gradient(90deg,var(--cp-brass) 0 6px,transparent 6px 12px);margin-top:7px;max-width:120px}
@media(max-width:640px){
  .cp-ty-banner{padding:26px 18px}
  .cp-ty-banner-card h2{font-size:26px!important}
  .cp-ty-van{width:76px;bottom:-18px;right:-6px}
  .cp-ty-facts{
    display:grid;grid-template-columns:1fr 1fr;
    border-radius:20px;padding:4px 0;
  }
  .cp-ty-facts .f{
    border-right:none;padding:12px 10px;
  }
  .cp-ty-facts .f:nth-child(odd){border-right:1px solid var(--cp-line)}   /* centre divider */
  .cp-ty-facts .f:nth-child(-n+2){border-bottom:1px solid var(--cp-line)} /* row divider */
  .cp-ty-track .step{min-width:60px}
  .cp-ty-track .lbl{font-size:8.5px}
}

/* ===== Thank-you: the one order card; hide everything it replaces ===== */
.woocommerce-order-received section.woocommerce-order-details{display:none!important}
.woocommerce-order-received section.woocommerce-customer-details{display:none!important}
.woocommerce-order-received .woocommerce-order > p{display:none!important}
.cp-ty-card{display:grid;grid-template-columns:1.15fr 1fr;gap:40px;max-width:820px;margin:0 auto 60px;background:var(--cp-navy);border-radius:16px;padding:34px 36px;color:#fff}
.cp-ty-card h4{font-family:Cochin,'EB Garamond',serif!important;font-size:22px!important;font-weight:400!important;color:#fff!important;margin:0 0 16px!important;border-bottom:1px solid rgba(255,255,255,.25);padding-bottom:10px}
.cp-ty-card .item{display:flex;gap:12px;align-items:flex-start;padding:10px 0;border-bottom:1px solid rgba(255,255,255,.15)}
.cp-ty-card .item img{width:52px!important;height:52px!important;object-fit:cover;border-radius:8px;border:1px solid rgba(255,255,255,.3)}
.cp-ty-card .item .t{flex:1}
.cp-ty-card .item .t b{display:block;font-size:13.5px;font-weight:600;color:#fff}
.cp-ty-card .item .t span{display:block;font-size:11.5px;color:#b9c6e0;margin-top:3px}
.cp-ty-card .item .p{font-size:13px;color:#fff;white-space:nowrap}
.cp-ty-card .item .p *{color:#fff!important}
.cp-ty-card .totals{margin-top:16px;background:#fff;border-radius:10px;padding:14px 16px;color:var(--cp-ink)}
.cp-ty-card .totals div{display:flex;justify-content:space-between;padding:4px 0;font-size:13px}
.cp-ty-card .totals span{font-size:10.5px;letter-spacing:1.5px;text-transform:uppercase;color:#3d4657;align-self:center}
.cp-ty-card .totals b *{color:var(--cp-ink)!important}
.cp-ty-card .totals .grand{border-top:1px solid var(--cp-ink);margin-top:6px;padding-top:9px;font-weight:700;font-size:15px}
.cp-ty-card .addr{font-family:Cochin,'EB Garamond',serif;font-size:17px;line-height:1.6;color:#fff!important;margin:0 0 14px}
.cp-ty-card .note{font-size:12.5px;color:#b9c6e0;line-height:1.7;margin:0 0 14px}
.cp-ty-card .line{margin:0 0 12px;font-size:13px;color:#fff}
.cp-ty-card .line span{display:block;font-size:10px;letter-spacing:2px;text-transform:uppercase;color:var(--cp-brass);margin-bottom:3px}
.cp-ty-card .msgcard{background:#fff;border-radius:10px;padding:16px 18px;margin-top:16px;color:var(--cp-ink)}
.cp-ty-card .msgcard h5{font-family:Cochin,'EB Garamond',serif!important;font-size:17px!important;font-weight:400!important;margin:0 0 10px!important;color:var(--cp-ink)!important}
.cp-ty-card .msgcard p{margin:0 0 8px;font-size:13px;color:var(--cp-ink)}
.cp-ty-card .msgcard p span{font-size:9.5px;letter-spacing:1.5px;text-transform:uppercase;color:#8a6320;display:inline-block;margin-right:8px}
.cp-ty-card .msgcard .m{font-family:Cochin,'EB Garamond',serif;font-style:italic;font-size:15px;margin-top:6px}
@media(max-width:700px){.cp-ty-card{grid-template-columns:1fr;padding:24px 20px;gap:26px}}

/* ===== thank-you font bumps (Harout) ===== */
.cp-ty-banner-card .tag{font-size:18px!important}
.cp-ty-card .item .t span{font-size:13.5px!important}
.cp-ty-card .msgcard h5{font-size:21px!important}
.cp-ty-card .msgcard p{font-size:15px!important}
.cp-ty-card .msgcard p span{font-size:11px!important}
.cp-ty-card .msgcard .m{font-size:18px!important}

/* ===== Thank-you: Instagram + Floralla blocks ===== */
.cp-ty-social{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:820px;margin:0 auto 70px}
.cp-ty-ig{display:flex;flex-direction:column;background:#fff;border:1px solid var(--cp-brass);border-radius:16px;padding:22px;transition:.25s}
.cp-ty-ig:hover{box-shadow:0 14px 30px rgba(28,42,68,.12);transform:translateY(-2px)}
.cp-ty-ig .head{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.cp-ty-ig .head b{display:block;font-family:Cochin,'EB Garamond',serif;font-size:19px;color:var(--cp-ink)}
.cp-ty-ig .head span{display:block;font-size:11.5px;color:#5a6373;margin-top:2px}
.cp-ty-ig .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.cp-ty-ig .grid img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:8px}
.cp-ty-ig .cta{display:block;text-align:center;margin-top:16px;background:var(--cp-navy);color:#fff;border-radius:999px;padding:13px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase}
.cp-ty-floralla{display:block;background:repeating-linear-gradient(45deg,var(--cp-navy) 0 22px,#fff 22px 44px);border-radius:16px;padding:18px;transition:.25s}
.cp-ty-floralla:hover{box-shadow:0 14px 30px rgba(28,42,68,.18);transform:translateY(-2px)}
.cp-ty-floralla .inner{background:#fff;border:1px solid var(--cp-brass);border-radius:10px;padding:26px 24px;text-align:center;height:100%;box-sizing:border-box;display:flex;flex-direction:column;justify-content:center}
.cp-ty-floralla .k{font-size:10px;letter-spacing:3px;text-transform:uppercase;color:#8a6320}
.cp-ty-floralla h4{font-family:Cochin,'EB Garamond',serif!important;font-size:26px!important;font-weight:400!important;margin:8px 0 10px!important;color:var(--cp-ink)!important;border:none!important;padding:0!important}
.cp-ty-floralla p{font-size:13px;line-height:1.75;color:#3d4657;margin:0 0 18px}
.cp-ty-floralla .cta{display:inline-block;background:var(--cp-navy);color:#fff;border:1px solid var(--cp-brass);border-radius:999px;padding:13px 30px;font-size:11px;letter-spacing:2.5px;text-transform:uppercase;box-shadow:inset 0 0 0 2px var(--cp-navy),inset 0 0 0 3px var(--cp-brass);align-self:center}
@media(max-width:700px){.cp-ty-social{grid-template-columns:1fr}}

/* ===== Floralla card: the wedding photo does the talking ===== */
.cp-ty-floralla{background:url('floralla-card.jpg') center 42%/cover no-repeat!important;position:relative;display:flex;align-items:flex-end;min-height:340px}
.cp-ty-floralla::before{content:"";position:absolute;inset:0;border-radius:16px;background:linear-gradient(180deg,rgba(21,32,58,0) 30%,rgba(21,32,58,.25) 70%)}
.cp-ty-floralla .inner{position:relative;background:rgba(255,255,255,.95);width:100%;justify-content:flex-end}

/* ===== thank-you cards: symmetry + uniform CTAs ===== */
.cp-ty-ig{justify-content:flex-start;text-align:center}
.cp-ty-ig .head{flex-direction:column;gap:6px;align-items:center;text-align:center;margin-bottom:14px}
.cp-ty-ig .grid{margin-bottom:0}
.cp-ty-ig .cta{margin-top:auto!important;padding-top:14px}
.cp-ty-ig .grid{margin-bottom:16px}
.cp-ty-floralla .inner{height:auto!important;justify-content:center!important;text-align:center!important}
.cp-ty-floralla .cta{align-self:center!important}
/* one CTA style to rule both cards */
.cp-ty-ig .cta,.cp-ty-floralla .cta{
  display:block!important;width:100%!important;box-sizing:border-box!important;text-align:center!important;
  background:var(--cp-navy)!important;color:#fff!important;
  border:1px solid var(--cp-brass)!important;border-radius:999px!important;
  padding:14px!important;font-size:11px!important;letter-spacing:2.5px!important;text-transform:uppercase!important;
  box-shadow:inset 0 0 0 2px var(--cp-navy),inset 0 0 0 3px var(--cp-brass)!important;transition:.25s}
.cp-ty-ig:hover .cta,.cp-ty-floralla:hover .cta{background:var(--cp-navy-deep)!important;box-shadow:inset 0 0 0 2px var(--cp-navy-deep),inset 0 0 0 3px var(--cp-brass)!important}

/* ===== thank-you: sharp CTA corners + kill anything above our banner ===== */
.cp-ty-ig .cta,.cp-ty-floralla .cta{border-radius:0!important}
.woocommerce-order > *:has(~ .cp-ty-banner){display:none!important}

/* ===== remove the old Elementor "Thank You" lottie animation ===== */
.woocommerce-order-received .elementor-widget-lottie,
.woocommerce-order-received .e-lottie__container,
.woocommerce-order-received .elementor-element-b23b43a{display:none!important}

/* ===== Floral LA card: no dead space, panel hugs its content ===== */
.cp-ty-floralla .inner{display:block!important;height:auto!important;flex:none!important;padding:20px 22px!important;justify-content:normal!important}
.cp-ty-floralla .inner .k{margin:0 0 6px}
.cp-ty-floralla .inner h4{margin:0 0 8px!important}
.cp-ty-floralla .inner p{margin:0 0 14px!important}

/* ===== Fall Edit collection frame: warm harvest panel ===== */
.frame-fall{background:#faf3e7}
.frame-fall .k,.cp-headframe.frame-fall .k{color:#a85f2a}

/* ================= Fall Edit — taped-note banner (v1.9.1) ================= */
.cp-seasonal.cp-fallnote{
  display:block;position:relative;padding:88px 20px 96px;overflow:hidden;
  background-color:#33281e;
  background-image:repeating-linear-gradient(90deg,
    #2c221a 0 30px, #382c21 30px 36px,
    #4c3b2a 36px 62px, #382c21 62px 68px);
}
/* woven-linen texture over the stripes */
.cp-fallnote::before{content:"";position:absolute;inset:0;pointer-events:none;
  background-image:
    repeating-linear-gradient(0deg, rgba(0,0,0,.14) 0 1px, transparent 1px 3px),
    repeating-linear-gradient(90deg, rgba(255,255,255,.045) 0 1px, transparent 1px 3px);
}
/* soft vignette like the photo */
.cp-fallnote::after{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(ellipse at center, transparent 55%, rgba(0,0,0,.28) 100%);
}
.cp-fallnote .cp-note{
  position:relative;z-index:1;display:block;max-width:540px;margin:0 auto;
  background:#f1ede1;border-radius:2px;
  background-image:radial-gradient(rgba(120,110,90,.06) 1px, transparent 1.4px);
  background-size:9px 9px;
  padding:74px 46px 60px;text-align:center;text-decoration:none;
  box-shadow:0 16px 38px rgba(0,0,0,.5), 0 3px 10px rgba(0,0,0,.3);
  transition:transform .25s ease;
}
.cp-fallnote .cp-note:hover{transform:translateY(-3px) rotate(-.4deg)}
.cp-fallnote .cp-tape{
  position:absolute;top:-17px;left:50%;width:200px;height:40px;
  transform:translateX(-50%) rotate(-1.6deg);
  background:rgba(213,199,152,.88);
  box-shadow:0 2px 6px rgba(0,0,0,.28), inset 0 0 8px rgba(160,140,90,.35);
  clip-path:polygon(0 14%,2% 2%,26% 6%,52% 0,75% 5%,98% 2%,100% 18%,99% 86%,97% 98%,70% 94%,45% 100%,20% 95%,2% 98%,0 82%);
}
.cp-fallnote .cp-note-hand{
  display:block;font-family:'Caveat',cursive;font-weight:600;
  color:var(--cp-navy,#1e2a4a);font-size:38px;line-height:1.22;margin:0 0 16px;
}
.cp-fallnote .cp-note-sub{
  display:block;font-family:'Caveat',cursive;font-weight:500;
  color:var(--cp-navy,#1e2a4a);opacity:.78;font-size:23px;margin:0 0 22px;
}
.cp-fallnote .cp-note-cta{
  display:inline-block;font-family:'Caveat',cursive;font-weight:600;
  color:var(--cp-navy,#1e2a4a);font-size:26px;line-height:1;
  border-bottom:2px solid var(--cp-navy,#1e2a4a);padding-bottom:2px;
}
.cp-fallnote .cp-note:hover .cp-note-cta{opacity:.75}
@media (max-width:600px){
  .cp-seasonal.cp-fallnote{padding:64px 16px 72px}
  .cp-fallnote .cp-note{padding:60px 26px 48px}
  .cp-fallnote .cp-note-hand{font-size:30px}
  .cp-fallnote .cp-note-sub{font-size:20px}
}

/* ============ Fall banner v2: polaroid + card on fabric (v1.9.2) ============ */
.cp-fallnote-inner{
  position:relative;z-index:1;max-width:1060px;margin:0 auto;
  display:grid;grid-template-columns:400px minmax(0,1fr);gap:64px;align-items:center;
}
/* the polaroid replaces the sticky note */
.cp-fallnote .cp-note{display:none}
.cp-polaroid{
  position:relative;margin:0;background:#fdfcf7;
  padding:16px 16px 16px;transform:rotate(-2.4deg);
  box-shadow:0 16px 38px rgba(0,0,0,.5), 0 3px 10px rgba(0,0,0,.3);
  transition:transform .3s ease;
}
.cp-polaroid:hover{transform:rotate(-.8deg) translateY(-3px)}
.cp-polaroid img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover}
.cp-polaroid figcaption{
  font-family:'Caveat',cursive;font-weight:600;text-align:center;
  color:var(--cp-navy,#1e2a4a);font-size:25px;line-height:1;padding:16px 4px 6px;
}
.cp-polaroid .cp-tape{top:-19px}
/* the story card, sitting on the striped fabric like the reference note */
.cp-fallcard{
  position:relative;background:#f1ede1;border-radius:2px;
  background-image:radial-gradient(rgba(120,110,90,.06) 1px, transparent 1.4px);
  background-size:9px 9px;
  padding:52px 54px 50px;
  box-shadow:0 16px 38px rgba(0,0,0,.45), 0 3px 10px rgba(0,0,0,.28);
}
.cp-fallcard .tag{
  font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.24em;
  text-transform:uppercase;color:#a85f2a;margin-bottom:14px;
}
.cp-fallcard h3{
  font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);
  font-size:40px;line-height:1.12;margin:0 0 16px;
}
.cp-fallcard p{
  font-family:'Inter',sans-serif;font-weight:300;color:#4a4438;
  font-size:15px;line-height:1.75;margin:0 0 26px;max-width:46ch;
}
@media (max-width:880px){
  .cp-fallnote-inner{grid-template-columns:1fr;gap:52px}
  .cp-polaroid{max-width:340px;margin:0 auto}
  .cp-fallcard{padding:40px 28px 38px;text-align:center}
  .cp-fallcard p{margin-left:auto;margin-right:auto}
  .cp-fallcard h3{font-size:32px}
}

/* ===== Fall banner v2.1: bigger presence (v1.9.3) ===== */
.cp-seasonal.cp-fallnote{padding:130px 20px 138px}
.cp-fallnote-inner{max-width:1280px;grid-template-columns:480px minmax(0,1fr);gap:84px}
.cp-polaroid{padding:18px 18px 18px}
.cp-polaroid figcaption{font-size:28px;padding:18px 4px 8px}
.cp-fallcard{padding:64px 68px 62px}
.cp-fallcard .tag{font-size:12.5px;margin-bottom:16px}
.cp-fallcard h3{font-size:48px;margin:0 0 18px}
.cp-fallcard p{font-size:16.5px;line-height:1.8;margin:0 0 30px;max-width:50ch}
@media (max-width:880px){
  .cp-seasonal.cp-fallnote{padding:84px 16px 92px}
  .cp-fallnote-inner{gap:60px}
  .cp-polaroid{max-width:400px}
  .cp-fallcard{padding:46px 30px 44px}
  .cp-fallcard h3{font-size:34px}
}

/* ===== Fall banner v2.2: square fabric panel, stacked layout (v1.9.4) ===== */
.cp-seasonal.cp-fallnote{
  aspect-ratio:1/1;max-width:1000px;margin:96px auto;
  padding:0 24px;display:grid;place-content:center;
  box-shadow:0 22px 54px rgba(0,0,0,.35);
}
.cp-fallnote-inner{
  max-width:none;display:flex;flex-direction:column;align-items:center;gap:0;
}
.cp-polaroid{
  width:380px;max-width:82vw;margin-bottom:-26px;z-index:2;
  transform:rotate(-2.4deg);
}
.cp-polaroid:hover{transform:rotate(-.8deg) translateY(-3px)}
.cp-fallcard{
  z-index:1;max-width:660px;text-align:center;
  padding:56px 56px 46px;
}
.cp-fallcard p{margin-left:auto;margin-right:auto;max-width:48ch}
.cp-fallcard h3{font-size:40px}
@media (max-width:700px){
  .cp-seasonal.cp-fallnote{aspect-ratio:auto;margin:64px auto;padding:64px 16px 72px}
  .cp-polaroid{width:320px}
  .cp-fallcard{padding:52px 26px 40px}
  .cp-fallcard h3{font-size:31px}
}

/* ===== Fall banner v2.3: 1380px square, polaroid left / card right (v1.9.5) ===== */
.cp-seasonal.cp-fallnote{
  aspect-ratio:1/1;width:min(1380px,96vw);max-width:1380px;
  margin:96px auto;padding:0 56px;display:grid;place-content:center;
}
.cp-fallnote-inner{
  display:grid;grid-template-columns:480px minmax(0,1fr);gap:76px;align-items:center;
  flex-direction:unset;
}
.cp-polaroid{width:480px;max-width:100%;margin-bottom:0;z-index:2}
.cp-fallcard{
  text-align:left;max-width:none;padding:62px 64px 58px;
}
.cp-fallcard p{margin-left:0;margin-right:0;max-width:46ch}
.cp-fallcard h3{font-size:46px}
@media (max-width:1000px){
  .cp-seasonal.cp-fallnote{aspect-ratio:auto;padding:72px 20px 80px}
  .cp-fallnote-inner{grid-template-columns:1fr;gap:56px;justify-items:center}
  .cp-polaroid{width:380px}
  .cp-fallcard{text-align:center;padding:48px 30px 44px}
  .cp-fallcard p{margin-left:auto;margin-right:auto}
  .cp-fallcard h3{font-size:33px}
}

/* ===== Fall banner v2.4: 1200px square, fixed proportions (v1.9.6) ===== */
.cp-seasonal.cp-fallnote{
  width:min(1200px,96vw);max-width:1200px;aspect-ratio:1/1;
  display:flex;align-items:center;justify-content:center;
  padding:0 64px;margin:96px auto;
}
.cp-fallnote-inner{
  width:100%;max-width:none;
  display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);
  gap:64px;align-items:center;
}
.cp-polaroid{width:100%;max-width:440px;margin:0}
.cp-fallcard{width:100%;max-width:none;text-align:left;padding:54px 56px 50px}
.cp-fallcard h3{font-size:42px}
.cp-fallcard p{margin-left:0;margin-right:0;max-width:46ch}
@media (max-width:1000px){
  .cp-seasonal.cp-fallnote{aspect-ratio:auto;padding:72px 20px 80px;margin:64px auto}
  .cp-fallnote-inner{grid-template-columns:1fr;gap:56px;justify-items:center}
  .cp-polaroid{max-width:380px}
  .cp-fallcard{text-align:center;padding:48px 30px 44px}
  .cp-fallcard p{margin-left:auto;margin-right:auto}
  .cp-fallcard h3{font-size:33px}
}

/* ===== Fall banner v2.5: taped title card up top (v1.9.7) ===== */
.cp-seasonal.cp-fallnote{flex-direction:column;gap:64px}
.cp-falltitle{
  position:relative;background:#f1ede1;border-radius:2px;
  background-image:radial-gradient(rgba(120,110,90,.06) 1px, transparent 1.4px);
  background-size:9px 9px;
  padding:24px 54px 22px;transform:rotate(1.1deg);
  box-shadow:0 14px 32px rgba(0,0,0,.45), 0 3px 9px rgba(0,0,0,.28);
  font-family:'Cinzel',serif;font-weight:500;font-size:23px;
  letter-spacing:.34em;text-indent:.34em;color:var(--cp-navy,#1e2a4a);
  white-space:nowrap;
}
.cp-falltitle .cp-tape{top:-19px;width:170px}
@media (max-width:1000px){
  .cp-seasonal.cp-fallnote{gap:52px}
  .cp-falltitle{font-size:17px;padding:18px 30px 16px}
}

/* ===== Fall banner v2.6: 1280 x 950 panel (v1.9.8) ===== */
.cp-seasonal.cp-fallnote{
  width:min(1280px,96vw);max-width:1280px;aspect-ratio:1280/950;
  gap:52px;
}
@media (max-width:1000px){
  .cp-seasonal.cp-fallnote{aspect-ratio:auto}
}

/* ================= About page (v1.9.9) ================= */
.cp-about{--ab-cream:#faf7f0}
.cp-ab-hero{text-align:center;padding:110px 20px 64px;background:var(--ab-cream)}
.cp-ab-hero .k{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.28em;text-transform:uppercase;color:#a85f2a;margin-bottom:20px}
.cp-ab-hero h1{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:clamp(36px,5vw,58px);line-height:1.14;margin:0 0 26px}
.cp-ab-hero .rule{display:flex;align-items:center;justify-content:center;gap:14px}
.cp-ab-hero .rule::before,.cp-ab-hero .rule::after{content:"";width:64px;height:1px;background:#c9b48c}
.cp-ab-letter{background:var(--ab-cream);padding:8px 20px 96px}
.cp-ab-letter .paper{
  max-width:760px;margin:0 auto;background:#fff;padding:64px 68px 56px;
  border:1px solid #e6ddcb;
}
.cp-ab-letter .paper{box-shadow:0 18px 44px rgba(30,42,74,.10)}
.cp-ab-letter p{font-family:'Inter',sans-serif;font-weight:300;font-size:16px;line-height:1.85;color:#4a4438;margin:0 0 22px}
.cp-ab-letter .pull{
  font-family:'EB Garamond',serif;font-style:italic;font-weight:500;
  color:var(--cp-navy,#1e2a4a);font-size:26px;line-height:1.4;text-align:center;
  padding:10px 0 14px;margin:28px 0;
  border-top:1px solid #e0d7c3;border-bottom:1px solid #e0d7c3;
}
.cp-ab-letter .sig{font-family:'Caveat',cursive;font-weight:600;font-size:32px;color:var(--cp-navy,#1e2a4a);text-align:right;margin-top:8px}
.cp-ab-numbers{
  display:flex;justify-content:center;gap:0;background:var(--cp-navy,#1e2a4a);
  padding:54px 20px;text-align:center;flex-wrap:wrap;
}
.cp-ab-numbers div{padding:0 56px}
.cp-ab-numbers div+div{border-left:1px solid rgba(255,255,255,.16)}
.cp-ab-numbers strong{display:block;font-family:'EB Garamond',serif;font-weight:500;font-size:40px;color:#e9d9ae;margin-bottom:6px}
.cp-ab-numbers span{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:#cfd6e4}
.cp-ab-beyond{max-width:1160px;margin:0 auto;padding:92px 20px 24px}
.cp-ab-beyond .cards{display:grid;grid-template-columns:1fr 1fr;gap:34px;margin-top:14px}
.cp-ab-beyond .card{display:block;position:relative;text-decoration:none;overflow:hidden;background:var(--cp-navy,#1e2a4a)}
.cp-ab-beyond .card img{display:block;width:100%;height:420px;object-fit:cover;opacity:.82;transition:transform .5s ease,opacity .4s ease}
.cp-ab-beyond .card:hover img{transform:scale(1.04);opacity:.6}
.cp-ab-beyond .card .body{position:absolute;inset:auto 0 0 0;padding:26px 28px 26px;background:linear-gradient(180deg,transparent,rgba(16,24,44,.88) 42%)}
.cp-ab-beyond .card .t{display:block;font-family:'EB Garamond',serif;font-size:27px;color:#fff;margin-bottom:8px}
.cp-ab-beyond .card .d{display:block;font-family:'Inter',sans-serif;font-weight:300;font-size:14px;line-height:1.6;color:#e6e9f1;max-width:44ch;margin-bottom:14px}
.cp-ab-beyond .card .cta{display:inline-block;font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:#e9d9ae;border-bottom:1px solid #e9d9ae;padding-bottom:3px}
.cp-ab-cta{text-align:center;padding:86px 20px 110px}
.cp-ab-cta h3{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:34px;margin:0 0 26px}
@media (max-width:860px){
  .cp-ab-hero{padding:72px 16px 44px}
  .cp-ab-letter .paper{padding:44px 26px 40px}
  .cp-ab-numbers div{padding:16px 28px}
  .cp-ab-numbers div+div{border-left:none}
  .cp-ab-beyond .cards{grid-template-columns:1fr}
  .cp-ab-beyond .card img{height:320px}
}

/* ================= The Journal — blog index + single (v1.10.0) ================= */
.cp-journal .cp-pagehead{text-align:center;padding:84px 20px 30px}
.cp-jn-wrap{max-width:1160px;margin:0 auto;padding:26px 20px 110px}
.cp-jn-featured{display:grid;grid-template-columns:1.15fr 1fr;text-decoration:none;background:var(--cp-navy,#1e2a4a);overflow:hidden;margin-bottom:44px}
.cp-jn-featured img{display:block;width:100%;height:440px;object-fit:cover}
.cp-jn-featured .body{padding:54px 52px;display:flex;flex-direction:column;justify-content:center}
.cp-jn-featured .k{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#e9d9ae;margin-bottom:16px}
.cp-jn-featured .t{font-family:'EB Garamond',serif;font-weight:500;font-size:33px;line-height:1.2;color:#fff;margin-bottom:16px}
.cp-jn-featured .d{font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.75;color:#dbe0ea;margin-bottom:24px}
.cp-jn-featured .cta{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.22em;text-transform:uppercase;color:#e9d9ae;border-bottom:1px solid #e9d9ae;align-self:flex-start;padding-bottom:3px}
.cp-jn-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:34px}
.cp-jn-card{display:block;text-decoration:none;background:#fff;border:1px solid #ece5d4;transition:box-shadow .3s ease,transform .3s ease}
.cp-jn-card:hover{box-shadow:0 16px 36px rgba(30,42,74,.12);transform:translateY(-3px)}
.cp-jn-card img{display:block;width:100%;height:250px;object-fit:cover}
.cp-jn-card .body{display:block;padding:22px 24px 24px}
.cp-jn-card .k{display:block;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#a85f2a;margin-bottom:10px}
.cp-jn-card .t{display:block;font-family:'EB Garamond',serif;font-weight:500;font-size:21px;line-height:1.3;color:var(--cp-navy,#1e2a4a);margin-bottom:14px}
.cp-jn-card .cta{display:inline-block;font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--cp-navy,#1e2a4a);border-bottom:1px solid #b3894f;padding-bottom:2px}
.cp-jn-pager{text-align:center;margin-top:52px;font-family:'Inter',sans-serif;font-size:13px}
.cp-jn-pager .page-numbers{display:inline-block;padding:8px 14px;color:var(--cp-navy,#1e2a4a);text-decoration:none;border:1px solid #e0d7c3;margin:0 3px}
.cp-jn-pager .page-numbers.current{background:var(--cp-navy,#1e2a4a);color:#fff;border-color:var(--cp-navy,#1e2a4a)}
/* single post */
.cp-post{padding:76px 20px 100px}
.cp-post-head{max-width:760px;margin:0 auto 36px;text-align:center}
.cp-post-head .k{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.24em;text-transform:uppercase;color:#a85f2a;margin-bottom:18px}
.cp-post-head .k a{color:inherit;text-decoration:none;border-bottom:1px solid #d9c9a4}
.cp-post-head h1{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:clamp(30px,4vw,44px);line-height:1.18;margin:0}
.cp-post-hero{max-width:920px;margin:0 auto 44px}
.cp-post-hero img{display:block;width:100%;max-height:560px;object-fit:cover}
.cp-post-body{max-width:700px;margin:0 auto}
.cp-post-body p{font-family:'Inter',sans-serif;font-weight:300;font-size:16.5px;line-height:1.9;color:#43414c;margin:0 0 24px}
.cp-post-body h2,.cp-post-body h3{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);line-height:1.25;margin:40px 0 16px}
.cp-post-body h2{font-size:29px}.cp-post-body h3{font-size:24px}
.cp-post-body img{max-width:100%;height:auto}
.cp-post-body a{color:var(--cp-navy,#1e2a4a);text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}
.cp-post-body ul,.cp-post-body ol{font-family:'Inter',sans-serif;font-weight:300;font-size:16.5px;line-height:1.85;color:#43414c;margin:0 0 24px;padding-left:26px}
.cp-post-body blockquote{font-family:'EB Garamond',serif;font-style:italic;font-size:23px;color:var(--cp-navy,#1e2a4a);border-left:2px solid #b3894f;margin:34px 0;padding:6px 0 6px 26px}
.cp-post-foot{max-width:700px;margin:56px auto 0;display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid #e6ddcb;padding-top:34px;flex-wrap:wrap}
.cp-post-foot .back{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.06em;color:var(--cp-navy,#1e2a4a);text-decoration:none;border-bottom:1px solid #b3894f;padding-bottom:2px}
@media (max-width:900px){
  .cp-jn-featured{grid-template-columns:1fr}
  .cp-jn-featured img{height:300px}
  .cp-jn-featured .body{padding:34px 26px}
  .cp-jn-grid{grid-template-columns:1fr;gap:26px}
  .cp-jn-card img{height:220px}
}

/* Journal posts: retire in-content pill CTAs — the sharp footer CTA is the one (v1.10.1) */
.cp-post-body .wp-block-button,.cp-post-body .wp-block-buttons{display:none!important}

/* ===== Sold-out color swatches: slash + tag, not just un-clickable (v1.10.2) ===== */
body.coral2026 .cfvsw-swatches-option.cfvsw-swatches-disabled{
  position:relative;opacity:1!important;
}
body.coral2026 .cfvsw-swatches-option.cfvsw-swatches-disabled .cfvsw-swatch-inner{
  filter:none!important;opacity:1!important;   /* show the true colour; the slash says sold out */
}
/* the diagonal slash — lives on the image div so the option's own
   ::before / ::after stay free for the name (above) and status (below) */
body.coral2026 .cfvsw-swatches-option.cfvsw-swatches-disabled .cfvsw-swatch-inner{
  position:relative;
}
body.coral2026 .cfvsw-swatches-option.cfvsw-swatches-disabled .cfvsw-swatch-inner::after{
  content:"";position:absolute;inset:0;z-index:2;pointer-events:none;
  background:linear-gradient(to top right,
    transparent calc(50% - 1.5px),
    #b02a30 calc(50% - 1.5px) calc(50% + 1.5px),
    transparent calc(50% + 1.5px));
}

/* ===== Colour name ABOVE the swatch; sold-out shown by the slash alone (v1.17.9) =====
   Name comes from the swatch's own data-title, so it always matches the
   real WooCommerce term (Matte Black, Blush Pink, Victoria Green...). */
body.coral2026 .cfvsw-swatches-container{
  row-gap:30px!important;      /* + each option's own 38px top margin */
  /* NB: do NOT set align-items here. The plugin sizes the swatch image with
     height:calc(100% - 2px), which only resolves while the option is being
     stretched by the flex row. flex-start collapses the image to 0px. */
}
body.coral2026 .cfvsw-swatches-option{
  overflow:visible!important;
  margin-top:12px!important;
}
/* image swatches reserve room BELOW for a two-line name */
body.coral2026 .cfvsw-swatches-option.cfvsw-image-option{
  margin-bottom:40px!important;
}

/* shared text box — locked to the swatch's width so labels can never
   run into their neighbours */
body.coral2026 .cfvsw-swatches-option.cfvsw-image-option::before,
body.coral2026 .cfvsw-swatches-option[data-plus]::after{
  position:absolute;left:0;right:0;
  width:auto;max-width:none;transform:none;
  text-align:center;pointer-events:none;z-index:3;
  font-family:'Inter',sans-serif;font-weight:400;
  font-size:12.5px;line-height:1.3;letter-spacing:.01em;
  text-transform:none;background:none;padding:0;
}
/* the colour name, under its swatch */
body.coral2026 .cfvsw-swatches-option.cfvsw-image-option::before{
  content:attr(data-title);
  /* the plugin's disabled-overlay rule (.cfvsw-swatches-blur-disable::before)
     sets top:0 — force the name below the swatch on sold-out ones too */
  top:100%!important;bottom:auto!important;height:auto!important;
  margin-top:7px;
  background:none!important;filter:none!important;backdrop-filter:none!important;
  color:var(--cp-navy,#1e2a4a);
}
/* price difference for an upgrade tier, e.g. "+$50" */
body.coral2026 .cfvsw-swatches-option[data-plus]::after{
  content:attr(data-plus);
  top:100%;margin-top:6px;
  font-weight:500;color:#a85f2a;
}


/* ===== Mobile pass v1: tap menu + filter slide-over (v1.11.0) ===== */
.cp-burger,.cp-mnav,.cp-mnav-overlay,.cp-filter-toggle,.cp-filter-close{display:none}
body.cp-noscroll{overflow:hidden}
.cp-mnav-overlay{position:fixed;inset:0;background:rgba(21,32,58,.5);opacity:0;pointer-events:none;transition:opacity .3s;z-index:996}
.cp-mnav-overlay.show{opacity:1;pointer-events:auto}
.cp-mnav{
  position:fixed;top:0;left:0;height:100%;width:min(340px,86vw);background:#fff;z-index:997;
  transform:translateX(-102%);transition:transform .32s cubic-bezier(.22,.8,.36,1);
  overflow-y:auto;box-shadow:18px 0 44px rgba(20,24,31,.25);
}
.cp-mnav.open{transform:none}
.cp-mnav-head{display:flex;align-items:center;justify-content:space-between;padding:20px 22px;border-bottom:1px solid var(--cp-line,#e8e3d8)}
.cp-mnav-head .t{font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.26em;text-transform:uppercase;color:var(--cp-navy,#1e2a4a)}
.cp-mnav-close{background:none;border:none;font-size:30px;line-height:1;color:var(--cp-navy,#1e2a4a);padding:0 2px;cursor:pointer}
.cp-mnav-links{padding:10px 0 40px}
.cp-mnav-links .lone,.cp-mnav-links .g{
  display:flex;align-items:center;justify-content:space-between;width:100%;
  background:none;border:none;text-align:left;text-decoration:none;cursor:pointer;
  font-family:'EB Garamond',serif;font-weight:500;font-size:21px;color:var(--cp-navy,#1e2a4a);
  padding:15px 24px;border-bottom:1px solid #f0ece2;
}
.cp-mgrp .car{width:9px;height:9px;border-right:1.6px solid #b3894f;border-bottom:1.6px solid #b3894f;transform:rotate(45deg);transition:transform .25s;margin-right:4px}
.cp-mgrp.open .car{transform:rotate(225deg)}
.cp-mgrp .sub{display:none;background:#faf7f0;padding:6px 0}
.cp-mgrp.open .sub{display:block}
.cp-mgrp .sub a{
  display:block;text-decoration:none;font-family:'Inter',sans-serif;font-weight:300;
  font-size:14.5px;color:#4a4438;padding:11px 24px 11px 38px;
}
@media (max-width:880px){
  .cp-nav-links{display:none}
  .cp-nav-top{position:relative;justify-content:center}
  .cp-burger{
    display:flex;flex-direction:column;justify-content:center;gap:5px;
    position:absolute;left:18px;top:50%;transform:translateY(-50%);
    width:40px;height:40px;padding:8px;background:none;border:none;cursor:pointer;
  }
  .cp-burger span{display:block;height:1.6px;background:var(--cp-navy,#1e2a4a)}
  .cp-mnav,.cp-mnav-overlay{display:block}
  /* shop filters become a slide-over */
  .cp-filter-toggle{
    display:flex;align-items:center;justify-content:center;gap:9px;width:100%;
    background:#fff;border:1px solid var(--cp-navy,#1e2a4a);color:var(--cp-navy,#1e2a4a);
    font-family:'Inter',sans-serif;font-size:12px;letter-spacing:.22em;text-transform:uppercase;
    padding:13px 10px;margin-bottom:22px;cursor:pointer;
  }
  .cp-filters{
    position:fixed;top:0;left:0;height:100%;width:min(340px,86vw);background:#fff;z-index:997;
    transform:translateX(-102%);transition:transform .32s cubic-bezier(.22,.8,.36,1);
    overflow-y:auto;margin:0;padding:56px 24px 46px;box-shadow:18px 0 44px rgba(20,24,31,.25);
  }
  .cp-filters.open{transform:none}
  .cp-filter-close{
    display:block;position:absolute;top:10px;right:12px;background:none;border:none;
    font-size:30px;line-height:1;color:var(--cp-navy,#1e2a4a);cursor:pointer;padding:2px 6px;
  }
}

/* Burger icon as SVG — Safari can't flex-layout inside <button> (v1.11.1) */
@media (max-width:880px){
  .cp-burger{color:var(--cp-navy,#1e2a4a);align-items:center;justify-content:center;gap:0;flex-direction:row}
  .cp-burger svg{display:block}
}

/* ===== Stay in Bloom popup (v1.12.0) ===== */
.cp-nl-overlay{position:fixed;inset:0;background:rgba(21,32,58,.55);opacity:0;pointer-events:none;transition:opacity .35s;z-index:1000}
.cp-nl-overlay.show{opacity:1;pointer-events:auto}
.cp-nl{
  position:fixed;top:50%;left:50%;transform:translate(-50%,-46%) scale(.97);opacity:0;pointer-events:none;
  width:min(440px,92vw);z-index:1001;text-align:center;
  background:#f5f1e6;border-radius:2px;
  background-image:radial-gradient(rgba(120,110,90,.06) 1px, transparent 1.4px);background-size:9px 9px;
  box-shadow:0 0 0 1px #e0d7c3, 0 26px 60px rgba(10,16,32,.45);
  padding:46px 40px 34px;transition:opacity .35s,transform .35s;
}
.cp-nl.open{opacity:1;pointer-events:auto;transform:translate(-50%,-50%) scale(1)}
.cp-nl .x{position:absolute;top:8px;right:12px;background:none;border:none;font-size:28px;line-height:1;color:var(--cp-navy,#1e2a4a);cursor:pointer;padding:4px}
.cp-nl .k{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#a85f2a;margin-bottom:12px}
.cp-nl h3{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:34px;margin:0 0 12px}
.cp-nl p{font-family:'Inter',sans-serif;font-weight:300;font-size:14px;line-height:1.7;color:#4a4438;margin:0 0 22px}
.cp-nl form{display:flex;flex-direction:column;gap:12px}
.cp-nl input[type=email]{
  width:100%;border:1px solid #cfc4a9;background:#fff;padding:13px 14px;
  font-family:'Inter',sans-serif;font-size:14px;border-radius:8px;
}
.cp-nl .cp-hp{position:absolute;left:-5000px;height:1px;width:1px;opacity:0}
.cp-nl .cp-btn{width:100%;cursor:pointer}
.cp-nl .skip{
  background:none;border:none;margin-top:16px;cursor:pointer;
  font-family:'Inter',sans-serif;font-size:12px;color:#8a8272;
  text-decoration:underline;text-underline-offset:3px;
}
.cp-nl .ok{font-family:'EB Garamond',serif;font-style:italic;font-size:20px;color:var(--cp-navy,#1e2a4a);padding:14px 0 6px}
.cp-news-ok{font-family:'EB Garamond',serif;font-style:italic;font-size:18px;color:#fff}
@media (max-width:560px){.cp-nl{padding:38px 22px 28px}.cp-nl h3{font-size:29px}}

/* Remove the coral offset frame around service photos (v1.12.1) */
.cp-service-photo::after{display:none!important}

/* Equal photo sizes in the services rows — columns were 1.15fr/1fr (v1.12.2) */
.cp-service-row{grid-template-columns:1fr 1fr}

/* ================= Policy + FAQ pages (v1.13.0) ================= */
.cp-pol-sub{font-family:'Inter',sans-serif;font-weight:300;font-size:16px;color:#5a5346;max-width:52ch;margin:0 auto 26px}
.cp-policy .cp-ab-hero,.cp-faq .cp-ab-hero{padding-bottom:56px}
.cp-pol-cards{
  max-width:1060px;margin:0 auto;padding:64px 20px 10px;
  display:grid;grid-template-columns:1fr 1fr;gap:30px;
}
.cp-pol-cards .card{
  background:#fff;border:1px solid #ece5d4;padding:38px 40px 34px;
  box-shadow:0 14px 34px rgba(30,42,74,.07);
}
.cp-pol-cards .ic{width:34px;height:34px;margin-bottom:18px}
.cp-pol-cards .ic svg{width:100%;height:100%}
.cp-pol-cards h3{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:25px;margin:0 0 12px}
.cp-pol-cards p{font-family:'Inter',sans-serif;font-weight:300;font-size:14.5px;line-height:1.8;color:#4a4438;margin:0}
.cp-pol-cards a{color:var(--cp-navy,#1e2a4a);text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}
.cp-pol-terms{padding:72px 20px 10px}
.cp-pol-terms .inner{
  max-width:820px;margin:0 auto;background:var(--cp-navy,#1e2a4a);color:#fff;
  padding:54px 58px 48px;box-shadow:0 22px 50px rgba(16,24,44,.35);
}
.cp-pol-terms .k{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:#e9d9ae;margin-bottom:12px}
.cp-pol-terms h2{font-family:'EB Garamond',serif;font-weight:500;font-size:31px;margin:0 0 22px;color:#fff}
.cp-pol-terms ul{list-style:none;margin:0;padding:0}
.cp-pol-terms li{
  font-family:'Inter',sans-serif;font-weight:300;font-size:14.5px;line-height:1.8;color:#dbe0ea;
  padding:14px 0 14px 26px;position:relative;border-bottom:1px solid rgba(255,255,255,.12);
}
.cp-pol-terms li:last-child{border-bottom:none}
.cp-pol-terms li::before{content:"";position:absolute;left:2px;top:22px;width:7px;height:7px;background:#b3894f;transform:rotate(45deg)}
.cp-pol-terms a{color:#e9d9ae;text-decoration:underline;text-underline-offset:3px}
.cp-pol-terms .note{font-family:'EB Garamond',serif;font-style:italic;font-size:18px;color:#e9d9ae;margin:22px 0 0}
/* FAQ */
.cp-faq-list{max-width:820px;margin:0 auto;padding:56px 20px 20px}
.cp-faq-item{background:#fff;border:1px solid #ece5d4;margin-bottom:18px;box-shadow:0 10px 26px rgba(30,42,74,.05)}
.cp-faq-item summary{
  list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:20px;
  padding:24px 30px;
}
.cp-faq-item summary::-webkit-details-marker{display:none}
.cp-faq-item .q{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:21px;line-height:1.35}
.cp-faq-item .pm{position:relative;flex:none;width:16px;height:16px}
.cp-faq-item .pm::before,.cp-faq-item .pm::after{content:"";position:absolute;background:#b3894f;transition:transform .25s}
.cp-faq-item .pm::before{left:0;right:0;top:7px;height:1.6px}
.cp-faq-item .pm::after{top:0;bottom:0;left:7px;width:1.6px}
.cp-faq-item[open] .pm::after{transform:scaleY(0)}
.cp-faq-item .a{padding:0 30px 26px}
.cp-faq-item .a p{font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.85;color:#4a4438;margin:0;max-width:62ch}
.cp-faq-item .a a{color:var(--cp-navy,#1e2a4a);text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}
.cp-faq-more{text-align:center;padding:56px 20px 100px}
.cp-faq-more .k{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:#a85f2a;margin-bottom:14px}
.cp-faq-more p{font-family:'Inter',sans-serif;font-weight:300;font-size:15.5px;line-height:1.9;color:#4a4438;margin:0}
.cp-faq-more a{color:var(--cp-navy,#1e2a4a);text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}
@media (max-width:760px){
  .cp-pol-cards{grid-template-columns:1fr;padding-top:44px}
  .cp-pol-cards .card{padding:30px 24px 28px}
  .cp-pol-terms .inner{padding:40px 26px 36px}
  .cp-faq-item summary{padding:20px 20px}
  .cp-faq-item .a{padding:0 20px 22px}
  .cp-faq-item .q{font-size:19px}
}

/* ================= Contact page (v1.14.0) ================= */
.cp-ct-grid{max-width:1060px;margin:0 auto;padding:56px 20px 20px;display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:36px;align-items:start}
.cp-ct-form{background:#fff;border:1px solid #ece5d4;padding:44px 46px 40px;box-shadow:0 14px 34px rgba(30,42,74,.07)}
.cp-ct-form .row2{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.cp-ct-form label{display:block;margin-bottom:18px;font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;color:#8a8272}
.cp-ct-form input,.cp-ct-form select,.cp-ct-form textarea{
  display:block;width:100%;margin-top:8px;border:1px solid #d8cfba;background:#fff;
  padding:12px 13px;font-family:'Inter',sans-serif;font-size:14.5px;color:#33302a;
  border-radius:8px;letter-spacing:normal;text-transform:none;
}
.cp-ct-form textarea{resize:vertical}
.cp-ct-form input:focus,.cp-ct-form select:focus,.cp-ct-form textarea:focus{outline:none;border-color:var(--cp-navy,#1e2a4a)}
.cp-ct-form .cp-btn{cursor:pointer;margin-top:6px}
.cp-ct-form .ok{font-family:'EB Garamond',serif;font-style:italic;font-size:19px;color:var(--cp-navy,#1e2a4a);padding-top:18px}
.cp-ct-info{
  background:var(--cp-navy,#1e2a4a);color:#fff;padding:44px 42px 40px;
  box-shadow:0 22px 50px rgba(16,24,44,.3);position:sticky;top:130px;
}
.cp-ct-info .k{font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.26em;text-transform:uppercase;color:#e9d9ae;margin-bottom:10px}
.cp-ct-info h3{font-family:'EB Garamond',serif;font-weight:500;font-size:27px;color:#fff;margin:0 0 14px}
.cp-ct-info .addr{font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.7;color:#dbe0ea;margin:0 0 22px}
.cp-ct-info .line{font-family:'Inter',sans-serif;font-weight:300;font-size:14.5px;color:#dbe0ea;margin:0 0 12px}
.cp-ct-info .line span{display:block;font-size:10.5px;letter-spacing:.2em;text-transform:uppercase;color:#e9d9ae;margin-bottom:3px}
.cp-ct-info a{color:#fff;text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}
.cp-ct-info .rulebar{height:1px;background:rgba(255,255,255,.16);margin:22px 0}
.cp-ct-info .small{font-family:'Inter',sans-serif;font-weight:300;font-size:13.5px;line-height:1.7;color:#cfd6e4;margin:0}
.cp-ct-map{max-width:1060px;margin:0 auto;padding:36px 20px 100px}
.cp-ct-map iframe{display:block;width:100%;height:380px;border:1px solid #ece5d4;filter:grayscale(.35) sepia(.08);box-shadow:0 14px 34px rgba(30,42,74,.07)}
@media (max-width:860px){
  .cp-ct-grid{grid-template-columns:1fr}
  .cp-ct-info{position:static}
  .cp-ct-form{padding:32px 24px 30px}
  .cp-ct-form .row2{grid-template-columns:1fr}
  .cp-ct-map iframe{height:300px}
}

/* ================= Legal pages + 404 (v1.15.0) ================= */
.cp-legal-body{padding:48px 20px 100px}
.cp-legal-body .paper{
  max-width:820px;margin:0 auto;background:#fff;border:1px solid #e6ddcb;
  padding:60px 64px 56px;box-shadow:0 18px 44px rgba(30,42,74,.08);
}
.cp-legal-body .paper p,.cp-legal-body .paper li{
  font-family:'Inter',sans-serif!important;font-weight:300;font-size:14.5px!important;
  line-height:1.85!important;color:#4a4438!important;
}
.cp-legal-body .paper p{margin:0 0 18px}
.cp-legal-body .paper h1,.cp-legal-body .paper h2,.cp-legal-body .paper h3,
.cp-legal-body .paper h4,.cp-legal-body .paper strong{
  font-family:'EB Garamond',serif!important;font-weight:500!important;
  color:var(--cp-navy,#1e2a4a)!important;
}
.cp-legal-body .paper h2{font-size:26px!important;margin:36px 0 14px!important}
.cp-legal-body .paper h3{font-size:21px!important;margin:30px 0 12px!important}
.cp-legal-body .paper a{color:var(--cp-navy,#1e2a4a)!important;text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}
.cp-legal-body .paper ul,.cp-legal-body .paper ol{margin:0 0 18px;padding-left:24px}
@media (max-width:700px){.cp-legal-body .paper{padding:36px 24px 34px}}
/* 404 */
.cp-404{text-align:center;padding:96px 20px 130px;max-width:640px;margin:0 auto}
.cp-404 .stem{width:120px;margin:0 auto 8px}
.cp-404 .stem svg{width:100%;height:auto}
.cp-404 .k{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.28em;text-transform:uppercase;color:#a85f2a;margin-bottom:16px}
.cp-404 h1{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:clamp(34px,4.6vw,50px);line-height:1.14;margin:0 0 14px}
.cp-404 .hand{font-family:'Caveat',cursive;font-weight:500;font-size:24px;color:var(--cp-navy,#1e2a4a);opacity:.8;margin:0 0 20px}
.cp-404 .sub{font-family:'Inter',sans-serif;font-weight:300;font-size:15px;line-height:1.8;color:#4a4438;margin:0 auto 32px;max-width:46ch}
.cp-404 .acts{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.cp-404 .ghost{font-family:'Inter',sans-serif;font-size:13px;letter-spacing:.06em;color:var(--cp-navy,#1e2a4a);text-decoration:none;border-bottom:1px solid #b3894f;padding-bottom:2px}

/* Honeypot must be invisible EVERYWHERE, not just in the popup (v1.15.1) */
.cp-hp{position:absolute!important;left:-5000px!important;height:1px!important;width:1px!important;opacity:0!important;pointer-events:none!important}

/* ================= Events bridge page (v1.16.0) ================= */
.cp-ev-photo{max-width:1060px;margin:0 auto;padding:48px 20px 0}
.cp-ev-photo img{display:block;width:100%;height:460px;object-fit:cover;object-position:center 40%;box-shadow:0 22px 50px rgba(30,42,74,.16)}
.cp-ev-pillars{max-width:1060px;margin:0 auto;padding:64px 20px 20px;display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.cp-ev-pillars .p{background:#fff;border:1px solid #ece5d4;padding:34px 34px 30px;box-shadow:0 12px 30px rgba(30,42,74,.06)}
.cp-ev-pillars h3{font-family:'EB Garamond',serif;font-weight:500;color:var(--cp-navy,#1e2a4a);font-size:23px;margin:0 0 12px}
.cp-ev-pillars p{font-family:'Inter',sans-serif;font-weight:300;font-size:14px;line-height:1.8;color:#4a4438;margin:0}
.cp-ev-cta{padding:72px 20px 110px}
.cp-ev-cta .inner{max-width:820px;margin:0 auto;background:var(--cp-navy,#1e2a4a);text-align:center;padding:56px 54px 50px;box-shadow:0 22px 50px rgba(16,24,44,.35)}
.cp-ev-cta .k{font-family:'Inter',sans-serif;font-size:11.5px;letter-spacing:.26em;text-transform:uppercase;color:#e9d9ae;margin-bottom:12px}
.cp-ev-cta h2{font-family:'EB Garamond',serif;font-weight:500;font-size:31px;color:#fff;margin:0 0 16px}
.cp-ev-cta p{font-family:'Inter',sans-serif;font-weight:300;font-size:14.5px;line-height:1.8;color:#dbe0ea;margin:0 auto 28px;max-width:52ch}
.cp-ev-cta .acts{display:flex;align-items:center;justify-content:center;gap:26px;flex-wrap:wrap}
.cp-ev-cta .ghost{font-family:'Inter',sans-serif;font-size:13px;color:#e9d9ae;text-decoration:none;border-bottom:1px solid #b3894f;padding-bottom:2px}
@media (max-width:820px){
  .cp-ev-photo img{height:300px}
  .cp-ev-pillars{grid-template-columns:1fr;padding-top:44px}
  .cp-ev-cta .inner{padding:40px 24px 36px}
}

/* Events page: occasion chips (v1.16.1) */
.cp-ev-types{max-width:900px;margin:0 auto;padding:72px 20px 6px;text-align:center}
.cp-ev-types .lead{font-family:'Inter',sans-serif;font-weight:300;font-size:15.5px;line-height:1.8;color:#4a4438;margin:14px auto 30px;max-width:54ch}
.cp-ev-types .chips{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}
.cp-ev-types .chips span{
  font-family:'EB Garamond',serif;font-weight:500;font-size:17.5px;color:var(--cp-navy,#1e2a4a);
  background:#fff;border:1px solid #d9c9a4;padding:10px 22px;
  box-shadow:0 6px 16px rgba(30,42,74,.05);
}
.cp-ev-types .foot{font-family:'Caveat',cursive;font-weight:500;font-size:23px;color:var(--cp-navy,#1e2a4a);opacity:.8;margin:28px 0 0}
@media (max-width:600px){.cp-ev-types .chips span{font-size:15.5px;padding:8px 16px}}

/* Mobile collections: swipe hint (v1.16.2) */
.cp-swipe-hint{display:none}
@media (max-width:880px){
  .cp-swipe-hint{
    display:flex;align-items:center;justify-content:center;gap:10px;
    margin-top:14px;transition:opacity .5s ease;
  }
  .cp-swipe-hint span{
    font-family:'Inter',sans-serif;font-size:11px;letter-spacing:.22em;
    text-transform:uppercase;color:#a85f2a;
  }
  .cp-swipe-hint svg{animation:cp-nudge 1.6s ease-in-out infinite}
  .cp-swipe-hint.gone{opacity:0}
  @keyframes cp-nudge{0%,100%{transform:translateX(0)}50%{transform:translateX(7px)}}
}

/* Services rows: my equal-columns fix must NOT apply on phones — stack full width (v1.16.3) */
@media (max-width:880px){
  .cp-service-row,.cp-service-row.flip{grid-template-columns:1fr}
  .cp-service-photo img{width:100%;aspect-ratio:4/3}
}

/* ===== Date chips: even grid, no double spacing (v1.17.0) =====
   The legacy picker sets a 4-col grid with gap:10px AND margin:5px on each
   chip (double gaps), and fixes chips at 90px inside wider cells — which is
   why they looked randomly spaced. Fill the cells, gap once, and let the
   columns auto-fit so 3 sit neatly across on a phone. */
body.coral2026 .cp-pwrap .product-fields{
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(96px,1fr))!important;
  gap:10px!important;
  align-items:stretch!important;
}
body.coral2026 .cp-pwrap .product-fields > *{
  margin:0!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
}
body.coral2026 .cp-pwrap .product-fields .product_date_field{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-align:center!important;
  padding:13px 6px!important;
  box-sizing:border-box!important;
  white-space:nowrap;
}
@media (max-width:600px){
  body.coral2026 .cp-pwrap .product-field-box{ padding:16px!important; }
  body.coral2026 .cp-pwrap .product-fields{
    grid-template-columns:repeat(auto-fit,minmax(88px,1fr))!important;
    gap:8px!important;
  }
  body.coral2026 .cp-pwrap .product-fields .product_date_field{
    padding:12px 4px!important;font-size:11.5px!important;
  }
}

/* ===== Full Calendar joins the date grid properly (v1.17.1) =====
   It was a full-width flex row centring a 189px input — so it floated in the
   middle, aligned to nothing. Now it fills from wherever it lands to the end
   of its row, and the input fills the cell like every other chip. */
body.coral2026 .cp-pwrap .product-fields .full_calendar{
  grid-column:auto!important;          /* ONE cell, same as every date chip */
  display:flex!important;
  align-items:stretch!important;       /* plugin sets center → shrinks the input */
  padding:0!important;
  border:none!important;
  background:none!important;
}
body.coral2026 .cp-pwrap .product-fields .full_calendar .woocommerce-input-wrapper{
  align-items:stretch!important;
}
body.coral2026 .cp-pwrap .product-fields .full_calendar .woocommerce-input-wrapper{
  display:flex!important;width:100%!important;
}
body.coral2026 .cp-pwrap .product-fields .full_calendar input.input-text{
  width:100%!important;box-sizing:border-box!important;
  height:auto!important;align-self:stretch!important;
  margin:0!important;
  padding:13px 10px!important;
  text-align:center!important;
  font-family:'Inter',sans-serif!important;
  font-size:12px!important;
  border:0.666667px solid var(--cp-navy,#1c2a44)!important;  /* same as the date chips */
  border-radius:8px!important;
  color:var(--cp-ink,#14181f)!important;
  cursor:pointer;
}
@media (max-width:600px){
  body.coral2026 .cp-pwrap .product-fields .full_calendar input.input-text{
    padding:12px 8px!important;font-size:11.5px!important;
  }
}



/* note under the enhance step (v1.17.3) — margin clears any swatch labels */
body.coral2026 .cp-enhance-note{
  margin:0 0 2px;
  font-family:'Inter',sans-serif;font-weight:300;font-style:italic;
  font-size:13.5px;line-height:1.5;color:#6d7788;
}


/* ===== Price INSIDE text swatches (Premium / +$50) (v1.17.9) ===== */
body.coral2026 .cfvsw-swatches-option:not(.cfvsw-image-option) .cfvsw-swatch-inner{
  flex-direction:column!important;gap:2px!important;
}
body.coral2026 .cp-swatch-plus{
  font-family:'Inter',sans-serif;font-weight:500;
  font-size:12px;line-height:1.2;letter-spacing:.02em;color:#a85f2a;
}

/* ===== Search overlay (v1.19.0) ===== */
.cp-search-toggle{background:none;border:none;padding:0;cursor:pointer;color:inherit;display:inline-flex}
.cp-search-overlay{position:fixed;inset:0;background:rgba(21,32,58,.55);opacity:0;pointer-events:none;transition:opacity .3s;z-index:1002}
.cp-search-overlay.show{opacity:1;pointer-events:auto}
.cp-search{
  position:fixed;top:0;left:0;right:0;z-index:1003;background:#faf7f0;
  padding:64px 24px 40px;text-align:center;
  transform:translateY(-102%);transition:transform .35s cubic-bezier(.22,.8,.36,1);
  box-shadow:0 18px 44px rgba(20,24,31,.25);
}
.cp-search.open{transform:none}
.cp-search .x{position:absolute;top:14px;right:20px;background:none;border:none;font-size:32px;line-height:1;color:var(--cp-navy,#1e2a4a);cursor:pointer}
.cp-search form{max-width:640px;margin:0 auto}
.cp-search .row{display:flex;align-items:center;gap:14px;border-bottom:2px solid var(--cp-navy,#1e2a4a);padding-bottom:10px}
.cp-search input[type=search]{
  flex:1;border:none;background:none;outline:none;
  font-family:'EB Garamond',serif;font-size:clamp(22px,4vw,32px);color:var(--cp-ink,#14181f);
}
.cp-search input[type=search]::placeholder{color:#b9b2a4}
.cp-search .go{background:none;border:none;color:var(--cp-navy,#1e2a4a);cursor:pointer;display:inline-flex;padding:4px}
.cp-search .hint{margin-top:16px;font-family:'Inter',sans-serif;font-weight:300;font-size:12.5px;color:#8a8272}
/* empty search results */
.cp-search-empty{text-align:center;padding:30px 0 10px}
.cp-search-empty p{font-family:'Inter',sans-serif;font-weight:300;font-size:15.5px;color:#4a4438;margin:0 0 14px}
.cp-search-empty .didyoumean{font-family:'EB Garamond',serif;font-size:23px;color:var(--cp-navy,#1e2a4a)}
.cp-search-empty .didyoumean a{color:var(--cp-navy,#1e2a4a);text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:4px}
.cp-search-empty .alt a{color:var(--cp-navy,#1e2a4a);text-decoration:underline;text-decoration-color:#b3894f;text-underline-offset:3px}

/* ===== Sympathy service fields (v1.19.3) — inherit .cp-msg-fields look ===== */
.cp-sym-fields .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
@media (max-width:560px){ .cp-sym-fields .row{grid-template-columns:1fr} }
