
/* ULTRA PREMIUM 4K HIGH-RESOLUTION LUXURY VISUAL UPGRADE */
:root{--gold:#E6E0D6;
  --black:#0D0D0D;--white:#FEFEFE;
  --plum:#373431;--plum-l:#4F4C49;--plum-d:#1E1E1E;
  --red:#D4000F;--yellow:#FFFFFF;
  --off:#F9F6F3;--gl:#F3F0ED;--gray:#E7E4E1;--gray-l:#EFECE9;
  --muted:#777777;--body:#2A2A2A;
  --fd:'Barlow Condensed',sans-serif;--fb:'Barlow',sans-serif;
  --shadow-sm:0 2px 8px rgba(0,0,0,.06),0 1px 2px rgba(0,0,0,.04);
  --shadow-md:0 8px 24px rgba(0,0,0,.10),0 2px 6px rgba(0,0,0,.06);
  --shadow-lg:0 20px 48px rgba(0,0,0,.14),0 6px 16px rgba(0,0,0,.08);
  --shadow-plum:0 12px 36px rgba(55,52,49,.35);
  --radius:10px;--radius-lg:16px;--radius-xl:24px;
  --transition:all .22s cubic-bezier(.25,.46,.45,.94);
}
/* Secondary product-page actions (Save/Share) read as quiet text links next
   to the primary Add to Bag button, not as equally-weighted CTA blocks.
   !important overrides the multiple responsive .pd-wl-btn block-button
   definitions found elsewhere in this stylesheet, without needing to hunt
   down and edit each breakpoint variant individually. */
