@import url('https://fonts.googleapis.com/css2?family=Allura&family=Cormorant+Garamond:wght@500;600&family=Poppins:wght@400;500;600&display=swap');
:root{--ivory:#fffdf7;--sand:#f3e9dc;--linen:#e8dccb;--blush:#fceef0;--pink:#efaab4;--rose:#d96779;--deep:#b94f63;--sage:#8ca98c;--green:#6f8f6f;--gold:#c9a65a;--ink:#403936}*{box-sizing:border-box}body{margin:0;background:var(--ivory);color:var(--ink);font-family:Poppins,sans-serif}.store-nav{height:82px;padding:0 5vw;display:flex;align-items:center;border-bottom:1px solid var(--linen);position:sticky;top:0;background:rgba(255,253,247,.96);z-index:20}.store-brand{font:600 17px 'Cormorant Garamond';letter-spacing:.14em;color:var(--ink);text-decoration:none}.store-links{margin-left:auto;display:flex;gap:26px;align-items:center}.store-links a{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink);text-decoration:none}.cart-link{position:relative}.cart-count{background:var(--deep);color:white;border-radius:50%;font-size:9px;min-width:18px;height:18px;display:inline-grid;place-items:center;margin-left:4px}.shop-hero{padding:82px 6vw 55px;text-align:center;background:linear-gradient(180deg,var(--blush),var(--ivory))}.eyebrow{font-size:10px;letter-spacing:.22em;color:var(--deep);font-weight:600}.shop-hero h1{font:500 clamp(52px,8vw,94px)/.88 'Cormorant Garamond';margin:14px 0}.shop-hero h1 em{font:400 .72em Allura;color:var(--rose)}.shop-hero p{max-width:590px;margin:20px auto;font-size:13px;line-height:1.8}.collection-strip{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;padding:28px 5vw}.chip{border:1px solid var(--linen);background:white;padding:11px 17px;font-size:10px;letter-spacing:.09em;text-transform:uppercase;cursor:pointer}.chip.active{background:var(--green);color:white;border-color:var(--green)}.season-wrap{max-width:1200px;margin:0 auto 25px;padding:0 5vw}.season{background:var(--green);color:white;padding:24px 28px;display:flex;align-items:center;justify-content:space-between}.season strong{font:500 28px 'Cormorant Garamond'}.product-grid{max-width:1200px;margin:0 auto;padding:25px 5vw 90px;display:grid;grid-template-columns:repeat(4,1fr);gap:22px}.product-card{text-decoration:none;color:inherit}.product-card figure{margin:0;aspect-ratio:4/5;background:var(--sand);overflow:hidden}.product-card figure > img{width:100%;height:100%;object-fit:cover;transition:.4s}.product-card:hover figure > img{transform:scale(1.025)}.product-card small{display:block;margin-top:16px;color:var(--green);font-size:9px;letter-spacing:.14em;text-transform:uppercase}.product-card h3{font:500 24px 'Cormorant Garamond';margin:5px 0}.product-card b{font-size:12px;color:var(--deep)}.store-note{max-width:1100px;margin:0 auto 90px;padding:30px;border-top:1px solid var(--linen);border-bottom:1px solid var(--linen);font-size:11px;text-align:center}.product-page{max-width:1180px;margin:60px auto 100px;padding:0 5vw;display:grid;grid-template-columns:1.05fr .95fr;gap:70px}.product-image{aspect-ratio:4/5;background:var(--sand);overflow:hidden}.product-image img{width:100%;height:100%;object-fit:cover}.crumb{font-size:9px;letter-spacing:.12em;text-transform:uppercase;color:var(--green)}.product-info h1{font:500 52px/1 'Cormorant Garamond';margin:16px 0 8px}.price{font-weight:600;color:var(--deep);margin-bottom:24px}.product-desc{font-size:12px;line-height:1.8;border-bottom:1px solid var(--linen);padding-bottom:22px}.option{margin:22px 0}.option label{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin-bottom:9px}.option input,.option select,.option textarea{width:100%;padding:14px;border:1px solid var(--linen);background:white;font:12px Poppins}.swatches{display:flex;gap:9px}.swatch{width:34px;height:34px;border-radius:50%;border:3px solid white;outline:1px solid var(--linen);cursor:pointer}.swatch[data-c='Pink']{background:var(--pink)}.swatch[data-c='Sage']{background:var(--sage)}.swatch[data-c='Ivory']{background:var(--ivory)}.swatch.selected{outline:2px solid var(--deep)}.add-btn{width:100%;padding:17px;background:var(--deep);color:white;border:0;font:600 10px Poppins;letter-spacing:.14em;text-transform:uppercase;cursor:pointer}.mini-cart{position:fixed;right:-420px;top:0;width:min(400px,92vw);height:100vh;background:var(--ivory);z-index:50;box-shadow:-10px 0 40px #0002;padding:34px;transition:.35s}.mini-cart.open{right:0}.mini-cart h2{font:500 35px 'Cormorant Garamond'}.mini-cart a{display:block;text-align:center;padding:15px;background:var(--green);color:white;text-decoration:none;font-size:10px;letter-spacing:.12em}.close-mini{border:0;background:none;float:right;font-size:22px}.cart-page{max-width:1000px;margin:70px auto;padding:0 5vw 100px}.cart-page h1{font:500 58px 'Cormorant Garamond'}.cart-row{display:grid;grid-template-columns:100px 1fr auto;gap:20px;padding:22px 0;border-bottom:1px solid var(--linen)}.cart-row img{width:100px;height:120px;object-fit:cover}.cart-row h3{font:500 24px 'Cormorant Garamond';margin:0}.cart-row p{font-size:11px;line-height:1.7}.cart-total{text-align:right;padding-top:30px}.checkout-btn{display:inline-block;background:var(--deep);color:white;padding:16px 28px;text-decoration:none;font-size:10px;letter-spacing:.12em}.empty{text-align:center;padding:70px 0;color:#766}.admin-shell{display:grid;grid-template-columns:240px 1fr;min-height:100vh}.admin-side{background:var(--green);color:white;padding:34px 24px}.admin-side h2{font:500 24px 'Cormorant Garamond';margin:0 0 35px}.admin-side button{width:100%;text-align:left;background:none;color:white;border:0;border-bottom:1px solid #ffffff2b;padding:14px 0;font:10px Poppins;letter-spacing:.1em;text-transform:uppercase}.admin-main{padding:50px 5vw}.admin-main h1{font:500 52px 'Cormorant Garamond';margin:0}.admin-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin:30px 0}.metric,.admin-card{background:white;border:1px solid var(--linen);padding:22px}.metric b{font:500 38px 'Cormorant Garamond';display:block}.admin-card{margin:18px 0}.admin-card h3{font:500 26px 'Cormorant Garamond';margin:0 0 15px}.admin-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.admin-form input,.admin-form select,.admin-form textarea{padding:12px;border:1px solid var(--linen);font:11px Poppins}.admin-form textarea{grid-column:1/-1}.admin-action{background:var(--deep);color:white;border:0;padding:12px 17px;font:600 9px Poppins;letter-spacing:.1em}.admin-list{width:100%;border-collapse:collapse;font-size:11px}.admin-list td,.admin-list th{text-align:left;padding:12px;border-bottom:1px solid var(--linen)}.tag{font-size:9px;background:var(--blush);padding:5px 8px}.notice{font-size:10px;color:#766;margin-top:10px}@media(max-width:850px){.product-grid{grid-template-columns:repeat(2,1fr)}.product-page{grid-template-columns:1fr;gap:30px}.store-links a:not(.cart-link){display:none}.admin-shell{grid-template-columns:1fr}.admin-side{display:none}.admin-grid{grid-template-columns:1fr}.admin-form{grid-template-columns:1fr}.admin-form textarea{grid-column:auto}}@media(max-width:520px){.product-grid{grid-template-columns:1fr 1fr;gap:12px}.product-card h3{font-size:20px}.shop-hero{padding-top:55px}.cart-row{grid-template-columns:75px 1fr}.cart-row img{width:75px;height:90px}.cart-row>strong{grid-column:2}.product-info h1{font-size:43px}}
/* V72 — branded checkout foundation */
.checkout-page{max-width:1320px;margin:0 auto;padding:68px 5vw 110px;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(360px,.85fr);gap:72px;align-items:start}
.checkout-main>h1{font:500 clamp(54px,6vw,78px)/.92 'Cormorant Garamond';margin:12px 0 14px}
.checkout-lead{max-width:650px;font-size:12px;line-height:1.8;color:#706864;margin:0 0 45px}
.checkout-section{display:grid;grid-template-columns:52px 1fr;gap:20px;padding:34px 0;border-top:1px solid var(--linen)}
.section-number{font:500 18px 'Cormorant Garamond';color:var(--gold);padding-top:4px}
.section-content h2{font:500 31px 'Cormorant Garamond';margin:0 0 22px}
.checkout-fields{display:grid;grid-template-columns:1fr;gap:16px}
.checkout-fields.two{grid-template-columns:1fr 1fr}
.checkout-fields.three{grid-template-columns:1.4fr .55fr .65fr;margin-top:16px}
.checkout-fields label,.checkout-label{display:block;font-size:9px;letter-spacing:.12em;text-transform:uppercase;font-weight:600;color:var(--green)}
.checkout-fields label span,.checkout-label span{float:right;color:#9a8e88;font-size:8px;font-weight:500}
.checkout-fields input,.checkout-label textarea{display:block;width:100%;margin-top:8px;border:1px solid var(--linen);background:#fff;padding:14px 15px;font:12px Poppins;color:var(--ink);outline:none}
.checkout-fields input:focus,.checkout-label textarea:focus{border-color:var(--sage);box-shadow:0 0 0 2px rgba(140,169,140,.12)}
.fulfillment-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.fulfillment-card{position:relative;text-align:left;border:1px solid var(--linen);background:white;padding:20px 18px;cursor:pointer;color:var(--ink)}
.fulfillment-card.selected{border:2px solid var(--sage);padding:19px 17px;background:#f8faf6}
.fulfillment-card b{display:block;font:500 22px 'Cormorant Garamond';margin-bottom:5px}
.fulfillment-card small{display:block;font-size:10px;line-height:1.6;color:#776f6a;padding-right:18px}
.fulfillment-check{display:none;position:absolute;right:14px;top:14px;width:21px;height:21px;border-radius:50%;background:var(--sage);color:white;text-align:center;line-height:21px;font-size:11px}
.fulfillment-card.selected .fulfillment-check{display:block}
.pickup-note{margin-top:16px;background:var(--blush);border-left:3px solid var(--pink);padding:16px 18px}
.pickup-note strong{font:500 19px 'Cormorant Garamond'}
.pickup-note p{font-size:10px;line-height:1.6;margin:4px 0 0}
.shipping-fields{margin-top:18px}
.shipping-fields[hidden],.pickup-note[hidden]{display:none!important}
.payment-placeholder{display:flex;gap:15px;align-items:flex-start;background:var(--sand);padding:18px;margin-bottom:20px}
.payment-lock{width:38px;height:38px;flex:0 0 38px;border-radius:50%;background:var(--ivory);display:grid;place-items:center;color:var(--deep);font-size:20px}
.payment-placeholder b{font:500 18px 'Cormorant Garamond'}
.payment-placeholder p{font-size:10px;line-height:1.6;margin:3px 0 0;color:#776f6a}
.checkout-agree{display:flex;align-items:flex-start;gap:10px;font-size:10px;line-height:1.6;margin:20px 0}
.checkout-agree input{appearance:none;width:18px;height:18px;flex:0 0 18px;border:1px solid var(--linen);background:white;margin:0;display:grid;place-items:center}
.checkout-agree input:checked{background:var(--deep);border-color:var(--deep)}
.checkout-agree input:checked:after{content:'✓';color:white;font-size:11px}
.checkout-error{min-height:20px;color:var(--deep);font-size:10px;margin-bottom:7px}
.place-order-btn{width:100%;border:0;background:var(--deep);color:white;padding:17px 20px;font:600 10px Poppins;letter-spacing:.13em;cursor:pointer;border-bottom:3px solid var(--gold)}
.place-order-btn span{float:right;color:var(--gold)}
.order-summary{background:var(--blush);padding:34px}
.summary-sticky{position:sticky;top:115px}
.order-summary h2{font:500 35px 'Cormorant Garamond';margin:8px 0 25px}
.summary-item{display:grid;grid-template-columns:70px 1fr auto;gap:14px;padding:17px 0;border-top:1px solid rgba(185,79,99,.14)}
.summary-item img{width:70px;height:88px;object-fit:cover}
.summary-item h3{font:500 19px 'Cormorant Garamond';margin:0 0 5px}
.summary-item p{font-size:8.5px;line-height:1.45;margin:2px 0;color:#706864}
.summary-item p b{color:var(--ink)}
.summary-item small{display:block;margin-top:5px;font-size:8px;color:var(--green);text-transform:uppercase;letter-spacing:.08em}
.summary-item>strong{font-size:10px;color:var(--deep)}
.summary-totals{border-top:1px solid rgba(185,79,99,.2);margin-top:8px;padding-top:15px}
.summary-totals>div{display:flex;justify-content:space-between;font-size:10px;padding:5px 0}
.summary-grand{font:500 20px 'Cormorant Garamond'!important;border-top:1px solid rgba(185,79,99,.2);margin-top:10px;padding-top:14px!important}
.summary-grand strong{color:var(--deep)}
.edit-cart-link{display:inline-block;margin-top:18px;color:var(--deep);font-size:9px;letter-spacing:.12em;text-decoration:none;font-weight:600}
.summary-fine{font-size:9px;line-height:1.6;color:#776f6a;margin-top:20px}
.checkout-modal{position:fixed;inset:0;background:rgba(64,57,54,.48);z-index:100;display:none;align-items:center;justify-content:center;padding:25px}
.checkout-modal.open{display:flex}
.checkout-modal-card{position:relative;width:min(520px,100%);background:var(--ivory);border-top:4px solid var(--gold);padding:42px;text-align:center}
.checkout-modal-card h2{font:500 39px/1 'Cormorant Garamond';margin:12px 0}
.checkout-modal-card p{font-size:11px;line-height:1.8}
.modal-note{background:var(--blush);padding:13px}
.modal-close{position:absolute;right:14px;top:12px;border:0;background:none;font-size:25px;color:var(--ink);cursor:pointer}
.modal-button{margin-top:12px;border:0;background:var(--green);color:white;padding:14px 22px;font:600 9px Poppins;letter-spacing:.12em;cursor:pointer}
@media(max-width:900px){.checkout-page{grid-template-columns:1fr;gap:35px}.order-summary{grid-row:1}.summary-sticky{position:static}.checkout-fields.two,.checkout-fields.three{grid-template-columns:1fr 1fr}.checkout-fields.three label:first-child{grid-column:1/-1}}
@media(max-width:560px){.checkout-page{padding:45px 5vw 80px}.checkout-section{grid-template-columns:32px 1fr;gap:10px}.checkout-fields.two,.checkout-fields.three,.fulfillment-cards{grid-template-columns:1fr}.checkout-fields.three label:first-child{grid-column:auto}.order-summary{padding:24px 18px}.summary-item{grid-template-columns:58px 1fr auto}.summary-item img{width:58px;height:74px}.checkout-modal-card{padding:36px 24px}.section-content h2{font-size:27px}}

/* =========================================================
   V73 — Storefront polish: branded controls, visual depth,
   footer-logo header, crest watermark, no system UX
   ========================================================= */

.storefront-body{
  position:relative;
  min-height:100vh;
  background:
    radial-gradient(circle at 15% 15%, rgba(252,238,240,.78), transparent 30%),
    radial-gradient(circle at 88% 60%, rgba(243,233,220,.72), transparent 31%),
    var(--ivory);
}
.storefront-body::before{
  content:"";
  position:fixed;
  left:50%;
  top:54%;
  width:min(720px,72vw);
  aspect-ratio:1;
  transform:translate(-50%,-50%);
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat;
  opacity:.026;
  pointer-events:none;
  z-index:0;
}
.storefront-body > *{position:relative;z-index:1}

.store-nav{
  height:94px;
  padding:0 5vw;
  background:rgba(255,253,247,.92);
  backdrop-filter:blur(14px);
  border-bottom:1px solid rgba(201,166,90,.32);
  box-shadow:0 10px 34px rgba(64,57,54,.035);
}
.store-brand{display:flex;align-items:center;width:190px;height:68px}
.store-brand img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:left center;
}
.store-links a{font-size:10px;letter-spacing:.13em}
.store-links a:hover{color:var(--deep)}

.shop-hero{
  position:relative;
  overflow:hidden;
  padding:92px 6vw 68px;
  background:
    linear-gradient(rgba(255,253,247,.9),rgba(255,253,247,.95)),
    url('assets/blush-cream-texture.png') center/cover;
  border-bottom:1px solid rgba(201,166,90,.4);
}
.shop-hero::before{
  content:"";
  position:absolute;
  width:340px;height:340px;
  left:-145px;top:-120px;
  background:var(--blush);
  border-radius:50%;
  opacity:.6;
}
.shop-hero::after{
  content:"";
  position:absolute;
  width:260px;height:2px;
  background:var(--gold);
  right:6vw;bottom:34px;
  opacity:.55;
}
.shop-hero>*{position:relative;z-index:1}
.thread-mark{
  display:block;
  width:58px;height:58px;
  margin:0 auto 14px;
  background:url('assets/heart.svg') center/contain no-repeat;
  opacity:.55;
}
.collection-strip{
  margin:20px auto 4px;
  max-width:1200px;
  background:rgba(255,253,247,.82);
}
.chip{
  background:rgba(255,255,255,.9);
  border-color:rgba(201,166,90,.45);
  transition:.2s ease;
}
.chip:hover{border-color:var(--deep);color:var(--deep);transform:translateY(-1px)}
.chip.active{background:var(--green);border-color:var(--green);box-shadow:0 8px 20px rgba(111,143,111,.15)}

.product-card{
  position:relative;
  padding-bottom:18px;
}
.product-card figure{
  position:relative;
  box-shadow:0 14px 34px rgba(64,57,54,.08);
}
.product-card figure::after{
  content:"";
  position:absolute;inset:0;
  border:1px solid rgba(255,255,255,.55);
  pointer-events:none;
}
.product-card h3{transition:.2s}
.product-card:hover h3{color:var(--deep)}
.product-card b{letter-spacing:.02em}

.product-page{
  position:relative;
  max-width:1240px;
  margin-top:72px;
}
.product-page::before{
  content:"";
  position:absolute;
  right:-8vw;top:-30px;
  width:290px;height:290px;
  background:url('assets/bow.svg') center/contain no-repeat;
  opacity:.035;
  pointer-events:none;
}
.product-image-wrap{position:relative}
.product-image{
  box-shadow:0 20px 60px rgba(64,57,54,.10);
  border:1px solid rgba(201,166,90,.25);
}
.product-stitch-note{
  position:absolute;
  left:-30px;bottom:44px;
  transform:rotate(-90deg);
  transform-origin:left bottom;
  font-size:8px;
  letter-spacing:.23em;
  color:var(--green);
  font-weight:600;
}
.product-info{
  padding:18px 0 0;
}
.product-info h1{font-size:58px}
.product-desc{font-size:12px;max-width:520px}
.option{
  padding:4px 0 18px;
  border-bottom:1px solid rgba(232,220,203,.7);
}
.option label{
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.required-tag,.optional-tag{
  font-size:8px;
  letter-spacing:.12em;
  color:var(--deep);
  font-weight:600;
}
.optional-tag{color:#9b8f89}

.choice-grid{display:flex;flex-wrap:wrap;gap:9px}
.choice-pill{
  min-width:72px;
  padding:11px 16px;
  border:1px solid var(--linen);
  background:white;
  color:var(--ink);
  font:500 10px Poppins;
  cursor:pointer;
  transition:.18s;
}
.choice-pill:hover{border-color:var(--sage);background:#f8faf6}
.choice-pill.selected{
  background:var(--green);
  color:white;
  border-color:var(--green);
  box-shadow:0 7px 18px rgba(111,143,111,.14);
}

.swatch-row{display:flex;flex-wrap:wrap;gap:10px}
.swatch-choice{
  display:flex;align-items:center;gap:8px;
  padding:8px 13px 8px 8px;
  border:1px solid var(--linen);
  background:white;
  font:500 10px Poppins;
  cursor:pointer;
  transition:.18s;
}
.swatch-choice i{
  display:block;width:24px;height:24px;border-radius:50%;
  border:2px solid white;outline:1px solid var(--linen);
}
.swatch-choice i.pink{background:var(--pink)}
.swatch-choice i.sage{background:var(--sage)}
.swatch-choice i.ivory{background:var(--ivory)}
.swatch-choice.selected{border-color:var(--deep);background:var(--blush)}
.swatch-choice.selected i{outline:2px solid var(--deep)}

.option input,.option textarea{
  outline:none;
  transition:.18s;
  border-color:rgba(214,196,180,.9);
}
.option input:focus,.option textarea:focus{
  border-color:var(--sage);
  box-shadow:0 0 0 3px rgba(140,169,140,.10);
}
.field-missing{border-color:var(--deep)!important;box-shadow:0 0 0 3px rgba(185,79,99,.08)!important}

.product-agree{
  display:flex;
  gap:11px;
  align-items:flex-start;
  margin:24px 0 14px;
  padding:14px 15px;
  background:rgba(252,238,240,.65);
  border-left:3px solid var(--pink);
  font-size:10px;
  line-height:1.55;
}
.product-agree input{
  appearance:none;
  width:18px;height:18px;flex:0 0 18px;
  margin:0;
  border:1px solid var(--linen);
  background:white;
  display:grid;place-items:center;
  cursor:pointer;
}
.product-agree input:checked{background:var(--deep);border-color:var(--deep)}
.product-agree input:checked::after{content:"✓";color:#fff;font-size:11px}
.product-agree.field-missing{border-left-color:var(--deep);background:#fff0f2}

.product-error{
  display:none;
  padding:15px 17px;
  margin:0 0 12px;
  border:1px solid rgba(185,79,99,.25);
  border-left:4px solid var(--deep);
  background:#fff5f6;
  color:var(--ink);
}
.product-error.show{display:block;animation:tghNudge .25s ease}
.product-error strong{
  display:block;
  font:500 18px 'Cormorant Garamond';
  color:var(--deep);
  margin-bottom:3px;
}
.product-error span{display:block;font-size:9.5px;line-height:1.55}
@keyframes tghNudge{0%{transform:translateX(-5px)}50%{transform:translateX(4px)}100%{transform:none}}

.add-btn{
  position:relative;
  overflow:hidden;
  padding:18px 20px;
  box-shadow:0 10px 24px rgba(185,79,99,.14);
  border-bottom:3px solid var(--gold);
}
.add-btn::before{
  content:"";
  position:absolute;inset:0 auto 0 -35%;
  width:25%;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.25),transparent);
  transform:skewX(-20deg);
  transition:.55s;
}
.add-btn:hover::before{left:115%}
.add-btn span{float:right;color:var(--gold)}

.mini-cart{
  background:
    linear-gradient(rgba(255,253,247,.96),rgba(255,253,247,.96)),
    url('assets/blush-cream-texture.png') center/cover;
  border-left:3px solid var(--gold);
}
.mini-cart::before{
  content:"";
  position:absolute;
  width:240px;height:240px;
  left:80px;bottom:40px;
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat;
  opacity:.035;
  pointer-events:none;
}

/* Cart + checkout: editorial, branded, less app-like */
.cart-page{position:relative;max-width:1100px}
.cart-page h1{font-size:68px}
.cart-watermark{
  position:absolute;
  right:-80px;top:-35px;
  width:330px;height:330px;
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat;
  opacity:.035;
  pointer-events:none;
}
.cart-row{
  position:relative;
  background:rgba(255,255,255,.72);
  padding:24px;
  margin:12px 0;
  border:1px solid rgba(232,220,203,.75);
  box-shadow:0 10px 30px rgba(64,57,54,.035);
}
.checkout-btn{border-bottom:3px solid var(--gold);box-shadow:0 10px 24px rgba(185,79,99,.12)}

.checkout-page{
  position:relative;
  max-width:1380px;
  gap:62px;
}
.checkout-main{
  background:rgba(255,253,247,.76);
  padding:32px 36px 40px;
  border:1px solid rgba(232,220,203,.62);
  box-shadow:0 18px 55px rgba(64,57,54,.035);
}
.checkout-main::before{
  content:"";
  position:absolute;
  left:-100px;bottom:60px;
  width:300px;height:300px;
  background:url('assets/needle.svg') center/contain no-repeat;
  opacity:.028;
  pointer-events:none;
}
.checkout-section{
  border-top-color:rgba(201,166,90,.35);
}
.section-number{
  width:34px;height:34px;
  border:1px solid rgba(201,166,90,.5);
  display:grid;place-items:center;
  padding:0;
  font-size:15px;
  background:var(--ivory);
}
.section-content h2{font-size:34px}

.order-summary{
  background:
    linear-gradient(rgba(252,238,240,.9),rgba(252,238,240,.9)),
    url('assets/blush-cream-texture.png') center/cover;
  border-top:3px solid var(--gold);
  box-shadow:0 18px 50px rgba(64,57,54,.07);
}
.order-summary::after{display:none!important;content:none!important;background:none!important;}

.checkout-fields input,.checkout-label textarea{
  border:0;
  border-bottom:1px solid var(--linen);
  background:rgba(255,255,255,.75);
  padding:14px 12px;
}
.checkout-fields input:focus,.checkout-label textarea:focus{
  border-bottom-color:var(--deep);
  box-shadow:0 3px 0 rgba(185,79,99,.07);
}
.checkout-invalid{
  border-color:var(--deep)!important;
  background:#fff5f6!important;
  box-shadow:0 0 0 2px rgba(185,79,99,.07)!important;
}
.checkout-agree.checkout-invalid{
  outline:1px solid rgba(185,79,99,.35);
  background:#fff5f6;
  padding:10px;
}

.checkout-error{
  display:none;
  min-height:0;
  margin:0 0 12px;
  padding:14px 16px;
  background:#fff5f6;
  border-left:4px solid var(--deep);
}
.checkout-error.show{display:block}
.checkout-error strong{
  display:block;
  font:500 18px 'Cormorant Garamond';
  color:var(--deep);
}
.checkout-error span{
  display:block;
  margin-top:2px;
  font-size:9.5px;
}

.fulfillment-card{
  transition:.2s;
  box-shadow:0 7px 20px rgba(64,57,54,.025);
}
.fulfillment-card:hover{transform:translateY(-2px);border-color:var(--sage)}
.fulfillment-card.selected{
  background:
    linear-gradient(rgba(248,250,246,.94),rgba(248,250,246,.94)),
    url('assets/green-linen.png') center/cover;
}
.payment-placeholder{
  border:1px solid rgba(201,166,90,.22);
}
.place-order-btn{transition:.2s}
.place-order-btn:hover{transform:translateY(-1px);box-shadow:0 10px 24px rgba(185,79,99,.16)}

@media(max-width:850px){
  .store-brand{width:155px}
  .store-nav{height:82px}
  .product-stitch-note{display:none}
}
@media(max-width:560px){
  .store-brand{width:132px}
  .store-links{gap:12px}
  .checkout-main{padding:22px 16px 30px}
  .product-info h1{font-size:46px}
  .choice-pill{min-width:calc(33.333% - 6px)}
}

/* V74 — remove explanatory strip + properly use the full main crest watermark */
.store-note{
  display:none!important;
}

.storefront-body::before{
  content:"";
  position:absolute!important;
  left:50%!important;
  top:118px!important;
  width:min(520px,58vw)!important;
  height:auto!important;
  aspect-ratio:1/1!important;
  transform:translateX(-50%)!important;
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat!important;
  opacity:.028!important;
  pointer-events:none!important;
  z-index:0!important;
}

/* Keep the crest recognizable and fully contained on smaller screens. */
@media(max-width:700px){
  .storefront-body::before{
    top:105px!important;
    width:min(390px,78vw)!important;
    opacity:.024!important;
  }
}

/* V75 — make the actual crest visibly present, while keeping it subtle */
.storefront-body::before{
  top:112px!important;
  width:min(620px,62vw)!important;
  opacity:.085!important;
}

/* Shop hero gets its own centered full crest watermark behind the content */
.shop-hero::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:50%!important;
  width:min(560px,48vw)!important;
  height:min(430px,80%)!important;
  transform:translate(-50%,-50%)!important;
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat!important;
  border-radius:0!important;
  opacity:.075!important;
  pointer-events:none!important;
}
.shop-hero::after{
  content:""!important;
  position:absolute!important;
  width:260px!important;
  height:2px!important;
  background:var(--gold)!important;
  right:6vw!important;
  bottom:34px!important;
  opacity:.55!important;
}
.shop-hero>*{position:relative!important;z-index:2!important}

@media(max-width:700px){
  .storefront-body::before{width:82vw!important;opacity:.065!important}
  .shop-hero::before{
    width:82vw!important;
    height:72%!important;
    opacity:.065!important;
  }
}

/* V76 — single large crest behind the product area, not the hero */
.shop-hero::before{
  display:none!important;
}

/* Remove the page-level crest from the top/hero area */
.storefront-body::before{
  display:none!important;
}

/* Put one large crest behind the actual storefront/product area */
.collection-strip{
  position:relative;
  z-index:2;
}

.shop-grid{
  position:relative;
  z-index:1;
}

.shop-grid::before{
  content:"";
  position:absolute;
  left:50%;
  top:44%;
  width:min(980px,82vw);
  aspect-ratio:1/1;
  transform:translate(-50%,-50%);
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat;
  opacity:.055;
  pointer-events:none;
  z-index:-1;
}

/* Give the product area enough visual room for the watermark */
.shop-grid,
.collection-strip{
  background:transparent!important;
}

@media(max-width:700px){
  .shop-grid::before{
    width:118vw;
    top:36%;
    opacity:.045;
  }
}

/* V77 — fix crest stacking so it is ACTUALLY visible behind products */
.shop-grid{
  position:relative!important;
  z-index:0!important;
  isolation:isolate!important;
}

.shop-grid::before{
  content:""!important;
  position:absolute!important;
  left:50%!important;
  top:42%!important;
  width:min(1100px,88vw)!important;
  aspect-ratio:1/1!important;
  transform:translate(-50%,-50%)!important;
  background:url('assets/TGH-CREST-LOGO.png') center/contain no-repeat!important;
  opacity:.09!important;
  pointer-events:none!important;
  z-index:0!important;
}

.shop-grid .product-card{
  position:relative!important;
  z-index:1!important;
}

.collection-strip{
  position:relative!important;
  z-index:2!important;
}

@media(max-width:700px){
  .shop-grid::before{
    width:128vw!important;
    top:38%!important;
    opacity:.075!important;
  }
}

/* V78 — actual image element behind the products; impossible to hide behind page bg */
.shop-grid::before,.product-grid::before{display:none!important}
.product-area-wrap{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  padding:26px 0 110px;
}
.product-area-crest{
  display:block!important;
  position:absolute!important;
  z-index:0!important;
  left:50%!important;
  top:48%!important;
  width:min(1150px,78vw)!important;
  max-width:none!important;
  height:auto!important;
  transform:translate(-50%,-50%)!important;
  opacity:.14!important;
  pointer-events:none!important;
}
.product-area-wrap .product-grid{
  position:relative!important;
  z-index:1!important;
  background:transparent!important;
}
.product-area-wrap .product-card{position:relative!important;z-index:2!important}
@media(max-width:700px){
 .product-area-crest{width:150vw!important;top:40%!important;opacity:.11!important}
}

/* V79 — full crest contained behind products at 10% opacity */
.product-area-wrap{
  overflow:visible!important;
  padding:48px 0 150px!important;
  min-height:760px;
}
.product-area-crest{
  left:50%!important;
  top:50%!important;
  width:min(900px,68vw)!important;
  max-height:92%!important;
  object-fit:contain!important;
  transform:translate(-50%,-50%)!important;
  opacity:.10!important;
}
@media(max-width:700px){
  .product-area-wrap{min-height:auto;padding:35px 0 100px!important}
  .product-area-crest{
    width:94vw!important;
    max-height:96%!important;
    top:48%!important;
    opacity:.10!important;
  }
}

/* V80 — readable product cards over crest watermark */
.product-area-wrap .product-grid{
  gap:24px!important;
  align-items:stretch!important;
}

.product-area-wrap .product-card{
  background:rgba(255,253,247,.94)!important;
  border:1px solid rgba(214,196,180,.72)!important;
  box-shadow:0 14px 36px rgba(64,57,54,.08)!important;
  padding:14px 14px 18px!important;
  overflow:hidden!important;
  backdrop-filter:blur(2px);
}

.product-area-wrap .product-card figure{
  margin:0 0 14px!important;
  box-shadow:none!important;
}

.product-area-wrap .product-card figure > img{
  display:block;
  width:100%;
  height:auto;
}

.product-area-wrap .product-card .product-meta,
.product-area-wrap .product-card > div:not(figure){
  position:relative;
  z-index:2;
}

.product-area-wrap .product-card h3{
  margin-top:6px!important;
  line-height:1.05!important;
}

.product-area-wrap .product-card b{
  display:inline-block;
  margin-top:7px;
}

.product-area-wrap .product-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 42px rgba(64,57,54,.11)!important;
}

@media(max-width:900px){
  .product-area-wrap .product-card{
    padding:12px 12px 16px!important;
  }
}

/* V84 — sale treatment + empty shop */
.product-card figure{position:relative}
.sale-badge{
  position:absolute;
  top:12px;
  left:12px;
  z-index:4;
  background:var(--deep);
  color:white;
  padding:7px 10px;
  font:700 8px Poppins;
  letter-spacing:.14em;
  box-shadow:0 6px 18px rgba(185,79,99,.22);
}
.sale-price-line{
  display:flex;
  align-items:center;
  gap:9px;
  margin-top:7px;
}
.sale-price-line b{
  color:var(--deep);
  margin:0!important;
}
.original-price{
  font-size:10px;
  color:#9a8e88;
  text-decoration:line-through;
}
.shop-empty{
  grid-column:1/-1;
  text-align:center;
  background:rgba(255,253,247,.92);
  border:1px solid var(--linen);
  padding:45px;
}
.shop-empty h3{font:500 30px 'Cormorant Garamond';margin:0 0 5px}
.shop-empty p{font-size:10px;color:#7a716c}
.season{cursor:pointer;border:0;width:100%;text-align:left}
/* V85 — heart-shaped SALE badge at bottom-right of product image */
.sale-badge{
  top:auto!important; left:auto!important; right:12px!important; bottom:12px!important;
  width:58px!important; height:52px!important; padding:0!important;
  background:transparent!important; box-shadow:none!important;
  display:grid!important; place-items:center!important;
  color:#fff!important; font:700 9px Poppins!important; letter-spacing:.12em!important;
  line-height:1!important; transform:rotate(-4deg); isolation:isolate;
}
.sale-badge::before{
  content:""; position:absolute; width:38px; height:38px; background:var(--deep);
  transform:rotate(45deg); bottom:3px; left:10px; border-radius:4px; z-index:-2;
}
.sale-badge::after{
  content:""; position:absolute; width:38px; height:38px; border-radius:50%;
  background:var(--deep); top:2px; left:1px; box-shadow:18px 0 0 var(--deep); z-index:-1;
}

/* V86 — SALE heart belongs in product card content, not over photo */
.product-card{position:relative!important;}
.product-card .sale-badge{
  position:absolute!important;
  top:auto!important;
  left:auto!important;
  right:18px!important;
  bottom:18px!important;
  width:58px!important;
  height:52px!important;
  z-index:6!important;
}

/* V97 Square Sandbox */
.square-payment-box{border:1px solid #e8dccb;background:#fffdf7;padding:22px;margin:10px 0 20px}
.square-secure{display:flex;gap:14px;align-items:center;margin-bottom:18px}
.square-secure>span{font-size:26px;color:#b94f63}
.square-secure b{font-family:"Cormorant Garamond",serif;font-size:22px;font-weight:600}
.square-secure p{margin:4px 0 0;font-size:11px;line-height:1.6;color:#756b66}
#card-container{min-height:90px}
.sandbox-notice{margin-top:12px;padding:9px 12px;text-align:center;background:#fceef0;color:#b94f63;font-size:9px;font-weight:700;letter-spacing:.12em}
.place-order-btn:disabled{opacity:.65;cursor:wait}

/* V98 checkout/product refinements */
.add-to-cart-btn.added,.product-add-btn.added{background:#789779!important;color:#fff!important}


/* V102 compact add-to-cart confirmation */
.added-cart-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(66,54,50,.22);backdrop-filter:blur(3px);opacity:0;visibility:hidden;transition:opacity .22s ease,visibility .22s ease}
.added-cart-overlay.show{opacity:1;visibility:visible}
.added-cart-modal{position:relative;width:min(440px,calc(100vw - 32px));padding:38px 34px 32px;text-align:center;background:#fffdf7;border:1px solid #e8dccb;box-shadow:0 24px 70px rgba(70,52,46,.18);transform:translateY(14px) scale(.97);transition:transform .26s cubic-bezier(.2,.8,.2,1)}
.added-cart-overlay.show .added-cart-modal{transform:none}
.added-cart-close{position:absolute;right:15px;top:12px;border:0;background:transparent;font-size:28px;line-height:1;cursor:pointer;color:#403936}
.added-cart-bag{position:relative;width:70px;height:70px;margin:0 auto 16px;display:grid;place-items:center;border-radius:50%;background:#fceef0;color:#b94f63}
.added-cart-bag>.material-symbols-rounded{font-size:38px}
.added-cart-check{position:absolute;right:-2px;bottom:0;width:25px;height:25px;display:grid;place-items:center;border-radius:50%;background:#8ca98c;color:white;font-size:15px;font-weight:700;box-shadow:0 0 0 4px #fffdf7;animation:tghCheckPop .42s .12s both}
@keyframes tghCheckPop{0%{transform:scale(0) rotate(-20deg)}70%{transform:scale(1.15) rotate(4deg)}100%{transform:scale(1)}}
.added-cart-kicker{font:600 12px/1.2 Poppins,sans-serif;letter-spacing:.2em;color:#b94f63;margin-bottom:8px}
.added-cart-modal h2{font:500 42px/1.05 'Cormorant Garamond',serif;margin:0 0 10px;color:#403936}
.added-cart-modal p{font:400 14px/1.6 Poppins,sans-serif;color:#746a65;margin:0 auto 24px;max-width:320px}
.added-cart-actions{display:grid;gap:10px}
.added-cart-actions a{min-height:54px;display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font:600 12px/1 Poppins,sans-serif;letter-spacing:.12em;transition:transform .15s ease,background .15s ease}
.added-cart-actions a:hover{transform:translateY(-1px)}
.added-cart-primary{background:#bf5067;color:#fff}
.added-cart-secondary{background:#f3e9dc;color:#403936;border:1px solid #e0cfba}
.added-cart-actions .material-symbols-rounded{font-size:20px}
@media(max-width:520px){.added-cart-modal{padding:34px 22px 24px}.added-cart-modal h2{font-size:36px}}

.product-stitch-note{left:-34px!important;top:0!important;bottom:auto!important;writing-mode:vertical-rl;transform:rotate(180deg)!important;transform-origin:center!important;line-height:1}

/* V103 — cleaner order review cards + uniform checkout formatting */
#summaryItems{
  display:grid;
  gap:14px;
}
.summary-item{
  background:rgba(255,253,247,.94);
  border:1px solid rgba(214,196,180,.72);
  border-radius:2px;
  padding:16px;
  margin:0;
  box-shadow:0 8px 20px rgba(64,57,54,.045);
}
.summary-item:first-child{border-top:1px solid rgba(214,196,180,.72)}
.summary-item img{
  border:1px solid rgba(214,196,180,.55);
  background:#fff;
}
.summary-item>strong{
  align-self:start;
  white-space:nowrap;
}
.summary-totals{
  margin-top:18px;
}
.summary-fee{
  color:var(--ink);
}
.summary-fee span::after{
  content:"";
}

/* V104 — payment success */
.checkout-success-art{
  display:block;
  width:min(250px,72%);
  height:auto;
  margin:0 auto 18px;
}
.checkout-modal-card{
  max-height:min(92vh,760px);
  overflow:auto;
}
@media(max-width:600px){
  .checkout-success-art{width:min(205px,72%)}
}

/* V107 — success modal always opens in the center of the current viewport */
.checkout-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:99999 !important;
  display:none !important;
  align-items:center !important;
  justify-content:center !important;
  padding:24px !important;
  overflow:auto !important;
  background:rgba(64,57,54,.48) !important;
}
.checkout-modal.open{
  display:flex !important;
}
.checkout-modal-card{
  position:relative !important;
  width:min(620px, calc(100vw - 48px)) !important;
  max-height:calc(100vh - 48px) !important;
  overflow:auto !important;
  margin:auto !important;
}
body.checkout-modal-open{
  overflow:hidden !important;
}
@media(max-width:600px){
  .checkout-modal{
    padding:14px !important;
  }
  .checkout-modal-card{
    width:calc(100vw - 28px) !important;
    max-height:calc(100vh - 28px) !important;
  }
}

/* V108 — success artwork gets the visual priority; redundant PAYMENT COMPLETE label removed */
.checkout-modal-card img{
  max-width:min(440px, 78vw) !important;
}
@media(max-width:600px){
  .checkout-modal-card img{
    max-width:min(360px, 84vw) !important;
  }
}

/* V109 Command Center — Orders */
.admin-orders-panel{margin:42px auto 80px;max-width:1180px;padding:30px;border:1px solid rgba(185,79,99,.14);border-radius:28px;background:#fffdf7;box-shadow:0 18px 55px rgba(80,55,55,.07)}
.admin-orders-head{display:flex;justify-content:space-between;gap:24px;align-items:flex-start}.admin-orders-head h2{margin:0;font-family:"Cormorant Garamond",serif;font-size:42px}.admin-orders-sub{margin:5px 0 0}.admin-eyebrow{font-size:12px;letter-spacing:.18em;color:#b94f63;font-weight:700}
.admin-orders-refresh{border:0;border-radius:999px;padding:12px 18px;background:#b94f63;color:white;font:600 13px Poppins,sans-serif;cursor:pointer}
.admin-order-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:26px 0}.admin-order-stats article{padding:18px;border-radius:18px;background:#f8f1e8}.admin-order-stats span,.admin-order-stats strong{display:block}.admin-order-stats span{font-size:12px}.admin-order-stats strong{font:600 28px "Cormorant Garamond",serif;margin-top:4px}
.admin-orders-toolbar{display:grid;grid-template-columns:1fr 220px;gap:12px;margin-bottom:18px}.admin-orders-toolbar input,.admin-orders-toolbar select,.order-status-select{width:100%;border:1px solid #e2d6c9;border-radius:12px;padding:12px;background:white;font:14px Poppins,sans-serif}
.admin-orders-list{display:grid;gap:16px}.admin-order-card{border:1px solid #eadfd3;border-radius:20px;background:white;padding:20px}.admin-order-top{display:flex;justify-content:space-between;gap:12px;align-items:center;border-bottom:1px solid #f0e7de;padding-bottom:14px}.admin-order-number{font-weight:700}.admin-order-date{margin-left:12px;font-size:12px;color:#756b66}.admin-order-status{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;padding:7px 11px;border-radius:999px;background:#f3e9dc}.status-completed{background:#e9f1e7}.status-ready{background:#fceef0}.status-processing{background:#f7edcf}
.admin-order-grid{display:grid;grid-template-columns:1.3fr 1fr .8fr;gap:20px;padding:18px 0}.admin-order-grid small,.admin-order-grid strong,.admin-order-grid span{display:block}.admin-order-grid small{font-size:10px;letter-spacing:.12em;color:#8a7d75}.admin-order-grid span{font-size:12px;margin-top:3px}.admin-order-total{text-align:right}.admin-order-total strong{font-size:22px}
.admin-order-items{background:#fffaf4;border-radius:14px;padding:12px 14px}.admin-order-item+ .admin-order-item{border-top:1px solid #eee1d5;margin-top:10px;padding-top:10px}.admin-order-item strong,.admin-order-item span{display:block}.admin-order-item span{font-size:11px;margin-top:4px;color:#746963;line-height:1.55}
.admin-order-actions{display:flex;align-items:end;gap:12px;margin-top:14px}.admin-order-actions label{font-size:11px;font-weight:600}.order-save-state{font-size:11px;color:#6f8f6f;padding-bottom:11px}.admin-orders-empty{text-align:center;padding:28px;color:#786c65}
@media(max-width:760px){.admin-orders-panel{padding:18px;margin:24px 12px 60px}.admin-orders-head{display:block}.admin-orders-refresh{margin-top:14px}.admin-order-stats{grid-template-columns:1fr 1fr}.admin-orders-toolbar{grid-template-columns:1fr}.admin-order-grid{grid-template-columns:1fr}.admin-order-total{text-align:left}.admin-order-top{align-items:flex-start}.admin-order-date{display:block;margin:3px 0 0}}

/* V110 — Order workflow */
.open-order-btn{border:0;border-radius:999px;padding:11px 18px;background:#b94f63;color:#fff;font:600 12px Poppins,sans-serif;cursor:pointer}
.admin-order-actions{justify-content:flex-start}.admin-order-actions label{min-width:180px}
.admin-modal-open{overflow:hidden}
.order-detail-modal{position:fixed;inset:0;z-index:100000;background:rgba(60,52,49,.5);display:none;align-items:center;justify-content:center;padding:24px}
.order-detail-modal.open{display:flex}
.order-detail-dialog{position:relative;width:min(920px,calc(100vw - 48px));max-height:calc(100vh - 48px);overflow:auto;background:#fffdf7;border-top:5px solid #c9a65a;border-radius:3px 3px 24px 24px;padding:34px 38px;box-shadow:0 28px 90px rgba(40,30,30,.22)}
.order-detail-close{position:absolute;right:22px;top:17px;border:0;background:transparent;font-size:32px;line-height:1;cursor:pointer;color:#4f4541}
.order-detail-title{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;border-bottom:1px solid #eadfd3;padding-bottom:22px}
.order-detail-title h2{font:600 36px "Cormorant Garamond",serif;margin:0}.order-detail-title p{margin:4px 0 0;font-size:12px;color:#7b6f69}
.order-detail-workflow{min-width:220px}.order-detail-workflow label{display:block;font-size:10px;letter-spacing:.1em;font-weight:700;margin-bottom:6px}.order-detail-workflow select{width:100%;padding:10px;border:1px solid #ddcfc1;border-radius:10px;background:#fff;font:13px Poppins,sans-serif}.order-detail-workflow button{width:100%;margin-top:8px;padding:10px;border:0;border-radius:999px;background:#6f8f6f;color:#fff;font:600 12px Poppins,sans-serif;cursor:pointer}.order-detail-workflow span{display:block;text-align:center;font-size:11px;color:#6f8f6f;margin-top:5px}
.order-detail-meta{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:22px 0}.order-detail-meta section{background:#f8f1e8;border-radius:16px;padding:17px}.order-detail-meta small,.order-detail-bottom small{display:block;font-size:10px;letter-spacing:.12em;color:#8a7d75;margin-bottom:6px}.order-detail-meta strong,.order-detail-meta span{display:block}.order-detail-meta span{font-size:12px;margin-top:3px}
.order-detail-section h3{font:600 24px "Cormorant Garamond",serif;margin:0 0 12px}.detail-item{background:#fff;border:1px solid #eadfd3;border-radius:16px;padding:16px}.detail-item+.detail-item{margin-top:10px}.detail-item-head{display:flex;justify-content:space-between;gap:15px}.detail-item dl{margin:12px 0 0;display:grid;grid-template-columns:repeat(2,1fr);gap:8px 20px}.detail-item dl div{border-top:1px solid #f0e6dc;padding-top:7px}.detail-item dt{font-size:10px;letter-spacing:.08em;color:#8a7d75}.detail-item dd{margin:2px 0 0;font-size:13px;font-weight:600}
.order-detail-bottom{display:grid;grid-template-columns:1fr 320px;gap:24px;margin-top:22px;border-top:1px solid #eadfd3;padding-top:20px}.order-detail-bottom p{margin:0}.detail-totals div{display:flex;justify-content:space-between;padding:5px 0;font-size:13px}.detail-totals .grand{border-top:1px solid #ddcfc1;margin-top:6px;padding-top:11px;font-size:17px}
@media(max-width:700px){.order-detail-modal{padding:10px}.order-detail-dialog{width:calc(100vw - 20px);max-height:calc(100vh - 20px);padding:28px 18px}.order-detail-title{display:block}.order-detail-workflow{margin-top:18px}.order-detail-meta,.order-detail-bottom{grid-template-columns:1fr}.detail-item dl{grid-template-columns:1fr}.admin-order-actions{align-items:stretch;flex-direction:column}.admin-order-actions label{min-width:0}}

/* V111 — order status timeline */
.order-status-history-section{margin:22px 0}
.order-status-history{display:grid;grid-template-columns:repeat(4,1fr);gap:0;background:#fff;border:1px solid #eadfd3;border-radius:16px;padding:18px}
.status-history-step{position:relative;display:flex;gap:10px;align-items:center;color:#9b9089}
.status-history-step:not(:last-child)::after{content:"";position:absolute;left:34px;right:-4px;top:14px;height:1px;background:#e4d9cf;z-index:0}
.status-history-dot{position:relative;z-index:1;display:grid;place-items:center;flex:0 0 28px;height:28px;border-radius:50%;background:#eee5dc;color:#fff;font-size:13px;font-weight:700}
.status-history-step strong,.status-history-step small{display:block;position:relative;z-index:1}
.status-history-step strong{font-size:12px}.status-history-step small{font-size:10px;margin-top:2px}
.status-history-step.reached{color:#4f4541}.status-history-step.reached .status-history-dot{background:#6f8f6f}
.status-history-step.cancelled .status-history-dot{background:#b94f63}
@media(max-width:700px){.order-status-history{grid-template-columns:1fr;gap:14px}.status-history-step:not(:last-child)::after{left:14px;top:28px;bottom:-14px;right:auto;width:1px;height:auto}}

/* V112 — orders dashboard workflow polish */
.admin-order-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 16px}
.admin-order-tabs button{border:1px solid #e6d9cd;background:#fff;border-radius:999px;padding:9px 13px;font:600 12px Poppins,sans-serif;color:#5d514c;cursor:pointer}
.admin-order-tabs button span{display:inline-grid;place-items:center;min-width:22px;height:22px;margin-left:5px;padding:0 6px;border-radius:999px;background:#f4ece4;font-size:10px}
.admin-order-tabs button.active{background:#b94f63;color:#fff;border-color:#b94f63}
.admin-order-tabs button.active span{background:rgba(255,255,255,.18)}
.admin-order-status-wrap{text-align:right}.admin-order-status-wrap small{display:block;margin-top:5px;font-size:10px;color:#8b7f78}
.admin-order-lifecycle{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.admin-order-lifecycle span{font-size:10px;padding:6px 9px;border-radius:999px;background:#f7f0e8;color:#665b55}
.order-detail-workflow .secondary-action{background:#fff !important;color:#6f8f6f !important;border:1px solid #b8c9b8 !important}
@media print{
  body *{visibility:hidden!important}
  #orderDetailModal,#orderDetailModal *{visibility:visible!important}
  #orderDetailModal{position:absolute!important;inset:0!important;background:#fff!important;display:block!important;padding:0!important}
  .order-detail-dialog{width:100%!important;max-height:none!important;box-shadow:none!important;border:0!important;padding:20px!important}
  .order-detail-close,.order-detail-workflow button{display:none!important}
}

/* V113 — Ready for Pickup email workflow */
.pickup-email-action{border-color:#d9b9c0!important;color:#b94f63!important}
.pickup-email-action[hidden]{display:none!important}
.pickup-email-action:disabled{opacity:.55;cursor:wait}

/* V114: explicit order workflow actions; no browser-native status dropdowns */
.order-status-display{display:flex;flex-direction:column;gap:3px;min-width:120px}
.order-status-display small,.workflow-current-label{font-size:11px;letter-spacing:.14em;color:#8d817b;text-transform:uppercase}
.order-status-display strong,.workflow-current-status{font-size:15px;color:#433c39}
.order-workflow-btn,.workflow-action{border:0;border-radius:999px;padding:12px 18px;background:#8ca98c;color:#fff;font:600 14px/1 Poppins,Arial,sans-serif;cursor:pointer}
.order-workflow-btn.ready-action,.workflow-action.ready-action{background:#c15368}
.order-workflow-btn:disabled,.workflow-action:disabled{opacity:.55;cursor:wait}
.workflow-current-status{display:block;margin:2px 0 8px}

/* V120 — quick pickup-email resend on order cards */
.pickup-email-quick{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:5px;
  min-width:190px;
}
.pickup-email-quick small{
  font-size:11px;
  line-height:1.35;
  color:#7d726d;
}
.pickup-email-quick-btn{
  appearance:none;
  border:1px solid #d6c4b4;
  border-radius:999px;
  background:#fffdf7;
  color:#b94f63;
  padding:9px 14px;
  font:600 12px/1 Poppins,Arial,sans-serif;
  cursor:pointer;
}
.pickup-email-quick-btn:hover{
  border-color:#d96779;
  background:#fceef0;
}
.pickup-email-quick-btn:disabled{
  opacity:.55;
  cursor:wait;
}
@media (max-width:760px){
  .pickup-email-quick{width:100%}
}
/* V130 product gallery + reference guides */
.product-gallery-strip{display:flex;gap:9px;margin-top:12px;flex-wrap:wrap}.product-gallery-thumb{width:72px;height:72px;padding:0;border:1px solid #e8dccb;background:#fff;cursor:pointer;border-radius:9px;overflow:hidden}.product-gallery-thumb.active{outline:2px solid #8ca98c;outline-offset:2px}.product-gallery-thumb img{width:100%;height:100%;object-fit:cover}.product-guide-link{display:inline-flex;align-items:center;gap:6px;margin-top:9px;border:0;background:none;padding:0;color:#6f8f6f;font:700 10px Poppins,sans-serif;letter-spacing:.05em;text-decoration:underline;cursor:pointer}.option-guide-popover{position:fixed;inset:0;z-index:99999;background:rgba(38,32,29,.65);display:grid;place-items:center;padding:24px}.option-guide-popover img{max-width:min(880px,92vw);max-height:84vh;object-fit:contain;border-radius:16px;background:#fff;box-shadow:0 24px 80px rgba(0,0,0,.25)}.option-guide-close{position:fixed;top:24px;right:28px;width:44px;height:44px;border:0;border-radius:50%;background:#fff;color:#453b37;font-size:28px;line-height:1;cursor:pointer}

/* V132 — visual product builder + gallery experience */
.product-page{max-width:1320px;grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);gap:64px;align-items:start}
.product-image-wrap{position:sticky;top:112px;min-width:0}
.product-media-layout{display:grid;grid-template-columns:86px minmax(0,1fr);gap:14px;align-items:start}
.product-media-layout>.product-image:first-child{grid-column:1/-1}
.product-gallery-strip{display:flex!important;flex-direction:column;gap:10px;margin:0!important;max-height:680px;overflow:auto;padding:3px}
.product-gallery-thumb{width:82px!important;height:96px!important;border-radius:0!important;background:#fff!important;flex:0 0 auto;transition:.18s}
.product-gallery-thumb:hover{border-color:var(--sage)!important;transform:translateY(-1px)}
.product-gallery-thumb.active{outline:2px solid var(--green)!important;outline-offset:1px!important}
.product-image{position:relative;aspect-ratio:auto;box-shadow:0 14px 42px rgba(64,57,54,.06)}
.product-image-caption{position:absolute;left:14px;bottom:14px;max-width:calc(100% - 28px);padding:7px 10px;background:rgba(255,253,247,.9);backdrop-filter:blur(7px);font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink)}
.product-image-caption:empty{display:none}
.product-info{padding-top:4px}
.product-info h1{margin-top:12px}
.product-builder-intro{margin:26px 0 8px;padding:20px 22px;background:linear-gradient(135deg,rgba(252,238,240,.72),rgba(255,253,247,.95));border:1px solid rgba(232,220,203,.9)}
.product-builder-intro>span{display:block;font-size:8px;font-weight:700;letter-spacing:.18em;color:var(--green);margin-bottom:4px}
.product-builder-intro strong{display:block;font:500 25px 'Cormorant Garamond';color:var(--ink)}
.product-builder-intro p{margin:5px 0 0;font-size:10px;line-height:1.65;color:#766d68}
.option{padding:18px 0 20px;margin:0;border-bottom:1px solid rgba(232,220,203,.8)}
.product-option-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:11px}
.product-option-heading label{margin:0!important;display:flex!important;justify-content:flex-start!important;gap:8px}
.choice-grid{gap:8px}
.choice-pill{min-width:86px;padding:12px 16px;font-size:10.5px;border-color:#ded1c2;box-shadow:0 2px 8px rgba(64,57,54,.02)}
.choice-pill.selected{box-shadow:inset 0 0 0 1px rgba(255,255,255,.28),0 7px 18px rgba(111,143,111,.14)}
.product-guide-link{margin:0!important;text-decoration:none!important;border:1px solid rgba(140,169,140,.45)!important;background:#f8faf6!important;padding:7px 10px!important;font-size:8.5px!important;white-space:nowrap}
.product-guide-link .material-symbols-rounded{font-size:15px}
.option-guide-popover:before{content:'REFERENCE GUIDE';position:fixed;top:28px;left:50%;transform:translateX(-50%);color:#fff;font:700 9px Poppins;letter-spacing:.18em}
@media(max-width:900px){.product-page{grid-template-columns:1fr;gap:32px}.product-image-wrap{position:static}.product-media-layout{grid-template-columns:1fr}.product-gallery-strip{order:2;flex-direction:row!important;max-height:none;overflow-x:auto}.product-gallery-thumb{width:74px!important;height:82px!important}.product-media-layout .product-image{order:1}.product-info{padding-top:0}}
@media(max-width:560px){.product-page{margin-top:28px;padding:0 18px 70px}.product-builder-intro{padding:16px}.product-option-heading{align-items:flex-start}.choice-pill{min-width:calc(50% - 4px);font-size:10px}.product-guide-link{padding:6px 8px!important}.product-info h1{font-size:44px}}


/* V138 — Floating shopping bag */
.floating-shopping-bag{
  position:fixed;
  right:24px;
  bottom:24px;
  width:62px;
  height:62px;
  border-radius:50%;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#6f8f6f;
  color:#fff;
  text-decoration:none;
  box-shadow:0 10px 30px rgba(50,55,45,.22);
  z-index:900;
  transition:transform .2s ease,box-shadow .2s ease;
}

.floating-shopping-bag:hover{
  transform:translateY(-3px) scale(1.03);
  box-shadow:0 14px 34px rgba(50,55,45,.28);
}

.floating-shopping-bag .material-symbols-rounded{
  font-size:29px;
}

.floating-cart-count{
  position:absolute;
  top:-3px;
  right:-3px;
  min-width:22px;
  height:22px;
  padding:0 5px;
  border-radius:999px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#d96779;
  color:#fff;
  font-family:Poppins,sans-serif;
  font-size:11px;
  font-weight:600;
  border:2px solid #fffdf7;
}

@media(max-width:700px){
  .floating-shopping-bag{
    width:56px;
    height:56px;
    right:16px;
    bottom:16px;
  }

  .floating-shopping-bag .material-symbols-rounded{
    font-size:27px;
  }
}


/* =========================================================
   V139 — CUSTOMER PRODUCT OPTIONS
   ========================================================= */

.product-choice-section{
  position:relative;
}

.tgh-custom-select{
  position:relative;
  width:100%;
}

.tgh-custom-select-trigger{
  width:100%;
  min-height:54px;
  padding:0 17px;
  border:1px solid #e4d7c8;
  background:#fffdf9;
  color:#403934;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  font:500 14px/1.3 Poppins,sans-serif;
  text-align:left;
  cursor:pointer;
  transition:border-color .18s ease,box-shadow .18s ease,background .18s ease;
}

.tgh-custom-select-trigger:hover,
.tgh-custom-select.open .tgh-custom-select-trigger{
  border-color:#8ca98c;
  box-shadow:0 5px 18px rgba(80,90,75,.08);
  background:#fff;
}

.tgh-custom-select-trigger .material-symbols-rounded{
  color:#6f8f6f;
  transition:transform .2s ease;
}

.tgh-custom-select.open .tgh-custom-select-trigger .material-symbols-rounded{
  transform:rotate(180deg);
}

.tgh-custom-select-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 7px);
  z-index:120;
  max-height:280px;
  overflow-y:auto;
  padding:8px;
  border:1px solid #e4d7c8;
  background:#fffdf9;
  box-shadow:0 18px 42px rgba(58,48,40,.14);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:opacity .16s ease,transform .16s ease,visibility .16s;
}

.tgh-custom-select.open .tgh-custom-select-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.tgh-custom-select-option{
  width:100%;
  border:0;
  background:transparent;
  color:#403934;
  padding:11px 12px;
  text-align:left;
  font:500 13px/1.3 Poppins,sans-serif;
  cursor:pointer;
  transition:background .15s ease,color .15s ease;
}

.tgh-custom-select-option:hover{
  background:#f3e9dc;
}

.tgh-custom-select-option.selected{
  background:#8ca98c;
  color:#fff;
}

.product-guide-link{
  display:inline-flex;
  align-items:center;
  gap:5px;
}

.product-guide-link .material-symbols-rounded{
  font-size:17px;
}

/* Reference chart modal */
.option-guide-popover{
  position:fixed;
  inset:0;
  z-index:2000;
  background:rgba(46,39,34,.72);
  backdrop-filter:blur(5px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:28px;
}

.option-guide-popover img{
  display:block;
  max-width:min(900px,92vw);
  max-height:88vh;
  width:auto;
  height:auto;
  object-fit:contain;
  background:#fff;
  box-shadow:0 24px 70px rgba(0,0,0,.28);
}

.option-guide-close{
  position:fixed;
  top:22px;
  right:26px;
  width:44px;
  height:44px;
  border-radius:50%;
  border:1px solid rgba(255,255,255,.45);
  background:#fffdf7;
  color:#403934;
  font-size:28px;
  line-height:1;
  cursor:pointer;
}

/* Product image rail */
.product-gallery-strip{
  align-self:flex-start;
  max-height:720px;
  overflow-y:auto;
  scrollbar-width:thin;
}

.product-gallery-thumb{
  flex:0 0 auto;
}

@media(max-width:760px){
  .tgh-custom-select-menu{
    max-height:240px;
  }

  .option-guide-popover{
    padding:16px;
  }
}


/* ==========================================================
   V144 — PRODUCT GALLERY + BRANDED OPTION DROPDOWNS
   ========================================================== */

.tgh-product-dropdown{
  position:relative;
  width:100%;
  margin-top:10px;
}

.tgh-product-dropdown-trigger{
  width:100%;
  min-height:54px;
  padding:0 16px 0 18px;
  border:1px solid #e4d7c8;
  background:#fffdf9;
  color:#403934;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  font-family:Poppins,sans-serif;
  font-size:13px;
  font-weight:500;
  text-align:left;
  cursor:pointer;
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease;
}

.tgh-product-dropdown-trigger:hover,
.tgh-product-dropdown.open .tgh-product-dropdown-trigger{
  border-color:#8ca98c;
  background:#fff;
  box-shadow:0 6px 20px rgba(72,78,65,.08);
}

.tgh-product-dropdown-trigger .material-symbols-rounded{
  color:#6f8f6f;
  font-size:22px;
  transition:transform .2s ease;
}

.tgh-product-dropdown.open
.tgh-product-dropdown-trigger
.material-symbols-rounded{
  transform:rotate(180deg);
}

.tgh-product-dropdown-menu{
  position:absolute;
  left:0;
  right:0;
  top:calc(100% + 6px);
  z-index:500;
  max-height:270px;
  overflow-y:auto;
  padding:7px;
  border:1px solid #e4d7c8;
  background:#fffdf9;
  box-shadow:0 18px 42px rgba(55,47,40,.15);
  opacity:0;
  visibility:hidden;
  transform:translateY(-5px);
  transition:
    opacity .16s ease,
    transform .16s ease,
    visibility .16s;
}

.tgh-product-dropdown.open .tgh-product-dropdown-menu{
  opacity:1;
  visibility:visible;
  transform:translateY(0);
}

.tgh-product-dropdown-choice{
  width:100%;
  padding:11px 12px;
  border:0;
  background:transparent;
  color:#403934;
  display:block;
  text-align:left;
  font-family:Poppins,sans-serif;
  font-size:13px;
  font-weight:500;
  cursor:pointer;
  transition:background .14s ease,color .14s ease;
}

.tgh-product-dropdown-choice:hover{
  background:#f3e9dc;
}

.tgh-product-dropdown-choice.selected{
  background:#8ca98c;
  color:#fff;
}

/* Gallery rail — reference-site inspired */
.product-media-layout{
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:18px;
  align-items:start;
}

.product-gallery-strip{
  display:flex;
  flex-direction:column;
  gap:12px;
  max-height:720px;
  overflow-y:auto;
  padding-right:3px;
  scrollbar-width:thin;
}

.product-gallery-thumb{
  width:78px;
  height:96px;
  padding:0;
  border:1px solid #e5d9cb;
  background:#fff;
  cursor:pointer;
  overflow:hidden;
  opacity:.72;
  transition:
    opacity .16s ease,
    border-color .16s ease,
    transform .16s ease;
}

.product-gallery-thumb:hover{
  opacity:1;
}

.product-gallery-thumb.active{
  opacity:1;
  border-color:#403934;
  transform:scale(.98);
}

.product-gallery-thumb img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

.product-image{
  min-width:0;
}

.product-image > img{
  width:100%;
  height:auto;
  display:block;
}

@media(max-width:760px){
  .product-media-layout{
    display:flex;
    flex-direction:column-reverse;
    gap:12px;
  }

  .product-gallery-strip{
    width:100%;
    max-height:none;
    overflow-x:auto;
    overflow-y:hidden;
    flex-direction:row;
    padding:2px 0 5px;
  }

  .product-gallery-thumb{
    flex:0 0 70px;
    width:70px;
    height:82px;
  }

  .tgh-product-dropdown-menu{
    max-height:230px;
  }
}


/* ==========================================================
   V145 — LAUREN REVIEW PRODUCT PAGE POLISH
   CSS ONLY — DO NOT TOUCH PRODUCT/FIREBASE/CART LOGIC
   ========================================================== */

/* Give photography more presence */
.product-page{
  grid-template-columns:minmax(0,1.08fr) minmax(440px,.92fr);
  gap:56px;
  align-items:start;
}

/* Gallery composition */
.product-media-layout{
  grid-template-columns:92px minmax(0,1fr);
  gap:16px;
  align-items:start;
}

.product-gallery-strip{
  gap:11px;
  max-height:700px;
  padding:0 4px 4px 0;
}

.product-gallery-thumb{
  width:88px;
  height:106px;
  border:1px solid #e5d9cb;
  background:#fffdf9;
  opacity:.8;
  box-shadow:none;
}

.product-gallery-thumb:hover{
  opacity:1;
  border-color:#c9a65a;
}

.product-gallery-thumb.active{
  opacity:1;
  border:2px solid #6f8f6f;
  transform:none;
}

.product-gallery-thumb img{
  object-fit:cover;
}

/* Main viewing stage */
.product-image{
  position:relative;
  width:100%;
  min-height:0;
  background:#f8f0e5;
  display:flex;
  align-items:flex-start;
  justify-content:center;
  overflow:hidden;
}

.product-image > img{
  width:100%;
  height:auto;
  max-height:720px;
  object-fit:contain;
  object-position:center top;
  background:#f8f0e5;
}

/* Guide/reference images should never stretch vertically */
.product-image > img[src*="choices"],
.product-image > img[src*="Guide"],
.product-image > img[src*="guide"]{
  width:100%;
  height:auto;
  max-height:640px;
  object-fit:contain;
}

/* Cleaner caption */
.product-image-caption{
  position:absolute;
  left:14px;
  bottom:14px;
  z-index:2;
  padding:7px 11px;
  background:rgba(255,253,247,.94);
  color:#62584f;
  font-family:Poppins,sans-serif;
  font-size:9px;
  font-weight:600;
  letter-spacing:.08em;
  text-transform:uppercase;
}

/* Product options spacing */
.product-info .option{
  padding:20px 0;
}

.product-option-heading{
  margin-bottom:9px;
}

/* Refine guide action */
.product-guide-link{
  min-height:34px;
  padding:0 12px;
  border:1px solid #cad8c8;
  background:#fffdf9;
  color:#6f8f6f;
  font-size:9px;
  letter-spacing:.08em;
  transition:
    background .16s ease,
    color .16s ease,
    border-color .16s ease;
}

.product-guide-link:hover{
  background:#eef3eb;
  border-color:#8ca98c;
  color:#587558;
}

/* Size choices remain buttons */
.choice-grid{
  gap:8px;
}

.choice-pill{
  min-width:72px;
  min-height:46px;
  padding:0 17px;
}

.choice-pill.selected{
  background:#8ca98c;
  border-color:#8ca98c;
  color:#fff;
}

/* Boutique custom dropdown */
.tgh-product-dropdown{
  margin-top:8px;
}

.tgh-product-dropdown-trigger{
  min-height:52px;
  padding:0 15px;
  background:#fffdf9;
}

.tgh-product-dropdown.open .tgh-product-dropdown-trigger{
  border-color:#8ca98c;
  box-shadow:0 5px 16px rgba(72,78,65,.07);
}

/* Keep long option lists usable without swallowing page */
.tgh-product-dropdown-menu{
  max-height:220px;
  padding:6px;
  overscroll-behavior:contain;
}

.tgh-product-dropdown-choice{
  min-height:38px;
  padding:9px 11px;
}

.tgh-product-dropdown-choice:hover{
  background:#f6eee5;
}

.tgh-product-dropdown-choice.selected{
  background:#8ca98c;
  color:#fff;
}

/* Slim scrollbar inside long custom menus */
.tgh-product-dropdown-menu::-webkit-scrollbar{
  width:7px;
}

.tgh-product-dropdown-menu::-webkit-scrollbar-track{
  background:#f7f0e8;
}

.tgh-product-dropdown-menu::-webkit-scrollbar-thumb{
  background:#d6c4b4;
  border-radius:10px;
}

/* Keep floating cart polished */
.floating-shopping-bag{
  box-shadow:0 12px 30px rgba(50,55,45,.22);
}

.floating-shopping-bag:hover{
  transform:translateY(-3px);
}

/* Tablet */
@media(max-width:1100px){
  .product-page{
    grid-template-columns:minmax(0,1fr) minmax(390px,.9fr);
    gap:34px;
  }

  .product-media-layout{
    grid-template-columns:78px minmax(0,1fr);
    gap:12px;
  }

  .product-gallery-thumb{
    width:74px;
    height:90px;
  }
}

/* Mobile */
@media(max-width:760px){
  .product-page{
    display:block;
  }

  .product-image-wrap{
    margin-bottom:30px;
  }

  .product-media-layout{
    display:flex;
    flex-direction:column-reverse;
    gap:10px;
  }

  .product-gallery-strip{
    width:100%;
    max-height:none;
    flex-direction:row;
    overflow-x:auto;
    overflow-y:hidden;
    gap:9px;
    padding:2px 0 7px;
  }

  .product-gallery-thumb{
    flex:0 0 72px;
    width:72px;
    height:84px;
  }

  .product-image{
    width:100%;
    background:#f8f0e5;
  }

  .product-image > img{
    max-height:none;
    width:100%;
    height:auto;
  }

  .tgh-product-dropdown-menu{
    max-height:210px;
  }

  .product-guide-link{
    min-height:32px;
  }
}


/* ==========================================================
   V146 — FINAL PRODUCT GALLERY STAGE FIX
   Image stage follows the selected image's actual proportions.
   ========================================================== */

.product-media-layout{
  display:grid !important;
  grid-template-columns:92px minmax(0,1fr) !important;
  gap:16px !important;
  align-items:start !important;
}

.product-gallery-strip{
  display:flex !important;
  flex-direction:column !important;
  gap:11px !important;
  margin:0 !important;
  padding:0 4px 4px 0 !important;
  max-height:700px !important;
  overflow-y:auto !important;
  align-self:start !important;
}

.product-gallery-thumb{
  width:88px !important;
  height:106px !important;
  flex:0 0 106px !important;
}

.product-image{
  position:relative !important;
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  aspect-ratio:auto !important;
  overflow:hidden !important;
  background:transparent !important;
}

.product-image > img{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
  background:transparent !important;
}

/* Reference/guide images behave exactly like gallery images */
.product-image > img[src*="choices"],
.product-image > img[src*="Choices"],
.product-image > img[src*="guide"],
.product-image > img[src*="Guide"]{
  width:100% !important;
  height:auto !important;
  max-height:none !important;
  aspect-ratio:auto !important;
  object-fit:contain !important;
  object-position:center top !important;
}

/* Caption remains attached to actual image stage */
.product-image-caption{
  bottom:14px !important;
}

@media(max-width:900px){
  .product-media-layout{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
  }

  .product-gallery-strip{
    order:2 !important;
    width:100% !important;
    flex-direction:row !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:none !important;
  }

  .product-image{
    order:1 !important;
  }

  .product-gallery-thumb{
    width:74px !important;
    height:84px !important;
    flex:0 0 74px !important;
  }
}


/* ==========================================================
   V147 — LAUREN REVIEW PRODUCT PAGE
   Larger editorial product presentation
   ========================================================== */

@media(min-width:901px){

  .product-page{
    max-width:1540px !important;
    width:calc(100% - 72px) !important;
    grid-template-columns:minmax(0,1.08fr) minmax(500px,.92fr) !important;
    gap:54px !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .product-image-wrap{
    min-width:0 !important;
  }

  .product-media-layout{
    grid-template-columns:108px minmax(0,1fr) !important;
    gap:18px !important;
  }

  .product-gallery-strip{
    width:108px !important;
    gap:12px !important;
  }

  .product-gallery-thumb{
    width:104px !important;
    height:124px !important;
    flex:0 0 124px !important;
  }

  .product-image{
    width:100% !important;
    aspect-ratio:auto !important;
  }

  .product-image > img{
    width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
  }

  .product-info{
    width:100% !important;
    max-width:none !important;
  }
}

/* Guide images now live directly in the product gallery */
.product-guide-link{
  display:none !important;
}

/* Slightly stronger thumbnails for reference charts */
.product-gallery-thumb{
  opacity:.9 !important;
}

.product-gallery-thumb:hover,
.product-gallery-thumb.active{
  opacity:1 !important;
}

@media(max-width:900px){

  .product-page{
    width:calc(100% - 32px) !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .product-gallery-strip{
    width:100% !important;
  }

  .product-gallery-thumb{
    width:78px !important;
    height:90px !important;
    flex:0 0 78px !important;
  }
}
/* V148 COMMAND CENTER MOBILE ORDER OPERATIONS */
@media(max-width:760px){
#panel-orders .admin-orders-panel{padding:0!important;margin:0!important;background:transparent!important;border:0!important}.admin-orders-head{display:grid!important;grid-template-columns:1fr!important;gap:12px!important}.admin-orders-head h2{font-size:38px!important}.admin-orders-sub{font-size:13px!important}.admin-orders-refresh{width:100%!important;min-height:48px!important;margin:0!important}.admin-order-stats{grid-template-columns:1fr 1fr!important;gap:9px!important}.admin-orders-toolbar{grid-template-columns:1fr!important;gap:9px!important}.admin-orders-toolbar input,.admin-orders-toolbar select,.order-status-select{min-height:48px!important;font-size:16px!important}.admin-order-card{padding:15px!important;border-radius:16px!important}.admin-order-top{display:grid!important;grid-template-columns:1fr auto!important;align-items:start!important}.admin-order-number{font-size:16px!important}.admin-order-date{display:block!important;margin:4px 0 0!important}.admin-order-grid{grid-template-columns:1fr!important}.admin-order-total{text-align:left!important}.admin-order-actions{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;align-items:stretch!important}.admin-order-actions label{min-width:0!important;width:100%!important}.admin-order-actions button,.order-workflow-btn,.pickup-email-quick-btn{width:100%!important;min-height:48px!important;font-size:12px!important}.pickup-email-quick{width:100%!important}
.order-detail-modal,.customer-detail-modal{padding:0!important;align-items:stretch!important;background:#fffdf7!important}.order-detail-dialog,.customer-detail-dialog{width:100vw!important;max-width:none!important;height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:72px 14px 100px!important;border:0!important;border-radius:0!important;box-shadow:none!important;overflow:auto!important}.order-detail-close{position:fixed!important;top:12px!important;right:12px!important;z-index:10030!important;width:46px!important;height:46px!important;border-radius:50%!important;background:#fff!important}.order-detail-title{display:block!important}.order-detail-title h2,.customer-detail-dialog h2{font-size:34px!important}.order-detail-workflow{margin-top:15px!important;width:100%!important}.order-detail-workflow button{width:100%!important;min-height:48px!important}.order-detail-meta,.order-detail-bottom,.customer-detail-summary{grid-template-columns:1fr!important;gap:9px!important}.detail-item dl,.customer-history-row{grid-template-columns:1fr!important}
}


/* V150 — automatic guides, clean storefront crops, back to shopping */
.product-area-wrap .product-card figure{
  aspect-ratio:4/5!important;
  background:var(--sand)!important;
  overflow:hidden!important;
}
.product-area-wrap .product-card figure > img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  object-fit:cover!important;
  object-position:center center!important;
}
.back-to-shop{
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin:0 0 14px;
  color:var(--green);
  text-decoration:none;
  font:600 9px Poppins,sans-serif;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.back-to-shop span{font-size:15px;line-height:1;transition:transform .18s ease}
.back-to-shop:hover span{transform:translateX(-3px)}
@media(max-width:760px){
  .back-to-shop{margin-bottom:12px;font-size:10px;min-height:36px}
}


/* ==========================================================
   V151 — INDEPENDENT PRODUCT GALLERY + MOBILE CAROUSEL
   ========================================================== */

.product-gallery-mobile-wrap{
  min-width:0;
  position:relative;
}

/* DESKTOP */
@media(min-width:901px){

  .product-gallery-mobile-wrap{
    width:108px !important;
    height:min(700px,calc(100vh - 165px)) !important;
    max-height:700px !important;
    overflow:hidden !important;
  }

  .product-gallery-strip{
    width:108px !important;
    height:100% !important;
    max-height:none !important;
    overflow-y:auto !important;
    overflow-x:hidden !important;
    overscroll-behavior:contain !important;
    scrollbar-gutter:stable !important;
    touch-action:pan-y !important;
    padding-right:7px !important;
  }

  .product-gallery-strip::-webkit-scrollbar{
    width:6px;
  }

  .product-gallery-strip::-webkit-scrollbar-track{
    background:#f5eee5;
  }

  .product-gallery-strip::-webkit-scrollbar-thumb{
    background:#c8b9a8;
    border-radius:99px;
  }

  .product-gallery-next{
    display:none !important;
  }
}

/* MOBILE/TABLET */
@media(max-width:900px){

  .product-gallery-mobile-wrap{
    order:2 !important;
    width:100% !important;
    position:relative !important;
    padding-right:40px !important;
  }

  .product-gallery-strip{
    width:100% !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    gap:9px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    max-height:none !important;
    padding:2px 3px 8px !important;
    scroll-snap-type:x proximity;
    scrollbar-width:none !important;
    overscroll-behavior-x:contain !important;
    -webkit-overflow-scrolling:touch;
  }

  .product-gallery-strip::-webkit-scrollbar{
    display:none;
  }

  .product-gallery-thumb{
    flex:0 0 78px !important;
    width:78px !important;
    height:90px !important;
    scroll-snap-align:start;
  }

  .product-gallery-next{
    display:grid !important;
    place-items:center !important;
    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-55%) !important;
    width:36px !important;
    height:58px !important;
    padding:0 !important;
    border:1px solid #ddd0c1 !important;
    background:rgba(255,253,247,.96) !important;
    color:#6f8f6f !important;
    box-shadow:0 5px 18px rgba(64,57,54,.10) !important;
    z-index:5 !important;
    cursor:pointer !important;
  }

  .product-gallery-next .material-symbols-rounded{
    font-size:24px !important;
  }

  .product-image{
    order:1 !important;
  }
}


/* ==========================================================
   V152 — BACK TO SHOPPING POSITION
   ========================================================== */

.product-page-back{
  grid-column:1/-1 !important;
  justify-self:start !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin:0 0 -22px !important;
  padding:0 !important;
  color:#6f8f6f !important;
  font:700 10px Poppins,sans-serif !important;
  letter-spacing:.13em !important;
  text-decoration:none !important;
  transition:color .16s ease,transform .16s ease !important;
}

.product-page-back span{
  font-size:17px;
  line-height:1;
}

.product-page-back:hover{
  color:#b94f63 !important;
  transform:translateX(-2px);
}

@media(max-width:900px){

  .product-page-back{
    margin:0 0 14px !important;
  }
}


/* ==========================================================
   V155 — PRODUCT PAGE HORIZONTAL CONTAINMENT
   ========================================================== */

html{
  max-width:100%;
  overflow-x:hidden;
}

body.storefront-body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

.product-page{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  overflow:visible;
}

.product-image-wrap,
.product-media-layout,
.product-image,
.product-info{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

/* The ONLY horizontally scrollable product-page element
   on mobile is the thumbnail carousel itself. */
@media(max-width:900px){

  .product-page{
    overflow-x:hidden !important;
  }

  .product-gallery-mobile-wrap{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .product-gallery-strip{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    overscroll-behavior-x:contain !important;
    touch-action:pan-x !important;

    -webkit-overflow-scrolling:touch;
  }

  .product-gallery-thumb{
    flex-shrink:0 !important;
  }

  .product-info,
  .product-builder-intro,
  .option,
  .tgh-custom-select{
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
}


/* ==========================================================
   V158 — FINAL PRODUCT GALLERY + SALE PRODUCT UI
   ========================================================== */

/* ---------- SALE PRICE ---------- */

.product-title-row{
  position:relative;
}

.product-sale-price-row{
  display:flex;
  align-items:center;
  gap:11px;
  margin-top:5px;
  font-family:Poppins,sans-serif;
}

.product-original-price{
  color:#9a918b;
  font-size:13px;
  text-decoration:line-through;
  text-decoration-thickness:1px;
}

.product-sale-price{
  color:#c04f63;
  font-size:17px;
  font-weight:700;
}

.product-sale-heart{
  position:absolute;
  right:0;
  top:4px;
  width:62px;
  height:56px;
  display:grid;
  place-items:center;
  background:#c04f63;
  color:white;
  transform:rotate(-45deg);
  border-radius:50% 50% 50% 8px;
  box-shadow:0 8px 20px rgba(192,79,99,.14);
}

.product-sale-heart span{
  transform:rotate(45deg);
  font:700 9px Poppins,sans-serif;
  letter-spacing:.12em;
}

/* ---------- DESKTOP GALLERY ---------- */

@media(min-width:901px){

  .product-gallery-mobile-wrap{
    width:110px !important;
    height:min(690px,calc(100vh - 190px)) !important;
    min-height:400px !important;
    max-height:690px !important;

    display:grid !important;
    grid-template-rows:34px minmax(0,1fr) 34px !important;

    overflow:hidden !important;
  }

  .product-gallery-strip{
    grid-row:2 !important;

    width:100% !important;
    height:100% !important;
    min-height:0 !important;
    max-height:none !important;

    display:flex !important;
    flex-direction:column !important;
    flex-wrap:nowrap !important;

    gap:10px !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;

    overscroll-behavior:contain !important;
    touch-action:pan-y !important;

    scrollbar-width:none !important;
    padding:4px !important;
  }

  .product-gallery-strip::-webkit-scrollbar{
    display:none !important;
  }

  .product-gallery-thumb{
    flex:0 0 104px !important;
    width:100% !important;
    height:104px !important;
  }

  .product-gallery-desktop-arrow{
    display:grid !important;
    place-items:center !important;

    width:100% !important;
    height:32px !important;

    padding:0 !important;

    border:0 !important;
    background:transparent !important;
    color:#6f8f6f !important;

    cursor:pointer !important;
  }

  .product-gallery-desktop-arrow:hover{
    background:#f7efe6 !important;
    color:#c04f63 !important;
  }

  .product-gallery-desktop-arrow .material-symbols-rounded{
    font-size:25px !important;
  }

  .product-gallery-desktop-up{
    grid-row:1 !important;
  }

  .product-gallery-desktop-down{
    grid-row:3 !important;
  }

  .product-gallery-next{
    display:none !important;
  }
}

/* ---------- MOBILE GALLERY ---------- */

@media(max-width:900px){

  html,
  body.storefront-body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .product-page,
  .product-image-wrap,
  .product-media-layout,
  .product-info{
    min-width:0 !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  .product-gallery-mobile-wrap{
    display:block !important;
    position:relative !important;

    width:100% !important;
    max-width:100% !important;

    padding-right:40px !important;
    overflow:hidden !important;
  }

  .product-gallery-desktop-arrow{
    display:none !important;
  }

  .product-gallery-strip{
    width:100% !important;
    max-width:100% !important;

    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;

    gap:8px !important;

    overflow-x:auto !important;
    overflow-y:hidden !important;

    overscroll-behavior-x:contain !important;
    touch-action:pan-x !important;

    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch;
  }

  .product-gallery-strip::-webkit-scrollbar{
    display:none !important;
  }

  .product-gallery-thumb{
    flex:0 0 76px !important;
    width:76px !important;
    height:88px !important;
  }

  .product-gallery-next{
    display:grid !important;
    place-items:center !important;

    position:absolute !important;
    right:0 !important;
    top:50% !important;
    transform:translateY(-50%) !important;

    width:35px !important;
    height:58px !important;

    border:1px solid #ded2c4 !important;
    background:#fffdf7 !important;
    color:#6f8f6f !important;

    z-index:10 !important;
  }

  .product-title-row{
    padding-right:0;
  }

  .product-sale-heart{
    position:relative;
    right:auto;
    top:auto;
    margin:12px 0 2px 7px;
  }
}


/* V159 — true heart SALE badge */
.product-sale-heart{
  position:absolute !important;
  right:0 !important;
  top:4px !important;
  width:58px !important;
  height:52px !important;
  background:transparent !important;
  border-radius:0 !important;
  transform:none !important;
  box-shadow:none !important;
  display:block !important;
  z-index:2 !important;
}

.product-sale-heart::before,
.product-sale-heart::after{
  content:"";
  position:absolute;
  top:7px;
  width:30px;
  height:46px;
  background:#c04f63;
  border-radius:30px 30px 0 0;
  z-index:0;
}

.product-sale-heart::before{
  left:29px;
  transform:rotate(-45deg);
  transform-origin:0 100%;
}

.product-sale-heart::after{
  left:0;
  transform:rotate(45deg);
  transform-origin:100% 100%;
}

.product-sale-heart span{
  position:absolute !important;
  inset:0 !important;
  z-index:2 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding-top:4px !important;
  transform:none !important;
  color:#fff !important;
  font:700 8px Poppins,sans-serif !important;
  letter-spacing:.12em !important;
}

/* Keep heart tidy on mobile */
@media(max-width:900px){
  .product-sale-heart{
    position:relative !important;
    right:auto !important;
    top:auto !important;
    margin:10px 0 4px 7px !important;
  }
}

/* V164 — FINAL SALE ICON PLACEMENT */

/* SHOP CARD */
.product-card-info{
  position:relative;
  min-height:112px;
  padding-right:58px;
}

.product-card .sale-card-icon{
  position:absolute;
  right:6px;
  bottom:6px;
  width:46px;
  height:46px;
  display:block;
  object-fit:contain;
  margin:0;
  padding:0;
  pointer-events:none;
}

/* PRODUCT DETAIL */
.product-info-sale-badge{
  display:block;
  width:54px;
  height:54px;
  object-fit:contain;
  margin:12px 4px 8px auto;
}

/* Never place sale artwork over product photography */
.product-image-sale-badge,
.product-card figure .sale-badge,
.product-card figure .sale-badge-image{
  display:none !important;
}

@media(max-width:900px){
  .product-card-info{
    min-height:105px;
    padding-right:52px;
  }

  .product-card .sale-card-icon{
    right:4px;
    bottom:4px;
    width:42px;
    height:42px;
  }

  .product-info-sale-badge{
    width:50px;
    height:50px;
    margin:10px 4px 7px auto;
  }
}

/* V165 — exact mockup sale placement */
.product-card{
  position:relative !important;
}

.product-card-info{
  position:static !important;
  min-height:0 !important;
  padding-right:58px !important;
}

.product-card .sale-card-icon{
  position:absolute !important;
  width:46px !important;
  height:46px !important;
  max-width:46px !important;
  max-height:46px !important;

  right:16px !important;
  bottom:16px !important;
  top:auto !important;
  left:auto !important;

  display:block !important;
  object-fit:contain !important;
  object-position:center !important;

  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  transform:none !important;
  box-shadow:none !important;
  pointer-events:none !important;
}

/* Product detail — mockup: beneath description, toward right */
.product-info-sale-badge{
  display:block !important;
  position:static !important;

  width:54px !important;
  height:54px !important;
  max-width:54px !important;
  max-height:54px !important;

  object-fit:contain !important;

  margin:12px 14px 8px auto !important;
  padding:0 !important;
}

/* Restore shop hero heart to brand gold */
.shop-hero .thread-mark{
  filter:
    brightness(0)
    saturate(100%)
    invert(66%)
    sepia(48%)
    saturate(704%)
    hue-rotate(4deg)
    brightness(91%)
    contrast(85%) !important;
  opacity:.75 !important;
}

@media(max-width:900px){
  .product-card .sale-card-icon{
    width:42px !important;
    height:42px !important;
    max-width:42px !important;
    max-height:42px !important;
    right:12px !important;
    bottom:12px !important;
  }

  .product-info-sale-badge{
    width:50px !important;
    height:50px !important;
    max-width:50px !important;
    max-height:50px !important;
    margin:10px 10px 7px auto !important;
  }
}

/* V167 — product detail SALE icon beside description */
.product-info{
  position:relative;
}

.product-info-sale-badge{
  position:absolute !important;
  width:54px !important;
  height:54px !important;
  max-width:54px !important;
  max-height:54px !important;

  right:22px !important;
  top:181px !important;

  margin:0 !important;
  padding:0 !important;
  object-fit:contain !important;
  z-index:3 !important;
}

@media(max-width:900px){
  .product-info-sale-badge{
    position:static !important;
    width:48px !important;
    height:48px !important;
    max-width:48px !important;
    max-height:48px !important;
    margin:-64px 8px 14px auto !important;
  }
}