.pd-secondary-row{display:flex;justify-content:center;gap:28px;margin-top:6px}
.pd-secondary-row .pd-wl-btn{display:inline-flex!important;align-items:center;gap:6px;width:auto!important;background:none!important;border:none!important;box-shadow:none!important;color:var(--muted)!important;text-transform:none!important;font-family:var(--fb)!important;font-weight:600!important;font-size:13px!important;letter-spacing:0!important;padding:6px 2px!important;margin-bottom:0!important}
.pd-secondary-row .pd-wl-btn:hover{color:var(--plum)!important}
/* ig: glyph-icon SVG sprite system. Inherits currentColor. v2.9e. */
.ig{display:inline-block;width:1em;height:1em;vertical-align:-.125em;background-color:currentColor;-webkit-mask:center/contain no-repeat;mask:center/contain no-repeat}
.ig-hf{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s-7-4.5-9.5-9.5C.5 7 4 3 8 3c2 0 3 1 4 2.5C13 4 14 3 16 3c4 0 7.5 4 5.5 8.5C19 16.5 12 21 12 21z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s-7-4.5-9.5-9.5C.5 7 4 3 8 3c2 0 3 1 4 2.5C13 4 14 3 16 3c4 0 7.5 4 5.5 8.5C19 16.5 12 21 12 21z'/></svg>")}
.ig-ho{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' d='M12 21s-7-4.5-9.5-9.5C.5 7 4 3 8 3c2 0 3 1 4 2.5C13 4 14 3 16 3c4 0 7.5 4 5.5 8.5C19 16.5 12 21 12 21z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='2' stroke-linejoin='round' d='M12 21s-7-4.5-9.5-9.5C.5 7 4 3 8 3c2 0 3 1 4 2.5C13 4 14 3 16 3c4 0 7.5 4 5.5 8.5C19 16.5 12 21 12 21z'/></svg>")}
.ig-sf{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>")}
.ig-so{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round' d='M12 2l3.09 6.26L22 9.27l-5 4.87 1.18 6.88L12 17.77l-6.18 3.25L7 14.14 2 9.27l6.91-1.01L12 2z'/></svg>")}
.ig-ck{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 7'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round' d='M4 12l5 5L20 7'/></svg>")}
.ig-cx{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' d='M18 6L6 18M6 6l12 12'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='none' stroke='black' stroke-width='2.5' stroke-linecap='round' d='M18 6L6 18M6 6l12 12'/></svg>")}
*{margin:0;padding:0;box-sizing:border-box;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html{scroll-behavior:smooth;text-rendering:optimizeLegibility;overflow-x:hidden}
body{font-family:var(--fb);color:var(--body);background:#FFFFFF;overflow-x:hidden;padding-top:106px}
body.menu-open{overflow:hidden;position:fixed;width:100%;left:0;right:0}
button,input,select,textarea{font-family:var(--fb)}
img{display:block;max-width:100%}
.dn{display:none!important}
::-webkit-scrollbar{width:3px;height:3px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--plum-l);border-radius:99px}
::selection{background:rgba(55,52,49,.15);color:var(--body)}
:focus-visible{outline:2px solid var(--plum);outline-offset:2px}
#top-bar{background:var(--black);color:rgba(255,255,255,.62);text-align:center;padding:7px 14px;font-family:var(--fd);font-size:9.5px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;line-height:1.45}
header.hidden{transform:translateY(-110%)}
@media(max-width:430px){
  nav{padding:11px 12px;gap:6px}
  .ib{padding:5px}
  #wl-btn{display:none}
  .si-btn{padding:6px 10px;font-size:11px}
  .nav-icons{gap:2px}
}
.main-desktop{display:none}
@media(min-width:960px){
  .main-desktop{display:flex;align-items:center;gap:26px;margin:0 auto 0 36px}
  .main-desktop a{text-decoration:none;color:var(--ink);font-weight:600;font-size:14px;white-space:nowrap}
  .main-desktop a:hover{color:var(--plum);text-decoration:underline;text-underline-offset:6px}
  #burger-btn{display:none}
}
header{position:fixed;top:0;left:0;right:0;z-index:800;background:rgba(255,255,255,.97);backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);border-bottom:1px solid rgba(0,0,0,.06);box-shadow:0 1px 0 rgba(0,0,0,.04),0 4px 20px rgba(0,0,0,.04);transform:translateY(0);transition:transform .3s cubic-bezier(.4,0,.2,1)}
nav{display:flex;align-items:center;justify-content:space-between;padding:13px 18px;gap:10px}
.logo{font-family:var(--fd);font-size:19px;font-weight:900;letter-spacing:.01em;color:var(--black);text-decoration:none;text-transform:uppercase;display:flex;align-items:center;gap:5px;white-space:nowrap}
.logo{display:flex;align-items:center;text-decoration:none;line-height:1}
.logo-wordmark{display:flex;flex-direction:column;align-items:center;gap:0}
.logo-intimacy{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);line-height:1}
.logo-supply{font-family:'Barlow Condensed',sans-serif;font-size:11px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--plum);line-height:1;margin-top:1px}
.nav-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}
.ib{background:none;border:none;cursor:pointer;padding:7px;position:relative;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:var(--transition)}
.ib:hover{background:var(--gl)}
.ib svg{width:20px;height:20px;stroke:var(--body);stroke-width:1.8;fill:none;stroke-linecap:round;stroke-linejoin:round;transition:stroke .2s}
.ib:hover svg{stroke:var(--plum)}
.cb{position:absolute;top:-3px;right:-3px;background:var(--plum);color:#FFFFFF;font-size:8px;font-weight:900;width:16px;height:16px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid #FFFFFF;box-shadow:0 1px 4px rgba(55,52,49,.4)}
.si-btn{font-size:12px;font-weight:700;color:var(--body);background:none;border:none;cursor:pointer;white-space:nowrap;letter-spacing:.03em;padding:7px 12px;border-radius:8px;transition:var(--transition)}
.si-btn:hover{background:var(--gl);color:var(--plum)}
.vip-pill{display:none;background:linear-gradient(135deg,var(--plum),var(--plum-l));color:#FFFFFF;font-size:9px;font-weight:800;padding:3px 10px;border-radius:99px;text-transform:uppercase;letter-spacing:.06em;white-space:nowrap;box-shadow:0 2px 8px rgba(55,52,49,.3)}
#user-name-label{font-size:12px;font-weight:700;color:var(--plum);display:none;white-space:nowrap;letter-spacing:.02em}
#vip-bar{background:linear-gradient(90deg,var(--plum-d) 0%,var(--plum) 50%,var(--plum-d) 100%);padding:14px 18px;text-align:center}
#vip-bar h2{font-family:var(--fd);font-size:clamp(14px,3.5vw,21px);font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.3)}
#vip-bar p{font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
#deals-bar{background:var(--black);padding:12px 18px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.dl{font-size:7px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.15em;writing-mode:vertical-rl;transform:rotate(180deg);flex-shrink:0}
.di{display:flex;gap:20px;flex:1;flex-wrap:wrap;align-items:center}
.dit .cat{font-family:var(--fd);font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:2px}
.dit .pr{font-family:var(--fd);font-size:clamp(17px,4vw,26px);font-weight:900;color:#FFFFFF;line-height:1.05;letter-spacing:-.02em}
.dit a{color:rgba(255,255,255,.6);font-size:10px;font-weight:600;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:1px;cursor:pointer;transition:color .15s}
.dit a:hover{color:var(--yellow)}
.d80{background:var(--yellow);color:var(--black);padding:10px 14px;border-radius:6px;flex-shrink:0;position:relative;text-align:center;cursor:pointer;box-shadow:0 4px 16px rgba(255,255,255,.35);transition:var(--transition)}
.d80:hover{transform:translateY(-1px);box-shadow:0 6px 20px rgba(255,255,255,.5)}
.d80 .big{font-family:var(--fd);font-size:clamp(20px,5vw,30px);font-weight:900;line-height:1;letter-spacing:-.02em}
.d80 .sm{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.ytag{position:absolute;bottom:-8px;right:-3px;background:var(--plum);color:#FFFFFF;font-size:6.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;transform:rotate(-2.5deg);border-radius:3px;white-space:nowrap;box-shadow:0 2px 6px rgba(55,52,49,.4)}
#cdb{background:var(--plum);color:#FFFFFF;text-align:center;padding:11px 18px;font-family:var(--fd);font-size:clamp(13px,3.5vw,17px);font-weight:900;letter-spacing:.07em;text-transform:uppercase;border-bottom:2px solid var(--plum-d)}
#cdb u{text-underline-offset:3px;text-decoration-color:rgba(255,255,255,.4)}
#hero{position:relative;min-height:78vw;max-height:700px}
@media(min-width:760px){#hero{min-height:460px}}
@media(min-width:1100px){#hero{min-height:560px}}
#hero{background:linear-gradient(to right,rgba(10,3,7,.88) 0%,rgba(10,3,7,.55) 60%,rgba(10,3,7,.3) 100%),url('/hero-bg.jpg') center/cover no-repeat;display:flex;align-items:flex-end;overflow:hidden}
.hpat{position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(ellipse 80% 60% at 90% 20%,rgba(106,44,82,.15),transparent),radial-gradient(ellipse 60% 80% at 10% 90%,rgba(42,15,32,.4),transparent),repeating-linear-gradient(45deg,rgba(255,255,255,.012) 0,rgba(255,255,255,.012) 1px,transparent 1px,transparent 24px)}
.hc{position:relative;z-index:2;padding:36px 20px 52px;max-width:580px}
.heye{font-family:var(--fd);font-size:10px;font-weight:700;letter-spacing:.22em;text-transform:uppercase;color:rgba(255,255,255,.4);margin-bottom:10px;display:flex;align-items:center;gap:8px}
.heye::before{content:'';width:20px;height:1px;background:rgba(255,255,255,.3)}
#hero h1{font-family:var(--fd);font-size:clamp(58px,16vw,106px);font-weight:900;line-height:.87;letter-spacing:-.04em;text-transform:uppercase;color:#fff;margin-bottom:16px}
#hero h1 em{font-style:normal;color:var(--gold);text-shadow:0 0 40px rgba(201,162,107,.35)}
.hsub{font-size:13px;font-weight:400;color:rgba(255,255,255,.5);line-height:1.65;max-width:280px;margin-bottom:26px}
.hbtns{display:flex;flex-direction:column;gap:10px;max-width:300px}
.tr{display:flex;gap:20px;margin-top:24px;flex-wrap:wrap}
.tp{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:600;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em}
.tp svg{width:11px;height:11px;stroke:currentColor;fill:none;stroke-width:2.5;stroke-linecap:round;flex-shrink:0}
.btn-p{display:block;background:var(--plum);color:#FFFFFF;text-align:center;padding:15px 22px;font-family:var(--fd);font-size:16px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border:none;cursor:pointer;border-radius:99px;box-shadow:0 4px 18px rgba(55,52,49,.3);transition:var(--transition);position:relative;overflow:hidden}
.btn-p:hover{background:var(--plum-l);transform:translateY(-1px);box-shadow:0 8px 26px rgba(55,52,49,.38)}
.btn-p::after{content:'';position:absolute;inset:0;background:linear-gradient(rgba(255,255,255,.08),transparent);pointer-events:none}
.btn-p:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(13,13,13,.45);background:#D4000F}
.btn-p:active{transform:translateY(0)}
.btn-o{display:block;background:transparent;color:#FFFFFF;text-align:center;padding:13px 22px;font-family:var(--fd);font-size:16px;font-weight:900;letter-spacing:.07em;text-transform:uppercase;text-decoration:none;border:1.5px solid rgba(255,255,255,.3);cursor:pointer;border-radius:var(--radius);transition:var(--transition)}
.btn-o:hover{border-color:rgba(255,255,255,.7);background:rgba(255,255,255,.06)}
.btn-w{display:inline-block;background:#FFFFFF;color:var(--plum-d);padding:14px 28px;font-family:var(--fd);font-size:17px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;border-radius:var(--radius);border:none;cursor:pointer;box-shadow:var(--shadow-md);transition:var(--transition)}
.btn-w:hover{background:var(--yellow);transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.btn-b{display:block;background:var(--black);color:#FFFFFF;text-align:center;padding:14px;font-family:var(--fd);font-size:17px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border:none;cursor:pointer;border-radius:var(--radius);transition:var(--transition)}
.btn-b:hover{background:var(--plum)}
.btn-r{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;background:linear-gradient(135deg,#1E1E1E,#373431);color:#FFFFFF;border:none;cursor:pointer;padding:15px;font-family:var(--fd);font-size:19px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;border-radius:var(--radius);box-shadow:0 8px 24px rgba(30,30,30,.35);transition:var(--transition)}
.btn-r:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(13,13,13,.45)}
.sec{padding:58px 18px;background:#FFFFFF}
.si{max-width:1440px;margin:0 auto}
.st{font-family:'Barlow Condensed',sans-serif;font-size:clamp(28px,6.4vw,46px);font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-bottom:3px;line-height:1.04}
.ss{font-size:11px;color:var(--muted);margin-bottom:20px;font-weight:500;letter-spacing:.02em}
.cg{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
.cc{position:relative;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;aspect-ratio:1;transition:var(--transition);box-shadow:var(--shadow-sm)}
.cc:hover{transform:translateY(-4px) scale(1.01);box-shadow:var(--shadow-lg)}
.cbg{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:52px}
.cov{position:absolute;inset:0;background:linear-gradient(180deg,transparent 20%,rgba(4,4,4,.78) 100%)}
.cbd{position:absolute;bottom:0;left:0;right:0;padding:14px 13px}
.cof{font-size:8px;font-weight:700;color:rgba(255,255,255,.6);text-transform:uppercase;letter-spacing:.08em;margin-bottom:3px}
.cn{font-family:var(--fd);font-size:clamp(16px,5vw,24px);font-weight:900;color:#FFFFFF;text-transform:uppercase;line-height:1}
.cp{font-size:11px;color:rgba(255,255,255,.85);font-weight:600;margin-top:2px}
.ca{position:absolute;bottom:12px;right:12px;width:26px;height:26px;background:rgba(255,255,255,.9);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:12px;color:var(--black);box-shadow:0 2px 8px rgba(0,0,0,.2);transition:var(--transition)}
.cc:hover .ca{background:#FFFFFF;transform:scale(1.1)}
.pb::before{content:'';position:absolute;inset:0;pointer-events:none;background-image:radial-gradient(ellipse 50% 70% at 95% 50%,rgba(255,255,255,.04),transparent),repeating-linear-gradient(0deg,rgba(255,255,255,.02) 0,rgba(255,255,255,.02) 1px,transparent 1px,transparent 44px)}
.pbi{position:relative;z-index:1;max-width:540px}
.pbi h2{font-family:var(--fd);font-size:clamp(44px,13vw,84px);font-weight:900;line-height:.87;letter-spacing:-.04em;text-transform:uppercase;color:#FFFFFF;margin-bottom:12px;text-shadow:0 2px 20px rgba(0,0,0,.4)}
.pbi h2 span{color:var(--yellow)}
.pbi p{color:rgba(255,255,255,.55);font-size:13px;margin-bottom:22px;line-height:1.6}
.tab-row{display:flex;gap:0;border-bottom:1.5px solid var(--gray);margin-bottom:18px;overflow-x:auto;-webkit-overflow-scrolling:touch;touch-action:pan-x;overscroll-behavior-x:contain}
@media(max-width:768px){
  .tab-row{mask-image:linear-gradient(90deg,#000000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(90deg,#000000 calc(100% - 32px),transparent)}
  .ar{mask-image:linear-gradient(90deg,#000000 calc(100% - 32px),transparent);-webkit-mask-image:linear-gradient(90deg,#000000 calc(100% - 32px),transparent)}
}
.tab-row::-webkit-scrollbar{display:none}
.tb{font-family:var(--fd);font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;border:none;background:none;cursor:pointer;padding:0 16px 12px 4px;color:var(--muted);border-bottom:2px solid transparent;margin-bottom:-1.5px;white-space:nowrap;flex-shrink:0;transition:var(--transition)}
.tb.active{color:var(--plum);border-bottom-color:var(--plum);font-weight:900}
.fb{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:10px 0 14px;border-bottom:1px solid var(--gray);margin-bottom:16px;touch-action:pan-x;overscroll-behavior-x:contain}
.fb-label{font-family:var(--fd);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);white-space:nowrap}
.fb-sel{font-family:var(--fb);font-size:12px;border:1px solid var(--gray);border-radius:4px;padding:5px 10px;background:#FFFFFF;color:#111111;cursor:pointer;outline:none;-webkit-appearance:none;appearance:none;padding-right:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23999'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}
.fb-chip{font-family:var(--fd);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid var(--gray);border-radius:99px;padding:4px 12px;background:#FFFFFF;color:var(--muted);cursor:pointer;white-space:nowrap;transition:var(--transition)}
.fb-chip.active{background:var(--plum);color:#FFFFFF;border-color:var(--plum)}
.fb-divider{width:1px;height:18px;background:var(--gray);flex-shrink:0}
#scroll-sentinel{height:1px;width:100%}
.tb:hover:not(.active){color:var(--body)}
.pg{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 12px;row-gap:26px}
.pc{background:transparent;border-radius:0;overflow:visible;position:relative;cursor:pointer;box-shadow:none;border:none;transition:var(--transition)}
.pc:hover{transform:none;box-shadow:none}
.pi{position:relative;aspect-ratio:3/4;overflow:hidden;background:#F6F3F0;border-radius:2px;display:flex;align-items:center;justify-content:center}
.pi img{width:100%;height:100%;object-fit:cover;transition:transform .45s cubic-bezier(.25,.46,.45,.94)}
.pi img.ld{opacity:1}
@media(hover:hover){.pc:hover .pi img{transform:scale(1.045)}.cc:hover img{transform:scale(1.05)}}
.cc img{transition:transform .5s cubic-bezier(.25,.46,.45,.94)}
.cc{overflow:hidden}
.pc:hover .pi img{transform:scale(1.04)}
.hb{position:absolute;top:9px;right:9px;width:30px;height:30px;background:rgba(255,255,255,.92);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;box-shadow:0 2px 10px rgba(0,0,0,.12);cursor:pointer;border:none;transition:var(--transition);z-index:2;backdrop-filter:blur(4px)}
.hb:hover{transform:scale(1.15);background:#FFFFFF}
.hb.liked{color:var(--red)}
.bbn{position:absolute;top:9px;left:9px;background:rgba(13,13,13,.88);color:#FFFFFF;font-size:8px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:3px 8px;border-radius:4px;z-index:2;backdrop-filter:blur(4px)}
.bbo{position:absolute;bottom:7px;left:7px;background:var(--yellow);color:var(--black);font-size:8px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:3px 7px;border-radius:4px;z-index:2;box-shadow:0 2px 6px rgba(0,0,0,.15)}
.pb2{padding:10px 2px 22px}
.sws{display:flex;gap:5px;margin-bottom:6px;align-items:center}
.sw{width:14px;height:14px;border-radius:50%;border:2px solid transparent;cursor:pointer;transition:var(--transition);flex-shrink:0;box-shadow:var(--shadow-sm)}
.sw:hover{transform:scale(1.3)}
.sw.active{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}
.swm{font-size:9px;color:var(--muted);margin-left:3px}
.pn{font-size:14px;font-weight:500;color:#171717;margin-bottom:6px;line-height:1.4;letter-spacing:.01em}
.pl{font-size:8px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:2px}
.pp{display:flex;align-items:baseline;gap:5px}
.pdeal{font-family:var(--fb);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--red);margin-bottom:4px}
.pg-count{font-family:var(--fb);font-size:12px;font-weight:600;color:var(--muted);letter-spacing:.02em;margin-bottom:14px}
.psw{display:flex;align-items:center;gap:5px;margin-bottom:7px}
.pswd{width:13px;height:13px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.12);flex-shrink:0}
.pswx{font-family:var(--fb);font-size:10px;font-weight:700;color:var(--muted);margin-left:1px}
.pc2{font-family:var(--fd);font-size:24px;font-weight:900;color:var(--plum);line-height:1}
.po{font-size:14px;color:#9A8F94;text-decoration:line-through}
.stars{font-size:9px;color:#7D7A77;margin-bottom:4px;letter-spacing:1px}
.acb{display:block;width:100%;margin-top:9px;background:var(--plum);color:#FFFFFF;border:none;cursor:pointer;padding:10px;font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;border-radius:8px;transition:var(--transition)}
.acb-notify{background:#FFFFFF;color:var(--plum);border:1.5px solid var(--plum)}
.acb-notify:hover{background:var(--plum);color:#FFFFFF}
.acb:hover{background:var(--plum-d);box-shadow:var(--shadow-plum)}
.ar{display:flex;gap:10px;overflow-x:auto;padding-bottom:6px;-webkit-overflow-scrolling:touch}
.ar::-webkit-scrollbar{display:none}
.ac2{flex:0 0 148px;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;position:relative;aspect-ratio:4/5;display:flex;align-items:center;justify-content:center;font-size:38px;transition:var(--transition);flex-shrink:0;box-shadow:var(--shadow-md)}
.ac2:hover{transform:translateY(-4px) scale(1.02);box-shadow:var(--shadow-lg)}
.al{position:absolute;bottom:0;left:0;right:0;padding:10px;background:linear-gradient(transparent,rgba(0,0,0,.8));color:#FFFFFF;font-family:var(--fd);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;text-align:center}
.cw{display:flex;gap:18px;align-items:flex-start}
.cth{width:122px;flex-shrink:0;aspect-ratio:2/3;background:url('/compare-bg.jpg') center/cover no-repeat;border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;font-size:44px;box-shadow:var(--shadow-md)}
.ct{flex:1}
.ct table{width:100%;border-collapse:collapse}
.ct th{font-family:var(--fd);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;padding:7px 4px 11px;text-align:center}
.ct th:first-child{text-align:left;font-size:9px;color:var(--muted)}
.ct th.vc{color:var(--plum);border-bottom:2.5px solid var(--plum)}
.ct th.rc{color:var(--muted);border-bottom:1.5px solid var(--gray)}
.ct td{padding:9px 4px;font-size:10px;color:var(--body);border-bottom:1px solid var(--gray-l);vertical-align:middle;text-align:center}
.ct td:first-child{text-align:left;padding-right:6px}
.ck{color:#1B1B19;font-size:15px}.cx{color:var(--red);font-size:15px}
.pcp{font-family:var(--fd);font-size:19px;font-weight:900}
.pcp.v{color:var(--plum)}.pcp.r{color:var(--red)}
.cn2{font-size:7px;color:var(--muted);font-style:italic}
.hv{background:var(--black);padding:56px 20px;color:#FFFFFF;text-align:center;position:relative;overflow:hidden}
.hv::before{content:'';position:absolute;inset:0;pointer-events:none;background:radial-gradient(ellipse 80% 50% at 50% 0%,rgba(55,52,49,.3),transparent)}
.hv h2{font-family:var(--fd);font-size:clamp(30px,8vw,52px);font-weight:900;letter-spacing:-.03em;text-transform:uppercase;margin-bottom:6px;line-height:.95;position:relative}
.hv .vs{font-size:12px;color:rgba(255,255,255,.4);max-width:400px;margin:0 auto 36px;line-height:1.7}
.vss{display:flex;flex-direction:column;gap:28px;max-width:520px;margin:0 auto;position:relative}
.vst h3{font-family:var(--fd);font-size:18px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}
.vst p{font-size:12px;color:rgba(255,255,255,.45);line-height:1.7;max-width:360px;margin:0 auto}
.vd{border:none;border-top:1px solid rgba(255,255,255,.07);width:50%;margin:0 auto}
.sus{background:var(--off);padding:44px 20px;text-align:center}
.sus h2{font-family:var(--fd);font-size:clamp(20px,5vw,32px);font-weight:900;text-transform:uppercase;letter-spacing:-.01em;line-height:1.05;margin-bottom:7px}
.sus p{font-size:12px;color:var(--muted);max-width:420px;margin:0 auto 24px;line-height:1.7}
.susi{border-top:1px solid var(--gray)}
.susit{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px solid var(--gray);cursor:pointer;font-family:var(--fd);font-size:16px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;transition:color .15s;position:relative}
.susit:hover{color:var(--plum)}
.sus-arrow{transition:transform .25s;color:var(--muted);font-size:18px;flex-shrink:0}
.susit.open .sus-arrow{transform:rotate(90deg);color:var(--plum)}
.sus-body{display:none;width:100%;font-family:var(--fb);font-size:13px;font-weight:400;text-transform:none;letter-spacing:0;color:var(--muted);line-height:1.75;padding:10px 0 14px}
.susit.open .sus-body{display:block}
.susit:hover{color:var(--plum)}
footer{background:var(--black);color:#FFFFFF;padding:44px 18px 24px;border-top:1px solid rgba(255,255,255,.04)}
.fso{display:flex;gap:14px;margin-bottom:26px;font-size:16px}
.fso a{color:rgba(255,255,255,.4);text-decoration:none;transition:color .2s,transform .2s;display:inline-block}
.fso a:hover{color:#FFFFFF;transform:translateY(-2px)}
.fl .fr{display:flex;justify-content:space-between;align-items:center;padding:13px 0;border-bottom:1px solid rgba(255,255,255,.06);cursor:pointer;transition:color .15s}
.fl .fr:hover{color:rgba(255,255,255,.7)}
.fl .fr span:first-child{font-family:var(--fd);font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.fc{font-size:9.5px;color:rgba(255,255,255,.25);text-align:center;line-height:1.8;margin-top:24px;letter-spacing:.02em}
#mm{position:fixed;inset:0;z-index:1900;display:flex;visibility:hidden;background:rgba(0,0,0,0);transition:background .28s ease,visibility 0s linear .28s}
#mm.open{visibility:visible;background:rgba(0,0,0,.72);transition:background .28s ease,visibility 0s;backdrop-filter:blur(4px)}
#mm.open #mm-inner{transform:translateX(0)}
#mm-inner{display:flex;flex-direction:column;height:100%;width:100%;overflow-y:auto;transform:translateX(-100%);transition:transform .32s cubic-bezier(.25,.46,.45,.94);background:#FFFFFF}
.mmh{display:flex;justify-content:space-between;align-items:center;padding:13px 18px;border-bottom:1px solid var(--gray-l);background:#FFFFFF;position:sticky;top:0;z-index:1}
.mml{font-family:var(--fd);font-size:18px;font-weight:900;color:var(--plum);text-transform:uppercase;display:flex;align-items:center;gap:6px;letter-spacing:.02em}
.mmc{font-size:28px;color:var(--muted);background:none;border:none;cursor:pointer;line-height:1;transition:color .15s;padding:4px}
.mmc:hover{color:var(--body)}
.mml2{flex:1;padding:4px 0}
.mla{display:flex;align-items:center;justify-content:space-between;padding:18px 22px;font-family:var(--fd);font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--body);border-bottom:1px solid var(--gray-l);cursor:pointer;transition:background .15s}
.mla:hover,.mla:active{background:var(--off);color:var(--plum)}
.mla::after{content:"›";font-size:20px;color:var(--muted)}
.mla.no-arrow::after{display:none}
.mmf{padding:20px;border-top:1px solid var(--gray-l);margin-top:auto}
.mmf p{font-size:10px;color:var(--muted);line-height:1.7;text-align:center}
#so{display:none;position:fixed;inset:0;background:#FFFFFF;z-index:1800;flex-direction:column}
#so.open{display:flex}
.soh{display:flex;align-items:center;gap:12px;padding:14px 18px;border-bottom:1px solid var(--gray)}
.soi{flex:1;border:none;font-size:16px;font-family:var(--fb);outline:none;color:var(--black);padding:4px 0;letter-spacing:.01em}
.soc{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1;transition:color .15s}
.soc:hover{color:var(--black)}
.sob{padding:18px}
.sor{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:14px}
.srg{display:flex;flex-direction:column;gap:8px}
.sri{display:flex;gap:14px;align-items:center;cursor:pointer;padding:10px;border-radius:var(--radius);transition:var(--transition)}
.sri:hover{background:var(--off)}
.sri-img{width:52px;height:52px;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.sri-name{font-size:13px;font-weight:600;margin-bottom:2px;letter-spacing:.01em}
.sri-price{font-family:var(--fd);font-size:15px;font-weight:900;color:var(--plum)}
.sri-orig{font-size:11px;color:var(--muted);text-decoration:line-through;margin-left:4px}
#no-results{display:none;text-align:center;padding:40px;color:var(--muted);font-size:14px}
#co{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.6);z-index:2000;backdrop-filter:blur(2px)}
/* ══ CART PANEL - PREMIUM DARK ══ */
#cd{
  display:none;position:fixed;
  top:0;left:0;right:0;
  width:auto;height:100vh;
  background:#FFFFFF;
  z-index:2001;flex-direction:column;
  box-shadow:-8px 0 48px rgba(0,0,0,.18);
}
@media (min-width:600px){
  #cd{ left:auto; width:420px; }
}
#cd.open{display:flex}
/* Header */
.cdh{
  display:flex;justify-content:space-between;align-items:center;
  padding:0 20px;height:62px;
  border-bottom:1px solid #EBE8E5;
  flex-shrink:0;background:#FFFFFF;
  position:relative;
}
.cdht{
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:#111111;
  position:absolute;left:50%;transform:translateX(-50%);
}
.cdc{
  font-size:24px;background:none;border:none;
  cursor:pointer;color:#9CA3AF;
  line-height:1;transition:color .15s;
  margin-left:auto;
}
.cdc:hover{color:#111111}
/* Count badge */
.cart-count-badge{
  font-family:var(--fd);font-size:11px;font-weight:900;
  color:#9CA3AF;letter-spacing:.08em;
  text-transform:uppercase;
}
/* Scrollable body */
.cdb2{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.cdb2::-webkit-scrollbar{width:3px}
.cdb2::-webkit-scrollbar-track{background:#F5F5F5}
.cdb2::-webkit-scrollbar-thumb{background:#D9D6D3;border-radius:99px}
/* Empty state */
.ce{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  height:100%;padding:40px 20px;text-align:center;
}
.ce h3{
  font-family:var(--fd);font-size:22px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:#111111;margin-bottom:8px;
}
.ce p{font-size:13px;color:#6B7280;margin-bottom:28px;line-height:1.6}
/* Free shipping bar */
.cart-ship-wrap{
  padding:14px 20px;
  border-bottom:1px solid #F7F4F1;
  background:#FAFAFA;
}
.cart-ship-txt{
  font-size:12px;font-weight:600;color:#474441;
  margin-bottom:8px;text-align:center;
}
.cart-ship-txt strong{color:var(--plum)}
.cart-ship-track{
  background:#EBE8E5;
  border-radius:99px;height:5px;overflow:hidden;
}
.cart-ship-fill{
  background:linear-gradient(90deg,var(--plum),#585552);
  height:100%;border-radius:99px;
  transition:width .5s cubic-bezier(.4,0,.2,1);
}
.cart-ship-fill.done{background:linear-gradient(90deg,#1B1B19,#1B1B19)}
/* Items list */
.cil{padding:0 20px}
.ci{
  display:flex;gap:16px;
  padding:20px 0;
  border-bottom:1px solid #F7F4F1;
  align-items:flex-start;
}
.ci:last-child{border-bottom:none}
/* Product image */
.cii{
  width:110px;height:136px;
  background:linear-gradient(160deg,#ECE9E6,#D5D2CF);
  border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  overflow:hidden;
  border:1px solid #F7F4F1;
}
.cii img{width:100%;height:100%;object-fit:cover}
/* Item info */
.cin{flex:1;padding-top:2px}
.cibdg{
  display:inline-block;background:var(--plum);
  color:#FFFFFF;
  font-size:9px;font-weight:900;text-transform:uppercase;
  letter-spacing:.08em;padding:3px 8px;border-radius:4px;
  margin-bottom:7px;
}
.cinm{
  font-size:14px;font-weight:700;color:#111111;
  line-height:1.35;cursor:pointer;
  transition:color .15s;margin-bottom:4px;
}
.cinm:hover{color:var(--plum)}
.cim{
  font-size:11px;color:#6B7280;
  margin-bottom:10px;letter-spacing:.01em;
}
/* Price row */
.ci-price-row{
  display:flex;align-items:baseline;gap:8px;margin-bottom:12px;
}
.ci-vip-price{
  font-family:var(--fd);font-size:19px;
  font-weight:900;color:var(--plum);
}
.ci-retail-price{
  font-size:12px;color:#9CA3AF;
  text-decoration:line-through;
}
/* Qty controls */
.ciqr{
  display:flex;align-items:center;gap:0;
  background:#FFFFFF;
  border:1.5px solid #EBE8E5;
  border-radius:8px;overflow:hidden;
  width:fit-content;margin-bottom:10px;
}
.ciqb{
  width:36px;height:34px;
  background:none;border:none;
  cursor:pointer;font-size:16px;font-weight:700;
  color:#474441;
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.ciqb:hover{background:#FAFAFA;color:#111111}
.ciq{
  font-size:13px;font-weight:700;color:#111111;
  min-width:32px;text-align:center;
  border-left:1.5px solid #EBE8E5;
  border-right:1.5px solid #EBE8E5;
  line-height:34px;
}
/* Action buttons */
.cmfav{
  background:none;border:none;
  font-size:11px;font-weight:600;
  color:#9CA3AF;
  cursor:pointer;padding:0;
  transition:color .15s;letter-spacing:.01em;
}
.cmfav:hover{color:#474441}
.cmfav.remove:hover{color:#9D9A97}
/* VIP upsell card */
.cart-vip-card{
  margin:18px 20px;
  background:linear-gradient(135deg,#F9F6F3,#F3F0ED);
  border:1px solid rgba(55,52,49,.15);
  border-radius:14px;padding:18px;
}
.cart-vip-card h4{
  font-family:var(--fd);font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--plum);margin-bottom:6px;
}
.cart-vip-card p{
  font-size:12px;color:#5A5754;
  line-height:1.6;margin-bottom:14px;
}
.cart-vip-btn{
  display:block;width:100%;
  background:var(--plum);color:#FFFFFF;
  border:none;padding:11px;border-radius:8px;
  font-family:var(--fd);font-size:14px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  cursor:pointer;transition:background .15s;
}
.cart-vip-btn:hover{background:#2B2825}
/* Promo code */
.cart-promo-wrap{
  padding:16px 20px;
  border-top:1px solid #F7F4F1;
}
.cart-promo-row{display:flex;gap:8px}
.cart-promo-inp{
  flex:1;background:#FFFFFF;
  border:1.5px solid #EBE8E5;
  border-radius:8px;color:#111111;
  padding:11px 14px;font-size:13px;
  font-family:var(--fb);outline:none;
  transition:border-color .2s;
}
.cart-promo-inp:focus{border-color:var(--plum)}
.cart-promo-inp::placeholder{color:#9CA3AF}
.cart-promo-apply{
  background:#FAFAFA;
  border:1.5px solid #EBE8E5;
  color:#474441;border-radius:8px;
  padding:11px 16px;font-family:var(--fd);
  font-size:13px;font-weight:900;
  text-transform:uppercase;letter-spacing:.05em;
  cursor:pointer;white-space:nowrap;transition:background .15s;
}
.cart-promo-apply:hover{background:#F7F4F1}
/* Order summary */
.cart-summary{
  padding:18px 20px;
  border-top:1px solid #F7F4F1;
}
.cart-sum-row{
  display:flex;justify-content:space-between;
  align-items:center;padding:6px 0;
}
.cart-sum-lbl{font-size:13px;color:#6B7280}
.cart-sum-val{font-size:13px;font-weight:600;color:#111111}
.cart-sum-row.savings .cart-sum-val{color:#1B1B19}
.cart-sum-row.total{
  border-top:1.5px solid #EBE8E5;
  margin-top:8px;padding-top:14px;
}
.cart-sum-row.total .cart-sum-lbl{
  font-family:var(--fd);font-size:16px;
  font-weight:900;text-transform:uppercase;
  letter-spacing:.06em;color:#111111;
}
.cart-sum-row.total .cart-sum-val{
  font-family:var(--fd);font-size:22px;
  font-weight:900;color:var(--plum);
}
/* CTA wrap */
.cart-cta-wrap{
  padding:16px 20px 28px;
  border-top:1px solid #EBE8E5;
  background:#FFFFFF;flex-shrink:0;
}
.btn-checkout{
  display:block;width:100%;
  background:var(--plum);color:#FFFFFF;border:none;
  padding:17px;font-family:var(--fd);
  font-size:17px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:12px;cursor:pointer;
  box-shadow:0 8px 28px rgba(212,0,15,.25);
  transition:background .2s,transform .15s;
  margin-bottom:12px;
}
.btn-checkout:hover{background:#D4000F;transform:translateY(-1px)}
.cart-secure{
  display:flex;align-items:center;justify-content:center;gap:16px;
}
.cart-secure span{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:#9CA3AF;
}
/* Header */
.cdh{
  display:flex;justify-content:space-between;align-items:center;
  padding:0 20px;height:62px;
  border-bottom:1px solid rgba(255,255,255,.07);
  flex-shrink:0;background:#040404;
}
.cdht{
  font-family:'Barlow Condensed',sans-serif;
  font-size:18px;font-weight:600;letter-spacing:.2em;
  text-transform:uppercase;color:#FFFFFF;
  position:absolute;left:50%;transform:translateX(-50%);
}
.cdc{
  font-size:24px;background:none;border:none;
  cursor:pointer;color:rgba(255,255,255,.4);
  line-height:1;transition:color .15s;
  margin-left:auto;
}
.cdc:hover{color:#FFFFFF}
/* Count badge */
.cart-count-badge{
  font-family:var(--fd);font-size:11px;font-weight:900;
  color:rgba(255,255,255,.4);letter-spacing:.08em;
  text-transform:uppercase;
}
/* Scrollable body */
.cdb2{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}
.cdb2::-webkit-scrollbar{width:3px}
.cdb2::-webkit-scrollbar-track{background:transparent}
.cdb2::-webkit-scrollbar-thumb{background:rgba(255,255,255,.1);border-radius:99px}
/* Empty state */
.ce{
  display:flex;flex-direction:column;
  align-items:center;justify-content:center;
  height:100%;padding:40px 20px;text-align:center;
}
.ce h3{
  font-family:var(--fd);font-size:22px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:#FFFFFF;margin-bottom:8px;
}
.ce p{font-size:13px;color:rgba(255,255,255,.4);margin-bottom:28px;line-height:1.6}
/* Free shipping bar */
.cart-ship-wrap{
  padding:16px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
}
.cart-ship-txt{
  font-size:12px;font-weight:600;color:rgba(255,255,255,.65);
  margin-bottom:10px;text-align:center;
}
.cart-ship-txt strong{color:#FFFFFF}
.cart-ship-track{
  background:rgba(255,255,255,.08);
  border-radius:99px;height:5px;overflow:hidden;
}
.cart-ship-fill{
  background:linear-gradient(90deg,var(--plum),#585552);
  height:100%;border-radius:99px;
  transition:width .5s cubic-bezier(.4,0,.2,1);
}
.cart-ship-fill.done{background:linear-gradient(90deg,#1B1B19,#1B1B19)}
/* Items list */
.cil{padding:0 20px}
.ci{
  display:flex;gap:16px;
  padding:20px 0;
  border-bottom:1px solid rgba(255,255,255,.06);
  align-items:flex-start;
}
.ci:last-child{border-bottom:none}
/* Product image */
.cii{
  width:110px;height:136px;
  background:linear-gradient(160deg,#1E1E1E,#0C0C0C);
  border-radius:12px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:28px;overflow:hidden;
  border:1px solid rgba(255,255,255,.06);
}
.cii img{width:100%;height:100%;object-fit:cover}
/* Item info */
.cin{flex:1;padding-top:2px}
.cibdg{
  display:inline-block;background:rgba(255,255,255,.12);
  color:#FFFFFF;border:1px solid rgba(255,255,255,.2);
  font-size:9px;font-weight:900;text-transform:uppercase;
  letter-spacing:.08em;padding:3px 8px;border-radius:4px;
  margin-bottom:7px;
}
.cinm{
  font-size:14px;font-weight:700;color:#FFFFFF;
  line-height:1.35;cursor:pointer;
  transition:color .15s;margin-bottom:4px;
}
.cinm:hover{color:#FFFFFF}
.cim{
  font-size:11px;color:rgba(255,255,255,.4);
  margin-bottom:10px;letter-spacing:.01em;
}
/* Price row */
.ci-price-row{
  display:flex;align-items:baseline;gap:8px;margin-bottom:12px;
}
.ci-vip-price{
  font-family:var(--fd);font-size:19px;
  font-weight:900;color:#FFFFFF;
}
.ci-retail-price{
  font-size:12px;color:rgba(255,255,255,.3);
  text-decoration:line-through;
}
/* Qty controls */
.ciqr{
  display:flex;align-items:center;gap:0;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;overflow:hidden;
  width:fit-content;margin-bottom:10px;
}
.ciqb{
  width:36px;height:34px;
  background:none;border:none;
  cursor:pointer;font-size:16px;font-weight:700;
  color:rgba(255,255,255,.7);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s,color .15s;
}
.ciqb:hover{background:rgba(255,255,255,.1);color:#FFFFFF}
.ciq{
  font-size:13px;font-weight:700;color:#FFFFFF;
  min-width:32px;text-align:center;
  border-left:1px solid rgba(255,255,255,.08);
  border-right:1px solid rgba(255,255,255,.08);
  line-height:34px;
}
/* Action buttons */
.cmfav{
  background:none;border:none;
  font-size:11px;font-weight:600;
  color:rgba(255,255,255,.4);
  cursor:pointer;padding:0;
  transition:color .15s;letter-spacing:.01em;
}
.cmfav:hover{color:#FFFFFF}
.cmfav.remove:hover{color:#9D9A97}
/* VIP upsell card */
.cart-vip-card{
  margin:18px 20px;
  background:linear-gradient(135deg,rgba(55,52,49,.7),rgba(30,30,30,.8));
  border:1px solid rgba(255,255,255,.15);
  border-radius:14px;padding:18px;
}
.cart-vip-card h4{
  font-family:var(--fd);font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:#FFFFFF;margin-bottom:6px;
}
.cart-vip-card p{
  font-size:12px;color:rgba(255,255,255,.6);
  line-height:1.6;margin-bottom:14px;
}
.cart-vip-btn{
  display:block;width:100%;
  background:#1B1B19;color:#101010;
  border:none;padding:11px;border-radius:8px;
  font-family:var(--fd);font-size:14px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  cursor:pointer;transition:background .15s;
}
.cart-vip-btn:hover{background:#FFFFFF}
/* Promo code */
.cart-promo-wrap{
  padding:16px 20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.cart-promo-row{
  display:flex;gap:8px;
}
.cart-promo-inp{
  flex:1;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:8px;color:#FFFFFF;
  padding:11px 14px;font-size:13px;
  font-family:var(--fb);outline:none;
  transition:border-color .2s;
}
.cart-promo-inp:focus{border-color:rgba(255,255,255,.4)}
.cart-promo-inp::placeholder{color:rgba(255,255,255,.25)}
.cart-promo-apply{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#FFFFFF;border-radius:8px;
  padding:11px 16px;font-family:var(--fd);
  font-size:13px;font-weight:900;
  text-transform:uppercase;letter-spacing:.05em;
  cursor:pointer;white-space:nowrap;
  transition:background .15s;
}
.cart-promo-apply:hover{background:rgba(255,255,255,.14)}
/* Order summary */
.cart-summary{
  padding:18px 20px;
  border-top:1px solid rgba(255,255,255,.06);
}
.cart-sum-row{
  display:flex;justify-content:space-between;
  align-items:center;padding:6px 0;
}
.cart-sum-lbl{font-size:13px;color:rgba(255,255,255,.55)}
.cart-sum-val{font-size:13px;font-weight:600;color:#FFFFFF}
.cart-sum-row.savings .cart-sum-val{color:#1B1B19}
.cart-sum-row.total{
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:8px;padding-top:14px;
}
.cart-sum-row.total .cart-sum-lbl{
  font-family:var(--fd);font-size:16px;
  font-weight:900;text-transform:uppercase;
  letter-spacing:.06em;color:#FFFFFF;
}
.cart-sum-row.total .cart-sum-val{
  font-family:var(--fd);font-size:22px;
  font-weight:900;color:#FFFFFF;
}
/* CTA wrap */
.cart-cta-wrap{
  padding:16px 20px 28px;
  border-top:1px solid rgba(255,255,255,.06);
  background:#040404;flex-shrink:0;
}
.btn-checkout{
  display:block;width:100%;
  background:#D4000F;color:#FFFFFF;border:none;
  padding:17px;font-family:var(--fd);
  font-size:17px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:12px;cursor:pointer;
  box-shadow:0 8px 28px rgba(212,0,15,.35);
  transition:background .2s,transform .15s;
  margin-bottom:12px;
}
.btn-checkout:hover{background:#D4000F;transform:translateY(-1px)}
.cart-secure{
  display:flex;align-items:center;justify-content:center;gap:16px;
}
.cart-secure span{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:rgba(255,255,255,.3);
}
.cdh{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--gray);flex-shrink:0}
.cdht{font-family:var(--fd);font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
.cdc{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1;transition:color .15s}
.cdc:hover{color:var(--black)}
.cdb2{flex:1;overflow-y:auto}
.ce{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;padding:40px 20px;text-align:center}
.cei{font-size:52px;margin-bottom:14px}
.ce h3{font-family:var(--fd);font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;margin-bottom:6px}
.ce p{font-size:12px;color:var(--muted);margin-bottom:24px;line-height:1.6}
.csb{padding:12px 18px;background:var(--off);border-bottom:1px solid var(--gray)}
.cst{font-size:11px;font-weight:600;margin-bottom:6px;color:var(--body)}
.cpw{background:var(--gray);border-radius:99px;height:4px;overflow:hidden}
.cpr{background:linear-gradient(90deg,var(--plum),var(--plum-l));height:100%;border-radius:99px;transition:width .4s}
.csl{display:flex;justify-content:space-between;font-size:8px;font-weight:700;text-transform:uppercase;margin-top:3px}
.csl .cfr{color:var(--red)}
.cil{padding:0 18px}
.ci{display:flex;gap:12px;padding:15px 0;border-bottom:1px solid var(--gray-l);align-items:flex-start}
.cii{width:88px;height:110px;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:26px;overflow:hidden}
.cii img{width:100%;height:100%;object-fit:cover}
.cin{flex:1}
.cibdg{display:inline-block;background:#D4000F;color:#FFFFFF;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:3px;margin-bottom:5px}
.cinm{font-size:13px;font-weight:700;margin-bottom:3px;text-decoration:none;line-height:1.35;cursor:pointer;transition:color .15s;color:var(--black)}
.cmfav{background:none;border:none;font-size:11px;font-weight:600;color:var(--plum);cursor:pointer;text-decoration:underline;padding:0;margin-top:4px;display:inline-block}
.cinm:hover{color:var(--plum)}
.cim{font-size:10px;color:var(--muted);margin-bottom:4px;letter-spacing:.01em}
.ciqr{display:flex;align-items:center;gap:6px;margin-top:5px}
.ciqb{width:26px;height:26px;background:var(--gl);border:1px solid var(--gray);border-radius:6px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:14px;font-weight:700;line-height:1;transition:var(--transition)}
.ciqb:hover{background:var(--gray);border-color:var(--body)}
.ciq{font-size:12px;font-weight:700;min-width:20px;text-align:center}
.cirm{background:none;border:none;cursor:pointer;color:var(--muted);font-size:14px;margin-left:auto;transition:color .15s}
.cirm:hover{color:var(--red)}
.ciprice{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--plum);margin-left:auto}
.cvn{padding:11px 18px;background:linear-gradient(90deg,#F9F6F3,#F3F0ED);border-bottom:1px solid var(--gray);display:flex;gap:10px;align-items:flex-start}
.cvl{width:36px;height:36px;background:rgba(55,52,49,.08);border-radius:8px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:16px}
.cho-hdr{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--gray);flex-shrink:0;position:sticky;top:0;background:#FFFFFF;z-index:10}
.cho-t{font-family:var(--fd);font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.06em}
#cho-close{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1}
.chs{flex:1;overflow-y:auto;padding:20px 18px;display:flex;flex-direction:column}
.chs-title{font-family:var(--fd);font-size:21px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;margin-bottom:18px;line-height:1}
.chs-steps{display:flex;gap:0;margin-bottom:24px;background:var(--off);border-radius:8px;padding:3px}
.chs-step{flex:1;text-align:center;padding:8px 4px;font-family:var(--fd);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);border-radius:6px;transition:var(--transition)}
.chs-step.active{background:#FFFFFF;color:var(--plum);box-shadow:var(--shadow-sm)}
.fg{display:flex;flex-direction:column;gap:10px;margin-bottom:14px}
.fi{border:1.5px solid var(--gray);border-radius:8px;padding:12px 14px;font-size:14px;outline:none;width:100%;color:var(--black);transition:border-color .2s,box-shadow .2s;background:#FFFFFF}
.fi:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(55,52,49,.08)}
.fi::placeholder{color:var(--muted)}
.fi2r{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.do{border:1.5px solid var(--gray);border-radius:var(--radius);padding:13px 14px;display:flex;gap:12px;align-items:center;cursor:pointer;margin-bottom:9px;transition:var(--transition)}
.do:hover{border-color:var(--plum-l)}
.do.active{border-color:var(--plum);background:linear-gradient(90deg,#F8F8F8,#FBFBFB)}
.do-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--gray);flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.do.active .do-radio{border-color:var(--plum);background:var(--plum)}
.do.active .do-radio::after{content:'';width:7px;height:7px;background:#FFFFFF;border-radius:50%}
.do-name{font-size:13px;font-weight:700}
.do-sub{font-size:11px;color:var(--muted)}
.do-price{font-family:var(--fd);font-size:17px;font-weight:900;color:var(--plum)}
.vipc{background:var(--off);border-radius:var(--radius);padding:15px;margin-bottom:14px}
.vipc-title{font-size:13px;font-weight:700;color:var(--plum);margin-bottom:7px;display:flex;align-items:center;gap:5px}
.vipc p{font-size:10px;color:var(--muted);line-height:1.65}
.vipc label{display:flex;align-items:flex-start;gap:9px;margin-top:10px;font-size:10px;color:var(--body);cursor:pointer}
.vipc input[type=checkbox]{width:14px;height:14px;flex-shrink:0;margin-top:2px;accent-color:var(--plum)}
.po-btn{display:block;width:100%;background:linear-gradient(135deg,#D4000F,#D4000F);color:#FFFFFF;border:none;padding:16px;font-family:var(--fd);font-size:19px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;border-radius:var(--radius);box-shadow:0 8px 24px rgba(13,13,13,.3);transition:var(--transition);margin-bottom:8px}
.po-btn:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(13,13,13,.45)}
.secure-note{display:flex;align-items:center;justify-content:center;gap:6px;font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.ch-suc{text-align:center;padding:28px 18px}
.ch-suc .icon{font-size:64px;margin-bottom:16px}
.ch-suc h2{font-family:var(--fd);font-size:30px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:10px;color:var(--plum)}
.ch-suc p{font-size:13px;color:var(--muted);line-height:1.7;margin-bottom:8px}
.ch-suc .onum{font-family:var(--fd);font-size:17px;font-weight:900;color:var(--black);margin-bottom:22px}
.ch-suc .disc-note{background:var(--off);border-radius:var(--radius);padding:14px 16px;font-size:11px;color:var(--muted);line-height:1.65;margin-bottom:22px;border:1px solid var(--gray)}
#spo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.78);z-index:5000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
#spo.open{display:flex}
#spm{background:linear-gradient(160deg,#F7F4F1 0%,#FFFFFF 60%);border-radius:var(--radius-xl);width:100%;max-width:480px;padding:32px 28px 28px;text-align:center;position:relative;max-height:95vh;overflow-y:auto;box-shadow:0 32px 80px rgba(0,0,0,.5)}
.spcl{position:absolute;top:13px;right:15px;font-size:21px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1}
.sptit{font-family:var(--fd);font-size:clamp(30px,9vw,50px);font-weight:900;text-transform:uppercase;letter-spacing:-.03em;margin-bottom:5px;line-height:1}
.spsub{font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--body);margin-bottom:24px;line-height:1.4}
.spww{position:relative;width:320px;height:320px;margin:0 auto 24px}
.spptr{position:absolute;top:-15px;left:50%;transform:translateX(-50%);width:0;height:0;border-left:9px solid transparent;border-right:9px solid transparent;border-top:20px solid var(--yellow);z-index:2;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}
#wc{border-radius:50%;box-shadow:0 10px 40px rgba(0,0,0,.25);cursor:pointer}
.spnt{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);cursor:pointer;text-decoration:underline;text-underline-offset:3px;margin-top:12px;display:inline-block;transition:color .15s}
.spnt:hover{color:var(--plum)}
#toast{position:fixed;bottom:100px;left:50%;transform:translateX(-50%) translateY(70px);background:rgba(13,13,13,.96);color:#FFFFFF;padding:12px 20px;border-radius:12px;font-size:13px;font-weight:600;z-index:9999;transition:transform .3s cubic-bezier(.25,.46,.45,.94),opacity .3s;opacity:0;white-space:nowrap;display:flex;align-items:center;gap:8px;max-width:calc(100vw - 32px);box-shadow:0 8px 32px rgba(0,0,0,.35);backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}
#toast.show{transform:translateX(-50%) translateY(0);opacity:1}
#wlp{display:none;position:fixed;top:0;right:0;width:min(350px,100vw);height:100vh;background:#FFFFFF;z-index:2100;flex-direction:column;box-shadow:-8px 0 48px rgba(0,0,0,.15)}
#wlp.open{display:flex}
#wlo{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:2099;backdrop-filter:blur(2px)}
.wlh{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid var(--gray);flex-shrink:0}
.wlht{font-family:var(--fd);font-size:19px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}
.wlc{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1;transition:color .15s}
.wlc:hover{color:var(--black)}
.wlb{flex:1;overflow-y:auto;padding:16px 18px}
.wl-empty{text-align:center;padding:36px;color:var(--muted);font-size:13px}
.wl-empty .icon{font-size:42px;margin-bottom:12px}
.wli{display:flex;gap:12px;padding:13px 0;border-bottom:1px solid var(--gray-l);align-items:center}
.wli-img{width:58px;height:72px;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);border-radius:8px;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0}
.wli-info{flex:1}
.wli-name{font-size:12px;font-weight:600;margin-bottom:3px;line-height:1.3}
.wli-price{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--plum)}
.wli-add{background:var(--plum);color:#FFFFFF;border:none;padding:6px 12px;font-family:var(--fd);font-size:12px;font-weight:900;text-transform:uppercase;border-radius:6px;cursor:pointer;margin-top:5px;transition:var(--transition)}
.wli-add:hover{background:var(--plum-d)}
.wli-rm{background:none;border:none;color:var(--muted);cursor:pointer;font-size:14px;margin-left:4px;transition:color .15s}
.wli-rm:hover{color:var(--red)}
.wli-actions{display:flex;align-items:center;gap:8px;margin-top:6px}
.wl-hb{display:none;position:absolute;top:-5px;right:-5px;background:var(--plum);color:#FFFFFF;font-size:9px;font-weight:900;width:16px;height:16px;border-radius:50%;display:none;align-items:center;justify-content:center;border:2px solid #FFFFFF}
.wl-hb.show{display:flex}
.testi-grid{display:flex;flex-direction:column;gap:14px}
.testi{background:var(--off);border-radius:var(--radius-lg);padding:18px 20px;border:1px solid var(--gray-l);transition:var(--transition)}
.testi:hover{border-color:var(--plum);box-shadow:var(--shadow-sm)}
.testi-text{font-size:13px;color:var(--body);line-height:1.75;font-style:italic;margin-bottom:10px}
.testi-attr{font-size:10px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.07em}
.tstar{color:#7D7A77;font-size:12px;margin-bottom:8px;letter-spacing:1px}
@media(min-width:640px){.cg{grid-template-columns:repeat(3,1fr)}.pg{grid-template-columns:repeat(3,1fr)}.testi-grid{display:grid;grid-template-columns:repeat(2,1fr)}}
@media(min-width:1024px){.cg{grid-template-columns:repeat(6,1fr)}.pg{grid-template-columns:repeat(4,1fr)}nav{padding:15px 36px}.sec{padding:92px 36px}#deals-bar{padding:16px 36px}.testi-grid{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1440px){nav{padding:16px 48px}.sec{padding:72px 48px}}
@keyframes fadeUp{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes shimmer{0%{background-position:-200% center}100%{background-position:200% center}}
.hc>*{animation:fadeUp .7s cubic-bezier(.25,.46,.45,.94) both}
.hc>*:nth-child(2){animation-delay:.1s}
.hc>*:nth-child(3){animation-delay:.2s}
.hc>*:nth-child(4){animation-delay:.3s}
.hc>*:nth-child(5){animation-delay:.4s}

/* ── GLOBAL LINK RESET  -  fixes blue links ── */
a{color:inherit;text-decoration:none}
a:hover{color:inherit}

/* ── OVP PANELS  -  full screen overlay pages ── */
.ovp{
  display:none;
  position:fixed;inset:0;
  background:#FFFFFF;
  z-index:790;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
.ovp.open{display:block}
.ovp .hv .btn-w{display:none}
.ovp-hdr{
  position:relative;top:auto;z-index:10;
  display:flex;align-items:center;gap:12px;
  padding:0 16px;height:56px;
  background:#FFFFFF;
  border-bottom:1px solid var(--gray);
}
.ovp-title{
  font-family:var(--fd);font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  color:var(--black);flex:1;text-align:center;
}
.ovp-back{
  background:none;border:none;cursor:pointer;
  font-size:22px;color:var(--body);line-height:1;
  padding:4px 6px;border-radius:6px;
  transition:color .15s;flex-shrink:0;
}
.ovp-back:hover{color:var(--black);background:var(--gl)}

/* ── SELECTIVE DARK THEMING ── */
/* About Us, Member Services, Gift Cards -- light sticky headers */
#ovp-about .ovp-hdr,#ovp-services .ovp-hdr,#ovp-gifts .ovp-hdr{
  background:#FFFFFF;
  border-bottom:1px solid rgba(0,0,0,.08);
}
#ovp-about .ovp-hdr *,#ovp-services .ovp-hdr *,#ovp-gifts .ovp-hdr *{color:var(--body)}
#ovp-about .ovp-title,#ovp-services .ovp-title,#ovp-gifts .ovp-title{
  font-family:'Barlow Condensed',sans-serif;
  font-size:15px;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--body);
}

/* ══ ACCOUNT PANEL - RETAIL PREMIUM ══ */
#ovp-account{background:#F7F4F1}
#ovp-account .ovp-hdr,#ovp-services .ovp-hdr,#ovp-gifts .ovp-hdr,#ovp-about .ovp-hdr{display:none}

/* Top bar */
.ac-topbar{
  background:#FFFFFF;
  padding:16px 20px;
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid #E6E3E0;
}
.ac-topbar-title{
  font-family:var(--fd);font-size:13px;font-weight:900;
  text-transform:uppercase;letter-spacing:.18em;color:#111111;
}
.ac-signout{
  background:#D4000F;border:none;color:#FFFFFF;
  padding:9px 20px;border-radius:6px;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;cursor:pointer;
  transition:background .15s;
}
.ac-signout:hover{background:#D4000F}

/* Hero */
.ac-hero{
  background:#FFFFFF;
  padding:40px 24px 32px;
  text-align:center;
  border-bottom:1px solid #E6E3E0;
}
.ac-hero-name{
  font-family:var(--fd);font-size:42px;font-weight:900;
  color:#111111;letter-spacing:-.02em;line-height:1;margin-bottom:8px;
}
.ac-hero-email{
  font-size:13px;color:#888888;margin-bottom:16px;letter-spacing:.01em;
}
.ac-hero-vip{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#373431,#4F4C49);
  color:#FFFFFF;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.12em;
  padding:7px 18px;border-radius:99px;
  box-shadow:0 4px 14px rgba(55,52,49,.3);
  margin-bottom:32px;
}
.ac-hero-vip::before{content:'◆';font-size:7px;opacity:.7}

/* Stats row */
.ac-stats-row{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:0;
  border:1px solid #E6E3E0;border-radius:14px;
  overflow:hidden;background:#FFFFFF;
  box-shadow:0 2px 12px rgba(0,0,0,.06);
  margin:0 0 0;
}
.ac-stat-cell{
  padding:20px 12px;text-align:center;
  border-right:1px solid #E6E3E0;
}
.ac-stat-cell:last-child{border-right:none}
.ac-stat-v{
  font-family:var(--fd);font-size:22px;font-weight:900;
  color:#111111;line-height:1;margin-bottom:5px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.ac-stat-l{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:#999999;
}

/* Tabs */
.ac-tabs{
  display:flex;
  background:#FFFFFF;
  border-bottom:2px solid #E6E3E0;
  padding:0 8px;
}
.ac-tabs::-webkit-scrollbar{display:none}
.ac-tab{
  flex:1;
  padding:13px 4px;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  color:#999999;background:none;border:none;cursor:pointer;
  border-bottom:2px solid transparent;margin-bottom:-2px;
  transition:color .15s,border-color .15s;
  white-space:nowrap;text-align:center;
}
.ac-tab.active{color:#111111;border-bottom-color:#111111}

/* Panel body */
.ac-panel{display:none;padding:0 0 80px}
.ac-panel.active{display:block}

/* Section label */
.ac-sec{
  display:block;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em;color:#999999;
  padding:28px 22px 10px;
}
.ac-sec:first-child{padding-top:24px}

/* Cards */
.ac-card{
  background:#FFFFFF;
  border-radius:14px;
  border:1px solid #E6E3E0;
  overflow:hidden;
  margin:0 16px 16px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ac-card-hdr{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;
  border-bottom:1px solid #EFECE9;
}
.ac-card-hdr strong{
  font-family:var(--fd);font-size:15px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;color:#111111;
}
.ac-card-hdr button{
  background:#F5F2EF;border:none;color:var(--plum);
  padding:6px 14px;border-radius:6px;
  font-size:12px;font-weight:700;cursor:pointer;
  transition:background .15s;text-transform:uppercase;letter-spacing:.04em;
}
.ac-card-hdr button:hover{background:#E9E6E3}
.ac-card-row{
  display:flex;justify-content:space-between;align-items:center;
  padding:15px 20px;
  border-bottom:1px solid #F5F2EF;
}
.ac-card-row:last-child{border-bottom:none}
.ac-lbl{color:#888888;font-size:13px;font-weight:500}
.ac-val{
  font-size:13px;font-weight:600;color:#111111;
  text-align:right;max-width:60%;
}

/* Action buttons */
.ac-action-btn{
  display:flex;align-items:center;justify-content:space-between;
  width:100%;background:#FFFFFF;
  border:1px solid #E6E3E0;border-radius:14px;
  padding:18px 20px;cursor:pointer;
  margin:0 0 10px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  transition:border-color .15s,box-shadow .15s;
}
.ac-action-btn:hover{border-color:#B9B6B3;box-shadow:0 4px 16px rgba(55,52,49,.1)}
.ac-action-icon{
  width:42px;height:42px;
  background:linear-gradient(135deg,#373431,#4F4C49);
  border-radius:10px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ac-action-text{text-align:left;flex:1;padding:0 14px}
.ac-action-title{
  font-family:var(--fd);font-size:15px;font-weight:900;
  text-transform:uppercase;color:#111111;letter-spacing:.04em;margin-bottom:2px;
}
.ac-action-sub{font-size:11px;color:#999999}
.ac-action-arrow{font-size:22px;color:#C0B0BA}

/* Orders */
.ac-order{
  background:#FFFFFF;border:1px solid #E6E3E0;
  border-radius:14px;overflow:hidden;
  margin:0 16px 12px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ac-order-hdr{
  display:flex;justify-content:space-between;align-items:flex-start;
  padding:16px 20px;border-bottom:1px solid #F5F2EF;
}
.ac-order-num{
  font-family:var(--fd);font-size:15px;font-weight:900;
  color:var(--plum);letter-spacing:.03em;
}
.ac-order-date{font-size:11px;color:#999999;margin-top:2px}
.ac-order-items{
  font-size:12px;color:#888888;padding:12px 20px;
  border-bottom:1px solid #F5F2EF;line-height:1.5;
}
.ac-order-footer{
  display:flex;justify-content:space-between;align-items:center;
  padding:12px 20px;
}
.ac-order-total{
  font-family:var(--fd);font-size:18px;font-weight:900;color:#111111;
}
.ac-track-btn{
  background:#111111;color:#FFFFFF;border:none;
  padding:8px 18px;border-radius:6px;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;cursor:pointer;
}
.ac-status{
  display:inline-block;padding:4px 12px;border-radius:99px;
  font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;
}
.ac-status.processing{background:#E5E2DF;color:#53504D}
.ac-status.delivered{background:#EFECE9;color:#1B1B19}

/* Saved items */
.ac-saved-grid{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:12px;padding:0 16px 16px;
}
.ac-saved-item{
  background:#FFFFFF;border:1px solid #E6E3E0;
  border-radius:14px;overflow:hidden;cursor:pointer;
  transition:border-color .15s,box-shadow .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ac-saved-item:hover{border-color:#B9B6B3;box-shadow:0 4px 16px rgba(55,52,49,.1)}
.ac-saved-img{
  width:100%;aspect-ratio:1;background:#F5F2EF;
  display:flex;align-items:center;justify-content:center;overflow:hidden;
}
.ac-saved-img img{width:100%;height:100%;object-fit:cover}
.ac-saved-info{padding:12px 14px}
.ac-saved-name{
  font-size:12px;font-weight:600;color:#111111;
  line-height:1.3;margin-bottom:4px;
}
.ac-saved-price{
  font-family:var(--fd);font-size:18px;
  font-weight:900;color:var(--plum);
}

/* VIP status box */
.ac-vip-status{
  display:flex;align-items:center;gap:10px;
  background:linear-gradient(135deg,rgba(55,52,49,.07),rgba(55,52,49,.03));
  border:1px solid rgba(55,52,49,.15);
  border-radius:12px;padding:14px 18px;
  margin:0 16px 16px;
}
.ac-vip-check{
  width:28px;height:28px;background:#1B1B19;border-radius:50%;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.ac-vip-text strong{
  display:block;font-size:13px;font-weight:700;color:#1B1B19;margin-bottom:2px;
}
.ac-vip-text span{font-size:11px;color:#888888}

/* Support section */
.ac-support{
  background:#333333;padding:36px 20px;text-align:center;
}
.ac-support h3{
  font-family:var(--fd);font-size:26px;font-weight:900;
  color:#FFFFFF;letter-spacing:-.01em;margin-bottom:6px;
}
.ac-support p{
  font-size:12px;color:rgba(255,255,255,.6);
  line-height:1.7;margin-bottom:24px;
}
.ac-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ac-support-btn{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:12px;padding:18px 10px;
  cursor:pointer;text-align:center;
  text-decoration:none;
  transition:background .15s;
  display:block;
}
.ac-support-btn:hover{background:rgba(255,255,255,.14)}
.ac-support-label{
  font-size:12px;font-weight:700;color:#FFFFFF;
  margin-top:8px;display:block;
}
.ac-support-sub{font-size:10px;color:rgba(255,255,255,.4);margin-top:3px;display:block;line-height:1.4}

/* Notification toggles */
.ac-toggle-row{
  display:flex;align-items:center;
  justify-content:space-between;
  padding:17px 20px;
  border-bottom:1px solid #F5F2EF;
}
.ac-toggle-row:last-child{border-bottom:none}
.atl strong{
  display:block;font-size:13px;font-weight:700;
  color:#111111;margin-bottom:3px;
}
.atl span{font-size:11px;color:#999999}
.ac-toggle{
  position:relative;display:inline-block;
  width:48px;height:28px;flex-shrink:0;
}
.ac-toggle input{opacity:0;width:0;height:0}
.ac-toggle-track{
  position:absolute;inset:0;border-radius:99px;
  background:#DDDDDD;cursor:pointer;transition:.25s;
}
.ac-toggle-track::after{
  content:'';position:absolute;
  width:22px;height:22px;border-radius:50%;
  background:#FFFFFF;top:3px;left:3px;transition:.25s;
  box-shadow:0 1px 4px rgba(0,0,0,.2);
}
.ac-toggle input:checked + .ac-toggle-track{background:var(--plum)}
.ac-toggle input:checked + .ac-toggle-track::after{transform:translateX(20px)}

/* Credits table */
.ac-credits-table{
  border:1px solid #E6E3E0;border-radius:14px;
  overflow:hidden;margin:0 16px 16px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ac-credits-hdr{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  background:#F7F4F1;padding:12px 18px;
  border-bottom:1px solid #E6E3E0;
}
.ac-credits-hdr span{
  font-size:11px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:#888888;
}
.ac-credits-hdr span:nth-child(2){text-align:center}
.ac-credits-hdr span:nth-child(3){text-align:right}
.ac-credits-row{
  display:grid;grid-template-columns:1fr 1fr 1fr;
  background:#FFFFFF;padding:14px 18px;
  border-bottom:1px solid #F5F2EF;
}
.ac-credits-row:last-child{border-bottom:none}
.ac-credits-row span{font-size:12px;color:#555555}
.ac-credits-row span:nth-child(2){text-align:center}
.ac-credits-row span:nth-child(3){text-align:right}
.ac-credits-empty{
  background:#FFFFFF;padding:20px;
  text-align:center;font-size:12px;color:#999999;
}

/* Skip banner */
.ac-skip-banner{
  background:rgba(27,27,25,.06);
  border:1px solid rgba(27,27,25,.18);
  border-radius:12px;padding:14px 16px;
  display:flex;align-items:flex-start;gap:12px;
  margin:0 16px 12px;
}
.ac-skip-banner-icon{color:#1B1B19;font-size:20px;flex-shrink:0;margin-top:1px}
.ac-skip-banner strong{
  display:block;font-size:13px;font-weight:700;
  color:#1B1B19;margin-bottom:3px;
}
.ac-skip-banner span{font-size:11px;color:#888888;line-height:1.55}

/* Danger zone */
.ac-danger{
  background:rgba(212,0,15,.05);
  border:1px solid rgba(212,0,15,.15);
  border-radius:14px;padding:22px 20px;
  margin:0 16px 32px;
}
.ac-danger strong{
  display:block;font-size:14px;font-weight:700;
  color:#D4000F;margin-bottom:8px;
}
.ac-danger p{
  font-size:12px;color:#888888;
  line-height:1.65;margin-bottom:16px;
}
.ac-danger button{
  background:#D4000F;color:#FFFFFF;border:none;
  padding:11px 24px;border-radius:8px;
  font-family:var(--fd);font-size:12px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;cursor:pointer;
}

/* Edit forms */
.ac-edit-form,.ac-addr-form{
  background:#F7F4F1;
  border:1px solid #E6E3E0;
  border-radius:14px;padding:20px;
  margin:0 16px 12px;
}
.ac-edit-form input,.ac-addr-form input{
  width:100%;box-sizing:border-box;
  background:#FFFFFF;
  border:1.5px solid #E6E3E0;
  border-radius:8px;color:#111111;
  padding:12px 14px;font-size:14px;
  font-family:var(--fb);margin-bottom:10px;
  outline:none;transition:border-color .2s;
}
.ac-edit-form input:focus,.ac-addr-form input:focus{
  border-color:var(--plum);
}

/* Cat toggles */
.ac-cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:4px}
.ac-cat-toggle{
  display:flex;align-items:center;gap:8px;
  padding:11px 14px;border-radius:10px;cursor:pointer;
  background:#FFFFFF;
  border:1.5px solid #E6E3E0;
}
.ac-cat-toggle.sel{
  border-color:var(--plum);
  background:#F5F2EF;
}
.ac-cat-toggle strong{font-size:12px;font-weight:700;color:#111111}
.aci{
  width:22px;height:22px;border-radius:6px;
  background:rgba(0,0,0,.06);
  font-size:12px;display:flex;align-items:center;justify-content:center;
}
.ac-cat-toggle.sel .aci{background:rgba(55,52,49,.12)}

/* ── MEMBER SERVICES OVP ── */
/* ══ MEMBER SERVICES - PREMIUM ══ */
.ovp-body{padding:0 0 40px;overflow-x:hidden}
.ovp-sec-lbl{
  font-family:var(--fd);font-size:10px;font-weight:900;
  text-transform:uppercase;letter-spacing:.16em;
  color:var(--muted);
  padding:24px 20px 10px;display:block;
}
.ovp-card{
  background:#FFFFFF;
  border:1px solid var(--gray);
  border-radius:16px;margin:0 16px 12px;
  overflow:hidden;
}
/* ── MEMBER SERVICES - PREMIUM ── */
#ovp-services{background:#F7F4F1}

/* Section label */
.ms-sec{
  display:block;
  font-family:var(--fd);font-size:10px;font-weight:900;
  text-transform:uppercase;letter-spacing:.2em;
  color:#AAAAAA;padding:32px 22px 12px;margin:0;
}

/* Benefits list */
.ms-benefits{
  margin:0 16px 8px;
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.ms-benefit{
  display:flex;align-items:flex-start;gap:18px;
  padding:20px 20px;
  border-bottom:1px solid #F5F2EF;
}
.ms-benefit:last-child{border-bottom:none}
.mbi{
  width:44px;height:44px;border-radius:12px;
  background:linear-gradient(135deg,rgba(55,52,49,.12),rgba(55,52,49,.06));
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ms-benefit strong{
  display:block;font-size:14px;font-weight:700;
  color:#111111;margin-bottom:4px;
}
.ms-benefit span{font-size:12px;color:#777777;line-height:1.65}

/* Billing card */
.ms-credit-card{
  background:linear-gradient(135deg,#111111 0%,#2C2926 40%,#413E3B 100%);
  border-radius:20px;padding:36px 24px;
  color:#FFFFFF;text-align:center;
  margin:0 16px 20px;
  box-shadow:0 4px 16px rgba(55,52,49,.2);
  position:relative;overflow:hidden;
}
.ms-credit-card::before{
  content:'';position:absolute;
  top:-60px;right:-60px;
  width:200px;height:200px;border-radius:50%;
  background:rgba(255,255,255,.04);pointer-events:none;
}
.mcc-label{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.18em;color:rgba(255,255,255,.4);
  margin-bottom:14px;display:block;
}
.mcc-amt{
  font-family:var(--fd);font-size:60px;font-weight:900;
  line-height:1;letter-spacing:-.04em;
  color:#FFFFFF;margin-bottom:8px;
  text-shadow:0 4px 20px rgba(255,255,255,.3);
}
.mcc-desc{
  font-size:13px;color:rgba(255,255,255,.55);
  line-height:1.75;max-width:280px;margin:0 auto;
}

/* Skip no-charge box */
.ms-guarantee{
  display:flex;align-items:flex-start;gap:14px;
  background:rgba(55,52,49,.05);
  border:1px solid rgba(55,52,49,.15);
  border-radius:14px;padding:18px 18px;
  margin:0 16px 8px;
}
.mgi{flex-shrink:0;margin-top:1px}
.mgt strong{display:block;font-size:13px;font-weight:700;color:var(--plum);margin-bottom:5px}
.mgt span{font-size:12px;color:#555555;line-height:1.7}

/* Steps */
.ms-steps-wrap{
  margin:0 16px 8px;
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.ms-step{
  display:flex;align-items:flex-start;gap:18px;
  padding:20px 20px;
  border-bottom:1px solid #F5F2EF;
}
.ms-step:last-child{border-bottom:none}
.ms-step-num{
  width:36px;height:36px;
  background:linear-gradient(135deg,var(--plum),var(--plum-l));
  color:#FFFFFF;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);font-size:16px;font-weight:900;
  flex-shrink:0;
  box-shadow:0 4px 12px rgba(55,52,49,.3);
}
.ms-step-body strong{
  display:block;font-size:14px;font-weight:700;
  color:#111111;margin-bottom:4px;
}
.ms-step-body span{font-size:12px;color:#777777;line-height:1.65}

/* Skip window callout */
.ms-skip-window{
  background:rgba(230,224,214,.1);
  border:1px solid rgba(230,224,214,.4);
  border-radius:12px;padding:14px 18px;
  margin:0 16px 8px;
  font-size:12px;color:#555555;line-height:1.65;
}
.ms-skip-window strong{color:var(--plum-d);display:block;margin-bottom:3px}

/* Cancel section */
.ms-cancel-card{
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;padding:24px 20px;
  margin:0 16px 8px;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.ms-cancel-card h3{
  font-family:var(--fd);font-size:20px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  color:#111111;margin-bottom:10px;
}
.ms-cancel-card p{
  font-size:13px;color:#666666;line-height:1.75;margin-bottom:20px;
}
.ms-contact-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.ms-contact-btn{
  background:#F7F4F1;
  border:1px solid #E6E3E0;
  border-radius:12px;padding:16px 12px;
  text-align:center;text-decoration:none;
  display:block;transition:border-color .15s;
}
.ms-contact-btn:hover{border-color:#B9B6B3}
.ms-contact-btn strong{
  display:block;font-size:12px;font-weight:700;color:#111111;margin-bottom:3px;
}
.ms-contact-btn span{font-size:12px;color:var(--plum);font-weight:700}

/* FAQ */
.ms-faq-wrap{
  margin:0 16px 8px;
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.ms-faq-item{border-bottom:1px solid #F5F2EF}
.ms-faq-item:last-child{border-bottom:none}
.ms-faq-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;cursor:pointer;
  font-size:14px;font-weight:700;
  color:#111111;transition:color .15s;
  user-select:none;line-height:1.4;gap:12px;
}
.ms-faq-q:hover{color:var(--plum)}
.ms-faq-item.open .ms-faq-q{color:var(--plum)}
.ms-faq-icon{
  width:28px;height:28px;border-radius:50%;
  background:#F5F2EF;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform .3s cubic-bezier(.25,.46,.45,.94),background .2s;
  font-size:16px;color:#888888;font-weight:300;line-height:1;
}
.ms-faq-item.open .ms-faq-icon{
  transform:rotate(45deg);
  background:rgba(55,52,49,.1);color:var(--plum);
}
.ms-faq-a{
  max-height:0;overflow:hidden;
  transition:max-height .35s cubic-bezier(.25,.46,.45,.94),padding .3s;
  font-size:13px;color:#666666;line-height:1.8;
  padding:0 20px;
}
.ms-faq-item.open .ms-faq-a{
  max-height:300px;padding:0 20px 20px;
}

/* Support section */
.ms-support{
  background:#333333;
  padding:36px 20px;
  text-align:center;
  margin:8px 0;
}
.ms-support h3{
  font-family:var(--fd);font-size:24px;font-weight:900;
  color:#FFFFFF;letter-spacing:-.01em;margin-bottom:6px;
}
.ms-support p{
  font-size:13px;color:rgba(255,255,255,.55);
  line-height:1.65;margin-bottom:22px;
  max-width:280px;margin-left:auto;margin-right:auto;
}
.ms-support-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px}
.ms-support-card{
  background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.1);
  border-radius:12px;padding:16px 10px;
  text-decoration:none;display:block;
  transition:background .15s;
}
.ms-support-card:hover{background:rgba(255,255,255,.12)}
.ms-support-card strong{
  display:block;font-size:12px;font-weight:700;color:#FFFFFF;margin-top:8px;margin-bottom:2px;
}
.ms-support-card span{font-size:11px;color:rgba(255,255,255,.45);line-height:1.4;display:block}

/* CTA buttons */
.ms-cta-primary{
  display:block;width:calc(100% - 32px);margin:0 16px 10px;
  background:linear-gradient(135deg,var(--plum),var(--plum-l));
  color:#FFFFFF;border:none;
  padding:18px;font-family:var(--fd);font-size:17px;
  font-weight:900;text-transform:uppercase;letter-spacing:.08em;
  border-radius:14px;cursor:pointer;
  box-shadow:0 8px 28px rgba(55,52,49,.35);
  transition:transform .15s,box-shadow .15s;
}
.ms-cta-primary:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(55,52,49,.45);
}
.ms-cta-secondary{
  display:block;width:calc(100% - 32px);margin:0 16px 24px;
  background:#FFFFFF;color:#555555;
  border:1.5px solid #E6E3E0;
  padding:16px;font-family:var(--fd);font-size:15px;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  border-radius:14px;cursor:pointer;
  transition:border-color .15s;
}
.ms-cta-secondary:hover{border-color:#B9B6B3}
.ms-legal{
  font-size:10px;color:#AAAAAA;text-align:center;
  margin:0 24px 32px;line-height:1.8;
}
.ms-legal a{color:#888888;text-decoration:underline;cursor:pointer}

/* ── GIFT CARDS OVP - PREMIUM ── */
#ovp-gifts{background:#F7F4F1}

/* Hero */
.gc-hero{
  background:linear-gradient(160deg,#080808 0%,#1C1C1C 45%,#2C2926 100%);
  background-image:url('/gc-hero.jpg');
  background-size:cover;
  background-position:center center;
  padding:44px 24px 52px;
  text-align:center;color:#FFFFFF;
  position:relative;overflow:hidden;
}
.gc-hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(8,8,8,.85) 0%,rgba(28,28,28,.78) 45%,rgba(44,41,38,.72) 100%);
  pointer-events:none;
}
.gc-hero::before{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100 170 C100 170 20 120 20 70 C20 40 44 24 70 36 C82 42 94 56 100 66 C106 56 118 42 130 36 C156 24 180 40 180 70 C180 120 100 170 100 170Z' fill='white' opacity='0.04'/%3E%3C/svg%3E");
  background-size:60%;background-position:center;background-repeat:no-repeat;
  pointer-events:none;
}
.gc-hero h1{
  font-family:var(--fd);
  font-size:clamp(36px,10vw,56px);
  font-weight:900;text-transform:uppercase;
  letter-spacing:-.03em;line-height:.9;
  margin-bottom:18px;position:relative;z-index:1;
}
.gc-hero p{
  font-size:14px;color:rgba(255,255,255,.6);
  max-width:300px;margin:0 auto;
  line-height:1.7;position:relative;z-index:1;
}

/* Card mockup */
.gc-mockup{
  margin:0 0 0;
  background:linear-gradient(135deg,#111111 0%,#2C2926 40%,#413E3B 100%);
  border-radius:20px;
  padding:28px 24px;
  position:relative;overflow:hidden;
  min-height:180px;
  display:flex;flex-direction:column;justify-content:space-between;
  box-shadow:0 8px 24px rgba(55,52,49,.3),0 0 0 1px rgba(255,255,255,.06);
}
.gc-mockup::before{
  content:'';position:absolute;
  top:-60px;right:-60px;
  width:220px;height:220px;border-radius:50%;
  background:rgba(255,255,255,.04);
  pointer-events:none;
}
.gc-mockup::after{
  content:'';position:absolute;
  bottom:-30px;left:-30px;
  width:160px;height:160px;border-radius:50%;
  background:rgba(255,255,255,.03);
  pointer-events:none;
}
.gc-mockup-logo{
  font-family:var(--fd);font-size:13px;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em;
  color:rgba(255,255,255,.5);
  position:relative;z-index:1;
}
.gc-mockup-amt{
  font-family:var(--fd);
  font-size:clamp(52px,14vw,72px);
  font-weight:900;color:#FFFFFF;
  line-height:1;margin-bottom:6px;
  text-shadow:0 4px 20px rgba(255,255,255,.3);
  position:relative;z-index:1;
  transition:all .3s cubic-bezier(.25,.46,.45,.94);
}
.gc-mockup-tag{
  font-size:10px;font-weight:600;
  color:rgba(255,255,255,.35);
  text-transform:uppercase;letter-spacing:.12em;
  position:relative;z-index:1;
}
.gc-mockup-chip{
  width:38px;height:28px;
  background:linear-gradient(135deg,#74716E,#E6E0D6,#74716E);
  border-radius:6px;
  position:absolute;bottom:28px;right:24px;
  z-index:1;
  box-shadow:0 2px 8px rgba(0,0,0,.4);
}

/* Section labels */
.gc-sec{
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.16em;
  color:#888888;
  display:block;padding:28px 20px 12px;
}

/* Amount grid */
.gc-pill-grid{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;margin:0 16px 16px;
}
.gc-pill{
  background:#FFFFFF;
  border:2px solid #E6E3E0;
  border-radius:14px;padding:18px 8px 14px;
  text-align:center;cursor:pointer;
  position:relative;
  transition:border-color .15s,background .15s,transform .15s,box-shadow .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gc-pill:hover{
  border-color:#B9B6B3;
  transform:translateY(-2px);
  box-shadow:0 6px 20px rgba(55,52,49,.12);
}
.gc-pill.sel{
  border-color:var(--plum);
  border-width:2px;
  background:linear-gradient(135deg,#F8F8F8,#FFFFFF);
  transform:translateY(-2px);
  box-shadow:0 0 0 1px var(--plum),0 8px 24px rgba(55,52,49,.18);
}
.gc-pill-amt{
  font-family:var(--fd);font-size:24px;font-weight:900;
  color:#555555;line-height:1;margin-bottom:4px;
  transition:color .15s;
}
.gc-pill.sel .gc-pill-amt{color:var(--plum)}
.gc-pill-sub{
  font-size:9px;color:#AAAAAA;font-weight:700;
  text-transform:uppercase;letter-spacing:.08em;
}
.gc-pill-badge{
  position:absolute;top:-10px;left:50%;transform:translateX(-50%);
  background:#1B1B19;color:#111111;
  font-size:8px;font-weight:900;text-transform:uppercase;
  letter-spacing:.06em;padding:3px 10px;border-radius:99px;
  white-space:nowrap;box-shadow:0 2px 6px rgba(0,0,0,.12);
}

/* Custom amount */
.gc-custom-wrap{
  display:flex;align-items:center;
  margin:0 16px 28px;
  background:#FFFFFF;border:2px solid #E6E3E0;
  border-radius:12px;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
  transition:border-color .15s;
}
.gc-custom-wrap:focus-within{border-color:var(--plum)}
.gc-custom-prefix{
  padding:0 14px;font-family:var(--fd);
  font-size:20px;font-weight:900;color:#CCCCCC;
  border-right:2px solid #EFECE9;
  line-height:52px;
}
.gc-custom-input{
  flex:1;border:none;outline:none;
  padding:14px 16px;font-size:16px;
  font-family:var(--fb);color:#111111;
  background:transparent;
}
.gc-custom-input::placeholder{color:#CCCCCC}

/* Delivery options */
.gc-delivery{
  display:flex;flex-direction:column;gap:10px;
  margin:0 16px 8px;
}
.gc-deliv-opt{
  display:flex;align-items:center;gap:16px;
  border:2px solid #E6E3E0;border-radius:14px;
  padding:18px 18px;cursor:pointer;
  background:#FFFFFF;
  transition:border-color .15s,background .15s,box-shadow .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gc-deliv-opt:hover{border-color:#B9B6B3}
.gc-deliv-opt.sel{
  border-color:var(--plum);
  background:linear-gradient(135deg,#F8F8F8,#FFFFFF);
  box-shadow:0 0 0 1px var(--plum),0 4px 16px rgba(55,52,49,.1);
}
.gc-deliv-radio{
  width:22px;height:22px;border-radius:50%;
  border:2px solid #CCCCCC;flex-shrink:0;
  position:relative;transition:border-color .15s;
}
.gc-deliv-opt.sel .gc-deliv-radio{border-color:var(--plum)}
.gc-deliv-opt.sel .gc-deliv-radio::after{
  content:'';position:absolute;
  width:10px;height:10px;border-radius:50%;
  background:var(--plum);top:50%;left:50%;
  transform:translate(-50%,-50%);
}
.gc-deliv-icon{
  width:44px;height:44px;border-radius:12px;
  background:rgba(55,52,49,.08);
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.gc-deliv-name{font-size:14px;font-weight:700;color:#111111;margin-bottom:3px}
.gc-deliv-sub{font-size:12px;color:#888888;line-height:1.4}

/* Recipient form */
.gc-form{
  margin:0 16px 8px;
  background:#FFFFFF;border:1px solid #E6E3E0;
  border-radius:16px;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gc-field{
  display:block;width:100%;box-sizing:border-box;
  border:none;border-bottom:1px solid #EFECE9;
  padding:15px 18px;font-size:14px;
  font-family:var(--fb);color:#111111;
  background:#FFFFFF;outline:none;
  transition:background .15s;
}
.gc-field:last-child{border-bottom:none}
.gc-field:focus{background:#FAFAFA}
.gc-field::placeholder{color:#BBBBBB}
textarea.gc-field{resize:none;line-height:1.55}

/* How it works */
.gc-steps{
  margin:0 16px 28px;
  background:#FFFFFF;border:1px solid #E6E3E0;
  border-radius:16px;overflow:hidden;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gc-step{
  display:flex;align-items:flex-start;gap:18px;
  padding:20px 20px;
  border-bottom:1px solid #F5F2EF;
}
.gc-step:last-child{border-bottom:none}
.gc-step-num{
  width:36px;height:36px;border-radius:50%;
  background:linear-gradient(135deg,var(--plum),var(--plum-l));
  display:flex;align-items:center;justify-content:center;
  font-family:var(--fd);font-size:16px;font-weight:900;color:#FFFFFF;
  flex-shrink:0;box-shadow:0 4px 12px rgba(55,52,49,.3);
}
.gc-step strong{
  display:block;font-size:14px;font-weight:700;
  color:#111111;margin-bottom:4px;
}
.gc-step span{font-size:12px;color:#888888;line-height:1.6}

/* Why gift */
.gc-benefits{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;margin:0 16px 32px;
}
.gc-benefit{
  background:#FFFFFF;border:1px solid #E6E3E0;
  border-radius:14px;padding:18px 14px;
  text-align:center;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.gc-benefit-icon{
  width:44px;height:44px;
  background:rgba(55,52,49,.08);border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 10px;
}
.gc-benefit strong{
  display:block;font-size:12px;font-weight:700;
  color:#111111;margin-bottom:4px;
}
.gc-benefit span{font-size:11px;color:#888888;line-height:1.4}

/* CTAs */
.gc-buy-btn{
  display:block;width:calc(100% - 32px);margin:0 16px 12px;
  background:linear-gradient(135deg,var(--plum),var(--plum-l));
  color:#FFFFFF;border:none;
  padding:18px;
  font-family:var(--fd);font-size:17px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:14px;cursor:pointer;
  box-shadow:0 8px 28px rgba(55,52,49,.35);
  transition:transform .15s,box-shadow .15s;
}
.gc-buy-btn:hover{
  transform:translateY(-2px);
  box-shadow:0 12px 36px rgba(55,52,49,.45);
}
.gc-back-btn{
  display:block;width:calc(100% - 32px);margin:0 16px 28px;
  background:#FFFFFF;color:#555555;
  border:1.5px solid #E6E3E0;
  padding:16px;
  font-family:var(--fd);font-size:15px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  border-radius:14px;cursor:pointer;
  transition:border-color .15s;
}
.gc-back-btn:hover{border-color:#B9B6B3}
.gc-legal{
  font-size:10px;color:#AAAAAA;text-align:center;
  margin:0 24px 32px;line-height:1.8;
}
.gc-legal a{color:#888888;text-decoration:underline;cursor:pointer}

/* ── ABOUT OVP - PREMIUM ── */
#ovp-about{background:#F7F4F1}

/* Hero */
.ab-hero{
  background:linear-gradient(160deg,#040404 0%,#141414 40%,#2C2926 100%);
  background-image:url('/about-hero.jpg');
  background-size:cover;
  background-position:center 30%;
  padding:60px 24px 56px;
  text-align:center;color:#FFFFFF;
  position:relative;overflow:hidden;
}
.ab-hero::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(160deg,rgba(4,4,4,.82) 0%,rgba(20,20,20,.75) 40%,rgba(44,41,38,.7) 100%);
  pointer-events:none;animation:ab-pulse 6s ease-in-out infinite;
}
@keyframes ab-pulse{
  0%,100%{opacity:.6}
  50%{opacity:1}
}
.ab-hero::after{
  content:'';position:absolute;inset:0;
  background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M100 170 C100 170 20 120 20 70 C20 40 44 24 70 36 C82 42 94 56 100 66 C106 56 118 42 130 36 C156 24 180 40 180 70 C180 120 100 170 100 170Z' fill='white' opacity='0.03'/%3E%3C/svg%3E");
  background-size:55%;background-position:center 60%;background-repeat:no-repeat;
  pointer-events:none;
}
.ab-hero-pill{
  display:inline-block;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:99px;
  padding:7px 20px;
  font-family:var(--fd);font-size:10px;font-weight:900;
  text-transform:uppercase;letter-spacing:.18em;
  color:rgba(255,255,255,.8);
  margin-bottom:24px;
  position:relative;z-index:1;
  box-shadow:0 0 20px rgba(255,255,255,.06);
}
.ab-hero h1{
  font-family:var(--fd);
  font-size:clamp(48px,14vw,80px);
  font-weight:900;text-transform:uppercase;
  letter-spacing:-.04em;line-height:.88;
  margin-bottom:22px;
  position:relative;z-index:1;
}
.ab-hero-accent{color:#D9D6D3}
.ab-hero p{
  font-size:15px;color:rgba(255,255,255,.58);
  max-width:320px;margin:0 auto;
  line-height:1.75;
  position:relative;z-index:1;
  letter-spacing:.01em;
}

/* Section label */
.ab-sec{
  display:block;
  font-family:var(--fd);font-size:10px;font-weight:900;
  text-transform:uppercase;letter-spacing:.2em;
  color:#AAAAAA;padding:32px 22px 12px;margin:0;
}

/* Who We Are */
.ab-body-text{
  padding:0 22px 8px;
}
.ab-body-text p{
  font-size:15px;color:#333333;
  line-height:1.85;margin-bottom:18px;
  letter-spacing:.01em;
}
.ab-body-text p:last-child{margin-bottom:0}
.ab-emphasis{
  color:var(--plum);font-weight:700;
}

/* Stats */
.ab-stats{
  display:grid;grid-template-columns:repeat(3,1fr);
  gap:10px;
  margin:24px 16px;
}
.ab-stat{
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;
  padding:24px 10px 20px;
  text-align:center;
  box-shadow:0 4px 20px rgba(0,0,0,.05),inset 0 1px 0 rgba(255,255,255,.8);
  transition:transform .2s,box-shadow .2s;
}
.ab-stat:hover{
  transform:translateY(-3px);
  box-shadow:0 12px 32px rgba(55,52,49,.12);
}
.ab-stat-num{
  font-family:var(--fd);font-size:28px;font-weight:900;
  color:var(--plum);line-height:1;margin-bottom:6px;
  letter-spacing:-.02em;
}
.ab-stat-lbl{
  font-size:9px;font-weight:700;text-transform:uppercase;
  letter-spacing:.12em;color:#AAAAAA;line-height:1.4;
}

/* Quote */
.ab-quote{
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-left:4px solid var(--plum);
  border-radius:0 16px 16px 0;
  padding:28px 24px 24px;
  margin:8px 16px 8px 0;
  box-shadow:0 4px 20px rgba(0,0,0,.05);
  position:relative;
}
.ab-quote::before{
  content:'C';
  position:absolute;top:-8px;left:20px;
  font-family:Georgia,serif;font-size:64px;
  color:var(--plum);opacity:.15;line-height:1;
}
.ab-quote-text{
  font-family:'Barlow Condensed',sans-serif;
  font-size:19px;font-style:italic;
  color:#222222;line-height:1.7;
  margin-bottom:18px;
  position:relative;
}
.ab-quote-attr strong{
  display:block;font-size:13px;font-weight:700;color:#111111;
  font-style:normal;font-family:var(--fb);
}
.ab-quote-attr span{
  font-size:11px;color:#AAAAAA;
  font-style:normal;font-family:var(--fb);
}

/* Accordion */
.ab-acc-wrap{
  margin:0 16px 8px;
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;overflow:hidden;
  box-shadow:0 2px 12px rgba(0,0,0,.04);
}
.ab-acc-item{border-bottom:1px solid #EFECE9}
.ab-acc-item:last-child{border-bottom:none}
.ab-acc-q{
  display:flex;justify-content:space-between;align-items:center;
  padding:18px 20px;cursor:pointer;
  font-family:var(--fd);font-size:13px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  color:#111111;transition:color .15s;
  user-select:none;
}
.ab-acc-q:hover{color:var(--plum)}
.ab-acc-item.open .ab-acc-q{color:var(--plum)}
.ab-acc-icon{
  width:28px;height:28px;border-radius:50%;
  background:#F5F2EF;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
  transition:transform .3s cubic-bezier(.25,.46,.45,.94),background .2s;
  font-size:16px;color:#888888;font-weight:300;line-height:1;
}
.ab-acc-item.open .ab-acc-icon{
  transform:rotate(45deg);
  background:rgba(55,52,49,.1);
  color:var(--plum);
}
.ab-acc-a{
  max-height:0;overflow:hidden;
  transition:max-height .35s cubic-bezier(.25,.46,.45,.94),padding .3s;
  font-size:13px;color:#666666;
  line-height:1.8;
  padding:0 20px;
}
.ab-acc-item.open .ab-acc-a{
  max-height:300px;
  padding:0 20px 20px;
}

/* Values grid */
.ab-vals{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;padding:0 16px;margin-bottom:8px;
}
.ab-val{
  background:#FFFFFF;
  border:1px solid #E6E3E0;
  border-radius:16px;padding:22px 16px;
  display:flex;flex-direction:column;gap:12px;
  box-shadow:0 4px 16px rgba(0,0,0,.04);
  transition:transform .2s,box-shadow .2s;
}
.ab-val:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 28px rgba(55,52,49,.1);
}
.ab-val-icon{
  width:44px;height:44px;
  background:linear-gradient(135deg,rgba(55,52,49,.12),rgba(55,52,49,.06));
  border-radius:12px;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.ab-val-title{
  font-family:var(--fd);font-size:14px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;color:#111111;
}
.ab-val-desc{font-size:12px;color:#777777;line-height:1.7}

/* CTA band */
.ab-cta-band{
  background:linear-gradient(160deg,#090909 0%,#1E1E1E 50%,#373431 100%);
  padding:56px 24px 52px;
  text-align:center;color:#FFFFFF;
  margin-top:32px;
  position:relative;overflow:hidden;
}
.ab-cta-band::before{
  content:'';position:absolute;inset:0;
  background:radial-gradient(ellipse 70% 50% at 50% 100%,rgba(55,52,49,.8),transparent);
  pointer-events:none;
}
.ab-cta-band h2{
  font-family:var(--fd);
  font-size:clamp(32px,9vw,52px);
  font-weight:900;text-transform:uppercase;
  letter-spacing:-.03em;line-height:.92;
  margin-bottom:16px;color:#FFFFFF;
  position:relative;z-index:1;
}
.ab-cta-band p{
  font-size:14px;color:rgba(255,255,255,.5);
  margin-bottom:28px;line-height:1.7;
  max-width:280px;margin-left:auto;margin-right:auto;
  position:relative;z-index:1;
}
.ab-cta-btn{
  display:block;width:100%;
  background:#D4000F;color:#FFFFFF;border:none;
  padding:18px;font-family:var(--fd);font-size:17px;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  border-radius:12px;cursor:pointer;
  box-shadow:0 8px 28px rgba(212,0,15,.35);
  transition:background .2s,transform .15s,box-shadow .15s;
  position:relative;z-index:1;
}
.ab-cta-btn:hover{
  transform:translateY(-2px);
  background:#D4000F;
  box-shadow:0 12px 36px rgba(212,0,15,.45);
}
.ghost-w{
  background:rgba(255,255,255,.06);
  border:1.5px solid rgba(255,255,255,.2);
  color:#FFFFFF;box-shadow:none;
  margin-top:10px;
}
.ghost-w:hover{
  background:rgba(255,255,255,.1);
  border-color:rgba(255,255,255,.4);
  box-shadow:none;
  transform:translateY(-1px);
}

/* Cares section */
.ab-cares-text h3{
  font-family:var(--fd);font-size:18px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:#111111;margin-bottom:8px;
}
.ab-cares-text p{
  font-size:13px;color:#777777;line-height:1.7;margin:0;
}

/* ── ACCOUNT PANEL OVP ── */
.ac-tab-panel{display:none}
.ac-tab-panel.active{display:block}
.ac-welcome{background:linear-gradient(135deg,var(--plum),var(--plum-l));border-radius:var(--radius-lg);padding:20px 18px;color:#FFFFFF;margin-bottom:16px}
.ac-welcome h3{font-family:var(--fd);font-size:22px;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;margin-bottom:4px}
.ac-welcome p{font-size:12px;opacity:.65;line-height:1.55}
.ac-stat-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:16px}
.ac-stat-c{background:var(--off);border-radius:var(--radius);padding:14px 12px;text-align:center;border:1px solid var(--gray-l)}
.ac-stat-v{font-family:var(--fd);font-size:22px;font-weight:900;color:var(--plum);line-height:1;margin-bottom:3px}
.ac-stat-l{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.ac-saved-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
.ac-saved-item{background:var(--off);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--transition);border:1px solid var(--gray-l)}
.ac-saved-item:hover{border-color:var(--plum);box-shadow:var(--shadow-sm)}
.ac-saved-img{aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden}
.ac-saved-img img{width:100%;height:100%;object-fit:cover}
.ac-saved-info{padding:8px 10px}
.ac-saved-name{font-size:11px;font-weight:600;color:var(--body);line-height:1.3;margin-bottom:3px}
.ac-saved-price{font-family:var(--fd);font-size:15px;font-weight:900;color:var(--plum)}
.ac-order-row{background:var(--off);border-radius:var(--radius);padding:14px 16px;margin-bottom:8px;border:1px solid var(--gray-l)}
.ac-order-hdr{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.ac-order-id{font-family:var(--fd);font-size:14px;font-weight:900;color:var(--plum)}
.ac-order-status{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;padding:2px 8px;border-radius:99px;background:var(--yellow);color:var(--black)}
.ac-order-status.confirmed{background:#EFECE9;color:#1B1B19}
.ac-order-status.shipped{background:#F3F0ED;color:#6D6A67}
.ac-order-meta{font-size:11px;color:var(--muted);line-height:1.55}
.ac-mem-card{background:linear-gradient(135deg,var(--plum),var(--plum-l));border-radius:var(--radius-lg);padding:22px 20px;color:#FFFFFF;margin-bottom:14px}
.ac-mem-badge{display:inline-block;background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);border-radius:99px;padding:3px 12px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.ac-mem-title{font-family:var(--fd);font-size:20px;font-weight:900;text-transform:uppercase;margin-bottom:4px}
.ac-mem-sub{font-size:11px;opacity:.65;line-height:1.55;margin-bottom:14px}
.ac-mem-btn{background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.2);color:#FFFFFF;padding:9px 18px;border-radius:8px;font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;cursor:pointer;transition:var(--transition)}
.ac-mem-btn:hover{background:rgba(255,255,255,.25)}
.ac-mem-btn.danger{border-color:rgba(181,178,175,.4);color:rgba(221,218,215,.9)}
.ac-setting{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 0;border-bottom:1px solid var(--gray-l)}
.ac-setting:last-child{border-bottom:none}
.ac-setting-lbl strong{display:block;font-size:13px;font-weight:700;color:var(--black);margin-bottom:2px}
.ac-setting-lbl span{font-size:11px;color:var(--muted)}
.ac-setting-val{font-size:12px;font-weight:600;color:var(--plum);text-align:right}
.ac-danger{background:#F8F8F8;border:1px solid #E7E4E1;border-radius:var(--radius);padding:14px 16px;margin-top:16px}
.ac-danger strong{display:block;font-size:13px;font-weight:700;color:#D4000F;margin-bottom:6px}
.ac-danger p{font-size:11px;color:#666666;line-height:1.6;margin-bottom:10px}
.ac-danger button{background:#D4000F;color:#FFFFFF;border:none;padding:9px 18px;border-radius:6px;font-size:12px;font-weight:700;text-transform:uppercase;cursor:pointer}

/* ── PRODUCT DETAIL PANEL ── */
.pd-imgs{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden}
.pd-imgs img{width:100%;height:100%;object-fit:cover}
.pd-thumb-row{display:flex;gap:6px;padding:10px 14px;overflow-x:auto;border-bottom:1px solid var(--gray-l)}
.pd-thumb{width:54px;height:68px;border-radius:6px;border:2px solid transparent;cursor:pointer;overflow:hidden;flex-shrink:0;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);display:flex;align-items:center;justify-content:center;font-size:16px;transition:var(--transition)}
.pd-thumb.active{border-color:var(--plum)}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-info{padding:16px 16px 32px}
.pd-cat{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:5px}
.pd-name{font-family:var(--fd);font-size:clamp(22px,6vw,34px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;margin-bottom:10px;color:var(--black)}
.pd-stars{font-size:12px;color:#7D7A77;margin-bottom:10px;letter-spacing:1px}
.pd-prices{display:flex;align-items:baseline;gap:8px;margin-bottom:14px}
.pd-vip{font-family:var(--fd);font-size:28px;font-weight:900;color:var(--plum);line-height:1}
.pd-orig{font-size:14px;color:var(--muted);text-decoration:line-through}
.pd-save{font-size:11px;font-weight:700;color:var(--green, #1B1B19);background:#EFECE9;padding:2px 8px;border-radius:4px}
.pd-sec{font-family:var(--fd);font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:16px 0 8px}
.pd-desc{font-size:13px;color:var(--body);line-height:1.7;margin-bottom:16px}
.pd-feat{padding-left:16px;margin-bottom:0}
.pd-feat li{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:2px}
.pd-trust{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.pd-tr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);background:var(--off);padding:5px 10px;border-radius:99px;border:1px solid var(--gray)}
.pd-pay{display:flex;align-items:center;gap:8px;font-size:10px;color:var(--muted);flex-wrap:wrap;margin-bottom:14px}

.pd-color-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.pd-color-sw{width:26px;height:26px;border-radius:50%;cursor:pointer;border:2px solid transparent;transition:var(--transition);box-shadow:var(--shadow-sm)}
.pd-color-sw.active{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}
.pd-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:14px}
.pd-size{border:1.5px solid var(--gray);border-radius:6px;padding:8px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition)}
.pd-size.active{border-color:var(--plum);background:var(--plum);color:#FFFFFF}
.pd-qty-row{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.pd-qty-lbl{font-size:12px;font-weight:700;color:var(--body)}
.pd-qb{width:32px;height:32px;border:1.5px solid var(--gray);border-radius:8px;background:#FFFFFF;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.pd-qb:hover{border-color:var(--plum);color:var(--plum)}
.pd-q{font-size:15px;font-weight:700;min-width:24px;text-align:center}
.pd-ctas{display:flex;flex-direction:column;gap:8px;background:#FFFFFF;padding:12px 16px;border-top:1px solid var(--gray-l)}
.pd-atc{background:linear-gradient(135deg,var(--plum),var(--plum-l));color:#FFFFFF;border:none;width:100%;padding:14px;font-family:var(--fd);font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-plum);transition:var(--transition)}
.pd-atc:hover{transform:translateY(-2px)}
.pd-wl{background:var(--off);color:var(--plum);border:1.5px solid var(--plum);width:100%;padding:12px;font-family:var(--fd);font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);cursor:pointer;transition:var(--transition)}
.pd-wl:hover{background:var(--plum);color:#FFFFFF}
.pd-badge-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.pd-bdg{display:inline-block;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.06em;padding:3px 8px;border-radius:4px}
.pd-bdg.vip{background:var(--plum);color:#FFFFFF}
.pd-bdg.new{background:var(--black);color:#FFFFFF}
.pd-bdg.sale{background:var(--yellow);color:var(--black)}

/* ── PRODUCT DETAIL OVERLAY ── */
/* ══ PRODUCT DETAIL - PREMIUM DARK ══ */
#pdo{
  display:none;position:fixed;inset:0;
  background:rgba(0,0,0,.75);
  z-index:4000;backdrop-filter:blur(6px);
}
#pdo.open{display:block}
#pds{
  position:absolute;
  top:0;right:0;bottom:0;
  width:min(480px,100vw);
  background:#FFFFFF;
  overflow-y:auto;-webkit-overflow-scrolling:touch;
  transform:translateX(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  display:flex;flex-direction:column;
}
#pdo.open #pds{transform:translateX(0)}
/* Header */
.pdh{
  display:flex;align-items:center;gap:12px;
  padding:0 18px;height:58px;
  background:#FFFFFF;
  border-bottom:1px solid var(--gray-l);
  position:sticky;top:0;z-index:10;flex-shrink:0;
}
.pd-hdr-name{
  font-family:'Barlow Condensed',sans-serif;
  font-size:14px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:var(--body);
  flex:1;text-align:center;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.pdcl{
  font-size:24px;background:none;border:none;
  cursor:pointer;color:var(--muted);
  line-height:1;transition:color .15s;padding:4px;
  border-radius:6px;
}
.pdcl:hover{color:var(--body)}
/* Gallery */
.pd-gallery-wrap{
  position:relative;
  background:#FFFFFF;
  overflow:hidden;
  margin:0 -0px;
  width:100%;
}
.pd-gallery-scroll{
  display:flex;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
}
.pd-gallery-scroll::-webkit-scrollbar{display:none}
.pd-gallery-slide{
  flex:0 0 100%;
  scroll-snap-align:start;
  aspect-ratio:1/1;
  background:#FFFFFF;
  overflow:hidden;
}
.pd-gallery-slide img{
  width:100%;height:100%;
  object-fit:contain;display:block;
  background:#FFFFFF;
}
.pd-hero-fallback{
  width:100%;height:100%;
  display:flex;align-items:center;justify-content:center;
  font-size:48px;opacity:.15;
}
/* Gallery dots */
.pd-gallery-dots{
  position:absolute;bottom:14px;left:0;right:0;
  display:flex;justify-content:center;gap:6px;
  pointer-events:none;
}
.pd-dot{
  width:6px;height:6px;border-radius:50%;
  background:rgba(255,255,255,.35);
  cursor:pointer;pointer-events:all;transition:background .2s,transform .2s;
}
.pd-dot.active{background:#FFFFFF;transform:scale(1.3)}
/* Badge */
.pd-hero-badges{
  position:absolute;top:16px;left:16px;
  display:flex;flex-direction:column;gap:6px;z-index:2;
}
.pd-off-pill{
  background:#D4000F;color:#FFFFFF;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  padding:5px 12px;border-radius:5px;
  box-shadow:0 3px 10px rgba(212,0,15,.4);
}
.pd-vip-pill{
  background:#1B1B19;color:#111111;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  padding:5px 12px;border-radius:5px;
}
/* Top info */
.pd-top-info{
  padding:22px 20px 0;
}
.pd-cat-tag{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.16em;color:var(--muted);
  margin-bottom:8px;
}
.pd-name{
  font-family:var(--fd);
  font-size:clamp(22px,6vw,30px);font-weight:900;
  text-transform:uppercase;letter-spacing:-.02em;
  line-height:.95;margin-bottom:12px;color:var(--body);
}
.pd-rat{display:flex;align-items:center;gap:8px;margin-bottom:4px}
.pd-rat .stars{color:#7D7A77;font-size:13px;letter-spacing:1px}
.pd-rat-count{font-size:12px;color:var(--muted)}
/* Social proof */
.pd-social-proof{
  display:flex;align-items:center;gap:12px;
  padding:0 20px;margin:10px 0;min-height:22px;
}
.pd-viewer-badge{
  font-size:11px;font-weight:700;
  color:#D4000F;text-transform:uppercase;letter-spacing:.06em;
}
.pd-viewer-badge::before{
  content:'';display:inline-block;
  width:7px;height:7px;background:#D4000F;
  border-radius:50%;margin-right:5px;
  animation:pulse-dot 1.4s ease-in-out infinite;
}
.pd-sold-badge{
  font-size:11px;font-weight:700;
  color:var(--plum);text-transform:uppercase;letter-spacing:.06em;
}
/* Body */
.pd-body{padding:0 20px 24px}
/* Price block */
.pd-price-block{
  background:var(--off);
  border:1px solid var(--gray);
  border-radius:14px;padding:18px;
  margin:16px 0 20px;
}
.pd-vip-price-row{
  display:flex;align-items:center;gap:12px;margin-bottom:6px;
}
.pd-price-vip{
  font-family:var(--fd);font-size:32px;
  font-weight:900;color:var(--plum);line-height:1;
}
.pd-price-badge{
  background:#D4000F;color:#FFFFFF;
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  padding:4px 10px;border-radius:5px;
}
.pd-price-orig-row{
  display:flex;align-items:center;gap:6px;
}
.pd-price-orig-lbl{font-size:11px;color:var(--muted)}
.pd-price-orig{
  font-size:15px;color:var(--muted);
  text-decoration:line-through;
}
/* Dual pricing (non-VIP) */
.pd-dual-pricing{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.pd-price-option{
  border-radius:10px;padding:14px;text-align:center;
  cursor:pointer;border:1px solid var(--gray);
  transition:border-color .2s;background:#FFFFFF;
}
.pd-price-vip-opt{
  background:var(--plum);border-color:var(--plum-d);
}
.pd-price-retail-opt{background:var(--off)}
.pd-price-opt-tag{
  font-size:9px;font-weight:900;text-transform:uppercase;
  letter-spacing:.1em;color:var(--muted);margin-bottom:6px;
}
.pd-price-vip-opt .pd-price-opt-tag{color:rgba(255,255,255,.7)}
.pd-price-opt-amt{
  font-family:var(--fd);font-size:22px;font-weight:900;color:var(--body);
}
.pd-price-vip-opt .pd-price-opt-amt{color:#FFFFFF}
.pd-price-retail{color:var(--muted)}
.pd-price-opt-note{font-size:10px;color:var(--muted);margin-top:4px}
.pd-price-vip-opt .pd-price-opt-note{color:rgba(255,255,255,.6)}
/* Divider */
.pd-divider{
  height:1px;background:var(--gray-l);
  margin:20px 0;
}
/* Attribute labels */
.pd-attr-row{
  display:flex;justify-content:space-between;
  align-items:center;margin-bottom:10px;
}
.pd-attr-lbl{
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--muted);
}
.pd-attr-val{
  font-size:12px;font-weight:700;color:var(--body);
}
/* Color swatches */
.pd-swatches{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.pd-swatch{
  width:34px;height:34px;border-radius:50%;
  cursor:pointer;border:2px solid transparent;
  transition:transform .15s,border-color .15s;
  box-shadow:0 2px 8px rgba(0,0,0,.15);
}
.pd-swatch:hover{transform:scale(1.1)}
.pd-swatch.active{
  border-color:var(--body);
  box-shadow:0 0 0 3px rgba(26,26,26,.15),0 2px 8px rgba(0,0,0,.15);
}
/* Size grid */
.pd-sizes{
  display:grid;grid-template-columns:repeat(4,1fr);
  gap:8px;margin-bottom:18px;
}
.pd-sz{
  border:1.5px solid var(--gray);
  border-radius:8px;padding:10px 6px;
  text-align:center;font-size:12px;font-weight:700;
  cursor:pointer;color:var(--body);
  background:#FFFFFF;
  transition:all .15s;
}
.pd-sz:hover{border-color:var(--plum-l);color:var(--plum)}
.pd-sz.active{
  border-color:var(--plum);background:var(--plum);color:#FFFFFF;
}
/* Size guide */
.pd-size-guide{
  background:none;border:none;
  font-size:11px;font-weight:700;
  color:var(--plum);
  cursor:pointer;text-decoration:underline;padding:0;
  transition:color .15s;
}
.pd-size-guide:hover{color:var(--plum-d)}
/* Qty row */
.pd-qty-row{
  display:flex;align-items:center;gap:14px;margin-bottom:20px;
}
.pd-qty-ctrl{
  display:flex;align-items:center;gap:0;
  background:#FFFFFF;
  border:1.5px solid var(--gray);
  border-radius:10px;overflow:hidden;
}
.pd-qb{
  width:40px;height:38px;background:none;border:none;
  cursor:pointer;font-size:18px;font-weight:700;
  color:var(--body);
  display:flex;align-items:center;justify-content:center;
  transition:background .15s;
}
.pd-qb:hover{background:var(--off)}
.pd-q{
  font-size:14px;font-weight:700;color:var(--body);
  min-width:36px;text-align:center;
  border-left:1px solid var(--gray);
  border-right:1px solid var(--gray);
  line-height:38px;
}
/* CTAs */
.pd-cta-wrap{
  background:#FFFFFF;
  padding:16px 20px;
  border-top:1px solid var(--gray-l);
  border-bottom:1px solid var(--gray-l);
  display:flex;flex-direction:column;gap:10px;
  position:relative;
  z-index:1;
  overflow:hidden;
}
.pd-atc-btn{
  display:block;width:100%;
  background:#D4000F;color:#FFFFFF;border:none;
  padding:17px;font-family:var(--fd);
  font-size:17px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:12px;cursor:pointer;
  box-shadow:0 4px 12px rgba(212,0,15,.25);
  transition:background .2s,transform .15s;
}
.pd-atc-btn:hover{background:#D4000F;transform:translateY(-1px)}
.pd-atc-btn:disabled{opacity:.4;cursor:not-allowed;transform:none;box-shadow:none}
.pd-retail-btn{
  display:block;width:100%;
  background:var(--off);color:var(--body);
  border:1.5px solid var(--gray);
  padding:13px;font-size:13px;font-weight:600;
  border-radius:10px;cursor:pointer;transition:background .15s;
}
.pd-retail-btn:hover{background:#EFECE9;border-color:var(--plum)}
.pd-wl-btn{
  display:block;width:100%;
  background:#FFFFFF;color:var(--plum);
  border:1.5px solid var(--plum);
  padding:12px;font-family:var(--fd);
  font-size:14px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  border-radius:10px;cursor:pointer;transition:all .15s;
}
.pd-wl-btn:hover{background:var(--plum);color:#FFFFFF}
/* Trust strip */
.pd-trust-strip{
  display:grid;grid-template-columns:repeat(2,1fr);
  gap:8px;margin-bottom:20px;
}
.pd-trust-item{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted);
  background:var(--off);
  border:1px solid var(--gray);
  border-radius:8px;padding:8px 10px;text-align:center;
}
/* Section headers */
.pd-section-hdr{
  font-family:var(--fd);font-size:12px;font-weight:900;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--body);margin:20px 0 10px;
}
.pd-desc{font-size:13px;color:var(--muted);line-height:1.75;margin-bottom:0}
.pd-feat-list{padding-left:16px;margin:0}
.pd-feat-list li{font-size:12px;color:var(--muted);line-height:1.8;margin-bottom:2px}
/* Pay row */
.pd-pay-row{
  display:flex;align-items:center;gap:8px;
  font-size:11px;color:var(--muted);flex-wrap:wrap;
  margin-bottom:20px;
}
/* Related */
.pd-related-hdr{
  font-family:var(--fd);font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  color:var(--body);margin-bottom:14px;
}
.pd-related{background:var(--off);padding:24px 20px}
.pd-rec-grid{
  display:flex;gap:12px;overflow-x:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:8px;
}
.pd-rec-grid::-webkit-scrollbar{display:none}
.pd-rec-card{
  flex-shrink:0;width:140px;
  background:#FFFFFF;border:1px solid var(--gray);
  border-radius:12px;overflow:hidden;cursor:pointer;
  transition:border-color .15s;
}
.pd-rec-card:hover{border-color:var(--plum)}
.pd-rec-img{
  aspect-ratio:3/4;overflow:hidden;
  background:linear-gradient(160deg,#1E1E1E,#0C0C0C);
  display:flex;align-items:center;justify-content:center;
  font-size:24px;opacity:.4;
}
.pd-rec-img img{width:100%;height:100%;object-fit:cover;opacity:1}
.pd-rec-info{padding:10px}
.pd-rec-name{
  font-size:11px;font-weight:600;color:#FFFFFF;
  line-height:1.3;margin-bottom:4px;
}
.pd-rec-price{
  font-family:var(--fd);font-size:14px;
  font-weight:900;color:#FFFFFF;
}

#pdo.open{display:block}
#pdp{
  position:fixed;top:0;right:0;bottom:0;
  width:min(500px,100vw);
  background:#FFFFFF;
  z-index:4001;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(.25,.46,.45,.94);
  box-shadow:-4px 0 20px rgba(0,0,0,.15);
}
#pdp.open{transform:translateX(0)}
.pd-hdr{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--gray);
}
.pd-hdr-name{font-family:var(--fd);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.03em;color:var(--black);flex:1;margin:0 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pd-close{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1;transition:color .15s;padding:4px;border-radius:6px}
.pd-close:hover{color:var(--black);background:var(--gl)}
.pd-back{font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1;padding:4px;border-radius:6px;transition:color .15s}
.pd-back:hover{color:var(--black);background:var(--gl)}
.pd-gallery{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden}
.pd-gallery img{width:100%;height:100%;object-fit:cover;display:block}
.pd-gallery-nav{position:absolute;bottom:12px;left:0;right:0;display:flex;justify-content:center;gap:6px}
.pd-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:background .2s}
.pd-dot.active{background:#FFFFFF}
.pd-thumb-row{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid var(--gray-l)}
.pd-thumb-row::-webkit-scrollbar{display:none}
.pd-thumb{width:56px;height:70px;border-radius:8px;border:2px solid transparent;cursor:pointer;overflow:hidden;flex-shrink:0;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);display:flex;align-items:center;justify-content:center;font-size:18px;transition:var(--transition)}
.pd-thumb.active{border-color:var(--plum)}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-info{padding:18px 16px 24px}
.pd-cat{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.pd-name{font-family:var(--fd);font-size:clamp(22px,6vw,32px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;margin-bottom:10px;color:var(--black)}
.pd-stars{font-size:12px;color:#7D7A77;margin-bottom:10px;letter-spacing:1px}
.pd-prices{display:flex;align-items:baseline;gap:8px;margin-bottom:14px;flex-wrap:wrap}
.pd-vip{font-family:var(--fd);font-size:28px;font-weight:900;color:var(--plum);line-height:1}
.pd-orig{font-size:14px;color:var(--muted);text-decoration:line-through}
.pd-save{font-size:10px;font-weight:700;color:#1B1B19;background:#EFECE9;padding:3px 8px;border-radius:4px}
.pd-sec{font-family:var(--fd);font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin:16px 0 8px}
.pd-desc{font-size:13px;color:var(--body);line-height:1.7;margin-bottom:4px}
.pd-feat{padding-left:16px;margin-bottom:0}
.pd-feat li{font-size:12px;color:var(--muted);line-height:1.8}
.pd-trust{display:flex;flex-wrap:wrap;gap:6px;margin:14px 0}
.pd-tr{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);background:var(--off);padding:5px 10px;border-radius:99px;border:1px solid var(--gray)}
.pd-color-row{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px;align-items:center}
.pd-color-sw{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:var(--transition);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25),0 1px 4px rgba(0,0,0,.2)}
.pd-color-sw.active{border-color:#FFFFFF;box-shadow:0 0 0 2px var(--plum),inset 0 0 0 1px rgba(0,0,0,.15)}
.pd-size-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:14px}
.pd-size{border:1.5px solid var(--gray);border-radius:6px;padding:9px 6px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition);background:#FFFFFF}
.pd-size.active{border-color:var(--plum);background:var(--plum);color:#FFFFFF}
.pd-qty-row{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.pd-qty-lbl{font-size:12px;font-weight:700;color:var(--body)}
.pd-qb{width:34px;height:34px;border:1.5px solid var(--gray);border-radius:8px;background:#FFFFFF;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.pd-qb:hover{border-color:var(--plum);color:var(--plum)}
.pd-q{font-size:16px;font-weight:700;min-width:26px;text-align:center}
.pd-ctas{display:flex;flex-direction:column;gap:8px;background:#FFFFFF;padding:14px 16px;border-top:1px solid var(--gray-l)}
.pd-atc{background:linear-gradient(135deg,var(--plum),var(--plum-l));color:#FFFFFF;border:none;width:100%;padding:15px;font-family:var(--fd);font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-plum);transition:var(--transition)}
.pd-atc:hover{transform:translateY(-2px)}
.pd-wl{background:var(--off);color:var(--plum);border:1.5px solid var(--plum);width:100%;padding:12px;font-family:var(--fd);font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border-radius:var(--radius);cursor:pointer;transition:var(--transition)}
.pd-wl:hover{background:var(--plum);color:#FFFFFF}
.pd-related{padding:16px 16px 32px;border-top:1px solid var(--gray-l)}
.pd-related-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:10px}
.pd-rc{background:var(--off);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:var(--transition);border:1px solid var(--gray-l)}
.pd-rc:hover{border-color:var(--plum);box-shadow:var(--shadow-sm)}
.pd-rc-img{aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);display:flex;align-items:center;justify-content:center;font-size:28px;overflow:hidden}
.pd-rc-img img{width:100%;height:100%;object-fit:cover}
.pd-rc-info{padding:8px 10px}
.pd-rc-name{font-size:11px;font-weight:600;color:var(--body);line-height:1.3;margin-bottom:3px}
.pd-rc-price{font-family:var(--fd);font-size:15px;font-weight:900;color:var(--plum)}
/* ── SKIP NUDGE ── */
#skip-nudge{display:none;position:fixed;inset:0;background:rgba(0,0,0,.55);z-index:8500;align-items:flex-end;justify-content:center;padding:0 0 20px}
#skip-nudge.open{display:flex}
.snbox{background:#FFFFFF;border-radius:20px 20px 16px 16px;padding:28px 22px 22px;width:100%;max-width:420px;text-align:center}
.sntitle{font-family:var(--fd);font-size:22px;font-weight:900;text-transform:uppercase;color:var(--body);margin-bottom:8px}
.snsub{font-size:13px;color:var(--muted);line-height:1.6;margin-bottom:20px}
.snbtn{display:block;width:100%;background:var(--plum);color:#FFFFFF;border:none;padding:14px;border-radius:10px;font-family:var(--fd);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;margin-bottom:10px}
.sndismiss{font-size:12px;color:var(--muted);cursor:pointer;background:none;border:none;padding:6px}

/* ── STICKY JOIN VIP CTA ── */
#sticky-vip-cta{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(100px);z-index:700;background:var(--red);color:#FFFFFF;font-family:var(--fd);font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:14px 28px;border-radius:99px;box-shadow:0 2px 10px rgba(13,13,13,.15);border:none;cursor:pointer;white-space:nowrap;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .35s;opacity:0}
#sticky-vip-cta.show{transform:translateX(-50%) translateY(0);opacity:1}
@media(min-width:860px){#sticky-vip-cta{display:none!important}}

/* ── URGENCY BAR ── */
.pd-urgency-bar{display:flex;align-items:center;gap:8px;background:#F8F8F8;border:1px solid #E5E2DF;border-radius:8px;padding:10px 14px;margin-bottom:14px}
.pd-urgency-dot{width:8px;height:8px;border-radius:50%;background:#E6E0D6;flex-shrink:0;animation:urgPulse 1.5s ease-in-out infinite}
@keyframes urgPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7)}}
.pd-urgency-txt{font-size:12px;font-weight:700;color:#53504D;line-height:1.4}

/* ── PRODUCT DETAIL REAL CLASSES (matching renderPD HTML) ── */
.pd-img{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden;flex-shrink:0}
.pd-img img{width:100%;height:100%;object-fit:cover;display:block}
.pd-vip-badge{position:absolute;top:10px;left:10px;background:var(--yellow);color:var(--black);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:4px;z-index:2;box-shadow:0 2px 8px rgba(0,0,0,.15)}
.pd-body{padding:18px 16px 120px}
.pd-rat{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pd-pp{display:flex;align-items:baseline;gap:8px;margin-bottom:16px;flex-wrap:wrap}
.pd-cur{font-family:var(--fd);font-size:28px;font-weight:900;color:var(--plum);line-height:1}
.pd-off-lbl{font-size:11px;font-weight:700;color:#1B1B19;background:#EFECE9;padding:3px 8px;border-radius:4px}
.pd-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.pd-sw{width:28px;height:28px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:var(--transition);box-shadow:var(--shadow-sm)}
.pd-sw.active{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}
.pd-sizes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
.pd-sz{border:1.5px solid var(--gray);border-radius:8px;padding:10px 8px;text-align:center;font-size:13px;font-weight:700;cursor:pointer;transition:var(--transition);background:#FFFFFF;color:var(--body)}
.pd-sz:hover{border-color:var(--plum-l)}
.pd-sz.active{border-color:var(--plum);background:var(--plum);color:#FFFFFF}
.pd-qty{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.pd-qn{width:48px;text-align:center;border:1.5px solid var(--gray);border-radius:8px;padding:8px 6px;font-size:15px;font-weight:700;color:var(--black);background:#FFFFFF;outline:none;font-family:var(--fb)}
.pd-add{
  display:block;width:100%;
  background:linear-gradient(135deg,var(--plum),var(--plum-l));
  color:#FFFFFF;border:none;padding:16px;
  font-family:var(--fd);font-size:17px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  border-radius:var(--radius);cursor:pointer;
  box-shadow:var(--shadow-plum);transition:var(--transition);
  margin-top:20px;
  position:sticky;bottom:16px;
}
.pd-add:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(55,52,49,.45)}
.pd-add:disabled{opacity:.5;cursor:not-allowed;transform:none}
.pd-rg{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:12px}
.pd-ri{aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);display:flex;align-items:center;justify-content:center;font-size:24px;overflow:hidden}
.pd-rb{padding:8px 10px}
.pd-rn{font-size:12px;font-weight:600;color:var(--body);line-height:1.3;margin-bottom:4px}
.pd-rp{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--plum)}

/* ── QUIZ: no scrolling inside modal ── */
#qbd{overflow-y:auto;-webkit-overflow-scrolling:touch;max-height:calc(92vh - 120px);flex:1}

/* ── PRODUCT DETAIL PANEL STRUCTURE ── */
#pdo.open{display:block}
#pds{
  position:fixed;top:0;right:0;bottom:0;
  width:min(500px,100vw);
  background:#FFFFFF;
  z-index:4001;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  transform:translateX(100%);
  transition:transform .32s cubic-bezier(.25,.46,.45,.94);
  box-shadow:-4px 0 20px rgba(0,0,0,.15);
}
#pdo.open #pds{transform:translateX(0)}
.pdh{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:13px 16px;
  background:rgba(255,255,255,.97);
  backdrop-filter:blur(16px);
  border-bottom:1px solid var(--gray);
  flex-shrink:0;
}
.pdtit{
  font-family:var(--fd);font-size:15px;font-weight:900;
  text-transform:uppercase;letter-spacing:.03em;
  color:var(--black);flex:1;margin:0 10px;
  overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}
.pdcl{
  font-size:22px;background:none;border:none;cursor:pointer;
  color:var(--muted);line-height:1;transition:color .15s;
  width:36px;height:36px;display:flex;align-items:center;
  justify-content:center;border-radius:8px;flex-shrink:0;
}
.pdcl:hover{color:var(--black);background:var(--gl)}
#pd-content{}

#si-modal-o{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:6000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(8px)}
#si-modal-o.open{display:flex}
#si-modal{background:#FFFFFF;border-radius:var(--radius-xl);width:100%;max-width:400px;padding:32px 26px;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.4)}
.si-close{position:absolute;top:14px;right:16px;font-size:22px;background:none;border:none;cursor:pointer;color:var(--muted);line-height:1}
.si-title{font-family:var(--fd);font-size:clamp(22px,6vw,32px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:5px}
.si-sub{font-size:12px;color:var(--muted);margin-bottom:22px;line-height:1.6}
.si-tabs{display:flex;background:var(--off);border-radius:8px;padding:3px;gap:0;margin-bottom:20px}
.si-tab{flex:1;text-align:center;padding:8px;font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-radius:6px;cursor:pointer;border:none;background:none;transition:var(--transition)}
.si-tab.active{background:#FFFFFF;color:var(--plum);box-shadow:var(--shadow-sm)}
.si-err{font-size:11px;color:var(--red);background:#F8F8F8;border:1px solid #E7E4E1;border-radius:6px;padding:8px 12px;margin-bottom:14px;display:none}
.si-err.show{display:block}

/* ── QUIZ - RETAIL PREMIUM ── */
#qo{
  display:none;position:fixed;inset:0;
  background:#FFFFFF;
  z-index:5500;
  align-items:flex-start;justify-content:center;
}
#qo.open{display:flex}
#qs{
  background:#FFFFFF;
  width:100%;max-width:480px;
  height:100%;
  min-height:100%;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  display:flex;flex-direction:column;
}

/* Header */
.qh{
  background:#FFFFFF;
  padding:14px 18px 0;
  display:flex;align-items:center;justify-content:space-between;
  gap:10px;flex-shrink:0;
  border-bottom:none;
}
.qbl{
  font-family:var(--fd);font-size:15px;font-weight:900;
  text-transform:uppercase;letter-spacing:.04em;
  color:var(--ink);display:flex;align-items:center;gap:4px;
}
.qbl .ls{color:var(--plum)}
.qsl{
  font-size:11px;font-weight:600;
  letter-spacing:.06em;color:var(--muted);
  text-align:center;flex:1;
}
.qcl{
  background:var(--gl);border:none;
  color:var(--muted);width:30px;height:30px;
  border-radius:50%;font-size:18px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:background .15s;line-height:1;
  font-weight:300;
}
.qcl:hover{background:var(--gray);color:var(--ink)}

/* Segmented progress bar */
.qpw{
  display:flex;gap:4px;
  padding:14px 18px 0;
  flex-shrink:0;
}
.qpb-seg{
  flex:1;height:3px;border-radius:99px;
  background:#E5E5E5;
  transition:background .35s;
}
.qpb-seg.filled{background:#111111}
/* Legacy single bar - hidden now */
.qpb{display:none}

/* Body */
.qbd{
  padding:16px 18px 16px;
  flex:1;
  background:#FFFFFF;
  display:flex;
  flex-direction:column;
  justify-content:center;
}

/* Question text */
.qtit{
  font-family:var(--fd);
  font-size:clamp(20px,5.5vw,28px);
  font-weight:800;
  color:var(--ink);
  margin-bottom:4px;
  line-height:1.1;
  letter-spacing:-.01em;
}
.qsub{
  font-size:13px;color:var(--muted);
  margin-bottom:16px;line-height:1.4;
}

/* Plain text option rows -- no photos, matches the site's retail look rather than a quiz-app card style */
.qop{display:flex;flex-direction:column;gap:0;margin-bottom:12px;border-top:1px solid var(--line)}
.qo2{
  display:flex;align-items:center;justify-content:space-between;
  padding:16px 4px;
  border-bottom:1px solid var(--line);
  font-family:var(--fb);
  font-size:15px;font-weight:600;
  color:var(--ink);cursor:pointer;
  transition:color .15s,padding-left .15s;
  position:relative;
}
.qo2:hover{color:var(--plum);padding-left:8px}
.qo2.sel{color:var(--plum);font-weight:700;padding-left:8px}
.qo2 span{letter-spacing:.01em;line-height:1.3;flex:1}

/* Check indicator on selected */
.qo2.sel::after{
  content:'';
  width:18px;height:18px;flex-shrink:0;
  border-radius:50%;
  background:var(--plum);
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E");
  background-size:11px;
  background-repeat:no-repeat;
  background-position:center;
}

/* Next button */
.qnb{
  display:block;width:100%;
  background:#111111;
  color:#FFFFFF;border:none;
  padding:15px;
  font-family:var(--fd);font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:10px;cursor:pointer;
  transition:background .15s;
  flex-shrink:0;
}
.qnb:hover{background:#333333}
.qnb.plum-btn{background:var(--plum)}
.qnb.plum-btn:hover{background:var(--plum-l)}
.qnb:disabled{background:#CCCCCC;cursor:not-allowed}

/* Size grid */
.sg{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:12px}
.szb{
  border:1.5px solid var(--line);border-radius:4px;
  padding:14px 6px;
  font-family:var(--fb);
  font-size:14px;font-weight:700;
  cursor:pointer;background:var(--off);
  color:var(--ink);transition:all .15s;text-align:center;
}
.szb:hover{border-color:var(--plum)}
.szb.sel{border-color:var(--plum);background:var(--plum);color:#FFFFFF}

/* Form fields */
.qfib{display:flex;flex-direction:column;gap:0;margin-bottom:14px;border:1.5px solid var(--line);border-radius:4px;overflow:hidden}
.qfi{
  border:none;border-bottom:1px solid var(--line);
  padding:14px 16px;font-size:15px;
  outline:none;width:100%;
  color:var(--ink);background:#FFFFFF;
  font-family:var(--fb);
  transition:background .15s;
  box-sizing:border-box;
}
.qfi:last-child{border-bottom:none}
.qfi:focus{background:var(--off)}
.qfi::placeholder{color:var(--muted)}
select.qfi{cursor:pointer;appearance:none;-webkit-appearance:none}

/* Errors */
.qerr{font-size:12px;color:#D4000F;background:#F8F8F8;border:1px solid #E7E4E1;border-radius:8px;padding:10px 14px;margin-bottom:12px;display:none}
.qerr.show{display:block}
.qerr-banner{background:#D4000F;color:#FFFFFF;border-radius:8px;padding:12px 16px;font-size:13px;font-weight:600;margin-bottom:12px;display:none;line-height:1.5}
.qerr-banner.show{display:block}
.qerr-banner a{color:#FFFFFF;font-weight:800;text-decoration:underline}

/* Success screen */
.qsuc{text-align:center;padding:32px 20px 16px}
.qsuc-icon{width:64px;height:64px;background:#555555;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 18px}
.qsuc h2{font-family:var(--fd);font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:8px;color:#111111}
.qsuc p{font-size:13px;color:#888888;line-height:1.7;margin-bottom:20px}

/* Account created success screen */
.qsuc{text-align:center;padding:32px 20px 16px}
.qsuc-icon{
  width:64px;height:64px;background:#555555;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  margin:0 auto 18px;
}
.qsuc h2{font-family:var(--fd);font-size:26px;font-weight:900;text-transform:uppercase;letter-spacing:-.02em;margin-bottom:8px;color:#111111}
.qsuc p{font-size:13px;color:#888888;line-height:1.7;margin-bottom:20px}

/* ── AGE GATE ── */
#age-overlay{display:none;position:fixed;inset:0;background:rgba(5,5,5,.97);z-index:9000;align-items:center;justify-content:center;padding:22px}
#age-overlay[style*="flex"]{display:flex}
#age-box{background:linear-gradient(160deg,#121212,#1E1E1E);border:1px solid rgba(255,255,255,.08);border-radius:var(--radius-xl);max-width:340px;width:100%;padding:40px 28px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.7)}

/* ── NEWSLETTER POPUP ── */


/* ══ v3.72 - Fixed header padding, deals bar sticky. Smart header scroll. Hide on scroll down, show on scroll up. SVG icons replace all emoji in account panel, product detail, cart, checkout. Multi-step, delivery, VIP disclosure. Cart redesign. Free shipping bar, VIP upsell, order summary. All compliance pages. Compressed images. Mobile menu logo bumped up. New hero image. Cormorant Garamond wordmark replaces heart logo. Wishlist buttons fixed. ══ */
.pd-vip-price-row{display:flex;align-items:center;gap:10px;margin-bottom:4px}
.pd-price-orig-row{display:flex;align-items:center;gap:6px}
.pd-price-orig-lbl{font-size:11px;color:var(--muted);font-weight:600}
.pd-dual-pricing{display:flex;gap:10px;margin-bottom:4px}
.pd-price-option{flex:1;border-radius:var(--radius);padding:12px 14px;cursor:pointer;transition:var(--transition)}
.pd-price-vip-opt{background:linear-gradient(135deg,#F8F8F8,#F5F2EF);border:2px solid var(--plum)}
.pd-price-vip-opt:hover{background:#EFECE9}
.pd-price-retail-opt{background:var(--off);border:1.5px solid var(--gray)}
.pd-price-opt-tag{font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:4px}
.pd-price-vip-opt .pd-price-opt-tag{color:var(--plum)}
.pd-price-opt-amt{font-family:var(--fd);font-size:22px;font-weight:900;color:var(--plum);line-height:1;margin-bottom:3px}
.pd-price-retail{color:var(--muted)!important;font-size:18px!important}
.pd-price-opt-note{font-size:9px;color:var(--muted);line-height:1.4}
.pd-price-vip-opt .pd-price-opt-note{color:var(--plum);font-weight:700}
.pd-retail-btn{display:block;width:100%;background:#FFFFFF;color:var(--body);border:1.5px solid var(--gray);padding:12px;font-size:13px;font-weight:600;border-radius:var(--radius);cursor:pointer;margin-bottom:10px;transition:var(--transition)}
.pd-retail-btn:hover{border-color:var(--muted);background:var(--off)}
.pd-token-btn{display:block;width:100%;background:#FFFFFF;color:var(--plum);border:1.5px solid var(--gold);padding:12px;font-size:13px;font-weight:700;border-radius:var(--radius);cursor:pointer;margin-bottom:10px;transition:var(--transition)}
.pd-token-btn:hover{background:var(--gold);color:#FFFFFF}
.ci-price-row{display:flex;align-items:baseline;gap:8px;margin:4px 0}
.ci-vip-price{font-family:var(--fd);font-size:17px;font-weight:900;color:var(--plum)}
.ci-retail-price{font-size:12px;color:var(--muted);text-decoration:line-through}
.cvip-card{display:flex;gap:12px;padding:14px 16px;background:linear-gradient(90deg,#F9F6F3,#F3F0ED);border-top:1px solid rgba(55,52,49,.1);border-bottom:1px solid rgba(55,52,49,.1)}
.cvip-logo{width:40px;height:40px;background:rgba(55,52,49,.1);border-radius:10px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:18px;color:var(--plum)}
.cvip-body{flex:1}
.cvip-title{font-family:var(--fd);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:var(--black);margin-bottom:3px}
.cvip-save{font-size:12px;font-weight:700;color:var(--plum);margin-bottom:6px}
.cvip-card p{font-size:11px;color:var(--muted);line-height:1.65;margin:0}

/* ══ CHECKOUT - PREMIUM DARK ══ */
#cho{
  display:none;position:fixed;inset:0;
  background:#040404;
  z-index:4500;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
}
#cho.open{display:block}
/* Header */
.chh{
  display:flex;align-items:center;gap:12px;
  padding:0 18px;height:60px;
  background:#040404;
  border-bottom:1px solid rgba(255,255,255,.07);
  position:sticky;top:0;z-index:10;
}
.chbk{
  font-size:24px;background:none;border:none;
  cursor:pointer;color:rgba(255,255,255,.4);
  line-height:1;transition:color .15s;padding:4px;
  border-radius:6px;
}
.chbk:hover{color:#FFFFFF}
.chtt{
  font-family:'Barlow Condensed',sans-serif;
  font-size:16px;font-weight:600;letter-spacing:.18em;
  text-transform:uppercase;color:#FFFFFF;
  flex:1;text-align:center;
}
.chstep{
  font-family:var(--fd);font-size:11px;font-weight:700;
  color:rgba(255,255,255,.35);text-transform:uppercase;
  letter-spacing:.08em;white-space:nowrap;
}
/* Progress bar */
.chpw{
  height:2px;background:rgba(255,255,255,.08);
  position:sticky;top:60px;z-index:9;
}
.chpb{
  height:100%;background:#1B1B19;
  transition:width .4s cubic-bezier(.4,0,.2,1);
}
/* Step indicator */
.ch-steps{
  display:flex;justify-content:center;gap:0;
  padding:18px 20px 0;
}
.ch-step-pill{
  display:flex;align-items:center;gap:8px;
  font-family:var(--fd);font-size:15px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:rgba(255,255,255,.28);
  padding:0 14px;position:relative;
}
.ch-step-pill::after{
  content:'›';position:absolute;right:0;
  color:rgba(255,255,255,.15);font-size:18px;
}
.ch-step-pill:last-child::after{display:none}
.ch-step-pill.active{color:#FFFFFF}
.ch-step-num{
  width:28px;height:28px;border-radius:50%;
  background:rgba(255,255,255,.08);
  display:flex;align-items:center;justify-content:center;
  font-size:14px;font-weight:900;color:rgba(255,255,255,.4);
}
.ch-step-pill.active .ch-step-num{
  background:#1B1B19;color:#080808;
}
.ch-step-pill.done .ch-step-num{
  background:rgba(27,27,25,.2);color:#1B1B19;
}
.ch-step-pill.done{color:rgba(255,255,255,.4)}
/* Body wrapper */
#chb{padding:0 0 60px}
/* Section titles */
.ch-form-title{
  font-family:var(--fd);font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.1em;color:#FFFFFF;
  padding:24px 20px 12px;margin:0;
}
/* Form inputs */
.ch-form{
  display:flex;flex-direction:column;gap:10px;
  padding:0 20px 20px;
}
.ch-name-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ch-fi{
  width:100%;box-sizing:border-box;
  background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:13px 15px;
  font-size:15px;color:#FFFFFF;
  font-family:var(--fb);outline:none;
  transition:border-color .2s,background .2s;
}
.ch-fi:focus{
  border-color:rgba(255,255,255,.45);
  background:rgba(255,255,255,.07);
}
.ch-fi::placeholder{color:rgba(255,255,255,.25)}
/* Next button */
.ch-next-btn{
  display:block;width:calc(100% - 40px);
  margin:0 20px 28px;
  background:var(--plum);color:#FFFFFF;border:none;
  padding:16px;font-family:var(--fd);
  font-size:16px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:12px;cursor:pointer;
  transition:background .2s,transform .15s;
}
.ch-next-btn:hover{background:#484542;transform:translateY(-1px)}
/* Order summary bar */
.ch-os-bar{
  display:flex;justify-content:space-between;align-items:center;
  padding:16px 20px;
  background:rgba(255,255,255,.04);
  border-bottom:1px solid rgba(255,255,255,.06);
  cursor:pointer;
}
.ch-os-lbl{
  font-family:var(--fd);font-size:14px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:rgba(255,255,255,.45);
}
.ch-os-total{
  font-family:var(--fd);font-size:19px;font-weight:900;
  color:#FFFFFF;display:flex;align-items:center;gap:6px;
}
.ch-os-arrow{font-size:18px;color:rgba(255,255,255,.3)}
.ch-os-drop{
  display:none;padding:14px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(255,255,255,.02);
}
.ch-os-drop.open{display:block}
.ch-os-item{
  display:flex;justify-content:space-between;
  font-size:12px;padding:5px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
  color:rgba(255,255,255,.65);
}
.ch-os-row{
  display:flex;justify-content:space-between;
  font-size:12px;padding:4px 0;
  color:rgba(255,255,255,.45);
}
.ch-os-row.green{color:var(--gold)}
.ch-os-row.bold{
  font-weight:900;font-size:14px;color:#FFFFFF;
  border-top:1px solid rgba(255,255,255,.08);
  margin-top:5px;padding-top:8px;
}
/* Ship nudge */
.ch-ship-nudge{
  padding:12px 20px;
  background:rgba(255,255,255,.03);
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ch-ship-txt{
  font-size:12px;font-weight:600;
  color:rgba(255,255,255,.55);margin-bottom:8px;
}
.ch-ship-pw{
  background:rgba(255,255,255,.08);
  border-radius:99px;height:4px;overflow:hidden;
}
.ch-ship-pb{
  background:linear-gradient(90deg,var(--plum),#585552);
  height:100%;border-radius:99px;transition:width .4s;
}
/* Place order button */
.ch-place-btn{
  display:block;width:calc(100% - 40px);
  margin:16px 20px;
  background:#D4000F;color:#FFFFFF;border:none;
  padding:18px;font-family:var(--fd);
  font-size:18px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:14px;cursor:pointer;
  box-shadow:0 8px 28px rgba(212,0,15,.35);
  transition:background .2s,transform .15s;
}
.ch-place-btn:hover{background:#D4000F;transform:translateY(-1px)}
.ch-place-btn:disabled{
  opacity:.45;cursor:not-allowed;
  transform:none;box-shadow:none;
}
/* Review sections */
.ch-review-section{
  padding:20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ch-review-hdr{
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.14em;
  color:rgba(255,255,255,.35);
  margin-bottom:14px;display:block;
}
.ch-review-hdr-row{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:14px;
}
.ch-edit-btn{
  background:none;border:none;
  font-size:12px;font-weight:700;
  color:rgba(255,255,255,.8);cursor:pointer;
  text-transform:uppercase;letter-spacing:.06em;
  transition:color .15s;
}
.ch-edit-btn:hover{color:#FFFFFF}
/* Bag items */
.ch-bag-item{
  display:flex;gap:14px;
  padding:14px 0;
  border-bottom:1px solid rgba(255,255,255,.05);
}
.ch-bag-item:last-child{border-bottom:none}
.ch-bag-img{
  width:80px;height:100px;
  background:linear-gradient(160deg,#1E1E1E,#0C0C0C);
  border-radius:10px;flex-shrink:0;
  overflow:hidden;display:flex;
  align-items:center;justify-content:center;
  font-size:22px;
  border:1px solid rgba(255,255,255,.06);
}
.ch-bag-img img{width:100%;height:100%;object-fit:cover}
.ch-bag-info{flex:1;padding-top:2px}
.ch-bag-badge{
  display:inline-block;
  background:rgba(255,255,255,.15);color:#FFFFFF;
  border:1px solid rgba(255,255,255,.2);
  font-size:8px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  padding:2px 7px;border-radius:4px;margin-bottom:6px;
}
.ch-bag-name{
  font-size:13px;font-weight:700;color:#FFFFFF;
  margin-bottom:3px;line-height:1.3;
}
.ch-bag-meta{
  font-size:11px;color:rgba(255,255,255,.4);margin-bottom:6px;
}
.ch-bag-price{
  font-family:var(--fd);font-size:17px;font-weight:900;color:#FFFFFF;
}
.ch-bag-orig{
  font-size:11px;color:rgba(255,255,255,.3);
  text-decoration:line-through;font-family:var(--fb);font-weight:400;
  margin-left:6px;
}
/* Address card */
.ch-addr-card{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:16px 18px;
  font-size:13px;line-height:1.85;
  color:rgba(255,255,255,.7);
}
/* Delivery options */
.ch-del-opts{display:flex;flex-direction:column;gap:10px}
.ch-del-opt{
  display:flex;align-items:center;gap:14px;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:16px;
  cursor:pointer;transition:border-color .15s,background .15s;
}
.ch-del-opt.active{
  border-color:rgba(255,255,255,.4);
  background:rgba(255,255,255,.05);
}
.ch-del-opt:hover{border-color:rgba(255,255,255,.2)}
.ch-del-radio{
  width:22px;height:22px;border-radius:50%;
  border:2px solid rgba(255,255,255,.2);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .15s;
}
.ch-del-radio.active{
  border-color:#FFFFFF;background:#1B1B19;
}
.ch-del-radio.active::after{
  content:'';width:8px;height:8px;
  border-radius:50%;background:#080808;
}
.ch-del-info{flex:1}
.ch-del-name{font-size:14px;font-weight:700;color:#FFFFFF}
.ch-del-sub{font-size:11px;color:rgba(255,255,255,.4);margin-top:2px}
.ch-del-price{
  font-family:var(--fd);font-size:16px;font-weight:900;color:#FFFFFF;
}
/* Payment box */
.ch-pay-note-box{
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.08);
  border-radius:12px;padding:16px;
}
.ch-pay-method-lbl{
  font-family:var(--fd);font-size:11px;font-weight:900;
  text-transform:uppercase;letter-spacing:.12em;
  color:rgba(255,255,255,.35);margin-bottom:8px;
}
/* Billing descriptor */
.ch-descriptor-box{
  background:rgba(125,122,119,.1);
  border:1px solid rgba(225,222,219,.15);
  border-radius:12px;padding:16px;margin-top:12px;
}
.ch-descriptor-lbl{
  font-size:9px;font-weight:900;text-transform:uppercase;
  letter-spacing:.1em;color:rgba(203,200,197,.8);margin-bottom:6px;
}
.ch-descriptor-val{
  font-family:var(--fd);font-size:16px;font-weight:900;
  letter-spacing:.04em;color:#FFFFFF;margin-bottom:6px;
}
.ch-descriptor-note{
  font-size:11px;color:rgba(255,255,255,.45);
  line-height:1.65;margin:0;
}
/* Promo */
.ch-promo-row{
  display:flex;gap:8px;
  padding:16px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ch-promo-inp{
  flex:1;background:rgba(255,255,255,.05);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:12px 14px;
  font-size:14px;color:#FFFFFF;
  font-family:var(--fb);outline:none;
  transition:border-color .2s;
}
.ch-promo-inp:focus{border-color:rgba(255,255,255,.4)}
.ch-promo-inp::placeholder{color:rgba(255,255,255,.25)}
.ch-promo-btn{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  color:#FFFFFF;border-radius:10px;
  padding:12px 18px;font-family:var(--fd);
  font-size:13px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  cursor:pointer;white-space:nowrap;transition:background .15s;
}
.ch-promo-btn:hover{background:rgba(255,255,255,.14)}
/* Order totals */
.ch-totals{
  padding:18px 20px;
  border-bottom:1px solid rgba(255,255,255,.06);
}
.ch-tot-row{
  display:flex;justify-content:space-between;
  font-size:13px;padding:6px 0;
  color:rgba(255,255,255,.55);
}
.ch-tot-row.green{color:var(--plum);font-weight:700}
.ch-tot-row.bold{
  font-weight:900;font-size:17px;
  border-top:1px solid rgba(255,255,255,.1);
  margin-top:8px;padding-top:12px;
  color:#FFFFFF;
}
.ch-tot-row.total span:last-child{color:var(--plum)}

/* VIP disclosure */
.ch-vip-disclosure{
  padding:20px;
  border-bottom:1px solid rgba(255,255,255,.06);
  background:rgba(55,52,49,.15);
}
.ch-vip-disc-hdr{
  font-size:13px;font-weight:700;color:#FFFFFF;margin-bottom:10px;
  font-family:var(--fd);text-transform:uppercase;letter-spacing:.06em;
}
.ch-vip-disclosure p{
  font-size:12px;color:rgba(255,255,255,.6);
  line-height:1.75;margin-bottom:12px;
}
.ch-vip-terms-list{
  padding-left:18px;margin-bottom:14px;
}
.ch-vip-terms-list li{
  font-size:11px;color:rgba(255,255,255,.5);
  line-height:1.75;margin-bottom:4px;
}
.ch-vip-disc-check{
  display:flex;align-items:flex-start;gap:12px;
  font-size:12px;color:rgba(255,255,255,.65);
  cursor:pointer;line-height:1.6;
  background:rgba(255,255,255,.04);
  border:1px solid rgba(255,255,255,.1);
  border-radius:10px;padding:14px;
}
/* Misc */
.ch-rewards-note{
  text-align:center;font-size:12px;
  color:rgba(255,255,255,.3);padding:14px 20px;
}
.ch-secure-note{
  text-align:center;font-size:10px;font-weight:700;
  text-transform:uppercase;letter-spacing:.1em;
  color:rgba(255,255,255,.25);
  padding:8px 20px 4px;
}
.ch-secure-icons{
  display:flex;justify-content:center;
  align-items:center;gap:20px;padding:10px 20px;
}
.ch-secure-icons span{
  font-size:10px;font-weight:700;text-transform:uppercase;
  letter-spacing:.08em;color:rgba(255,255,255,.25);
}
.ch-prop65{
  padding:14px 20px 32px;font-size:10px;
  color:rgba(255,255,255,.25);line-height:1.65;
  border-top:1px solid rgba(255,255,255,.05);
}
.ch-prop65::before{content:'WARNING: ';font-weight:700;color:#73706D}
/* Order success */
.ch-suc{text-align:center;padding:40px 20px}
.ch-suc .icon{font-size:72px;margin-bottom:20px}
.ch-suc h2{
  font-family:var(--fd);font-size:32px;font-weight:900;
  text-transform:uppercase;letter-spacing:-.02em;
  margin-bottom:10px;color:#FFFFFF;
}
.ch-suc p{font-size:13px;color:rgba(255,255,255,.55);line-height:1.7;margin-bottom:8px}
.ch-suc .onum{
  font-family:var(--fd);font-size:17px;font-weight:900;
  color:#FFFFFF;margin-bottom:24px;
}
.ch-suc .disc-note{
  background:rgba(255,255,255,.05);border-radius:12px;
  padding:16px;font-size:11px;
  color:rgba(255,255,255,.5);line-height:1.65;
  margin-bottom:24px;
  border:1px solid rgba(255,255,255,.08);
}

#cho.open{display:block}
#chb{background:#FFFFFF;width:100%;min-height:100%;display:flex;flex-direction:column;max-width:640px;margin:0 auto}

/* ── LEGAL MODAL ── */
#legal-modal{display:none;position:fixed;inset:0;background:rgba(0,0,0,.7);z-index:7000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
#legal-modal[style*="flex"]{display:flex}
#legal-content-wrap{background:#FFFFFF;border-radius:var(--radius-xl);width:100%;max-width:560px;max-height:85vh;overflow-y:auto;padding:28px 24px;position:relative;box-shadow:0 32px 80px rgba(0,0,0,.4)}

/* ── VIP ACTIVE BAR ── */
#vip-active-bar{display:none;background:linear-gradient(90deg,var(--plum-d),var(--plum),var(--plum-d));padding:10px 16px;text-align:center;color:#FFFFFF;font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;transition:transform .3s cubic-bezier(.4,0,.2,1)}

/* ── ACCOUNT DROPDOWN ── */
#acct-wrap{display:none;position:relative}
.acct-menu{display:none;position:absolute;top:calc(100% + 8px);right:0;background:#FFFFFF;border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--gray);min-width:200px;z-index:900;overflow:hidden}
.acct-menu.open{display:block}
.acct-menu-hdr{padding:12px 16px;border-bottom:1px solid var(--gray-l)}
.acct-menu-name{font-size:13px;font-weight:700;color:var(--black);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-menu-email{font-size:10px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acct-menu-item{display:block;padding:11px 16px;font-size:13px;font-weight:600;color:var(--body);cursor:pointer;transition:background .15s}
.acct-menu-item:hover{background:var(--off);color:var(--plum)}
.acct-menu-item.danger{color:var(--red)}
.acct-vip-badge{display:none;background:linear-gradient(135deg,var(--plum),var(--plum-l));color:#FFFFFF;font-size:8px;font-weight:900;padding:2px 6px;border-radius:3px;text-transform:uppercase;letter-spacing:.06em;margin-left:6px}
#acct-sizes-lbl{font-size:9px;color:rgba(255,255,255,.5);display:none;text-transform:uppercase;letter-spacing:.06em;margin-top:2px}

/* ══ RECONCILIATION v2.7  -  all 35 missing classes added ══ */

/* About OVP - legacy overrides removed, see premium CSS above */
.ab-quote{
  background:var(--off);
  border:1px solid var(--gray);
  border-left:3px solid var(--plum);
  border-radius:14px;padding:22px 20px;
  margin:0 16px 24px;
}
.ab-quote-text{
  font-family:'Barlow Condensed',sans-serif;
  font-size:17px;font-style:italic;
  color:var(--body);line-height:1.65;
  margin-bottom:14px;
}
.ab-quote-attr strong{
  display:block;font-size:13px;font-weight:700;color:var(--body);
}
.ab-quote-attr span{
  font-size:11px;color:var(--muted);
}
.ab-cares-img{
  width:100%;border-radius:14px;
  display:block;margin-bottom:16px;
}
.ab-cares-text h3{
  font-family:var(--fd);font-size:18px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;
  color:var(--body);margin-bottom:8px;
}
.ab-cares-text p{
  font-size:13px;color:var(--muted);line-height:1.7;margin:0;
}
.ab-cta-btn{
  display:block;width:100%;
  background:#D4000F;color:#FFFFFF;border:none;
  padding:16px;font-family:var(--fd);font-size:16px;
  font-weight:900;text-transform:uppercase;letter-spacing:.06em;
  border-radius:12px;cursor:pointer;
  box-shadow:0 6px 24px rgba(13,13,13,.3);
  transition:background .2s,transform .15s;margin-top:10px;
}
.ab-cta-btn:hover{transform:translateY(-1px);background:#D4000F}
.ab-cta-band{
  background:linear-gradient(160deg,#090909,#1E1E1E,#373431);
  padding:40px 20px;text-align:center;color:#FFFFFF;
}
.ab-cta-band h2{
  font-family:var(--fd);font-size:clamp(28px,8vw,44px);
  font-weight:900;text-transform:uppercase;
  letter-spacing:-.03em;line-height:.95;
  margin-bottom:12px;color:#FFFFFF;
}
.ab-cta-band p{
  font-size:13px;color:rgba(255,255,255,.55);
  margin-bottom:6px;line-height:1.6;
}
.ghost-w{
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.15);
  color:#FFFFFF;box-shadow:none;
}
.ghost-w:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.7)}
/* Cart */
.cdf{border-top:1px solid var(--gray);padding:14px 18px;background:#FFFFFF;flex-shrink:0}
.cart-cta-wrap{padding:16px 18px 20px;border-top:1px solid var(--gray-l)}
.cro{display:flex;justify-content:space-between;align-items:center;padding:5px 0;font-size:12px;color:var(--body)}

/* Checkout */
.chb{flex:1;padding:0 18px 48px}
.chh{position:sticky;top:0;z-index:10;background:#FFFFFF;border-bottom:1px solid var(--gray);display:flex;align-items:center;padding:14px 16px;gap:8px;flex-shrink:0}
.chbk{background:#F8F5F2;border:none;border-radius:50%;width:38px;height:38px;font-size:22px;cursor:pointer;color:var(--plum);line-height:1;padding:0;flex-shrink:0;transition:background .15s;display:flex;align-items:center;justify-content:center}
.chbk:hover{background:#EEEBE8}
.chpb{height:100%;background:linear-gradient(90deg,var(--plum),var(--plum-l));border-radius:0 99px 99px 0;transition:width .4s}
.chstep{font-size:14px;color:var(--muted);font-weight:700;letter-spacing:.02em}
.chtt{font-family:var(--fd);font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;flex:1;text-align:center}

/* Unified card wrapping the step indicator + order summary, so they read as
   one connected block instead of two loosely floating strips. */
.ch-summary-card{
  background:#FAFAFA;
  border:1px solid #EFECE9;
  border-radius:14px;
  overflow:hidden;
  margin:18px 0 22px;
  box-shadow:0 2px 8px rgba(0,0,0,.04);
}
.ch-summary-card .ch-steps{padding:20px 20px 16px}
.ch-summary-card .ch-os-bar{background:transparent;border-bottom:none;border-top:1px solid #EBE8E5}
.ch-summary-card .ch-os-drop{background:#FFFFFF}

/* Deals bar */
.dit{cursor:pointer;transition:opacity .15s}
.dit:hover{opacity:.8}

/* Gift cards */
.gc-card-preview{background:linear-gradient(135deg,#1E1E1E 0%,#373431 50%,#4F4C49 100%);border-radius:16px;padding:26px 22px;margin:0 16px 22px;position:relative;overflow:hidden;min-height:170px;display:flex;flex-direction:column;justify-content:space-between;box-shadow:0 6px 20px rgba(55,52,49,.3)}
.gc-card-preview::before{content:'';position:absolute;top:-40px;right:-40px;width:180px;height:180px;border-radius:50%;background:rgba(255,255,255,.05);pointer-events:none}
.gc-card-preview::after{content:'';position:absolute;bottom:-20px;left:-20px;width:120px;height:120px;border-radius:50%;background:rgba(255,255,255,.03);pointer-events:none}
.gc-card-logo{font-family:var(--fd);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:rgba(255,255,255,.7);margin-bottom:auto}
.gc-card-chip{width:36px;height:26px;background:linear-gradient(135deg,#E6E0D6,#E6E0D6);border-radius:5px;margin-bottom:12px;position:relative;z-index:1}
.gc-card-tag{font-size:10px;font-weight:600;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.08em}
.gc-pill-sub{font-size:9px;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.gc-pill-amt{font-family:var(--fd);font-size:22px;font-weight:900;color:var(--body);line-height:1;margin-bottom:4px}
.gc-pill.sel .gc-pill-amt{color:var(--plum)}
.gc-pill-badge{position:absolute;top:-9px;left:50%;transform:translateX(-50%);background:#1B1B19;color:#080808;font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:3px 10px;border-radius:99px;white-space:nowrap}
.gc-delivery{display:flex;flex-direction:column;gap:10px;margin:0 16px 20px}
.gc-deliv-opt{
  display:flex;align-items:center;gap:14px;
  background:#FFFFFF;
  border:1.5px solid var(--gray);
  border-radius:12px;padding:16px;
  cursor:pointer;transition:border-color .15s,background .15s;
}
.gc-deliv-opt.sel{
  border-color:var(--plum);
  background:#F8F8F8;
}
.gc-deliv-opt:hover{border-color:var(--plum-l)}
.gc-deliv-radio{
  width:20px;height:20px;border-radius:50%;
  border:2px solid var(--gray);flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  transition:border-color .15s;
}
.gc-deliv-opt.sel .gc-deliv-radio{
  border-color:var(--plum);background:var(--plum);
}
.gc-deliv-opt.sel .gc-deliv-radio::after{
  content:'';width:8px;height:8px;border-radius:50%;background:#FFFFFF;
}
/* About Us values grid */
.ab-vals{
  display:grid;grid-template-columns:1fr 1fr;
  gap:10px;padding:0 16px;margin-bottom:24px;
}
.ab-val{
  background:var(--off);
  border:1px solid var(--gray);
  border-radius:14px;padding:18px 14px;
  display:flex;flex-direction:column;gap:10px;
}
.ab-val-icon{
  width:38px;height:38px;
  background:rgba(55,52,49,.08);
  border-radius:10px;
  display:flex;align-items:center;
  justify-content:center;flex-shrink:0;
}
.ab-val-title{
  font-family:var(--fd);font-size:14px;font-weight:900;
  text-transform:uppercase;letter-spacing:.06em;color:var(--body);
}
.ab-val-desc{font-size:11px;color:var(--muted);line-height:1.65}
.ab-sec{display:block;font-family:var(--fd);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.16em;color:var(--muted);padding:22px 20px 10px;margin:0}
.gc-buy-btn{
  display:block;width:calc(100% - 32px);
  margin:4px 16px 12px;
  background:#D4000F;color:#FFFFFF;border:none;
  padding:17px;font-family:var(--fd);
  font-size:17px;font-weight:900;
  text-transform:uppercase;letter-spacing:.08em;
  border-radius:12px;cursor:pointer;
  box-shadow:0 4px 14px rgba(13,13,13,.16);
  transition:background .2s,transform .15s;
}
.gc-buy-btn:hover{background:#D4000F;transform:translateY(-1px)}
.gc-card-amt{font-family:var(--fd);font-size:48px;font-weight:900;color:var(--yellow);line-height:1;margin-bottom:4px;text-shadow:0 2px 12px rgba(0,0,0,.2)}
/* gc-custom-input defined above */
.gc-custom-wrap{
  display:flex;align-items:center;gap:10px;
  margin:0 16px 22px;
  border:1.5px solid var(--gray);
  border-radius:10px;padding:4px 14px;
  background:#FFFFFF;
}
.gc-custom-prefix{
  font-size:18px;font-weight:700;
  color:var(--muted);flex-shrink:0;
}
.gc-custom-input{
  flex:1;background:transparent;
  border:none;padding:10px 4px;
  font-size:15px;color:var(--body);outline:none;
  font-family:var(--fb);
}
.gc-field{
  display:block;width:100%;box-sizing:border-box;
  background:#FFFFFF;
  border:none;
  border-bottom:1px solid #EFECE9;
  border-radius:0;padding:15px 18px;
  font-size:14px;color:#111111;
  margin-bottom:0;outline:none;
  transition:background .15s;font-family:var(--fb);
}
.gc-field:last-child{border-bottom:none}
.gc-field:focus{background:#FAFAFA;box-shadow:none}
.gc-field::placeholder{color:#BBBBBB}

/* Member services FAQ */
.ms-faq-q{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;cursor:pointer;font-size:14px;font-weight:700;color:#111111;transition:color .15s;gap:12px}
.ms-faq-q:hover,.ms-faq-item.open .ms-faq-q{color:var(--plum)}
/* legacy -- new styles in premium CSS block above */

/* Order summary in checkout */
.osb{display:flex;flex-direction:column;gap:4px;padding:16px 18px;background:var(--off);border-radius:var(--radius-lg);margin-bottom:14px;border:1px solid var(--gray-l)}
.osi{font-size:12px;color:var(--muted);display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid var(--gray-l)}
.osi:last-child{border-bottom:none}

/* OVP button */
.ovp-btn{display:block;width:100%;background:linear-gradient(135deg,var(--plum),var(--plum-l));color:#FFFFFF;border:none;padding:14px;font-family:var(--fd);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);cursor:pointer;box-shadow:var(--shadow-plum);transition:var(--transition);margin-top:8px}
.ovp-btn:hover{transform:translateY(-2px)}

/* Promo apply button */
.pab{background:var(--plum);color:#FFFFFF;border:none;padding:11px 18px;font-family:var(--fd);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;border-radius:8px;cursor:pointer;flex-shrink:0;transition:var(--transition)}
.pab:hover{background:var(--plum-d)}

/* Product image error fallback */
.pi-err{width:100%;height:100%;display:none;align-items:center;justify-content:center;text-align:center;padding:16px;background:linear-gradient(160deg,#ECE9E6,#D5D2CF)}
.pi-err-name{font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--plum);line-height:1.35;opacity:.7}

/* Promo input field */
.pif{flex:1;border:1.5px solid var(--gray);border-radius:8px;padding:11px 14px;font-size:14px;outline:none;color:var(--black);transition:border-color .2s;font-family:var(--fb)}
.pif:focus{border-color:var(--plum)}
.pif::placeholder{color:var(--muted)}

/* Ghost / utility */
.ghost{background:transparent;border:1.5px solid var(--plum);color:var(--plum)}
.ghost:hover{background:var(--plum);color:#FFFFFF}
.primary{background:linear-gradient(135deg,var(--plum),var(--plum-l));color:#FFFFFF;border:none}
/* ══ v2.9 RETAIL STYLE  -  Cart, PD, Checkout ══ */

/* Cart */
.btn-checkout{display:block;width:100%;background:#D4000F;color:#FFFFFF;border:none;padding:16px;font-family:var(--fd);font-size:18px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius);cursor:pointer;transition:var(--transition);box-shadow:0 8px 24px rgba(13,13,13,.3);margin-bottom:10px}
.btn-checkout:hover{background:#D4000F;transform:translateY(-1px)}
.cart-vip-note{background:linear-gradient(90deg,#F9F6F3,#F3F0ED);border:1px solid rgba(55,52,49,.12);border-radius:8px;padding:10px 14px;font-size:11px;color:var(--body);line-height:1.6;margin-bottom:12px}
.cart-secure{text-align:center;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:6px}
.cmfav{background:none;border:none;font-size:11px;font-weight:600;color:var(--plum);cursor:pointer;text-decoration:underline;padding:0;margin-top:4px;display:inline-block;letter-spacing:.01em}

/* Product Detail  -  Retail hero style */
.pd-hero{position:relative;aspect-ratio:2/3;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden;flex-shrink:0}
.pd-hero img{width:100%;height:100%;object-fit:cover;display:block}
.pd-hero-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:80px;color:var(--plum);opacity:.3}
.pd-hero-badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px}
.pd-off-pill{background:#D4000F;color:#FFFFFF;font-family:var(--fd);font-size:12px;font-weight:900;padding:4px 10px;border-radius:4px;letter-spacing:.06em;text-transform:uppercase;box-shadow:0 2px 8px rgba(13,13,13,.35)}
.pd-vip-pill{background:var(--plum);color:#FFFFFF;font-family:var(--fd);font-size:11px;font-weight:900;padding:3px 10px;border-radius:4px;letter-spacing:.06em;text-transform:uppercase}
.pd-cat-tag{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:6px}
.pd-name{font-family:var(--fd);font-size:clamp(22px,6vw,32px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.95;margin-bottom:10px;color:var(--black)}
.pd-price-block{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.pd-price-vip{font-family:var(--fd);font-size:32px;font-weight:900;color:var(--plum);line-height:1}
.pd-price-orig{font-size:16px;color:var(--muted);text-decoration:line-through}
.pd-price-badge{background:#D4000F;color:#FFFFFF;font-size:11px;font-weight:900;padding:3px 9px;border-radius:4px;text-transform:uppercase;letter-spacing:.05em}
.pd-price-cta-note{font-size:12px;font-weight:700;color:var(--plum);background:rgba(55,52,49,.07);padding:4px 10px;border-radius:6px}
.pd-divider{height:1px;background:var(--gray-l);margin:18px 0}
.pd-attr-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.pd-attr-lbl{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--black)}
.pd-attr-val{font-size:12px;color:var(--muted);font-weight:600}
.pd-size-guide{background:none;border:none;font-size:11px;font-weight:700;color:var(--plum);cursor:pointer;text-decoration:underline;padding:0;margin-left:auto}
.pd-swatch{width:30px;height:30px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:var(--transition);box-shadow:0 1px 4px rgba(0,0,0,.15);flex-shrink:0}
.pd-swatch.active{border-color:var(--black);box-shadow:0 0 0 1px var(--black),0 1px 4px rgba(0,0,0,.15)}
.pd-swatches{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.pd-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:4px}
.pd-sz{border:1.5px solid var(--gray);border-radius:6px;padding:10px 6px;text-align:center;font-size:12px;font-weight:700;cursor:pointer;transition:var(--transition);background:#FFFFFF;color:var(--body)}
.pd-sz:hover{border-color:var(--plum-l)}
.pd-sz.active{border-color:var(--plum);background:var(--plum);color:#FFFFFF}
.pd-qty-row{display:flex;align-items:center;gap:12px;margin-bottom:20px}
.pd-qty-ctrl{display:flex;align-items:center;gap:10px;background:var(--off);border:1.5px solid var(--gray);border-radius:8px;padding:4px 8px}
.pd-qb{background:none;border:none;font-size:20px;font-weight:700;cursor:pointer;color:var(--body);line-height:1;padding:2px 6px;transition:color .15s}
.pd-qb:hover{color:var(--plum)}
.pd-q{font-size:15px;font-weight:700;min-width:24px;text-align:center}
.pd-atc-btn{display:block;width:100%;background:#D4000F;color:#FFFFFF;border:none;padding:16px;font-family:var(--fd);font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;border-radius:var(--radius);cursor:pointer;box-shadow:0 8px 24px rgba(13,13,13,.3);transition:var(--transition);margin-bottom:10px}
.pd-atc-btn:hover{background:#D4000F;transform:translateY(-2px)}
.pd-atc-btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none}
.pd-wl-btn{display:block;width:100%;background:#FFFFFF;color:var(--plum);border:1.5px solid var(--plum);padding:13px;font-family:var(--fd);font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;border-radius:var(--radius);cursor:pointer;transition:var(--transition);margin-bottom:18px}
.pd-wl-btn:hover{background:var(--plum);color:#FFFFFF}
.pd-trust-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:14px}
.pd-trust-item{display:flex;align-items:center;gap:6px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--off);padding:8px 10px;border-radius:8px;border:1px solid var(--gray-l)}
.pd-trust-item span{font-size:14px}
.pd-pay-row{display:flex;align-items:center;gap:8px;margin-bottom:4px;flex-wrap:wrap}
.pd-pay-lbl{font-size:10px;color:var(--muted);font-weight:600}
.pd-section-hdr{font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--black);margin-bottom:10px}
.pd-desc{font-size:13px;color:var(--body);line-height:1.75;margin-bottom:14px}
.pd-feat-list{padding-left:18px;margin-bottom:0}
.pd-feat-list li{font-size:12px;color:var(--muted);line-height:1.9}
.pd-rec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:4px}
.pd-rec-card{cursor:pointer;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-l);transition:var(--transition)}
.pd-rec-card:hover{border-color:var(--plum);box-shadow:var(--shadow-sm)}
.pd-rec-img{aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden;display:flex;align-items:center;justify-content:center;font-size:28px}
.pd-rec-img img{width:100%;height:100%;object-fit:cover}
.pd-rec-info{padding:10px 12px}
.pd-rec-name{font-size:11px;font-weight:600;color:var(--body);line-height:1.35;margin-bottom:4px}
.pd-rec-price{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--plum)}

/* Checkout Retail style */
.ch-deliver-box{border:1.5px solid var(--gray);border-radius:var(--radius);padding:14px 16px;margin-bottom:18px;position:relative}
.ch-deliver-lbl{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:6px}
.ch-deliver-addr{font-size:13px;color:var(--body);line-height:1.7}
.ch-edit-link{position:absolute;top:14px;right:14px;background:none;border:none;font-size:12px;font-weight:700;color:var(--plum);cursor:pointer;text-decoration:underline}
.ch-section-lbl{font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.12em;color:var(--muted);margin-bottom:10px}
.ch-delivery-opts{display:flex;flex-direction:column;gap:8px;margin-bottom:0}
.ch-dopt{display:flex;align-items:center;gap:12px;border:1.5px solid var(--gray);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:var(--transition)}
.ch-dopt.active{border-color:var(--plum);background:#F8F8F8}
.ch-dopt:hover{border-color:var(--plum-l)}
.ch-dopt-radio{width:18px;height:18px;border-radius:50%;border:2px solid var(--gray);flex-shrink:0;transition:var(--transition);position:relative}
.ch-dopt-radio.active{border-color:var(--plum);background:var(--plum)}
.ch-dopt-radio.active::after{content:'';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;border-radius:50%;background:#FFFFFF}
.ch-dopt-info{flex:1}
.ch-dopt-name{font-size:13px;font-weight:700;color:var(--black);margin-bottom:2px}
.ch-dopt-sub{font-size:11px;color:var(--muted)}
.ch-dopt-price{font-family:var(--fd);font-size:15px;font-weight:900;color:var(--black)}
.ch-pay-card{border:1.5px solid #1B1B19;background:#F8F5F2;border-radius:var(--radius);padding:16px;margin-bottom:10px}
.ch-pay-header{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.ch-pay-icon{width:38px;height:38px;background:#1B1B19;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#FFFFFF;font-size:20px;font-weight:900;flex-shrink:0}
.ch-pay-name{font-family:var(--fd);font-size:16px;font-weight:900;text-transform:uppercase;letter-spacing:.04em;color:#111111}
.ch-pay-sub{font-size:11px;color:#1B1B19;font-weight:600}
.ch-pay-desc{font-size:12px;color:#333333;line-height:1.65;margin-bottom:8px}
.ch-pay-note{font-size:11px;color:#555555;background:#FFFFFF;border-radius:6px;padding:8px 10px;line-height:1.6}
.ch-bnpl-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;margin-bottom:4px}
.ch-bnpl-lbl{font-size:11px;color:var(--muted);font-weight:600}
.ch-vip-box{border:2px solid #D4000F;border-radius:var(--radius);overflow:hidden;margin-bottom:18px}
.ch-vip-header{background:#D4000F;padding:10px 16px;display:flex;align-items:center;gap:8px}
.ch-vip-icon{color:#FFFFFF;font-size:16px}
.ch-vip-title{font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:#FFFFFF}
.ch-vip-body{padding:14px 16px;background:#FCFCFC}
.ch-vip-body p{font-size:12px;color:var(--body);margin-bottom:10px;line-height:1.6}
.ch-vip-list{font-size:12px;color:var(--body);line-height:2;padding-left:18px;margin-bottom:12px}
.ch-vip-check{display:flex;align-items:flex-start;gap:10px;cursor:pointer;font-size:12px;font-weight:600;color:var(--body);line-height:1.6}
/* ═══════════════════════════════════════════
   PREMIUM UPGRADE v2.9l - PD / CART / CHECKOUT
   Retail-inspired: spacious, luxurious, trustworthy
═══════════════════════════════════════════ */

/* PD top info + gallery - Retail style */
.pd-top-info{padding:16px 20px 0}
.pd-top-info .pd-cat-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:6px}
.pd-top-info .pd-name{font-family:var(--fd);font-size:clamp(22px,6vw,32px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.93;margin-bottom:12px;color:var(--black)}
.pd-top-info .pd-rat{display:flex;align-items:center;gap:8px;margin-bottom:14px}
.pd-gallery-wrap{position:relative;overflow:hidden}
.pd-gallery-scroll{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:0 0 0 0}
.pd-gallery-scroll::-webkit-scrollbar{display:none}
.pd-gallery-slide{flex:0 0 88%;scroll-snap-align:start;aspect-ratio:4/5;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden;margin-right:8px}
.pd-gallery-slide:first-child{margin-left:0}
.pd-gallery-slide img{width:100%;height:100%;object-fit:cover;display:block}
.pd-gallery-dots{position:absolute;bottom:10px;left:0;right:0;display:flex;justify-content:center;gap:5px;z-index:2}
.pd-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.5);cursor:pointer;transition:all .25s;border:none;padding:0}
.pd-dot.active{background:#FFFFFF;width:18px;border-radius:3px}
.pd-hero-badges{position:absolute;top:12px;left:12px;display:flex;flex-direction:column;gap:5px;z-index:2;pointer-events:none}
.pd-body{padding:18px 20px 150px}

/* PRODUCT DETAIL ───────────────────────── */
.pd-hero{position:relative;aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden;flex-shrink:0}
.pd-hero img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s ease}
.pd-off-pill{background:#D4000F;color:#FFFFFF;font-family:var(--fd);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;border-radius:4px}
.pd-vip-pill{background:#1B1B19;color:#111111;font-family:var(--fd);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;padding:5px 10px;border-radius:4px}
.pd-hero-badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:6px;z-index:2}
.pd-hero-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--plum);font-size:60px}
.pd-fallback-name{font-family:var(--fd);font-size:20px;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--plum);opacity:.6;text-align:center;padding:24px;line-height:1.3}
.pd-thumb-row{display:flex;gap:8px;padding:12px 16px;overflow-x:auto;border-bottom:1px solid var(--gray-l);scrollbar-width:none}
.pd-thumb-row::-webkit-scrollbar{display:none}
.pd-thumb{width:60px;height:76px;border-radius:8px;border:2.5px solid transparent;cursor:pointer;overflow:hidden;flex-shrink:0;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);transition:border-color .2s}
.pd-thumb.active{border-color:var(--plum)}
.pd-thumb img{width:100%;height:100%;object-fit:cover}
.pd-body{padding:22px 20px 150px}
.pd-cat-tag{font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.14em;color:var(--muted);margin-bottom:8px}
.pd-name{font-family:var(--fd);font-size:clamp(24px,6.5vw,36px);font-weight:900;text-transform:uppercase;letter-spacing:-.02em;line-height:.93;margin-bottom:14px;color:var(--black)}
.pd-rat{display:flex;align-items:center;gap:8px;margin-bottom:18px}
.pd-rat-count{font-size:12px;color:var(--muted);font-weight:600}
.pd-social-proof{display:flex;align-items:center;gap:10px;margin-bottom:10px;min-height:20px}
.pd-viewer-badge{font-size:11px;font-weight:700;color:#D4000F;text-transform:uppercase;letter-spacing:.06em}
.pd-viewer-badge::before{content:'';display:inline-block;width:7px;height:7px;background:#D4000F;border-radius:50%;margin-right:5px;animation:pulse-dot 1.4s ease-in-out infinite}
.pd-sold-badge{font-size:11px;font-weight:700;color:var(--plum);text-transform:uppercase;letter-spacing:.06em}
@keyframes pulse-dot{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.pd-price-block{margin-bottom:20px;padding:16px;background:var(--off);border-radius:var(--radius);border:1px solid var(--gray)}
.pd-vip-price-row{display:flex;align-items:center;gap:12px;margin-bottom:5px}
.pd-price-vip{font-family:var(--fd);font-size:34px;font-weight:900;color:var(--plum);line-height:1}
.pd-price-badge{background:#D4000F;color:#FFFFFF;font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;padding:4px 10px;border-radius:4px}
.pd-price-orig-row{display:flex;align-items:center;gap:6px}
.pd-price-orig-lbl{font-size:11px;color:var(--muted);font-weight:600}
.pd-price-orig{font-size:14px;color:var(--muted);text-decoration:line-through}
.pd-dual-pricing{display:flex;gap:10px}
.pd-price-option{flex:1;border-radius:var(--radius);padding:14px;cursor:pointer;transition:var(--transition)}
.pd-price-vip-opt{background:linear-gradient(135deg,#F8F8F8,#EFECE9);border:2.5px solid var(--plum)}
.pd-price-retail-opt{background:var(--off);border:1.5px solid var(--gray);cursor:default}
.pd-price-opt-tag{font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;margin-bottom:5px}
.pd-price-vip-opt .pd-price-opt-tag{color:var(--plum)}
.pd-price-retail-opt .pd-price-opt-tag{color:var(--muted)}
.pd-price-opt-amt{font-family:var(--fd);font-size:24px;font-weight:900;line-height:1;margin-bottom:4px}
.pd-price-vip-opt .pd-price-opt-amt{color:var(--plum)}
.pd-price-retail{color:var(--muted)}
.pd-price-opt-note{font-size:10px;font-weight:600}
.pd-price-vip-opt .pd-price-opt-note{color:var(--plum)}
.pd-price-retail-opt .pd-price-opt-note{color:var(--muted)}
.pd-divider{height:1px;background:var(--gray-l);margin:22px 0}
.pd-attr-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.pd-attr-lbl{font-size:11px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--black)}
.pd-attr-val{font-size:12px;font-weight:600;color:var(--muted)}
.pd-size-guide{background:none;border:none;font-size:11px;font-weight:700;color:var(--plum);cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.pd-swatches{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.pd-swatch{width:32px;height:32px;border-radius:50%;cursor:pointer;border:2.5px solid transparent;transition:var(--transition);box-shadow:0 1px 4px rgba(0,0,0,.15);flex-shrink:0}
.pd-swatch.active{border-color:var(--black);box-shadow:0 0 0 1px var(--black)}
.pd-sizes{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:18px}
.pd-sz{border:1.5px solid var(--gray);border-radius:8px;padding:13px 8px;text-align:center;font-size:13px;font-weight:700;cursor:pointer;transition:var(--transition);background:#FFFFFF;color:var(--body)}
.pd-sz:hover{border-color:var(--plum-l)}
.pd-sz.active{border-color:var(--plum);background:var(--plum);color:#FFFFFF}
.pd-qty-row{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.pd-qty-ctrl{display:flex;align-items:center;gap:14px}
.pd-qb{width:36px;height:36px;border:1.5px solid var(--gray);border-radius:8px;background:#FFFFFF;font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:var(--transition)}
.pd-qb:hover{border-color:var(--plum);color:var(--plum)}
.pd-q{font-size:16px;font-weight:700;min-width:28px;text-align:center}
.pd-atc-btn{display:block;width:100%;background:#D4000F;color:#FFFFFF;border:none;padding:17px;font-family:var(--fd);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;cursor:pointer;box-shadow:none;transition:var(--transition);margin-bottom:10px}
.pd-atc-btn:hover{background:#D4000F;transform:translateY(-2px);box-shadow:0 5px 14px rgba(13,13,13,.24)}
.pd-atc-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.pd-retail-btn{display:block;width:100%;background:#FFFFFF;color:var(--body);border:1px solid #D8D2CE;padding:13px;font-size:13px;font-weight:600;border-radius:6px;cursor:pointer;margin-bottom:10px;transition:var(--transition)}
.pd-retail-btn:hover{border-color:var(--muted)}
.pd-wl-btn{display:block;width:100%;background:#FFFFFF;color:#171717;border:1px solid #D8D2CE;padding:13px;font-family:var(--fb);font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:6px;cursor:pointer;transition:var(--transition);margin-bottom:10px}
.pd-wl-btn:hover{background:var(--plum);color:#FFFFFF}
.pd-trust-strip{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin:18px 0}
.pd-trust-item{display:flex;align-items:center;gap:7px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);background:var(--off);padding:10px 12px;border-radius:var(--radius);border:1px solid var(--gray)}
.pd-pay-row{display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--gray-l);border-bottom:1px solid var(--gray-l);margin-bottom:6px}
.pd-pay-lbl{font-size:11px;color:var(--muted);font-weight:600}
.pd-section-hdr{font-family:var(--fd);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--black);margin:0 0 12px}
.pd-desc{font-size:13px;color:var(--body);line-height:1.75;margin-bottom:18px}
.pd-feat-list{padding-left:18px;margin-bottom:0}
.pd-feat-list li{font-size:13px;color:var(--muted);line-height:1.9;margin-bottom:2px}
.pd-rec-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:6px}
.pd-rec-card{cursor:pointer;border-radius:var(--radius);overflow:hidden;border:1px solid var(--gray-l);transition:var(--transition);background:#FFFFFF}
.pd-rec-card:hover{border-color:var(--plum);box-shadow:var(--shadow-sm)}
.pd-rec-img{aspect-ratio:3/4;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);overflow:hidden;display:flex;align-items:center;justify-content:center}
.pd-rec-img img{width:100%;height:100%;object-fit:cover}
.pd-rec-info{padding:10px 12px}
.pd-rec-name{font-size:12px;font-weight:600;color:var(--body);line-height:1.3;margin-bottom:5px}
.pd-rec-price{font-family:var(--fd);font-size:16px;font-weight:900;color:var(--plum)}

/* CART ─────────────────────────────────── */
.ci{display:flex;gap:14px;padding:18px 0;border-bottom:1px solid var(--gray-l);align-items:flex-start}
.cii{width:104px;height:130px;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden}
.cii img{width:100%;height:100%;object-fit:cover}
.cin{flex:1;min-width:0}
.cibdg{display:inline-block;background:#D4000F;color:#FFFFFF;font-size:9px;font-weight:900;letter-spacing:.06em;text-transform:uppercase;padding:3px 8px;border-radius:4px;margin-bottom:7px}
.cinm{font-family:var(--fd);font-size:15px;font-weight:900;text-transform:uppercase;letter-spacing:-.01em;color:var(--black);line-height:1.1;margin-bottom:5px;cursor:pointer}
.cim{font-size:11px;color:var(--muted);margin-bottom:8px}
.ciqr{display:flex;align-items:center;gap:8px;margin-top:8px}
.ciqb{width:30px;height:30px;border:1.5px solid var(--gray);border-radius:8px;background:#FFFFFF;font-size:16px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:var(--transition)}
.ciqb:hover{border-color:var(--plum);color:var(--plum)}
.ciq{font-size:14px;font-weight:700;min-width:20px;text-align:center}
.cmfav{background:none;border:none;font-size:11px;font-weight:700;color:var(--plum);cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:2px;transition:opacity .15s}
.cmfav:hover{opacity:.7}
.cart-cta-wrap{padding:18px 20px 24px}
.btn-checkout{display:block;width:100%;background:#D4000F;color:#FFFFFF;border:none;padding:17px;font-family:var(--fd);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;cursor:pointer;box-shadow:0 3px 10px rgba(13,13,13,.28);transition:var(--transition)}
.btn-checkout:hover{background:#D4000F;transform:translateY(-2px)}
.cart-secure{text-align:center;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-top:10px}

/* CHECKOUT ─────────────────────────────── */
.ch-form-title{font-family:var(--fd);font-size:20px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;color:var(--black);padding:22px 20px 12px;margin:0}
.ch-form{display:flex;flex-direction:column;gap:16px;padding:0 20px 24px}
.ch-name-row{display:flex;gap:10px}
.ch-name-row .ch-fi{flex:1}
.ch-fi{width:100%;border:1.5px solid #D9D6D3;border-radius:10px;padding:16px;font-size:16px;outline:none;color:var(--black);font-family:var(--fb);transition:all .2s;box-sizing:border-box;background:#FFFFFF}
.ch-fi:focus{border-color:var(--plum);box-shadow:0 0 0 3px rgba(55,52,49,.08)}
.ch-fi::placeholder{color:#9CA3AF}
.ch-next-btn{display:block;width:100%;margin:0 20px 28px;width:calc(100% - 40px);background:#D4000F;color:#FFFFFF;border:none;padding:17px;font-family:var(--fd);font-size:15px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;border-radius:6px;cursor:pointer;box-shadow:0 3px 10px rgba(13,13,13,.28);transition:var(--transition)}
.ch-next-btn:hover{background:#D4000F;transform:translateY(-2px)}
.ch-review-section{padding:18px 20px;border-bottom:1px solid var(--gray)}
.ch-review-hdr{font-family:var(--fd);font-size:14px;font-weight:900;text-transform:uppercase;letter-spacing:.1em;color:var(--black);margin-bottom:14px;display:block}
.ch-review-hdr-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.ch-bag-item{display:flex;gap:14px;padding:12px 0;border-bottom:1px solid var(--gray-l)}
.ch-bag-item:last-child{border-bottom:none}
.ch-bag-img{width:80px;height:100px;background:linear-gradient(160deg,#ECE9E6,#D5D2CF);border-radius:10px;flex-shrink:0;overflow:hidden;display:flex;align-items:center;justify-content:center}
.ch-bag-img img{width:100%;height:100%;object-fit:cover}
.ch-bag-badge{display:inline-block;background:#D4000F;color:#FFFFFF;font-size:8px;font-weight:900;padding:2px 7px;border-radius:3px;margin-bottom:5px;text-transform:uppercase;letter-spacing:.05em}
.ch-bag-name{font-size:13px;font-weight:700;color:var(--black);margin-bottom:3px;line-height:1.3}
.ch-bag-meta{font-size:11px;color:var(--muted);margin-bottom:5px}
.ch-bag-price{font-family:var(--fd);font-size:17px;font-weight:900;color:var(--plum)}
.ch-bag-orig{font-size:12px;color:var(--muted);text-decoration:line-through;font-family:var(--fb);font-weight:400}
.ch-totals{padding:16px 20px;border-bottom:1px solid var(--gray)}
.ch-tot-row{display:flex;justify-content:space-between;font-size:13px;padding:5px 0;color:var(--body)}
.ch-tot-row.green{color:var(--plum);font-weight:600}
.ch-tot-row.bold{font-weight:900;font-size:16px;color:var(--black);border-top:1px solid var(--gray);margin-top:8px;padding-top:12px}
.ch-tot-row.total{font-family:var(--fd)}
.ch-promo-row{display:flex;gap:10px;padding:16px 20px;border-bottom:1px solid var(--gray)}
.ch-promo-inp{flex:1;border:1.5px solid #D9D6D3;border-radius:10px;padding:13px 16px;font-size:14px;outline:none;color:var(--black);font-family:var(--fb)}
.ch-promo-inp::placeholder{color:#9CA3AF}
.ch-promo-btn{background:var(--black);color:#FFFFFF;border:none;border-radius:10px;padding:0 20px;font-family:var(--fd);font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;white-space:nowrap}
.ch-promo-inp:focus{border-color:var(--plum)}

/* ══════════════════════════════════════════════════════════════
   CART + CHECKOUT — FINAL LIGHT-THEME PASS
   The rules above accumulated across several redesigns; the cart
   drawer and checkout panel bodies are white (#cd, #chb) but many
   text/box colors were still authored for a dark panel and were
   invisible (white-on-white) or near-invisible. This block is the
   last word in the cascade and restores legible, on-brand styling.
   ══════════════════════════════════════════════════════════════ */

/* Cart drawer: quantity selector */
.ciqr{background:#FFFFFF;border:1px solid var(--gray)}
.ciqb{color:#474441}
.ciqb:hover{background:#FAFAFA;color:#111111}
.ciq{color:#111111;border-left:1px solid var(--gray);border-right:1px solid var(--gray)}

/* Cart drawer: CTA now pinned outside the scrollable body */
.cart-cta-wrap{flex-shrink:0}

/* Cart drawer: free shipping nudge */
.cart-ship-wrap{background:#FAFAFA;border-bottom:1px solid #F7F4F1}
.cart-ship-txt{color:#474441}
.cart-ship-txt strong{color:var(--plum)}

/* Cart drawer: promo code box */
.cart-promo-wrap{border-top:1px solid #F7F4F1}
.cart-promo-inp{background:#FFFFFF;border:1.5px solid #EBE8E5;color:#111111}
.cart-promo-inp:focus{border-color:var(--plum)}
.cart-promo-inp::placeholder{color:#9CA3AF}
.cart-promo-apply{background:#FAFAFA;border:1.5px solid #EBE8E5;color:#474441}
.cart-promo-apply:hover{background:#F7F4F1}

/* Cart drawer: order summary */
.cart-summary{border-top:1px solid #F7F4F1}
.cart-sum-lbl{color:#6B7280}
.cart-sum-val{color:#111111}
.cart-sum-row.savings .cart-sum-val{color:#1B1B19}
.cart-sum-row.total{border-top:1.5px solid #EBE8E5}
.cart-sum-row.total .cart-sum-lbl{color:#111111}
.cart-sum-row.total .cart-sum-val{color:var(--plum)}
.cart-secure span{color:rgba(255,255,255,.55)}

/* Checkout: step pills (Shipping / Review) */
.ch-step-pill{color:#9CA3AF}
.ch-step-pill::after{color:#D9D6D3}
.ch-step-pill.active{color:var(--plum)}
.ch-step-num{background:#F7F4F1;color:#9CA3AF}
.ch-step-pill.active .ch-step-num{background:var(--plum);color:#FFFFFF}
.ch-step-pill.done{color:#9CA3AF}
.ch-step-pill.done .ch-step-num{background:rgba(27,27,25,.12);color:#1B1B19}
.chpw{background:#EFECE9}

/* Checkout: collapsible order summary bar */
.ch-os-bar{background:#FAFAFA;border-bottom:1px solid #F7F4F1}
.ch-os-lbl{color:#6B7280}
.ch-os-total{color:var(--plum)}
.ch-os-arrow{color:#9CA3AF}
.ch-os-drop{background:#FFFFFF;border-bottom:1px solid #F7F4F1}
.ch-os-item{color:#474441;border-bottom:1px solid #F7F4F1}
.ch-os-row{color:#6B7280}
.ch-os-row.green{color:var(--plum)}
.ch-os-row.bold{color:#111111;border-top:1px solid #EBE8E5}

/* Checkout: free shipping nudge */
.ch-ship-nudge{background:#FAFAFA;border-bottom:1px solid #F7F4F1}
.ch-ship-txt{color:#474441}
.ch-ship-pw{background:#EBE8E5}

/* Checkout: review step — address card, edit link, delivery options */
.ch-edit-btn{color:var(--plum)}
.ch-edit-btn:hover{color:var(--plum-l)}
.ch-addr-card{background:#FAFAFA;border:1px solid #F7F4F1;color:#474441}
.ch-del-opt{background:#FFFFFF;border:1.5px solid var(--gray)}
.ch-del-opt.active{border-color:var(--plum);background:#F8F8F8}
.ch-del-opt:hover{border-color:var(--plum-l)}
.ch-del-radio{border:2px solid var(--gray)}
.ch-del-radio.active{border-color:var(--plum);background:var(--plum)}
.ch-del-radio.active::after{background:#FFFFFF}
.ch-del-name{color:#111111}
.ch-del-sub{color:#6B7280}
.ch-del-price{color:#111111}

/* Checkout: payment note + billing descriptor boxes */
.ch-pay-note-box{background:#FAFAFA;border:1px solid #F7F4F1}
.ch-pay-method-lbl{color:#6B7280}
.ch-descriptor-box{background:#FAF7F4;border:1px solid #E1DEDB}
.ch-descriptor-lbl{color:#8B8885}
.ch-descriptor-val{color:#111111}
.ch-descriptor-note{color:#6B7280}

/* Checkout: VIP recurring-billing disclosure (legal consent text) */
.ch-vip-disclosure{background:#F8F8F8;border-bottom:1px solid #F7F4F1}
.ch-vip-disc-hdr{color:var(--plum)}
.ch-vip-disclosure p{color:#474441}
.ch-vip-terms-list li{color:#5A5754}
.ch-vip-disc-check{color:#474441;background:#FFFFFF;border:1px solid var(--gray)}

/* Checkout: misc footer notes */
.ch-rewards-note{color:#9CA3AF}
.ch-secure-note{color:#9CA3AF}
.ch-secure-icons span{color:#9CA3AF}
.ch-prop65{color:#9CA3AF;border-top:1px solid #F7F4F1}

/* Checkout: order success screen */
.ch-suc h2{color:var(--plum)}
.ch-suc p{color:#6B7280}
.ch-suc .onum{color:#111111}
.ch-suc .disc-note{background:#F9F6F3;border:1px solid #E7E4E1;color:#6B7280}

/* ── AGE GATE ── */
#age-gate{position:fixed;inset:0;background:rgba(6,6,6,.96);backdrop-filter:blur(12px);z-index:99999;display:flex;align-items:center;justify-content:center;padding:24px}
#age-gate.hidden{display:none}
.ag-box{background:#FFFFFF;border-radius:20px;max-width:380px;width:100%;padding:40px 28px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.4)}
.ag-logo{font-family:'Barlow Condensed',sans-serif;margin-bottom:24px}
.ag-logo-i{font-size:26px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;color:var(--plum);display:block;line-height:1}
.ag-logo-s{font-size:12px;font-weight:500;letter-spacing:.32em;text-transform:uppercase;color:var(--plum);display:block;margin-top:2px;opacity:.7}
.ag-title{font-family:'Barlow Condensed',sans-serif;font-size:22px;font-weight:900;text-transform:uppercase;color:var(--body);letter-spacing:.04em;margin-bottom:10px}
.ag-sub{font-size:13px;color:var(--muted);line-height:1.65;margin-bottom:28px}
.ag-dob{display:flex;gap:8px;margin-bottom:20px}
.ag-dob select{flex:1;background:#FFFFFF;border:1.5px solid var(--gray);border-radius:10px;color:var(--body);padding:12px 8px;font-size:14px;font-family:'Barlow',sans-serif;appearance:none;-webkit-appearance:none;cursor:pointer;transition:border-color .2s}
.ag-dob select:focus{outline:none;border-color:var(--plum)}
.ag-confirm{width:100%;background:#D4000F;color:#FFFFFF;border:none;border-radius:10px;padding:15px;font-family:'Barlow Condensed',sans-serif;font-size:17px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer;margin-bottom:12px;transition:background .2s;box-shadow:0 4px 16px rgba(212,0,15,.3)}
.ag-confirm:hover{background:#D4000F}
.ag-error{color:#D4000F;font-size:12px;margin-bottom:12px;display:none;font-weight:600}
.ag-legal{font-size:10px;color:var(--muted);line-height:1.65}
.ag-legal a{color:var(--plum);text-decoration:underline;cursor:pointer}

/* ── COOKIE CONSENT ── */
#cookie-banner{position:fixed;bottom:0;left:0;right:0;background:#101010;border-top:1px solid rgba(255,255,255,.2);z-index:9900;padding:16px 20px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
#cookie-banner.hidden{display:none}
.ck-text{font-size:12px;color:rgba(255,255,255,.7);line-height:1.5;flex:1;min-width:200px}
.ck-text a{color:var(--yellow);text-decoration:underline;cursor:pointer}
.ck-btns{display:flex;gap:10px;flex-shrink:0}
.ck-accept{background:#1B1B19;color:#101010;border:none;border-radius:6px;padding:9px 18px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:900;text-transform:uppercase;letter-spacing:.06em;cursor:pointer}
.ck-decline{background:none;border:1px solid rgba(255,255,255,.3);color:rgba(255,255,255,.6);border-radius:6px;padding:9px 14px;font-family:'Barlow Condensed',sans-serif;font-size:13px;font-weight:700;cursor:pointer}

/* ── FTC AFFILIATE DISCLOSURE ── */
.ftc-bar{background:rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.15);padding:6px 18px;text-align:center;font-size:10px;color:rgba(255,255,255,.5);letter-spacing:.04em}
.ftc-bar a{color:rgba(255,255,255,.7);text-decoration:underline;cursor:pointer}

.pd-lto{display:inline-block;background:var(--yellow);color:#111111;font-family:var(--fb);font-weight:800;font-size:12px;letter-spacing:.02em;text-transform:uppercase;padding:4px 9px;margin-bottom:10px}

/* Retail-grade final overrides: quantity stepper + trust row */
.pd-attr-lbl{font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:.04em;color:#111111}
.pd-qty-lbl{font-family:var(--fb);font-size:12px;font-weight:700;letter-spacing:.05em;color:#111111}
.pd-qty-row{margin:18px 0 20px;gap:14px}
.pd-qty-ctrl{display:flex;align-items:stretch;gap:0;background:#FFFFFF;border:1px solid #D8D2CE;border-radius:4px;padding:0;overflow:hidden}
.pd-qb{width:46px;height:44px;border:none;border-radius:0;background:#FFFFFF;font-size:18px;font-weight:400;color:#111111;display:flex;align-items:center;justify-content:center}
.pd-qb:hover{background:#F8F5F2;color:#111111}
.pd-q{min-width:46px;line-height:44px;font-size:15px;font-weight:600;color:#111111;border-left:1px solid #ECE9E6;border-right:1px solid #ECE9E6;text-align:center}
.pd-trust-strip{display:flex;flex-wrap:wrap;gap:8px 20px;margin:18px 0 4px;padding-top:14px;border-top:1px solid #EEEBE8}
.pd-trust-item{background:none;border:none;padding:0;border-radius:0;font-size:10px;font-weight:700;letter-spacing:.08em;color:#8A8078;text-transform:uppercase;text-align:left;display:inline}
.pd-trust-item::before{content:'';display:inline-block;width:4px;height:4px;border-radius:50%;background:#C3C0BD;margin-right:7px;vertical-align:2px}

/* You May Also Like: kill the 40 percent fade, match borderless grid */
.pd-rec-img{opacity:1;background:#F6F3F0;border-radius:2px}
.pd-rec-img img{opacity:1}
.pd-rec-card{background:transparent;border:none;border-radius:0;box-shadow:none}
.pd-rec-card:hover{border:none;box-shadow:none}
.pd-rec-info{padding:8px 2px 4px}
.pd-rec-name{color:#171717;font-size:12px;font-weight:500}
.pd-rec-price{color:var(--plum);font-size:17px}

/* ══ RETAIL PASS: site-wide de-app override. Flat, rectangular, calm. ══ */
:root{--radius:6px;--radius-lg:8px;--radius-xl:12px}

/* Primary buttons: flat color, rectangle, calm bold sans, no glow, no bounce */
.btn-p,.btn-b,.btn-r,.btn-w,.po-btn,.pd-add,.pd-atc,.qnb,.ch-place-btn,.ovp-btn,.ms-cta-primary,.ms-cta-secondary,.gc-buy-btn,.gc-back-btn,.cart-vip-btn,.ab-cta-btn,.snbtn,.acb,.wli-add,.ag-confirm{
  font-family:var(--fb);font-weight:700;letter-spacing:.05em;border-radius:6px;box-shadow:none;background-image:none;
}
.btn-p{background:var(--plum);font-size:15px;padding:15px 22px}
.btn-p::after{display:none}
.btn-b{font-size:15px}
.btn-r{background:var(--plum);font-size:15px}
.btn-w{font-size:15px}
.po-btn{background:#D4000F;font-size:16px}
.pd-add{background:var(--plum);font-size:15px}
.pd-atc{background:var(--plum);font-size:15px}
.qnb{font-size:15px;border-radius:6px}
.ch-place-btn{background:#D4000F;font-size:16px;border-radius:6px;box-shadow:0 2px 8px rgba(13,13,13,.12)}
.ovp-btn{background:var(--plum)}
.ms-cta-primary{background:var(--plum);box-shadow:none}
.acb{font-size:12px;border-radius:4px}
.wli-add{border-radius:4px}
.ag-confirm{box-shadow:none}
.btn-p:hover,.btn-b:hover,.btn-r:hover,.btn-w:hover,.po-btn:hover,.pd-add:hover,.pd-atc:hover,.qnb:hover,.ch-place-btn:hover,.ovp-btn:hover,.ms-cta-primary:hover,.gc-buy-btn:hover,.ab-cta-btn:hover,.btn-checkout:hover,.ch-next-btn:hover,.pd-atc-btn:hover{
  transform:none;box-shadow:none;
}

/* Sticky CTA: rectangle bar, not a floating pill */
#sticky-vip-cta{border-radius:6px;font-family:var(--fb);font-weight:700;font-size:14px;letter-spacing:.05em;padding:14px 24px;box-shadow:0 2px 10px rgba(13,13,13,.2)}

/* Filter chips and trust pills: rectangles and quiet text */
.fb-chip{border-radius:4px}
.pd-tr{border-radius:0;background:none;border:none;padding:0;color:#8A8078;letter-spacing:.08em}
.vip-pill{border-radius:4px}
.ac-hero-vip{border-radius:4px}
.ac-status{border-radius:4px}
.gc-pill-badge{border-radius:3px}

/* Cart and checkout surfaces: tighter corners, flat cards */
.cii{border-radius:4px}
.ciqr{border-radius:4px}
.ch-fi{border-radius:6px}
.ch-del-opt{border-radius:6px}
.ch-dopt{border-radius:6px}
.ch-addr-card{border-radius:6px}
.ch-pay-note-box,.ch-descriptor-box{border-radius:6px}
.cart-vip-card{background:#F8F8F8;border:1px solid #E6E3E0;border-radius:8px}
.do{border-radius:6px}
.osb{border-radius:8px}
#toast{border-radius:6px}
.snbox{border-radius:12px 12px 8px 8px}

/* Modals: retail scale corners */
#si-modal,#legal-content-wrap,#spm,.ag-box{border-radius:12px}

/* Account and services cards: calm corners */
.ac-card,.ac-order,.ac-action-btn,.ac-saved-item,.ac-credits-table,.ms-benefits,.ms-steps-wrap,.ms-faq-wrap,.ms-cancel-card,.gc-form,.gc-steps,.ab-acc-wrap{border-radius:8px}
.ac-stats-row{border-radius:8px}
.ms-credit-card,.gc-mockup,.gc-card-preview{border-radius:10px}

/* Category tiles: flatter hover */
.cc:hover{transform:none;box-shadow:var(--shadow-sm)}
.ac2:hover{transform:none;box-shadow:var(--shadow-md)}
.gc-pill:hover,.gc-pill.sel{transform:none}
.ab-stat:hover,.ab-val:hover{transform:none}

:root{--fh:'Barlow Condensed',sans-serif}
.pp2{margin-top:4px}
.pp-l1,.pp-l2{display:flex;align-items:baseline;gap:6px}
.pp-lbl{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.pp-l2 .po{font-size:13px;text-decoration:line-through;color:var(--muted)}
.pp2 .pdeal{margin-top:2px}

/* ── Retail palette: black + white + warm gray, one brick red for the main call to action ── */
:root{--ink:#1B1B19;--brand-red:#D4000F;--brand-red-d:#B8000D;--line:#E4DFD8;--warm:#F6F3EE}
/* red = checkout / place order only; every other button is black */
.btn-checkout,.ch-place-btn,.ch-next-btn{background:var(--brand-red);color:#fff}
.btn-checkout:hover,.ch-place-btn:hover,.ch-next-btn:hover{background:var(--brand-red-d)}
.po-btn,.ab-cta-btn,.pd-atc-btn,.gc-buy-btn,.ag-confirm,#sticky-vip-cta,.ac-signout{background:var(--ink);color:#fff}
.po-btn:hover,.ab-cta-btn:hover,.pd-atc-btn:hover,.gc-buy-btn:hover,.ag-confirm:hover,#sticky-vip-cta:hover,.ac-signout:hover{background:#000}
/* cookie + dark-surface buttons are white */
.ck-accept,.cart-vip-btn,.d80,.bbo{background:#fff;color:#111}
.btn-w:hover{background:#EEE9E2;color:#111}
/* color where it counts: announcement bar + hero use the brand plum, with gold accents */
#vip-bar{background:linear-gradient(90deg,#2D0E22 0%,#4A1D38 50%,#2D0E22 100%)}
#hero{background:linear-gradient(to right,rgba(45,14,34,.93) 0%,rgba(74,29,56,.64) 55%,rgba(74,29,56,.30) 100%),url('/hero-bg.jpg') center/cover no-repeat}
#hero h1 em{color:#fff}
#hero .heye{color:rgba(255,255,255,.85)}
/* savings text is ink, not red */
.pdeal,.pp2 .pdeal{color:var(--ink)}

/* ── Product page: retail structure ── */
#pdo{background:#fff}
#pd-content{max-width:680px;margin:0 auto;background:#fff;color:#111}
.fp-top{padding:16px 16px 12px}
.fp-brand{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:#777;margin-bottom:4px}
.fp-name{font-family:var(--fd);font-size:27px;font-weight:800;line-height:1.08;text-transform:none;margin:0 0 6px;color:#111;letter-spacing:0}
.fp-rat{display:flex;align-items:center;gap:6px;margin-bottom:6px}
.fp-rc{font-size:13px;color:#666}
.fp-offer{display:inline-block;background:#4A1D38;color:#fff;font-family:var(--fd);font-weight:800;font-size:18px;text-transform:uppercase;padding:9px 12px;margin:8px 0 6px;line-height:1.1}
.fp-nm{font-size:16px;margin:4px 0 8px;color:#111}
.fp-nm b{font-weight:800}
#pdo .pd-gallery-wrap{position:relative;background:#fff;margin:0;padding:0}
#pdo .pd-gallery-scroll{display:flex;gap:6px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch}
#pdo .pd-gallery-scroll::-webkit-scrollbar{display:none}
#pdo .pd-gallery-slide{flex:0 0 88%;min-width:0;scroll-snap-align:start;aspect-ratio:3/4;background:#F1EFEB;display:flex;align-items:center;justify-content:center}
#pdo .pd-gallery-slide img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}
#pdo .pd-gallery-dots,#pdo .pd-hero-badges{display:none}
.fp-heart{position:absolute;top:10px;right:calc(12% + 10px);width:40px;height:40px;border-radius:50%;background:#fff;border:none;box-shadow:0 1px 6px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#111}
.fp-prog{position:relative;height:4px;background:#e6e2dc;margin:12px 16px 0}
.fp-prog i{position:absolute;top:-1px;left:0;height:6px;width:24%;background:#1B1B19;display:block}
.fp-body{padding:6px 16px 48px}
.fp-lbl{font-size:15px;font-weight:600;margin-right:10px;color:#111}
#pdo .pd-attr-row{margin:18px 0 8px;display:flex;justify-content:space-between;align-items:center}
#pdo .pd-attr-lbl{font-size:15px;color:#111;text-transform:none;letter-spacing:0;font-weight:500}
#pdo .pd-attr-lbl span,#pdo .pd-attr-lbl b{color:#111!important;font-weight:800;text-transform:none;letter-spacing:0}
#pdo .pd-color-row{display:flex;gap:8px;flex-wrap:wrap}
.fp-th{width:64px;height:84px;padding:0;border:1px solid #d9d4cc;background:#F1EFEB;cursor:pointer;flex:none}
.fp-th.active{border:2px solid #111}
.fp-th img{width:100%;height:100%;object-fit:cover;display:block}
.fp-th.oos{opacity:.35;cursor:not-allowed}
#pdo .pd-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:8px}
#pdo .pd-sz{height:48px;border:1px solid #d9d4cc;background:#fff;color:#111;font-weight:700;font-size:15px;border-radius:4px;padding:0 8px;cursor:pointer}
#pdo .pd-sz.active{border:2px solid #111}
.fp-qty{display:flex;align-items:center;margin:20px 0 6px}
.fp-qty .pd-qty-ctrl{display:inline-flex;border:1.5px solid #cfc9c1;border-radius:4px;overflow:hidden;background:#fff}
.fp-qty .pd-qb{width:46px;height:44px;background:#fff;border:none;font-size:20px;color:#111;cursor:pointer}
.fp-qty .pd-q{min-width:70px;display:flex;align-items:center;justify-content:center;font-weight:700;border-left:1.5px solid #cfc9c1;border-right:1.5px solid #cfc9c1;color:#111}
.fp-buy{margin-top:12px;border-top:1px solid #e7e2db;padding-top:14px}
.fp-red,.fp-black{display:block;width:100%;border:none;border-radius:4px;padding:18px 12px;font-family:var(--fd);font-size:20px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;cursor:pointer;margin-top:10px}
.fp-red{background:#D4000F;color:#fff}
.fp-red:hover{background:#B8000D}
.fp-black{background:#1B1B19;color:#fff}
.fp-black:hover{background:#000}
.fp-line,#pdo .pd-retail-btn.fp-line{display:block;width:100%;background:#fff;color:#111;border:1.5px solid #111;border-radius:4px;padding:16px 12px;font-family:var(--fd);font-size:17px;font-weight:800;text-transform:uppercase;cursor:pointer;margin-top:10px}
.fp-disc{font-size:12px;color:#555;line-height:1.55;margin:10px 0 4px}
.fp-actions{display:flex;justify-content:center;gap:24px;margin:14px 0 22px}
.fp-actions button{background:none;border:none;color:#555;font-size:14px;cursor:pointer}
.fp-acc{border-top:1px solid #d9d4cc}
.fp-acc:last-of-type{border-bottom:1px solid #d9d4cc}
.fp-acc summary{list-style:none;cursor:pointer;padding:18px 2px;font-family:var(--fd);font-size:21px;font-weight:800;display:flex;justify-content:space-between;align-items:center;color:#111}
.fp-acc summary::-webkit-details-marker{display:none}
.fp-acc summary::after{content:'';width:9px;height:9px;border-right:2px solid #111;border-bottom:2px solid #111;transform:rotate(45deg);margin-right:6px}
.fp-acc[open] summary::after{transform:rotate(-135deg)}
.fp-acc-b{padding:0 2px 18px;font-size:15px;line-height:1.6;color:#222}
.fp-acc-b ul{padding-left:18px;margin:8px 0}
.fp-acc-b a{color:#111}
.fp-meta{font-size:13px;color:#666}
.fp-h{font-family:var(--fd);font-size:25px;font-weight:800;text-align:center;margin:38px 0 16px;color:#111;text-transform:none;letter-spacing:0}
.fp-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 12px}
.fp-card{cursor:pointer}
.fp-card-img{aspect-ratio:3/4;background:#F1EFEB;overflow:hidden}
.fp-card-img img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply;display:block}
.fp-card-name{font-size:14px;margin:8px 0 2px;line-height:1.3;color:#111}
.fp-card-p b{font-family:var(--fd);font-size:21px;font-weight:800;color:#111}
.fp-card-p span,.fp-card-o span{font-size:10px;letter-spacing:.07em;text-transform:uppercase;color:#777;margin-left:6px}
.fp-card-o s{color:#777;font-size:13px}
.fp-avg{text-align:center;margin-bottom:10px}
.fp-avg b{display:block;font-family:var(--fd);font-size:56px;font-weight:800;line-height:1;color:#111}
.fp-avg span{display:block;font-size:13px;color:#666;margin-top:4px}
.fp-muted{font-size:13px;color:#777;padding:8px 0;text-align:center}
.fp-revform{border:1px solid #e0dbd3;padding:16px;margin-top:18px}
.fp-stars{margin:6px 0}
.fp-stars span{font-size:28px;color:#ccc;cursor:pointer;padding-right:4px}
.fp-revform textarea{width:100%;border:1px solid #cfc9c1;border-radius:4px;padding:10px;font:inherit;font-size:14px;margin:8px 0;box-sizing:border-box;color:#111;background:#fff}

/* ── Product grid: retail tiles (flush edges, gray backdrop, swatches, offer line, big price) ── */
#prod-grid.pg{gap:6px;row-gap:14px;grid-template-columns:repeat(2,minmax(0,1fr))}
@media(min-width:768px){#prod-grid.pg{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:1100px){#prod-grid.pg{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:767px){
  #prod-grid.pg{width:100vw;margin-left:calc(50% - 50vw);margin-right:calc(50% - 50vw)}
}
#prod-grid .pc{background:#fff}
#prod-grid .pi{aspect-ratio:3/4;background:#EEEBE6;border-radius:0}
#prod-grid .pi img{object-fit:contain;mix-blend-mode:multiply;padding:0}
#prod-grid .pc:hover .pi img{transform:none}
#prod-grid .hb{background:none!important;box-shadow:none!important;border:none!important;width:38px;height:38px;top:8px;right:6px;color:#fff;filter:drop-shadow(0 1px 3px rgba(0,0,0,.4))}
#prod-grid .hb .ig{width:28px;height:28px}
#prod-grid .hb.liked{color:#fff}
#prod-grid .bbn{background:#1B1B19;color:#fff;font-size:11px;padding:5px 9px;border-radius:0;top:10px;left:10px;letter-spacing:.08em}
#prod-grid .pb2{padding:0 16px 18px}
#prod-grid .psw{display:flex;align-items:center;gap:10px;margin:0;padding:14px 0 2px}
#prod-grid .pswd{width:32px;height:32px;border-radius:50%;box-shadow:inset 0 0 0 1px rgba(0,0,0,.18)}
#prod-grid .pswd:first-child{outline:2px solid #111;outline-offset:2px;margin:2px}
#prod-grid .pswx{font-size:17px;font-weight:400;color:#666;border-left:1px solid #cfc9c1;padding-left:12px;margin-left:2px;line-height:30px}
#prod-grid .pn{font-size:15px;font-weight:400;color:#222;margin:10px 0 12px;line-height:1.3;letter-spacing:0}
#prod-grid .pp-offer{font-family:var(--fd);font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.01em;color:#111;line-height:1.15;margin-bottom:6px}
#prod-grid .pp-row{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
#prod-grid .pp-row .pc2{font-family:var(--fd);font-size:28px;font-weight:800;color:#111;line-height:1}
#prod-grid .pp-row .po{font-size:19px;color:#777;text-decoration:line-through}

/* ── Account: plain website styling (flat lists and hairlines), not app-style cards ── */
#ovp-account .ac-hero{text-align:left;padding:22px 16px 14px}
#ovp-account .ac-hero-name{font-size:30px;font-weight:800;text-align:left;letter-spacing:0;line-height:1.1;color:#111}
#ovp-account .ac-hero-email{text-align:left;font-size:14px;margin:4px 0 12px;color:#666}
#ovp-account .ac-hero-vip{display:inline-block;border-radius:0;box-shadow:none;background:#111;color:#fff;font-size:11px;padding:5px 10px;letter-spacing:.08em;margin:0 0 16px}
#ovp-account .ac-hero-vip::before{display:none}
#ovp-account .ac-stats-row{display:flex;border:0;border-top:1px solid #e0dbd3;border-bottom:1px solid #e0dbd3;border-radius:0;box-shadow:none;background:none;margin:0;width:auto}
#ovp-account .ac-stat-cell{flex:1;padding:14px 4px;border:0;border-right:1px solid #e0dbd3;background:none;box-shadow:none;border-radius:0}
#ovp-account .ac-stat-cell:last-child{border-right:0}
#ovp-account .ac-stat-v{font-size:24px;font-weight:800}
#ovp-account .ac-signout{border-radius:4px}
#ac-panel-overview h2{display:none}
#ac-panel-overview button[onclick*="ovp-services"]:not(.ac-support-btn){background:none!important;color:#111!important;border:none!important;border-radius:0!important;padding:0!important;text-align:left!important;text-decoration:underline;font-family:var(--fb)!important;font-size:14px!important;font-weight:600!important;letter-spacing:0!important;text-transform:none!important;margin:2px 0 14px!important;width:auto!important;display:inline-block!important}
#ovp-account .ac-vip-status{border-radius:0;box-shadow:none;background:#FAF8F5;border:1px solid #e0dbd3;margin:0 16px 8px;padding:14px 16px}
#ovp-account .ac-vip-check{display:none}
#ovp-account .ac-panel,#ac-panel-overview{background:#fff}
#ovp-account .ac-stat-cell{text-align:left;padding-left:12px}
#ovp-account .ac-action-btn{margin:0!important;display:flex;align-items:center;width:100%;background:#fff;border:0!important;border-bottom:1px solid #e0dbd3!important;border-radius:0;box-shadow:none;padding:18px 0;text-align:left;gap:0}
#ovp-account .ac-action-icon{display:none!important}
#ovp-account .ac-action-title{font-family:var(--fb);font-size:16px;font-weight:700;text-transform:none;letter-spacing:0}
#ovp-account .ac-action-sub{font-size:14px;color:#666;margin-top:2px}
#ovp-account .ac-action-arrow{margin-left:auto;color:#999;font-size:22px}
#ovp-account .ac-support{background:none}
#ovp-account .ac-support h3{color:#111}
#ovp-account .ac-support p{color:#555}
#ovp-account .ac-support-btn{background:#fff;color:#111;border:1px solid #d9d4cc;border-radius:0;box-shadow:none}
#ovp-account .ac-support-btn svg{stroke:#111}
#ovp-account .ac-support-label{color:#111}
#ovp-account .ac-support-sub{color:#666}
#ovp-account .ac-card{border-radius:0;box-shadow:none}

/* ── VIP: one plum block, highlighted VIP column ── */
section.hv{background:linear-gradient(180deg,#2D0E22 0%,#4A1D38 100%);color:#fff}
section.hv h2,section.hv h3{color:#fff}
section.hv .vs,section.hv .vst p{color:rgba(255,255,255,.82)}
section.hv .vd{border-color:rgba(255,255,255,.22)}
.ct table th.vc{background:#4A1D38;color:#fff}
.ct table td:nth-child(2){background:#F6EEF2}
.ct table th.rc{color:#777}
.ct .pcp.v{color:#4A1D38;font-weight:800}
.ct .pcp.r{color:#777}
.ct .cx,.ct .cx .ig{color:#999}
.ct .btn-b{background:#D4000F;color:#fff}
.ct .btn-b:hover{background:#B8000D}
/* signup buttons: white on the dark bands they sit in */
button[onclick*="subNewsletter"],button#nl-ac-btn{background:#fff!important;color:#111!important;border:1px solid #1B1B19!important}

/* ── Scale line + brand strip ── */
#scale-bar[hidden],#brand-strip[hidden]{display:none!important}
#scale-bar{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 26px;background:#1B1B19;color:#fff;padding:14px 16px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;text-align:center}
.brand-strip{background:#fff;padding:34px 0 6px;border-bottom:1px solid #E7E2DB}
.bs-h{font-family:var(--fd);font-size:27px;font-weight:800;text-align:center;margin:0 0 16px;text-transform:none;color:#111;letter-spacing:0}
.bs-row{display:flex;gap:10px;overflow-x:auto;padding:0 16px 24px;scrollbar-width:none}
.bs-row::-webkit-scrollbar{display:none}
.bs-row a{flex:none;border:1px solid #111;color:#111;text-decoration:none;padding:11px 18px;font-size:15px;font-weight:600;white-space:nowrap}
.bs-row a:hover{background:#111;color:#fff}
.bs-row .bs-all{background:#111;color:#fff}
@media(min-width:900px){.bs-row{flex-wrap:wrap;justify-content:center;overflow:visible}}

/* ── Own identity: plum wordmark and section titles (not the retail-standard black) ── */
.logo-intimacy,.logo-supply{color:#4A1D38}
.st,.bs-h,.fp-h{color:#4A1D38}

.pg-empty{padding:48px 16px;text-align:center;color:#555}
.pg-empty p{font-size:16px;margin:0 0 14px}
.pg-empty button{background:#1B1B19;color:#fff;border:none;padding:13px 24px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;cursor:pointer}

/* share icon on the product photo, under the heart */
.fp-share{position:absolute;top:58px;right:calc(12% + 10px);width:40px;height:40px;border-radius:50%;background:#fff;border:none;box-shadow:0 1px 6px rgba(0,0,0,.18);display:flex;align-items:center;justify-content:center;cursor:pointer;color:#111}
/* the hero already sits above the scale line: no duplicate trust row, and a balanced 2x2 line on phones */
#hero .tr{display:none}
@media(max-width:600px){#scale-bar{display:grid;grid-template-columns:1fr 1fr;gap:10px 12px;letter-spacing:.1em}}

/* ── Start here tiles ── */
#start-here[hidden]{display:none!important}
.start-here{background:#fff;padding:34px 0 4px}
.sh-h{font-family:var(--fd);font-size:27px;font-weight:800;text-align:center;margin:0 0 6px;text-transform:none;letter-spacing:0;color:#4A1D38}
.sh-s{text-align:center;color:#666;font-size:14px;margin:0 16px 16px}
.sh-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 16px 24px;max-width:1240px;margin:0 auto}
@media(min-width:760px){.sh-grid{grid-template-columns:repeat(6,1fr)}}
.sh-tile{display:block;background:#F6F3EE;border:none;padding:0;text-align:left;cursor:pointer;font:inherit}
.sh-tile img{width:100%;aspect-ratio:1/1;object-fit:cover;display:block;background:#EEE9E2}
.sh-tile span{display:block;padding:11px 12px;font-weight:700;font-size:15px;color:#111;background:#fff;border:1px solid #E7E2DB;border-top:none}
/* ── Filter & Sort pill and sheet ── */
#fs-pill{position:fixed;left:50%;bottom:calc(18px + env(safe-area-inset-bottom,0px));transform:translate(-50%,140%);opacity:0;pointer-events:none;transition:transform .25s,opacity .25s;z-index:90;background:#1B1B19;color:#fff;border:none;border-radius:999px;padding:14px 22px;font:700 14px var(--fb);letter-spacing:.06em;text-transform:uppercase;box-shadow:0 4px 18px rgba(0,0,0,.28);display:flex;gap:8px;align-items:center;cursor:pointer}
#fs-pill.show{transform:translate(-50%,0);opacity:1;pointer-events:auto}
#fs-ov{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:400;display:none}
#fs-ov.open{display:block}
#fs-sheet{position:fixed;left:0;right:0;bottom:0;max-height:86vh;background:#fff;z-index:401;display:none;flex-direction:column;border-radius:14px 14px 0 0}
#fs-sheet.open{display:flex}
@media(min-width:760px){#fs-sheet{left:50%;right:auto;width:520px;transform:translateX(-50%)}}
.fs-hd{display:flex;justify-content:space-between;align-items:center;padding:16px 18px;border-bottom:1px solid #E7E2DB;font-size:18px}
.fs-hd button{background:none;border:none;font-size:28px;line-height:1;cursor:pointer;color:#111}
.fs-body{overflow-y:auto;padding:6px 18px 12px}
.fs-sec h3{font-size:13px;letter-spacing:.1em;text-transform:uppercase;color:#777;margin:16px 0 8px;font-weight:700}
.fs-chip{font:inherit;font-size:14px;padding:9px 14px;margin:0 8px 8px 0;border:1px solid #cfc9c2;border-radius:999px;background:#fff;color:#111;cursor:pointer}
.fs-chip.on{background:#1B1B19;color:#fff;border-color:#1B1B19}
.fs-ft{display:flex;gap:10px;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid #E7E2DB}
.fs-clear{flex:none;background:#fff;border:1.5px solid #1B1B19;color:#111;font:700 14px var(--fb);padding:14px 18px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}
.fs-show{flex:1;background:#1B1B19;border:none;color:#fff;font:700 14px var(--fb);padding:14px;cursor:pointer;text-transform:uppercase;letter-spacing:.05em}
/* trust facts on the product page */
.fp-facts p{margin:0 0 10px;line-height:1.55}
.fp-facts b{color:#111}
#cdb{display:none!important}
.fs-open #sticky-vip-cta,.fs-open #fs-pill{display:none!important}
@media(min-width:860px){#fs-pill{display:none!important}}

.cart-vip-offer{margin:12px 16px 4px;padding:12px 14px;background:#F6EEF2;border:1px solid #E3D2DB;color:#4A1D38;font-size:13px;line-height:1.5}
.cart-vip-offer b{display:block;font-size:15px;margin-bottom:2px}
.cart-vip-offer span{color:#5a4a52}
.ch-fi.ch-err{border-color:#D4000F!important;outline:1px solid #D4000F}

#no-results{padding:18px 16px;color:#555;font-size:15px;line-height:1.5}
.nr-sugg{margin-top:12px;display:flex;flex-wrap:wrap;gap:8px}
.nr-sugg button{font:inherit;font-size:14px;padding:9px 14px;border:1px solid #cfc9c2;border-radius:999px;background:#fff;color:#111;cursor:pointer}
.qf-opt{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:#555;line-height:1.4;margin:6px 2px 12px;text-align:left}
.qf-opt input{margin-top:3px;flex:none}

/* product page: bigger close button, single photo fills the width */
.pdh{min-height:64px!important}
.pdcl{width:52px!important;height:52px!important;font-size:38px!important;line-height:1!important;display:flex!important;align-items:center;justify-content:center;border-radius:50%!important;background:#F1EDE7!important;color:#111!important;padding:0!important;flex:none}
.pd-gallery-slide:only-child{flex:0 0 100%!important;width:100%!important;margin-right:0!important}

.sri-tag{display:inline-block;margin-left:6px;padding:2px 6px;background:#4A1D38;color:#fff;font-size:10px;font-weight:800;letter-spacing:.08em;vertical-align:middle}
.sri-reg{margin-left:10px;color:#666;font-size:13px}
/* tags and pills */
.pd-off-pill,.pd-price-badge,.pd-bdg.sale,.pd-vip-badge,.pd-lto,.pd-vip-pill,.gc-pill-badge,.ac-order-status,.chpb,.ch-vip-header{background:var(--ink);color:#fff}
.cibdg,.ch-bag-badge{background:var(--brand-red);color:#fff}
/* on white checkout surfaces, text is ink */
#cho .ch-os-total,#cho .ch-bag-price,#cho .ch-vip-disc-hdr,#cho .ch-suc h2,#cho .ch-edit-btn:hover,#cho .ch-step-pill.active{color:var(--ink)}
#cho .ch-bag-badge{background:transparent;color:var(--ink)}
/* money and savings are ink, not green */
.cart-sum-row.savings .cart-sum-val,.ck,.ac-vip-text strong,.ac-skip-banner-icon,.ac-skip-banner strong,.pd-save,.pd-off-lbl,.ch-step-pill.done .ch-step-num{color:var(--ink)}
.cart-ship-fill,.cart-ship-fill.done{background:var(--ink)}
.ac-vip-check,.ch-pay-icon{background:var(--ink)}
/* statement + notices are neutral */
.ch-descriptor-box{background:var(--warm);border:1px solid var(--line)}
.ch-descriptor-lbl{color:var(--ink)}
.ch-prop65::before{color:#555}

#prod-grid .hb .ig-ho{-webkit-mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s-7-4.5-9.5-9.5C.5 7 4 3 8 3c2 0 3 1 4 2.5C13 4 14 3 16 3c4 0 7.5 4 5.5 8.5C19 16.5 12 21 12 21z'/></svg>");mask-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 21s-7-4.5-9.5-9.5C.5 7 4 3 8 3c2 0 3 1 4 2.5C13 4 14 3 16 3c4 0 7.5 4 5.5 8.5C19 16.5 12 21 12 21z'/></svg>")}
#prod-grid .hb.liked{color:#1B1B19}
#prod-grid .hb{filter:none}
