:root{--bg:#f7f7f7;--card:#fff;--ink:#0a0a0a;--muted:#6b6b6b;--line:#e4e4e4;--brand:#0071e3;--brand-hover:#0077ed;--brand-press:#006edb;--brand-2:#e8f2fd;--link:#0066cc;--red:#c62828;--radius:14px;--font:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Inter","Helvetica Neue",Helvetica,Arial,sans-serif}
[hidden]{display:none!important}
*{box-sizing:border-box}
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;margin:0;font:15px/1.5 var(--font);letter-spacing:-.011em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;font-feature-settings:"cv11","ss01";background:var(--bg);color:var(--ink)}
main{flex:1 0 auto}
.nav,.foot{flex-shrink:0}
a{color:inherit;text-decoration:none}
img{max-width:100%}
h1{font-size:clamp(26px,4vw,40px);line-height:1.15;margin:.2em 0}
h2{font-size:20px;margin:0 0 .5em}
h1,h2,.card-now,.ph-deal-price b,.rv-score>b{letter-spacing:-.022em}
.wrap{max-width:1360px;margin:0 auto;padding:0 20px}
.section{padding:32px 20px}
.muted{color:var(--muted)}.small{font-size:13px}.mt{margin-top:40px}
.eyebrow{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600}
.label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:600;margin-bottom:4px}

.nav{background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}
.nav-in{display:flex;align-items:center;gap:24px;height:62px}
.logo{font-weight:800;font-size:19px;letter-spacing:-.02em}.logo span{font-weight:400}
.nav nav{display:flex;gap:20px;flex:1}.nav nav a{color:var(--muted);font-weight:500}.nav nav a:hover{color:var(--ink)}
@media(max-width:760px){.nav nav{display:none}.nav-search{flex:1}.nav-search input{width:100%}.nav-search input:focus{width:100%}}

.hero{position:relative;z-index:20;background:#fff;border-bottom:1px solid var(--line);padding:56px 0 40px;text-align:center}
.lead{color:var(--muted);max-width:620px;margin:0 auto 24px}
button,.btn{background:#fff;border:1px solid var(--line);border-radius:10px;padding:9px 16px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap;display:inline-block}
.btn.primary,button.primary{background:var(--brand);border-color:var(--brand);color:#fff;transition:background .15s}
.btn.primary:hover,button.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.btn.primary:active,button.primary:active{background:var(--brand-press)}
.chips{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:18px}
.chip{display:inline-block;border:1px solid var(--line);background:#fff;border-radius:999px;padding:4px 12px;font-size:13px;margin:0 6px 6px 0}
.chip.season{background:#e8f1fb;border-color:transparent;color:#1d5fa8}

.sec-head{display:flex;justify-content:space-between;align-items:end;margin-bottom:16px}
.sec-head a{color:var(--link);font-weight:600}.sec-head p{margin:0}
.grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:1fr;gap:18px}
@media(max-width:1180px){.grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:940px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}}
.card{background:var(--card);border:1px solid #efefef;border-radius:var(--radius);overflow:hidden;box-shadow:0 10px 12px -10px rgba(0,0,0,.22);transition:transform .22s cubic-bezier(.33,1,.68,1),box-shadow .22s cubic-bezier(.33,1,.68,1);display:flex;flex-direction:column;min-width:0;height:100%}
.card:hover{transform:translateY(-6px);box-shadow:0 22px 20px -14px rgba(0,0,0,.3)}
/* fixed square photo frame: every image is centered and fully visible inside it */
.card-img{position:relative;aspect-ratio:1/1;width:100%;flex:none;background:#fff;overflow:hidden}
.card-img img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center;padding:8px 8px 12px;box-sizing:border-box;filter:drop-shadow(0 6px 8px rgba(0,0,0,.14)) drop-shadow(0 2px 2px rgba(0,0,0,.08));transition:transform .22s cubic-bezier(.33,1,.68,1);will-change:transform;backface-visibility:hidden}
.card:hover .card-img img{transform:scale(1.06) translateZ(0)}
@media(prefers-reduced-motion:reduce){.card{transition:none}.card:hover{transform:none}.card-img img{transition:none}.card:hover .card-img img{transform:none}}
.card-body{padding:14px 16px 16px;display:flex;flex-direction:column;flex:1;min-width:0}
.card-body .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* title always takes exactly two lines */
.card-title{font-size:16px;font-weight:500;margin:2px 0 6px;line-height:1.3;height:2.6em;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* price block has a fixed height so cards line up with or without retail */
.card-deal{display:flex;flex-direction:column;gap:2px}
.card-row{display:flex;justify-content:space-between;align-items:center;gap:8px;min-width:0}
.card-row>span.muted{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.card-now{font-size:22px;font-weight:600;letter-spacing:-.01em}
.card-was{color:var(--muted);margin-left:6px;font-size:14px}
.card-prices{flex:1;min-width:0;white-space:nowrap;overflow:hidden}
.card-off{font-size:13px;padding:3px 9px;border-radius:999px;margin:0;box-shadow:inset 0 0 0 1px #f5c2b8;flex:none}
.card-ml{color:#1e7b3c;font-weight:600;white-space:nowrap;flex:none}
.card-none{height:54px;display:flex;align-items:center}

.drops{display:grid;grid-template-columns:repeat(auto-fill,minmax(340px,1fr));gap:12px}
.drops.list{grid-template-columns:1fr}
.drop{display:flex;align-items:center;gap:14px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:10px 14px}
.drop img{width:56px;height:56px;object-fit:contain}
.rank{font-weight:800;color:var(--muted);width:18px}
.drop-info{flex:1;min-width:0}.drop-price{text-align:right;display:flex;flex-direction:column;align-items:end;gap:4px}
.badge{display:inline-block;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px;background:#f2f2f2;color:var(--muted);margin-left:4px;vertical-align:middle}
.badge.good{background:#e6f4ea;color:#1e7b3c}.badge.value{background:#fff4d6;color:#8a5a00}
.badge.down{background:#fdecea;color:#c2410c}.badge.out{background:#eee;color:#888}

.two-col{display:grid;grid-template-columns:1fr 1fr;gap:40px}
@media(max-width:800px){.two-col{grid-template-columns:1fr}}
.faq details{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 16px;margin-bottom:8px}
.faq summary{font-weight:600;cursor:pointer}

.brand-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.brand-tile{background:#fff;border:1px solid var(--line);border-radius:12px;padding:14px;display:flex;flex-direction:column}
.brand-tile img{height:56px;object-fit:contain;align-self:flex-start;margin-bottom:8px}
.brand-intro{display:flex;gap:16px;align-items:center;margin:8px 0 12px}
.brand-intro img{width:72px;height:72px;object-fit:contain;background:#fff;border:1px solid var(--line);border-radius:12px;padding:6px}
.brand-intro p{margin:0;max-width:760px}

.crumbs{color:var(--muted);font-size:13px;margin-bottom:14px}.crumbs a:hover{color:var(--ink)}
.product-img img{width:100%;height:100%;object-fit:contain;padding:14px 14px 18px;filter:drop-shadow(0 6px 8px rgba(0,0,0,.14)) drop-shadow(0 2px 2px rgba(0,0,0,.08));transition:transform .22s cubic-bezier(.33,1,.68,1);will-change:transform;backface-visibility:hidden}
.box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px}
.box-head{display:flex;justify-content:space-between;align-items:baseline}


.foot{border-top:1px solid var(--line);background:#fff;margin-top:40px;padding:28px 0}
.foot .wrap{display:flex;justify-content:space-between;gap:20px;align-items:end}.foot p{max-width:520px;margin:6px 0 0}

/* ---------- search bars ---------- */
.live-search{position:relative;z-index:30}
.search-ico{position:absolute;top:50%;transform:translateY(-50%);width:18px;height:18px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;pointer-events:none;transition:stroke .2s}
.live-search:focus-within .search-ico{stroke:var(--ink)}
.live-search input{font:inherit;color:var(--ink);outline:0;-webkit-appearance:none;appearance:none}
.live-search input::placeholder{color:#9a9a9a}
.live-search input::-webkit-search-cancel-button{display:none}

.nav-search .search-ico{left:13px;width:16px;height:16px}
.nav-search input{width:240px;height:40px;padding:0 16px 0 38px;border:1px solid transparent;border-radius:999px;background:#f2f2f2;font-size:14px;transition:width .5s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),background .2s,border-color .2s,box-shadow .2s}
.nav-search input:hover{background:#ececec;transform:translateY(-1px);box-shadow:0 6px 12px -8px rgba(0,0,0,.25)}
.nav-search input:focus{width:320px;transform:translateY(-1px);background:#fff;border-color:var(--brand);box-shadow:0 0 0 4px rgba(0,113,227,.15)}

.big-search{display:flex;align-items:center;width:100%;max-width:460px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:16px;padding:3px 3px 3px 4px;box-shadow:0 8px 24px -14px rgba(0,0,0,.16),0 2px 8px rgba(0,0,0,.04);transition:max-width .32s cubic-bezier(.34,1.56,.64,1),transform .3s cubic-bezier(.34,1.56,.64,1),box-shadow .25s}
.big-search:hover{transform:translateY(-2px);box-shadow:0 12px 28px -14px rgba(0,0,0,.2),0 2px 8px rgba(0,0,0,.05)}
.big-search:focus-within{max-width:680px;transform:translateY(-2px);border-color:var(--line);box-shadow:0 24px 48px -16px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.05)}
.big-search .search-ico{position:static;transform:none;width:18px;height:18px}
.big-search input{flex:1;min-width:0;border:0;background:transparent;padding:8px 16px 8px 2px;font-size:16px;letter-spacing:-.005em}
.search-submit{flex:none;width:36px;height:36px;padding:0;border:0;border-radius:10px;background:transparent;display:flex;align-items:center;justify-content:center;cursor:pointer}
.search-submit:hover{background:#f3f3f3}.search-submit:active{transform:scale(.85)}
.search-submit{transition:background .15s,transform .25s cubic-bezier(.34,1.56,.64,1)}
.big-search:focus-within .search-ico{animation:ico-pop .32s cubic-bezier(.34,1.56,.64,1)}
@keyframes ico-pop{0%{transform:scale(1) rotate(0)}40%{transform:scale(1.25) rotate(-12deg)}100%{transform:scale(1) rotate(0)}}
.live-search.loading .search-ico{animation:sg-pulse .8s ease-in-out infinite}
@keyframes sg-pulse{50%{opacity:.35}}

/* suggestion dropdown */
.suggest-panel{position:absolute;left:0;right:0;top:calc(100% + 8px);z-index:60;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px -16px rgba(0,0,0,.22),0 2px 8px rgba(0,0,0,.05);padding:6px;text-align:left;max-height:min(70vh,520px);overflow:auto;animation:sg-in .38s cubic-bezier(.34,1.56,.64,1);transform-origin:top center}
.nav-search .suggest-panel{left:auto;right:0;width:420px;max-width:calc(100vw - 24px)}
@keyframes sg-in{from{opacity:0;transform:translateY(-10px) scale(.96)}}
.sg-label{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);padding:10px 12px 4px}
.sg-item{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:10px;color:var(--ink)}
.sg-item.active{background:#f3f3f3}
.sg-thumb{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;overflow:hidden}
.sg-thumb img{width:100%;height:100%;object-fit:contain}
.sg-thumb span{font-weight:800;color:var(--muted)}
.sg-brand .sg-thumb span{width:36px;height:36px;border-radius:50%;background:#f2f2f2;display:flex;align-items:center;justify-content:center}
.sg-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}
.sg-text b{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sg-text small{font-size:12px;color:var(--muted)}
.sg-brandname{text-transform:uppercase;letter-spacing:.06em;font-size:10.5px!important;font-weight:600}
.sg-conc{font-weight:400;color:var(--muted);font-size:13px}
.sg-price{text-align:right;font-weight:700;white-space:nowrap;display:flex;flex-direction:column;line-height:1.2}
.sg-price small{font-size:11px;font-weight:500;color:var(--muted)}
.sg-item mark{background:none;color:inherit;text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
.sg-empty{padding:18px 12px;color:var(--muted);text-align:center}
.sg-all{justify-content:space-between;margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px;font-weight:600;font-size:14px;padding:12px}
@media(prefers-reduced-motion:reduce){.suggest-panel{animation:none}.nav-search input,.big-search{transition:none;transform:none!important}}
.sg-divider{height:1px;background:var(--line);margin:6px 10px}
.sg-item,.sg-label,.sg-divider{animation:sg-row .42s cubic-bezier(.34,1.56,.64,1) both}
.suggest-panel>:nth-child(1){animation-delay:0ms}.suggest-panel>:nth-child(2){animation-delay:25ms}.suggest-panel>:nth-child(3){animation-delay:50ms}.suggest-panel>:nth-child(4){animation-delay:75ms}.suggest-panel>:nth-child(5){animation-delay:100ms}.suggest-panel>:nth-child(6){animation-delay:125ms}.suggest-panel>:nth-child(7){animation-delay:150ms}.suggest-panel>:nth-child(8){animation-delay:175ms}.suggest-panel>:nth-child(9){animation-delay:200ms}.suggest-panel>:nth-child(10){animation-delay:225ms}.suggest-panel>:nth-child(11){animation-delay:250ms}.suggest-panel>:nth-child(12){animation-delay:275ms}
@keyframes sg-row{from{opacity:0;transform:translateY(8px)}}
.sg-item{transition:background .15s}
@media(prefers-reduced-motion:reduce){.big-search:focus-within .search-ico,.sg-item,.sg-label,.sg-divider{animation:none}}

/* ---------- product hero ---------- */
.product-head{display:grid;grid-template-columns:260px minmax(0,1fr) 300px;gap:32px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:24px;margin-bottom:20px}
.product-img{width:260px;height:260px;display:flex;align-items:center;justify-content:center}
.ph-info h1{margin:2px 0 14px;font-size:clamp(24px,3vw,32px)}
.ph-facts{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.ph-fact{display:flex;flex-direction:column;background:var(--bg);border-radius:10px;padding:7px 12px;line-height:1.25}
.ph-fact span{font-size:10.5px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ph-fact b{font-size:14px;font-weight:600}
.ph-notes{display:flex;flex-direction:column;gap:6px;margin-bottom:6px}
.ph-note{display:grid;grid-template-columns:70px 1fr;gap:10px;align-items:baseline}
.ph-note .chip{margin:0 5px 5px 0;padding:2px 10px;font-size:12.5px}
.ph-note.nrow{grid-template-columns:70px minmax(0,1fr);align-items:center;cursor:default;outline:0}
.nstack{overflow:hidden;padding:3px 3px;margin:-3px 0}
.nstack.over{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 28px),transparent)}
.nstack.over.end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px);mask-image:linear-gradient(90deg,transparent,#000 28px)}
.nstack.over.mid{-webkit-mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent);mask-image:linear-gradient(90deg,transparent,#000 28px,#000 calc(100% - 28px),transparent)}
.ntrack{display:flex;flex-wrap:nowrap;width:max-content;will-change:transform}
.ndot{--ease:cubic-bezier(.22,1,.36,1);height:22px;min-width:22px;border-radius:99px;background:var(--nc);display:inline-flex;align-items:center;font-size:12px;line-height:1;margin-left:-6px;box-shadow:0 0 0 2px #fff;transition:margin .4s var(--ease),padding .4s var(--ease)}
.ndot:first-child{margin-left:0}
.ndot.photo{background:#fff;box-shadow:0 0 0 2px #fff,0 1px 3px rgba(0,0,0,.18)}
.ndot i img{display:block;width:22px;height:22px;border-radius:50%;object-fit:cover}
.ndot i{font-style:normal;font-size:14px;width:22px;flex:none;text-align:center}
.nname{max-width:0;opacity:0;overflow:hidden;white-space:nowrap;color:#3a3a3c;transition:max-width .45s var(--ease),opacity .3s ease,margin .45s var(--ease)}
.nrow:hover .ndot,.nrow:focus-within .ndot{margin-left:5px;padding-right:10px}
.nrow:hover .ndot:first-child,.nrow:focus-within .ndot:first-child{margin-left:0}
.nrow:hover .nname,.nrow:focus-within .nname{max-width:160px;opacity:1;margin-left:-3px}
@media(hover:none){.ndot{margin-left:5px;padding-right:10px}.ndot:first-child{margin-left:0}.nname{max-width:160px;opacity:1;margin-left:-3px}.nstack{overflow-x:auto;scrollbar-width:none}.nstack::-webkit-scrollbar{display:none}}
@media(prefers-reduced-motion:reduce){.ndot,.nname{transition:none}}
.ph-note-label{font-size:11px;letter-spacing:.07em;text-transform:uppercase;color:var(--muted);font-weight:600}
.ph-deal{align-self:stretch;display:flex;flex-direction:column;justify-content:center;gap:8px;background:var(--bg);border-radius:12px;padding:20px}
.ph-deal-empty{align-items:center}
.ph-deal-label{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);font-weight:700}
.ph-deal-price{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.ph-deal-price b{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1}
.ph-deal-price s{color:var(--muted);font-size:15px}
.ph-deal-meta{display:flex;justify-content:space-between;gap:8px;font-size:13px;color:var(--muted)}
.ph-deal-btn{text-align:center;padding:12px;margin-top:6px}
.ph-deal-all{text-align:center;font-size:13px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.ph-deal-all:hover{color:var(--ink)}
@media(max-width:1080px){.product-head{grid-template-columns:200px minmax(0,1fr)}.product-img{width:200px;height:200px}.ph-deal{grid-column:1/-1}}
@media(max-width:640px){.product-head{grid-template-columns:1fr;text-align:left;padding:18px}.product-img{width:100%;height:240px}}

/* ---------- price section ---------- */
.prices-box{padding:24px}
.prices-head{display:flex;justify-content:space-between;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:16px}
.prices-head h2{margin:0;font-size:18px}
.size-picker{display:flex;flex-direction:column;gap:12px;margin-bottom:8px}
/* segmented switch: full bottles / decants */
.size-seg{display:inline-flex;flex-wrap:wrap;max-width:100%;align-self:flex-start;background:#f2f2f2;border-radius:8px;padding:3px;gap:2px}
.seg{border:0;background:transparent;border-radius:6px;padding:6px 12px;font-size:13px;font-weight:600;color:var(--muted);display:flex;align-items:center;gap:6px;transition:background .2s,color .2s,box-shadow .2s}
.seg small{font-size:10.5px;font-weight:700;background:rgba(0,0,0,.07);border-radius:4px;padding:0 5px;color:inherit}
.seg:hover{color:var(--ink)}
.seg.active{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1),0 1px 1px rgba(0,0,0,.04)}
/* size chips */
.size-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 0 4px}
.size-chip{flex:none;display:flex;align-items:baseline;gap:6px;border:1px solid var(--line);background:#fff;border-radius:8px;padding:6px 11px;font-size:13px;font-weight:500;transition:border-color .15s,background .15s,transform .2s cubic-bezier(.34,1.56,.64,1)}
.size-chip b{font-weight:600}
.size-chip span{font-size:12px;color:var(--muted)}
.size-chip:hover{border-color:#bdbdbd;transform:translateY(-1px)}
.size-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}
.size-chip.active span{color:rgba(255,255,255,.7)}
.size-chip.soldout b{color:var(--muted);font-weight:500}
.size-chip.soldout span{text-decoration:none;font-style:italic}
.size-chip.soldout.active{background:#6b6b6b;border-color:#6b6b6b}
.size-chip.soldout.active b{color:#fff}
.panel-summary{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;font-size:12.5px;color:var(--muted);padding:12px 4px 10px;border-bottom:1px solid var(--line)}
.panel-summary b{color:var(--ink)}
.panel-summary+.offer{border-top:0}
.prices-foot{margin:14px 0 0;font-size:12px;color:var(--muted)}
.offers-more>.offer:first-child{border-top:1px solid var(--line)}
.show-more{display:block;width:100%;margin-top:6px;padding:9px;border:1px dashed var(--line);border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:var(--muted)}
.show-more:hover{color:var(--ink);border-color:#bdbdbd;border-style:solid}

/* ---------- offer rows (compact) ---------- */
.offer{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto;gap:14px;align-items:center;padding:8px 4px;border-top:1px solid var(--line);font-size:14px}
.offer:first-child{border-top:0}
.offer-store{display:flex;align-items:center;gap:6px;min-width:0;flex-wrap:wrap;row-gap:2px}
.offer-store>b{font-weight:600}
.offer-store .badge{margin:0;font-size:10.5px;padding:1px 6px;border-radius:4px}
.offer-sub{flex-basis:100%;font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1.3}
.offer-price{display:flex;align-items:baseline;gap:10px;white-space:nowrap}
.offer-price b{font-size:15px;font-weight:700;min-width:72px;text-align:right}
.offer-ml{font-size:12px;color:var(--muted)}
.below-retail{font-size:11px;font-weight:700;color:#1e7b3c;background:#e6f4ea;border-radius:4px;padding:1px 5px}
.offer-btn{font-size:13px;font-weight:600;padding:6px 12px;border:1px solid var(--line);border-radius:6px;background:#fff;white-space:nowrap;transition:background .15s,border-color .15s}
.offer-btn:hover{border-color:var(--brand)}
.offer-btn.primary{background:var(--brand);border-color:var(--brand);color:#fff}
.offer-btn.primary:hover{background:var(--brand-hover);border-color:var(--brand-hover)}
.offer.oos{opacity:.5}
.offer:hover{background:#fafafa}
@media(max-width:560px){.offer{grid-template-columns:28px minmax(0,1fr) auto}.offer-btn{grid-column:1/-1;text-align:center}.offer-ml{display:none}}

/* ---------- prices + reviews layout (65 / 35) ---------- */
.price-review-grid{display:grid;grid-template-columns:minmax(0,65fr) minmax(0,35fr);gap:20px;align-items:start}
@media(max-width:980px){.price-review-grid{grid-template-columns:minmax(0,1fr)}}

/* ---------- reviews ---------- */
.reviews-box{padding:22px}
.stars{position:relative;display:inline-block;line-height:0;vertical-align:middle}
.stars svg{width:15px;height:15px;margin-right:1px}
.stars.sm svg{width:13px;height:13px}
.stars-bg svg{fill:#e3e3e3}
.stars-fg{position:absolute;inset:0 auto 0 0;overflow:hidden;white-space:nowrap}
.stars-fg svg{fill:#f5a524}
.rv-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.rv-head h2{margin:0;font-size:18px}
.rv-write-btn{font-size:13px;padding:6px 12px;border-radius:6px}
.rv-summary{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:center;padding-bottom:14px;border-bottom:1px solid var(--line)}
.rv-score{display:flex;flex-direction:column;gap:3px}
.rv-score>b{font-size:36px;font-weight:800;line-height:1;letter-spacing:-.02em}
.rv-score>span{font-size:12px;color:var(--muted)}
.rv-bars{display:flex;flex-direction:column;gap:3px}
.rv-bar{display:grid;grid-template-columns:30px 1fr 18px;gap:8px;align-items:center;border:0;background:none;padding:1px 4px;border-radius:4px;font-size:12px;font-weight:500;color:var(--muted)}
.rv-bar:not([disabled]):hover,.rv-bar.active{background:#f3f3f3;color:var(--ink)}
.rv-bar[disabled]{cursor:default}
.rv-bar-label{display:flex;align-items:center;gap:2px}
.rv-bar-label svg{width:10px;height:10px;fill:#f5a524}
.rv-bar-track{height:6px;background:#eee;border-radius:99px;overflow:hidden}
.rv-bar-track span{display:block;height:100%;background:#f5a524;border-radius:99px}
.rv-bar-n{text-align:right}
.rv-tools{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin:12px 0 4px}
.rv-chips{display:flex;gap:4px;flex-wrap:wrap}
.rv-chip{font-size:12px;font-weight:600;padding:4px 9px;border-radius:6px;color:var(--muted)}
.rv-chip.active{background:var(--brand);border-color:var(--brand);color:#fff}
.rv-chip[disabled]{opacity:.4;cursor:default}
.rv-sort{font:inherit;font-size:12px;border:1px solid var(--line);border-radius:6px;padding:4px 6px;background:#fff}
.rv-cta{display:flex;flex-direction:column;gap:2px;background:var(--bg);border-radius:10px;padding:12px 14px;margin:12px 0 4px;cursor:pointer;transition:background .15s}
.rv-cta:hover{background:#efefef}
.rv-cta b{font-size:14px}.rv-cta span{font-size:12.5px;color:var(--muted)}
.rv-item{padding:14px 0;border-top:1px solid var(--line)}
.rv-list .rv-item:first-child{border-top:0}
.rv-item-head{display:flex;justify-content:space-between;align-items:center;gap:8px}
.rv-item-head b{font-size:14px}
.rv-date{font-size:12px;color:var(--muted);margin-left:8px}
.rv-item p{margin:6px 0 8px;font-size:13.5px;line-height:1.55}
.rv-scores{display:flex;gap:12px;flex-wrap:wrap;font-size:12px;color:var(--muted);margin-bottom:6px}
.rv-scores b{color:var(--ink)}
.rv-helpful{display:inline-flex;align-items:center;gap:5px;border:0;background:none;padding:2px 0;font-size:12px;font-weight:500;color:var(--muted)}
.rv-helpful svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8}
.rv-helpful:hover{color:var(--ink)}
.rv-helpful.voted{color:var(--ink);cursor:default}.rv-helpful.voted svg{fill:currentColor}
/* form */
.rv-form{display:flex;flex-direction:column;gap:8px;background:var(--bg);border-radius:10px;padding:14px;margin:12px 0}
.rv-form-title{font-weight:700;font-size:14px}
.rv-form input,.rv-form textarea,.rv-form select{font:inherit;font-size:13.5px;border:1px solid var(--line);border-radius:6px;padding:8px 10px;background:#fff;width:100%}
.rv-form textarea{resize:vertical;min-height:90px}
.rv-rate{display:flex;gap:2px}
.rv-rate button{border:0;background:none;padding:2px;line-height:0}
.rv-rate svg{width:26px;height:26px;fill:#e3e3e3;transition:transform .15s cubic-bezier(.34,1.56,.64,1),fill .1s}
.rv-rate button.on svg,.rv-rate button.hover svg{fill:#f5a524}
.rv-rate button:hover svg{transform:scale(1.15)}
.rv-form-scores{display:flex;flex-direction:column;gap:10px;background:#fff;border:1px solid var(--line);border-radius:8px;padding:10px 12px}
.rv-hp{position:absolute!important;left:-9999px;width:1px!important;height:1px}
.rv-form-actions{display:flex;justify-content:flex-end;gap:6px}
.rv-form-actions button{font-size:13px;padding:7px 14px;border-radius:6px}
.rv-submit{background:var(--brand);border-color:var(--brand);color:#fff}
.rv-form-msg{margin:0;font-size:12.5px}.rv-form-msg.err{color:var(--red)}.rv-form-msg.ok{color:#1e7b3c}

.rv-meter-top{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:5px}
.rv-meter-top span{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.rv-meter-val{font-size:12px;font-weight:600}
.rv-meter-track{display:grid;grid-template-columns:repeat(5,1fr);gap:4px;touch-action:none}
.rv-meter-track button{height:10px;padding:0;border:0;border-radius:3px;background:#ececec;cursor:pointer;transition:background .12s,transform .2s cubic-bezier(.34,1.56,.64,1)}
.rv-meter-track button:hover{transform:scaleY(1.4)}
.rv-meter-track button.hover{background:#bdbdbd}
.rv-meter-track button.on{background:var(--brand)}
.card-flag{position:absolute;top:10px;left:10px;z-index:1;font-size:11px;font-weight:700;background:#fdecea;color:#c2410c;border-radius:6px;padding:3px 8px}
.low30{color:#1e7b3c;font-weight:600}

/* ---------- browse filters ---------- */
.filterbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0 10px}
.filterbar-left{display:flex;gap:8px;flex-wrap:wrap}
.fdrop{position:relative}
.fdrop summary{list-style:none;display:flex;align-items:center;gap:6px;height:36px;padding:0 12px 0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:14px;font-weight:500;cursor:pointer;user-select:none;transition:border-color .15s,background .15s,box-shadow .15s}
.fdrop summary::-webkit-details-marker{display:none}
.fdrop summary svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:transform .2s}
.fdrop summary:hover{border-color:#c8c8c8}
.fdrop[open] summary{border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.fdrop[open] summary svg{transform:rotate(180deg)}
.fdrop.active summary{background:var(--brand-2);border-color:transparent;color:var(--brand);font-weight:600}
.fcount{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:99px;background:var(--brand);color:#fff;font-size:11px;font-weight:700}
.fmenu{position:absolute;z-index:40;top:calc(100% + 6px);left:0;min-width:230px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -14px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.04);padding:6px;animation:sg-in .22s cubic-bezier(.34,1.56,.64,1)}
.fmenu-search{width:100%;margin:2px 0 6px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;font:inherit;font-size:13px;outline:0}
.fmenu-search:focus{border-color:var(--brand)}
.fmenu-list{max-height:300px;overflow:auto}
.fopt{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:8px;cursor:pointer;font-size:14px}
.fopt:hover{background:#f5f5f7}
.fopt input{position:absolute;opacity:0;pointer-events:none}
.fbox{flex:none;width:18px;height:18px;border:1.5px solid #c7c7cc;border-radius:5px;display:flex;align-items:center;justify-content:center;transition:background .12s,border-color .12s}
.fopt input:checked+.fbox{background:var(--brand);border-color:var(--brand)}
.fopt input:checked+.fbox::after{content:'';width:5px;height:9px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg) translate(-1px,-1px)}
.fopt input:focus-visible+.fbox{box-shadow:0 0 0 3px rgba(0,113,227,.3)}
.flabel{flex:1;white-space:nowrap}
.fnum{font-size:12px;color:var(--muted)}
.fclear{width:100%;margin-top:4px;padding:7px;border:0;border-top:1px solid var(--line);border-radius:0 0 8px 8px;background:none;font-size:13px;font-weight:600;color:var(--link)}
.fsort{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.fsort select{-webkit-appearance:none;appearance:none;height:36px;padding:0 34px 0 14px;border:1px solid var(--line);border-radius:999px;font:inherit;font-size:14px;font-weight:500;color:var(--ink);cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M3 4.5 6 7.5l3-3' fill='none' stroke='%236b6b6b' stroke-width='1.6' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat right 12px center/12px}
.fsort select:hover{border-color:#c8c8c8}
.fsort select:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.results-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap;min-height:32px;margin-bottom:14px;font-size:14px}
.fchips{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.fchip{display:inline-flex;align-items:center;gap:6px;height:28px;padding:0 8px 0 12px;border:0;border-radius:999px;background:#ececf0;font-size:13px;font-weight:500}
.fchip span{font-size:15px;line-height:1;color:var(--muted)}
.fchip:hover{background:#e2e2e7}.fchip:hover span{color:var(--ink)}
.fclear-all{font-size:13px;font-weight:600;color:var(--link);margin-left:2px}
#browse.loading .grid{opacity:.5;transition:opacity .15s}
@media(max-width:640px){.filterbar{align-items:stretch}.fsort{width:100%}.fsort select{flex:1}.fmenu{position:fixed;left:12px;right:12px;top:auto;bottom:12px;min-width:0}}
.offer-logo{width:28px;height:28px;border-radius:7px;object-fit:contain;background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
.offer.oos .offer-logo{filter:grayscale(1)}
.prices-box,.reviews-box{min-width:0}
@media(max-width:560px){
  .prices-box,.reviews-box{padding:16px}
  .size-chip{padding:6px 10px}
  .panel-summary{padding:10px 0 8px}
  .offer{padding:10px 0;gap:4px 10px}
  .offer-price{justify-content:flex-end}
}

/* mobile sticky best-deal bar */
.deal-bar{display:none}
@media(max-width:760px){
  .deal-bar{display:flex;align-items:center;gap:12px;position:fixed;left:0;right:0;bottom:0;z-index:40;background:rgba(255,255,255,.88);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.08);padding:10px 16px calc(10px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .45s cubic-bezier(.22,1,.36,1);pointer-events:none}
  .deal-bar.show{transform:none;pointer-events:auto}
  .db-info{flex:1;min-width:0}
  .db-top{display:flex;align-items:center;gap:8px}
  .db-price{font-size:19px;font-weight:600;letter-spacing:-.02em}
  .db-off{font-size:12px;font-weight:600;color:#c2410c;background:#fdecea;border-radius:999px;padding:1px 8px}
  .db-meta{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .db-btn{padding:11px 20px;border-radius:12px;font-size:15px}
  .db-btn:active{transform:scale(.96)}
  .deal-bar.bump .db-top{animation:db-bump .4s cubic-bezier(.34,1.56,.64,1)}
  main:has(.deal-bar){padding-bottom:72px}
}
@keyframes db-bump{0%{transform:scale(.94);opacity:.4}100%{transform:none;opacity:1}}
@media(prefers-reduced-motion:reduce){.deal-bar{transition:none}.deal-bar.bump .db-top{animation:none}}

/* ---------- mobile product page ---------- */
.ph-from,.chip-ml,.rv-peek,.sheet-grab,.sheet-close,.sheet-backdrop{display:none}
@media(max-width:760px){
  /* B: compact hero — small photo beside the title, notes full width below */
  .product-head{grid-template-columns:92px minmax(0,1fr);column-gap:14px;row-gap:0;padding:14px;align-items:start}
  .product-img{width:92px;height:92px;grid-row:1/span 4;background:#fff;border-radius:12px}
  .product-img img{padding:4px 4px 8px}
  .ph-info{display:contents}
  .ph-info .eyebrow{grid-column:2;margin-top:2px}
  .ph-info h1{grid-column:2;font-size:20px;margin:0 0 2px;line-height:1.2}
  .ph-from{display:block;grid-column:2;font-size:13px;color:var(--muted);margin-bottom:6px}
  .ph-from b{color:var(--ink);font-weight:600}
  .ph-facts{grid-column:2;gap:4px;margin:0 0 4px}
  .ph-fact{flex-direction:row;gap:4px;padding:3px 8px;border-radius:7px}
  .ph-fact span{display:none}
  .ph-fact b{font-size:12.5px;font-weight:500}
  .ph-notes,.ph-info>.ph-note{grid-column:1/-1}
  .ph-notes{margin:12px 0 4px;padding-top:12px;border-top:1px solid var(--line)}
  .ph-note{grid-template-columns:52px minmax(0,1fr)!important;gap:8px}
  .ph-note-label{font-size:10px}
  .ph-deal{grid-column:1/-1;margin-top:12px;padding:14px;gap:6px}
  .ph-deal-price b{font-size:26px}

  /* B: swipeable size cards */
  .size-seg{display:flex;width:100%}.size-seg .seg{flex:1}
  .size-chips{flex-wrap:nowrap;overflow-x:auto;scroll-snap-type:x mandatory;scroll-padding:0 2px;gap:8px;margin:0 -16px;padding:4px 16px 8px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .size-chips::-webkit-scrollbar{display:none}
  .size-chip{scroll-snap-align:start;flex-direction:column;align-items:flex-start;gap:1px;min-width:104px;padding:10px 12px;border-radius:12px}
  .size-chip b{font-size:15px}
  .size-chip span{font-size:14px;color:var(--ink);font-weight:600}
  .chip-ml{display:block;font-size:11.5px;color:#1e7b3c;font-weight:500}
  .size-chip.active span{color:#fff}.size-chip.active .chip-ml{color:rgba(255,255,255,.8)}
  .size-chip:hover{transform:none}
  .offer{min-height:56px}

  /* C: reviews as a bottom sheet */
  .rv-peek{display:flex;flex-direction:column;gap:8px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:12px}
  .rv-peek-main{display:flex;align-items:center;gap:12px;background:none;border:0;padding:0;text-align:left;font-weight:400;white-space:normal;width:100%}
  .rv-peek-score{display:flex;align-items:center;gap:2px;background:var(--bg);border-radius:10px;padding:8px 10px;flex:none}
  .rv-peek-score b{font-size:20px;letter-spacing:-.02em}
  .rv-peek-star{color:#f5a524;font-size:15px}
  .rv-peek-text{flex:1;min-width:0;display:flex;flex-direction:column}
  .rv-peek-text small{color:var(--muted);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .rv-peek-go{font-size:24px;color:var(--muted);line-height:1}
  .rv-peek-write{width:100%;border-radius:10px;padding:10px}
  .reviews-box{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:88vh;max-height:88dvh;overflow-y:auto;overscroll-behavior:contain;border-radius:20px 20px 0 0;border:0;padding:8px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.18);transform:translateY(105%);visibility:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
  .reviews-box.sheet-open{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .sheet-grab{display:block;width:38px;height:5px;border-radius:3px;background:#d6d6d9;margin:2px auto 8px;position:sticky;top:0}
  .sheet-close{display:flex;position:absolute;top:10px;right:12px;width:30px;height:30px;padding:0;border-radius:50%;border:0;background:#f0f0f2;color:var(--muted);align-items:center;justify-content:center;font-size:13px}
  .sheet-backdrop{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,0);transition:background .35s ease}
  .sheet-backdrop.on{background:rgba(0,0,0,.35)}
  .reviews-box .rv-head{padding-right:40px}
  html.sheet-lock,html.sheet-lock body{overflow:hidden}
  html.sheet-lock .deal-bar{transform:translateY(110%)}
}
@media(prefers-reduced-motion:reduce){.reviews-box,.sheet-backdrop{transition:none!important}}

/* ---------- mobile product page, round 2 ---------- */
.ph-more-btn{display:none}
@media(max-width:760px){
  /* best deal lives in the sticky bar; prices come right after the header */
  .ph-deal{display:none}
  .product-head{margin-bottom:12px}

  /* notes + best for collapsed behind a toggle */
  .ph-more-btn{display:flex;grid-column:1/-1;align-items:center;justify-content:space-between;width:100%;margin-top:12px;padding:10px 0 0;border:0;border-top:1px solid var(--line);border-radius:0;background:none;font-size:13px;font-weight:600;color:var(--ink)}
  .ph-more-btn i{width:8px;height:8px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:rotate(45deg) translateY(-3px);transition:transform .3s cubic-bezier(.22,1,.36,1)}
  .ph-more-btn[aria-expanded="true"] i{transform:rotate(-135deg) translateX(-2px)}
  .ph-more{grid-column:1/-1;display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .4s cubic-bezier(.22,1,.36,1),opacity .3s ease}
  .ph-more>*{min-height:0;overflow:hidden}
  .ph-more{overflow:hidden}
  .ph-more.open{grid-template-rows:1fr;opacity:1}
  .ph-more-in{min-height:0}
  .ph-notes{margin:8px 0 4px;padding-top:0;border-top:0}

  /* size selector: compact pills (option C) */
  .size-chips{gap:6px;padding:4px 16px 6px;scroll-snap-type:x proximity}
  .size-chip{flex-direction:row;align-items:baseline;gap:6px;min-width:0;padding:7px 13px;border-radius:999px}
  .size-chip b{font-size:13.5px}
  .size-chip span{font-size:12.5px;font-weight:500;color:var(--muted)}
  .size-chip.active span{color:rgba(255,255,255,.8)}
  .chip-ml{display:none}

  /* offer rows: whole row opens the deal */
  .offer{position:relative;grid-template-columns:28px minmax(0,1fr) auto 10px;gap:12px;padding:10px 4px;min-height:0}
  .offer-btn{grid-column:auto!important;position:static;padding:0;border:0!important;background:none!important;width:10px;height:10px}
  .offer-btn span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .offer-btn::before{content:'';display:block;width:7px;height:7px;border-top:1.8px solid #b4b4b8;border-right:1.8px solid #b4b4b8;transform:rotate(45deg)}
  .offer-btn::after{content:'';position:absolute;inset:0;z-index:1}
  .offer:active{background:#f2f2f4}
  .offer-price{flex-direction:column;align-items:flex-end;gap:0}
  .offer-price b{min-width:0}
  .offer-ml{display:block!important;order:2;font-size:11px}
  .below-retail{order:3;font-size:11px}
}

/* ---------- mobile size selector as a bottom sheet (option C) ---------- */
.size-trigger,.size-backdrop,.size-sheet-head{display:none}
@media(max-width:760px){
  .size-trigger{display:flex;align-items:center;gap:8px;width:100%;margin:2px 0 8px;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px;font-weight:500;text-align:left}
  .size-trigger:active{background:#f5f5f7}
  .st-label{color:var(--muted);font-weight:500}
  .st-value{font-weight:600}
  .st-price{margin-left:auto;color:var(--muted);font-size:13px}
  .size-trigger i{width:8px;height:8px;margin:0 2px 4px 4px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:rotate(45deg)}

  .size-backdrop{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,0);transition:background .35s ease}
  .size-backdrop.on{background:rgba(0,0,0,.35)}
  .size-picker{position:fixed;left:0;right:0;bottom:0;z-index:60;max-height:80vh;max-height:80dvh;overflow-y:auto;overscroll-behavior:contain;background:#fff;border-radius:20px 20px 0 0;padding:8px 16px calc(20px + env(safe-area-inset-bottom));box-shadow:0 -12px 40px rgba(0,0,0,.18);transform:translateY(105%);visibility:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s;margin:0;gap:12px}
  .size-picker.sheet-open{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .size-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .size-sheet-head b{font-size:16px}
  .size-close{width:30px;height:30px;padding:0;border:0;border-radius:50%;background:#f0f0f2;color:var(--muted);font-size:13px;display:flex;align-items:center;justify-content:center}
  .size-picker .size-seg{margin-bottom:12px}
  .size-picker .size-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;overflow:visible;margin:0;padding:0}
  .size-picker .size-chips[hidden]{display:none!important}
  .size-picker .size-chip{flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px;border-radius:12px}
  .size-picker .size-chip b{font-size:15px}
  .size-picker .size-chip span{font-size:13px;font-weight:600;color:var(--ink)}
  .size-picker .size-chip.active span{color:#fff}
  .size-picker .chip-ml{display:block;font-size:11px;color:#1e7b3c}
  .size-picker .size-chip.active .chip-ml{color:rgba(255,255,255,.8)}
  .size-picker .size-chip.soldout span{color:var(--muted);font-weight:400}
}
@media(prefers-reduced-motion:reduce){.size-picker,.size-backdrop{transition:none!important}}

/* ---------- mobile notes redesign ---------- */
@media(max-width:760px){
  .ph-more-in{display:flex;flex-direction:column;gap:14px;padding:12px 0 4px}
  .ph-more .ph-notes{display:flex;flex-direction:column;gap:14px;margin:0}
  /* each tier: small label on top, pills wrap underneath */
  .ph-more .ph-note,.ph-more .ph-note.nrow{display:flex!important;flex-direction:column;align-items:stretch;gap:7px}
  .ph-more .ph-note-label{display:flex;align-items:center;gap:8px;font-size:10.5px;letter-spacing:.09em}
  .ph-more .ph-note-label::after{content:'';flex:1;height:1px;background:var(--line)}
  .ph-more .nstack{overflow:visible;margin:0;padding:0;-webkit-mask-image:none;mask-image:none}
  .ph-more .ntrack{flex-wrap:wrap;width:auto;gap:6px;transform:none!important}
  .ph-more .ndot,.ph-more .ndot:first-child{height:30px;margin:0!important;padding:0 11px 0 3px!important;background:#f5f5f7;box-shadow:none;border-radius:999px}
  .ph-more .ndot i{width:24px;height:24px;border-radius:50%;background:var(--nc);display:flex;align-items:center;justify-content:center;font-size:13px;margin-right:6px}
  .ph-more .ndot.photo i{background:#fff;box-shadow:0 0 0 1px rgba(0,0,0,.06)}
  .ph-more .ndot i img{width:24px;height:24px}
  .ph-more .nname{max-width:none!important;opacity:1!important;margin:0!important;font-size:13px;color:var(--ink)}
  /* best for: season pills in one row */
  .ph-more .ph-note>div:not(.nstack){display:flex;flex-wrap:wrap;gap:6px}
  .ph-more .chip.season{margin:0;padding:5px 12px;font-size:13px;font-weight:500}
}

/* ---------- mobile notes toggle: soft preview row ---------- */
@media(max-width:760px){
  .ph-more-btn{gap:12px;justify-content:flex-start;margin-top:14px;padding:9px 14px 9px 10px;border:0;border-radius:14px;background:#f5f5f7;font-weight:400;transition:background .2s}
  .ph-more-btn:active{background:#ececef}
  .pm-icons{display:flex;flex:none}
  .pm-dot{width:26px;height:26px;border-radius:50%;background:var(--nc);display:flex;align-items:center;justify-content:center;font-size:13px;margin-left:-8px;box-shadow:0 0 0 2px #f5f5f7;overflow:hidden}
  .pm-dot:first-child{margin-left:0}
  .pm-dot img{width:100%;height:100%;object-fit:cover}
  .pm-text{flex:1;min-width:0;display:flex;flex-direction:column;text-align:left;line-height:1.25}
  .pm-text b{font-size:13.5px;font-weight:600}
  .pm-text small{font-size:12px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .ph-more-btn i{flex:none}
}
@media(max-width:760px){
  .product-head{padding-bottom:12px}
  .ph-more-in{padding:0!important;transition:padding .4s cubic-bezier(.22,1,.36,1)}
  .ph-more.open .ph-more-in{padding:12px 0 2px!important}
  .ph-more-btn{margin-top:12px}
}

/* browse: search pill left of the filters */
.filterbar-left{align-items:center}
.fsearch{position:relative;display:flex;align-items:center;height:36px;width:220px;padding:0 10px 0 36px;border:1px solid var(--line);border-radius:999px;background:#fff;transition:width .35s cubic-bezier(.34,1.56,.64,1),border-color .15s,box-shadow .2s}
.fsearch:hover{border-color:#c8c8c8}
.fsearch:focus-within{width:280px;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.fsearch svg{position:absolute;left:13px;width:15px;height:15px;fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round}
.fsearch input{flex:1;min-width:0;height:100%;border:0;background:none;outline:0;font:inherit;font-size:14px;color:var(--ink);-webkit-appearance:none;appearance:none}
.fsearch input::-webkit-search-cancel-button{display:none}
.fsearch-x{width:20px;height:20px;padding:0;border:0;border-radius:50%;background:#e8e8ea;color:var(--muted);font-size:14px;line-height:1;display:flex;align-items:center;justify-content:center}
#browse.loading .grid{opacity:.55;transition:opacity .2s}
@media(max-width:640px){.filterbar-left{width:100%}.fsearch,.fsearch:focus-within{width:100%}}

/* browse filters: compact on mobile (search row + one swipeable row of filters with sort at the end) */
.fscroll{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
@media(max-width:640px){
  .filterbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin:10px 0 8px;align-items:center}
  .filterbar-left{display:contents}
  .fsearch,.fsearch:focus-within{grid-column:1/-1;width:100%;height:38px}
  .fscroll{flex-wrap:nowrap;overflow-x:auto;gap:6px;margin-left:-20px;padding:2px 4px 2px 20px;scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent 0,#000 16px,#000 calc(100% - 24px),transparent)}
  .fscroll::-webkit-scrollbar{display:none}
  .fdrop{flex:none}
  .fdrop summary{height:32px;padding:0 10px 0 12px;font-size:13px}
  .fsort,.filterbar .fsort{width:auto!important;margin:0}
  .fsort span{display:none}
  .fsort select{flex:none!important;height:32px;max-width:132px;padding:0 26px 0 12px;font-size:13px;border-radius:999px}
}

/* browse: mobile "Filter" button + bottom sheet */
.fsheet-btn,.fsheet-back,.fsheet-head{display:none}
@media(max-width:640px){
  .fsheet-btn{display:inline-flex;align-items:center;gap:6px;justify-self:start;height:34px;padding:0 14px 0 11px;border:1px solid var(--line);border-radius:999px;background:#fff;font-size:13.5px;font-weight:600}
  .fsheet-btn svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
  .fsheet-btn:active{background:#f5f5f7}
  .fsort select{height:34px;max-width:160px}
  .fsheet-back{display:block;position:fixed;inset:0;z-index:55;background:rgba(0,0,0,0);transition:background .35s ease}
  .fsheet-back.on{background:rgba(0,0,0,.35)}
  .fscroll{position:fixed;left:0;right:0;bottom:0;z-index:60;margin:0!important;display:flex;flex-direction:column;flex-wrap:nowrap;gap:0;max-height:82vh;max-height:82dvh;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;background:#fff;border-radius:20px 20px 0 0;padding:6px 16px calc(16px + env(safe-area-inset-bottom))!important;box-shadow:0 -12px 40px rgba(0,0,0,.18);-webkit-mask-image:none!important;mask-image:none!important;transform:translateY(105%);visibility:hidden;transition:transform .45s cubic-bezier(.22,1,.36,1),visibility 0s .45s}
  .fscroll.sheet-open{transform:none;visibility:visible;transition:transform .45s cubic-bezier(.22,1,.36,1)}
  .fsheet-head{display:flex;align-items:center;justify-content:space-between;position:sticky;top:-6px;background:#fff;padding:10px 0;z-index:2}
  .fsheet-head b{font-size:17px}
  .fsheet-done{border:0;background:var(--brand);color:#fff;border-radius:999px;padding:6px 16px;font-size:14px}
  /* each filter = accordion section */
  .fscroll .fdrop{border-top:1px solid var(--line)}
  .fscroll .fdrop summary{height:48px;padding:0;border:0!important;border-radius:0;background:none!important;box-shadow:none!important;font-size:15px;color:var(--ink)!important;justify-content:flex-start}
  .fscroll .fdrop summary svg{margin-left:auto;width:14px;height:14px}
  .fscroll .fmenu{position:static;min-width:0;border:0;box-shadow:none;padding:0 0 10px;animation:none;left:auto;right:auto;bottom:auto}
  .fscroll .fmenu-list{max-height:none}
  .fscroll .fopt{padding:9px 2px}
}
@media(max-width:640px){
  .fscroll{align-items:stretch}
  .fsheet-head{width:100%;align-self:stretch;justify-content:space-between}
  .fsheet-head b{margin-right:auto}
}

/* browse: card / list toggle */
.results-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.view-toggle{order:3;margin-left:auto;display:inline-flex;background:#f0f0f2;border-radius:9px;padding:3px;gap:2px}
.view-toggle button{width:32px;height:28px;padding:0;border:0;border-radius:7px;background:transparent;color:var(--muted);display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}
.view-toggle svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round}
.view-toggle button[aria-pressed="true"]{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.fchips{order:4;flex-basis:100%}

/* list view */
[data-view="list"] .browse-grid{grid-template-columns:minmax(0,1fr);grid-auto-rows:auto;gap:10px}
[data-view="list"] .browse-grid .card{flex-direction:row;align-items:center;height:auto;border-radius:14px;box-shadow:0 1px 2px rgba(0,0,0,.04)}
[data-view="list"] .browse-grid .card:hover{transform:translateY(-2px);box-shadow:0 10px 18px -12px rgba(0,0,0,.25)}
[data-view="list"] .browse-grid .card-img{width:112px;flex:none;aspect-ratio:1/1}
[data-view="list"] .browse-grid .card-img img{padding:8px}
[data-view="list"] .browse-grid .card-flag{top:6px;left:6px;font-size:10px;padding:2px 6px}
[data-view="list"] .browse-grid .card-body{padding:12px 16px 12px 4px;display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:16px;align-items:center}
[data-view="list"] .browse-grid .card-body .eyebrow{grid-column:1}
[data-view="list"] .browse-grid .card-title{grid-column:1;height:auto;-webkit-line-clamp:1;margin:1px 0 0;font-size:15.5px}
[data-view="list"] .browse-grid .card-deal,[data-view="list"] .browse-grid .card-none{grid-column:2;grid-row:1/span 2;height:auto;align-items:flex-end;text-align:right}
[data-view="list"] .browse-grid .card-row{justify-content:flex-end}
[data-view="list"] .browse-grid .card-prices{flex:none}
[data-view="list"] .browse-grid .card-now{font-size:19px}
@media(max-width:640px){
  [data-view="list"] .browse-grid{gap:8px}
  [data-view="list"] .browse-grid .card-img{width:84px}
  [data-view="list"] .browse-grid .card-body{grid-template-columns:minmax(0,1fr);padding:10px 12px 10px 2px}
  [data-view="list"] .browse-grid .card-title{-webkit-line-clamp:2;font-size:14.5px;line-height:1.25}
  [data-view="list"] .browse-grid .card-deal,[data-view="list"] .browse-grid .card-none{grid-column:1;grid-row:auto;align-items:stretch;text-align:left;margin-top:4px}
  [data-view="list"] .browse-grid .card-row{justify-content:space-between}
  [data-view="list"] .browse-grid .card-now{font-size:17px}
  [data-view="list"] .browse-grid .card-was{font-size:12.5px}
  [data-view="list"] .browse-grid .card-off{font-size:11.5px;padding:1px 7px}
}

/* mobile list: name left, price right, less detail */
@media(max-width:640px){
  [data-view="list"] .browse-grid .card-body{grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
  [data-view="list"] .browse-grid .card-deal,[data-view="list"] .browse-grid .card-none{grid-column:2;grid-row:1/span 2;margin-top:0;align-items:flex-end;text-align:right;gap:3px}
  [data-view="list"] .browse-grid .card-row{justify-content:flex-end;gap:6px}
  [data-view="list"] .browse-grid .card-was,[data-view="list"] .browse-grid .card-store,[data-view="list"] .browse-grid .card-ml{display:none}
  [data-view="list"] .browse-grid .card-deal>.card-row:first-child{flex-direction:column;align-items:flex-end;gap:3px}
  [data-view="list"] .browse-grid .card-off{order:2}
  [data-view="list"] .browse-grid .card-row.small{font-size:12px}
  [data-view="list"] .browse-grid .card-none{font-size:12px;white-space:nowrap}
}

/* mobile list price block: price on top, "size · −%" on one quiet line */
@media(max-width:640px){
  [data-view="list"] .browse-grid .card-body{row-gap:0;align-content:center}
  [data-view="list"] .browse-grid .card-deal{display:grid!important;grid-template-columns:auto auto;justify-content:end;align-items:baseline;column-gap:6px;row-gap:2px}
  [data-view="list"] .browse-grid .card-deal>.card-row,[data-view="list"] .browse-grid .card-deal>.card-row:first-child{display:contents}
  [data-view="list"] .browse-grid .card-prices{grid-column:1/-1;grid-row:1;text-align:right}
  [data-view="list"] .browse-grid .card-row.small>.muted{grid-row:2;grid-column:1;font-size:12px}
  [data-view="list"] .browse-grid .card-off{grid-row:2;grid-column:2;order:0;background:none;box-shadow:none;padding:0;border-radius:0;font-size:12px;font-weight:600;color:#c2410c}
  [data-view="list"] .browse-grid .card-row.small>.muted:only-child{grid-column:1/-1}
}
@media(max-width:640px){[data-view="list"] .browse-grid .card-row.small>.muted{justify-self:end}}

/* ---------- mobile bottom tab bar ---------- */
.tabbar,.more-sheet,.more-back{display:none}
@media(max-width:760px){
  :root{--tabbar-h:58px}
  body{padding-bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom))}
  .tabbar{display:grid;grid-template-columns:repeat(3,1fr);position:fixed;left:0;right:0;bottom:0;z-index:50;height:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom);background:rgba(255,255,255,.9);-webkit-backdrop-filter:saturate(180%) blur(20px);backdrop-filter:saturate(180%) blur(20px);border-top:1px solid rgba(0,0,0,.08)}
  .tabbar a,.tabbar button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;padding:0;border-radius:0;font:inherit;font-size:10.5px;font-weight:500;color:#8e8e93;-webkit-tap-highlight-color:transparent}
  .tabbar svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linejoin:round;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
  .tabbar [data-tab=more] svg{fill:currentColor;stroke:none}
  .tabbar .active,.tabbar [aria-expanded="true"]{color:var(--brand)}
  .tabbar .active svg{fill:rgba(0,113,227,.12)}
  .tabbar a:active svg,.tabbar button:active svg{transform:scale(.86)}
  /* sit other bottom UI above the bar */
  .deal-bar{bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom));padding-bottom:10px}
  main:has(.deal-bar){padding-bottom:72px}
  .foot{margin-top:24px}

  .more-back{display:block;position:fixed;inset:0;z-index:44;background:rgba(0,0,0,0);transition:background .3s ease}
  .more-back.on{background:rgba(0,0,0,.3)}
  .more-sheet{display:flex;flex-direction:column;position:fixed;left:10px;right:10px;bottom:calc(var(--tabbar-h) + env(safe-area-inset-bottom) + 10px);z-index:45;background:#fff;border-radius:18px;padding:6px 8px 8px;box-shadow:0 18px 50px -12px rgba(0,0,0,.3);transform:translateY(16px) scale(.97);opacity:0;visibility:hidden;transform-origin:bottom right;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s ease,visibility 0s .35s}
  .more-sheet.open{transform:none;opacity:1;visibility:visible;transition:transform .35s cubic-bezier(.34,1.56,.64,1),opacity .2s ease}
  .more-sheet .sheet-grab{display:block;margin:2px auto 6px;position:static}
  .more-sheet a{display:flex;align-items:center;gap:12px;padding:10px;border-radius:12px}
  .more-sheet a:active{background:#f2f2f4}
  .ms-ico{width:38px;height:38px;border-radius:11px;background:#f5f5f7;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none}
  .more-sheet a span:last-child{display:flex;flex-direction:column;line-height:1.3}
  .more-sheet b{font-size:15px;font-weight:600}
  .more-sheet small{font-size:12.5px;color:var(--muted)}
  /* hide the top-bar links on phones (the tab bar replaces them) */
  .nav nav{display:none}
}
@media(prefers-reduced-motion:reduce){.more-sheet,.more-back{transition:none}}

/* ---------- home: recently added carousel (3 visible) ---------- */
.car-nav{display:flex;align-items:center;gap:8px}
.car-nav a{margin-right:6px}
.car-btn{width:34px;height:34px;padding:0;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;line-height:1;font-weight:400;transition:background .15s,opacity .2s,transform .2s}
.car-btn:hover:not(:disabled){background:#f3f3f5}
.car-btn:active:not(:disabled){transform:scale(.9)}
.car-btn:disabled{opacity:.35;cursor:default}
.car-track{--gap:18px;display:grid;grid-auto-flow:column;grid-auto-columns:calc((100% - 2 * var(--gap)) / 3);gap:var(--gap);overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;overscroll-behavior-x:contain;padding:8px 2px 18px;margin:-8px -2px 0;scrollbar-width:none}
.car-track::-webkit-scrollbar{display:none}
.car-track>.card{scroll-snap-align:none}
.car-track>.card:nth-child(3n+1){scroll-snap-align:start;scroll-snap-stop:always}
.car-dots{display:flex;justify-content:center;gap:6px;margin-top:2px}
.car-dots span{width:6px;height:6px;border-radius:99px;background:#d4d4d8;transition:width .3s cubic-bezier(.22,1,.36,1),background .3s}
.car-dots span.on{width:18px;background:var(--ink)}
@media(max-width:760px){
  .car-btn{display:none}
  .car-track{--gap:10px}
  .car-track .card-body{padding:8px 9px 10px}
  .car-track .card-body .eyebrow{font-size:9.5px}
  .car-track .card-title{font-size:13px;margin:1px 0 4px}
  .car-track .card-now{font-size:15px}
  .car-track .card-was,.car-track .card-off,.car-track .card-row.small{display:none}
  .car-track .card-img img{padding:6px}
}

/* mobile cards: slightly smaller name + price */
@media(max-width:700px){
  .card-title{font-size:14.5px}
  .card-now{font-size:19px}
  .card-was{font-size:13px}
}

/* mobile list: discount becomes a small tag on the photo corner; right side is just price + size */
@media(max-width:640px){
  [data-view="list"] .browse-grid .card{position:relative}
  [data-view="list"] .browse-grid .card-off{position:absolute;top:8px;left:8px;z-index:2;grid-row:auto;grid-column:auto;background:#e5484d;color:#fff;box-shadow:0 2px 6px -2px rgba(229,72,77,.6);border-radius:6px;padding:1px 5px;font-size:10px;font-weight:700;letter-spacing:-.01em;line-height:1.5}
  [data-view="list"] .browse-grid .card-flag{display:none}
  [data-view="list"] .browse-grid .card-row.small>.muted{grid-column:1/-1}
}

/* sale tag on every product card: small red tag on the photo corner */
.card{position:relative}
.card .card-off{position:absolute;top:10px;left:10px;z-index:2;margin:0;background:#e5484d;color:#fff;box-shadow:0 2px 6px -2px rgba(229,72,77,.6);border-radius:6px;padding:2px 7px;font-size:11.5px;font-weight:700;letter-spacing:-.01em;line-height:1.5}
.card .card-flag{left:auto;right:10px}
@media(max-width:760px){
  .car-track .card .card-off{display:block;top:6px;left:6px;padding:1px 5px;font-size:10px}
  .car-track .card .card-flag{display:none}
}

/* desktop: recently added shows 5 at a time; phones keep 3 */
@media(min-width:761px){
  .car-track{grid-auto-columns:calc((100% - 4 * var(--gap)) / 5)}
  .car-track>.card:nth-child(3n+1){scroll-snap-align:none;scroll-snap-stop:normal}
  .car-track>.card:nth-child(5n+1){scroll-snap-align:start;scroll-snap-stop:always}
}

/* ---------- home: auto-scrolling brand marquee ---------- */
.brand-marquee{position:relative;overflow:hidden;padding:26px 0 18px;background:#fff;border-bottom:1px solid var(--line);-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.bm-track{display:flex;width:max-content;animation:bm-scroll var(--bm-dur,40s) linear infinite}
.brand-marquee:hover .bm-track,.brand-marquee:focus-within .bm-track{animation-play-state:paused}
.bm-set{display:flex;gap:10px;padding-right:10px}
.bm-item{display:flex;flex-direction:column;align-items:center;gap:8px;width:120px;padding:6px 4px;border-radius:14px;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.bm-item:hover{transform:translateY(-3px)}
.bm-logo{width:88px;height:56px;display:flex;align-items:center;justify-content:center}
.bm-logo img{max-width:100%;max-height:100%;object-fit:contain;filter:grayscale(1) contrast(1.05);opacity:.75;transition:filter .3s,opacity .3s}
.bm-item:hover .bm-logo img{filter:none;opacity:1}
.bm-logo b{width:52px;height:52px;border-radius:50%;background:#f3f3f5;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:600;color:#8e8e93}
.bm-name{font-size:12.5px;font-weight:500;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.bm-item:hover .bm-name{color:var(--ink)}
@keyframes bm-scroll{to{transform:translateX(-50%)}}
@media(max-width:760px){.brand-marquee{padding:16px 0 12px}.bm-item{width:92px}.bm-logo{width:68px;height:42px}.bm-logo b{width:40px;height:40px;font-size:17px}.bm-name{font-size:11.5px}}
@media(prefers-reduced-motion:reduce){.bm-track{animation:none}.brand-marquee{overflow-x:auto}}

/* brand marquee: lift + soft shadow on hover */
.bm-item{background:#fff;box-shadow:0 0 0 rgba(0,0,0,0);transition:transform .45s cubic-bezier(.22,1,.36,1),box-shadow .45s cubic-bezier(.22,1,.36,1)}
.bm-item:hover,.bm-item:focus-visible{transform:translateY(-6px);box-shadow:0 14px 24px -12px rgba(0,0,0,.28),0 2px 6px -2px rgba(0,0,0,.08)}
.bm-set{padding-top:6px;padding-bottom:14px}
.brand-marquee{padding-top:20px;padding-bottom:6px}
@media(prefers-reduced-motion:reduce){.bm-item{transition:none}.bm-item:hover{transform:none}}

/* brand marquee: only the logo lifts (with a soft drop shadow) */
.bm-item,.bm-item:hover,.bm-item:focus-visible{transform:none!important;box-shadow:none!important;background:transparent}
.bm-logo img,.bm-logo b{transition:transform .45s cubic-bezier(.22,1,.36,1),filter .45s cubic-bezier(.22,1,.36,1),opacity .3s}
.bm-item:hover .bm-logo img,.bm-item:focus-visible .bm-logo img{transform:translateY(-6px);filter:drop-shadow(0 10px 8px rgba(0,0,0,.22)) drop-shadow(0 2px 2px rgba(0,0,0,.08));opacity:1}
.bm-item:hover .bm-logo b,.bm-item:focus-visible .bm-logo b{transform:translateY(-6px);box-shadow:0 12px 18px -10px rgba(0,0,0,.3)}
@media(prefers-reduced-motion:reduce){.bm-item:hover .bm-logo img,.bm-item:hover .bm-logo b{transform:none}}

/* brand marquee blends into the page */
.brand-marquee{background:transparent;border-bottom:0;padding-top:14px;padding-bottom:0}
.brand-marquee+script+.section,.brand-marquee+.section{padding-top:8px}

/* brand marquee: full colour, pop-up on hover */
.bm-logo img{filter:none!important;opacity:1!important}
.bm-name{color:var(--ink)}
.bm-logo img,.bm-logo b{transition:transform .5s cubic-bezier(.34,1.56,.64,1),filter .4s ease}
.bm-item:hover .bm-logo img,.bm-item:focus-visible .bm-logo img{transform:translateY(-8px) scale(1.14);filter:drop-shadow(0 12px 10px rgba(0,0,0,.22)) drop-shadow(0 2px 3px rgba(0,0,0,.08))!important}
.bm-item:hover .bm-logo b,.bm-item:focus-visible .bm-logo b{transform:translateY(-8px) scale(1.14)}
.bm-set{padding-top:14px}
.bm-item:hover .bm-logo img,.bm-item:focus-visible .bm-logo img{filter:drop-shadow(0 6px 4px rgba(0,0,0,.14)) drop-shadow(0 1px 1px rgba(0,0,0,.12))!important}
/* bigger lift, tight dark shadow dropped further below */
.bm-item:hover .bm-logo img,.bm-item:focus-visible .bm-logo img{transform:translateY(-14px) scale(1.14);filter:drop-shadow(0 16px 3px rgba(0,0,0,.28))!important}
.bm-item:hover .bm-logo b,.bm-item:focus-visible .bm-logo b{transform:translateY(-14px) scale(1.14)}
.bm-set{padding-top:22px}
/* realistic: moderate lift, soft contact shadow a little below */
.bm-item:hover .bm-logo img,.bm-item:focus-visible .bm-logo img{transform:translateY(-10px) scale(1.08);filter:drop-shadow(0 10px 6px rgba(0,0,0,.16)) drop-shadow(0 3px 2px rgba(0,0,0,.08))!important}
.bm-item:hover .bm-logo b,.bm-item:focus-visible .bm-logo b{transform:translateY(-10px) scale(1.08)}

/* ---------- brand identity in the marquee ---------- */
.bm-item{position:relative;isolation:isolate}
.bm-glow{position:absolute;z-index:-1;top:10px;left:50%;width:84px;height:62px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--bm-accent) 30%,transparent),transparent);filter:blur(6px);opacity:.75;transition:opacity .45s ease,transform .5s cubic-bezier(.22,1,.36,1)}
.bm-item:hover .bm-glow,.bm-item:focus-visible .bm-glow{opacity:1;transform:translateX(-50%) scale(1.35)}
.bm-name{margin-top:2px;line-height:1.15;color:color-mix(in srgb,var(--bm-accent) 70%,#111)}
.bm-tag{font-size:10px;letter-spacing:.06em;color:var(--muted);white-space:nowrap;margin-top:-4px}
/* name style presets */
.bm-classic{font-family:"Cormorant Garamond",Georgia,serif;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.12em}
.bm-italic{font-family:"Cormorant Garamond",Georgia,serif;font-style:italic;font-weight:500;font-size:16.5px;letter-spacing:.01em}
.bm-modern{font-weight:700;font-size:13px;letter-spacing:-.02em}
.bm-wide{font-weight:300;font-size:11px;text-transform:uppercase;letter-spacing:.28em;padding-left:.28em}
.bm-couture{font-family:"Cormorant Garamond",Georgia,serif;font-weight:500;font-size:16px;letter-spacing:.04em}
.bm-minimal{font-weight:400;font-size:13px;text-transform:lowercase;letter-spacing:.02em}
@media(max-width:760px){.bm-classic{font-size:12px}.bm-italic,.bm-couture{font-size:14px}.bm-wide{font-size:9.5px;letter-spacing:.2em}.bm-modern,.bm-minimal{font-size:11.5px}.bm-tag{font-size:9px}.bm-glow{width:64px;height:48px}}

/* brand strip: subtler glow; hover pops (scale) in place instead of lifting */
.bm-glow{opacity:.4;width:70px;height:50px;filter:blur(8px)}
.bm-item:hover .bm-glow,.bm-item:focus-visible .bm-glow{opacity:.6;transform:translateX(-50%) scale(1.1)}
.bm-item:hover .bm-logo img,.bm-item:focus-visible .bm-logo img{transform:scale(1.12)!important;filter:drop-shadow(0 4px 4px rgba(0,0,0,.14))!important}
.bm-item:hover .bm-logo b,.bm-item:focus-visible .bm-logo b{transform:scale(1.12)!important}
.bm-logo img,.bm-logo b{transition:transform .4s cubic-bezier(.34,1.56,.64,1),filter .3s ease}
.badge.cart{background:#e8f1fb;color:#0a5fb4}

/* desktop: the whole offer row opens the deal too (button stays visible) */
.offer{position:relative;cursor:pointer}
.offer-btn::after{content:'';position:absolute;inset:0;z-index:1}
.offer:hover .offer-btn:not(.primary){border-color:var(--brand);color:var(--brand)}
.offer:hover .offer-btn.primary{background:var(--brand-hover);border-color:var(--brand-hover)}

/* ---------- hero: one bottle per brand ---------- */
.hero-bottles{position:relative;max-width:980px;margin:-12px auto 22px}
.hb-view{position:relative;overflow:hidden;padding:18px 0 8px}
.hb-view.over{-webkit-mask-image:linear-gradient(90deg,transparent,#000 90px,#000 calc(100% - 90px),transparent);mask-image:linear-gradient(90deg,transparent,#000 90px,#000 calc(100% - 90px),transparent)}
.hb-view.over.at-start{-webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 90px),transparent);mask-image:linear-gradient(90deg,#000 calc(100% - 90px),transparent)}
.hb-view.over.at-end{-webkit-mask-image:linear-gradient(90deg,transparent,#000 90px);mask-image:linear-gradient(90deg,transparent,#000 90px)}
.hb-track{display:flex;justify-content:center;align-items:flex-end;gap:6px;width:max-content;min-width:100%;will-change:transform}
.hb-view.over .hb-track{justify-content:flex-start;padding:0 40px}
.hb-item{flex:none;display:flex;align-items:flex-end;justify-content:center;width:74px;height:96px;border-radius:12px;outline-offset:4px}
.hb-item img{max-width:100%;max-height:100%;object-fit:contain;transform-origin:50% 100%;filter:drop-shadow(0 4px 4px rgba(0,0,0,.1));transition:transform .45s cubic-bezier(.34,1.56,.64,1),filter .35s ease}
.hb-item:hover img,.hb-item:focus-visible img{transform:scale(1.28);filter:drop-shadow(0 8px 6px rgba(0,0,0,.16))}
.hb-track:hover .hb-item:not(:hover) img{filter:drop-shadow(0 4px 4px rgba(0,0,0,.08)) saturate(.85);opacity:.8}
.hb-item img{transition:transform .45s cubic-bezier(.34,1.56,.64,1),filter .35s ease,opacity .35s ease}
.hb-label{height:22px;margin-top:6px;text-align:center;font-size:13px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--ink);opacity:0;transform:translateY(4px);transition:opacity .25s ease,transform .35s cubic-bezier(.22,1,.36,1)}
.hb-label.on{opacity:1;transform:none}
.hb-view.touch{overflow-x:auto;scrollbar-width:none}.hb-view.touch::-webkit-scrollbar{display:none}
@media(max-width:760px){.hero-bottles{margin:-20px -20px 10px}.hb-item{width:56px;height:74px}.hb-view.over .hb-track{padding:0 24px}.hb-label{font-size:11.5px;height:18px}}
@media(prefers-reduced-motion:reduce){.hb-item img,.hb-label{transition:none}}
/* brand name above the bottles, row sits right on top of the title */
.hero-bottles{margin:-24px auto 6px}
.hb-label{margin:0 0 -6px;transform:translateY(-4px)}
.hb-label.on{transform:none}
.hb-view{padding:10px 0 4px}
.hero-bottles+h1{margin-top:0}
@media(max-width:760px){.hero-bottles{margin:-24px -20px 4px}}

/* hero bottles: equal visible size (sized by hero-bottles.js) */
.hb-item{width:auto;min-width:58px;height:108px;padding:0 6px;align-items:flex-end}
.hb-bottle{position:relative;display:block;width:60px;height:84px;overflow:visible;transform-origin:50% 100%;filter:drop-shadow(0 4px 4px rgba(0,0,0,.1));transition:transform .45s cubic-bezier(.34,1.56,.64,1),filter .35s ease,opacity .35s ease}
.hb-bottle img{position:absolute;left:0;top:0;width:100%;height:100%;object-fit:contain;filter:none!important;transform:none!important;opacity:1!important;transition:none}
.hb-bottle:not(.fitted) img{visibility:hidden}
.hb-item:hover .hb-bottle,.hb-item:focus-visible .hb-bottle{transform:scale(1.28);filter:drop-shadow(0 8px 6px rgba(0,0,0,.16))}
.hb-track:hover .hb-item:not(:hover) .hb-bottle{opacity:.8}
@media(max-width:760px){.hb-item{height:84px;min-width:46px;padding:0 4px}.hb-bottle{width:46px;height:64px}}
/* hero bottles: tighter, no shadow */
.hb-track{gap:0}
.hb-item{padding:0 2px;min-width:0}
.hb-bottle,.hb-item:hover .hb-bottle,.hb-item:focus-visible .hb-bottle{filter:none}
@media(max-width:760px){.hb-item{padding:0 1px;min-width:0}}
/* hero bottles: even closer (slight overlap allowed; hovered bottle comes to the front) */
.hb-item{padding:0;margin:0 -3px;position:relative}
.hb-item:hover,.hb-item:focus-visible{z-index:2}
.hb-track{padding:0 6px}
@media(max-width:760px){.hb-item{margin:0 -2px}}
/* hero bottles: smaller, small even gap, hit box = the bottle itself */
.hb-track{gap:6px;padding:0;align-items:flex-end}
.hb-item{margin:0;padding:0;height:auto;min-width:0;width:auto;border-radius:6px}
.hb-bottle{width:48px;height:68px}
.hb-view{padding-top:22px}
@media(max-width:760px){.hb-track{gap:4px}.hb-item{margin:0;height:auto}.hb-bottle{width:38px;height:52px}.hb-view{padding-top:16px}}
/* only the bottle itself reacts to the mouse (the photo's transparent margins overflow the box) */
.hb-bottle img{pointer-events:none}
.hb-item{display:block;line-height:0}
/* hero bottles: no pop on hover, a bit closer */
.hb-item:hover .hb-bottle,.hb-item:focus-visible .hb-bottle{transform:none}
.hb-track{gap:3px}
@media(max-width:760px){.hb-track{gap:2px}}
/* hero bottles: popup back, smaller bottles */
.hb-item:hover .hb-bottle,.hb-item:focus-visible .hb-bottle{transform:scale(1.28)}
.hb-bottle{width:40px;height:56px}
@media(max-width:760px){.hb-bottle{width:32px;height:44px}}

/* hero bottles: soft ground shadow for a 3D "standing on a surface" look */
.hb-view{padding-bottom:14px}
.hb-track{position:relative}
/* one wide, faint pool of shadow under the whole group */
.hb-track::before{content:'';position:absolute;left:4%;right:4%;bottom:-8px;height:16px;border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.14),rgba(0,0,0,.05) 60%,transparent);filter:blur(4px);pointer-events:none;z-index:0}
/* a small contact shadow right under each bottle */
.hb-item{position:relative;z-index:1}
.hb-item::after{content:'';position:absolute;left:50%;bottom:-3px;width:78%;height:6px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(closest-side,rgba(0,0,0,.28),transparent);filter:blur(1.5px);pointer-events:none;z-index:-1;transition:transform .45s cubic-bezier(.34,1.56,.64,1),opacity .35s ease}
/* when a bottle pops, its shadow spreads and fades a little */
.hb-item:hover::after,.hb-item:focus-visible::after{transform:translateX(-50%) scale(1.25,.9);opacity:.6}
/* hero bottles: tighter to the title, thinner shadows */
.hero-bottles{margin-bottom:0}
.hb-view{padding-bottom:6px}
.hero-bottles+h1{margin-top:-2px}
.hb-track::before{height:8px;bottom:-5px;filter:blur(3px);background:radial-gradient(closest-side,rgba(0,0,0,.12),rgba(0,0,0,.04) 60%,transparent)}
.hb-item::after{height:3px;bottom:-2px;filter:blur(1px)}
/* hero bottles: shadows tucked up under the bottles */
.hb-track::before{bottom:-2px}
.hb-item::after{bottom:0}

/* ---------- styled dropdown (static/select.js) — matches the filter menus ---------- */
.xs{position:relative;display:inline-flex;min-width:0;vertical-align:middle}
.xs-native{position:absolute!important;inset:0;width:100%!important;height:100%!important;opacity:0;pointer-events:none}
.xs-btn{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;min-width:0;height:36px;padding:0 12px 0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;font:inherit;font-size:14px;font-weight:500;color:var(--ink);text-align:left;cursor:pointer;transition:border-color .15s,box-shadow .2s}
.xs-btn:hover{border-color:#c8c8c8}
.xs-val{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.xs-btn svg{flex:none;width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;opacity:.6;transition:transform .2s}
.xs.open .xs-btn,.xs-btn:focus-visible{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.xs.open .xs-btn svg{transform:rotate(180deg)}
.xs-menu{display:none;position:absolute;z-index:70;top:calc(100% + 6px);right:0;min-width:100%;width:max-content;max-width:min(320px,90vw);max-height:280px;overflow-y:auto;overscroll-behavior:contain;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -14px rgba(0,0,0,.2),0 2px 6px rgba(0,0,0,.04);padding:6px;text-align:left}
.xs.open .xs-menu{display:block;animation:sg-in .22s cubic-bezier(.34,1.56,.64,1)}
.xs.up .xs-menu{top:auto;bottom:calc(100% + 6px);transform-origin:bottom center}
.xs-opt{position:relative;padding:8px 32px 8px 10px;border-radius:8px;font-size:14px;color:var(--ink);cursor:pointer;white-space:nowrap;user-select:none}
.xs-opt.kb{background:#f3f3f5}
.xs-opt.on{font-weight:600;color:var(--brand)}
.xs-opt.on::after{content:'';position:absolute;right:12px;top:50%;width:5px;height:9px;border:solid var(--brand);border-width:0 2px 2px 0;transform:translateY(-65%) rotate(45deg)}
.xs-opt.off{opacity:.4;cursor:default}
/* inside forms / label columns the dropdown fills its field */
label>.xs,.form .xs,.toolbar .xs{width:100%}
.form .xs-btn,.pe .xs-btn,.toolbar .xs-btn,.aff-form .xs-btn{border-radius:10px;height:auto;min-height:38px;font-weight:400}
.pe .xs-btn{min-height:32px;border-radius:8px;padding:0 10px;font-size:14px}
.fsort .xs,.rv-tools .xs{width:auto}
@media(max-width:640px){.fsort .xs-btn{height:34px;font-size:13px}.fsort .xs-val{max-width:120px}}
@media(prefers-reduced-motion:reduce){.xs.open .xs-menu{animation:none}}
.fsort .xs span.xs-val{display:block}

/* ---------- home: why + FAQ ---------- */
.home-info{gap:48px;align-items:start}
.home-info h2{font-size:24px;letter-spacing:-.022em;margin:0 0 16px}
.why-body p{margin:0 0 12px;color:#3a3a3c;line-height:1.65;max-width:560px}
.why-points{list-style:none;margin:22px 0 0;padding:0;display:grid;gap:10px}
.why-points li{display:flex;gap:14px;align-items:flex-start;background:#fff;border:1px solid #efefef;border-radius:14px;padding:14px 16px}
.why-n{flex:none;width:34px;height:34px;border-radius:10px;background:var(--brand-2);color:var(--brand);font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;letter-spacing:-.01em}
.why-points b{display:block;font-size:15px;font-weight:600}
.why-points small{display:block;margin-top:2px;font-size:13.5px;color:var(--muted);line-height:1.45}

.faq{display:flex;flex-direction:column;gap:0;background:#fff;border:1px solid #efefef;border-radius:16px;overflow:hidden}
.faq details.faq-item{background:none;border:0;border-radius:0;padding:0;margin:0;border-top:1px solid #f0f0f2}
.faq details.faq-item:first-child{border-top:0}
.faq-item summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;font-weight:600;font-size:15px;cursor:pointer;user-select:none;transition:background .15s}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary:hover{background:#fafafa}
.faq-item summary i{position:relative;flex:none;width:26px;height:26px;border-radius:50%;background:#f3f3f5;transition:background .25s,transform .35s cubic-bezier(.34,1.56,.64,1)}
.faq-item summary i::before,.faq-item summary i::after{content:'';position:absolute;left:50%;top:50%;width:10px;height:1.8px;border-radius:2px;background:var(--ink);transform:translate(-50%,-50%);transition:transform .35s cubic-bezier(.22,1,.36,1),background .25s}
.faq-item summary i::after{transform:translate(-50%,-50%) rotate(90deg)}
.faq-item.open summary i{background:var(--brand);transform:rotate(180deg)}
.faq-item.open summary i::before,.faq-item.open summary i::after{background:#fff}
.faq-item.open summary i::after{transform:translate(-50%,-50%) rotate(0deg)}
.faq-item.open summary{color:var(--brand)}
.faq-a{height:0;overflow:hidden;transition:height .3s cubic-bezier(.22,1,.36,1)}
.faq-a p{margin:0;padding:0 20px 12px;color:#3a3a3c;line-height:1.65;font-size:14.5px}
.faq-a p:last-child{padding-bottom:18px}
@media(max-width:800px){.home-info{gap:32px}.home-info h2{font-size:21px}.faq-item summary{padding:15px 16px;font-size:14.5px}.faq-a p{padding:0 16px 12px}}
@media(prefers-reduced-motion:reduce){.faq-a,.faq-item summary i,.faq-item summary i::before,.faq-item summary i::after{transition:none}}

/* ---------- section header links: quiet pill ---------- */
.sec-head{align-items:center}
.sec-head .sec-link,.sec-head a.sec-link{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 10px 0 14px;border:1px solid var(--line);border-radius:999px;background:#fff;color:#3a3a3c;font-size:13.5px;font-weight:500;white-space:nowrap;transition:background .2s,border-color .2s,color .2s}
.sec-link svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.sec-head .sec-link:hover{background:var(--brand-2);border-color:transparent;color:var(--brand)}
.sec-link:hover svg{transform:translateX(2px)}
.car-nav{gap:10px}
.car-nav a{margin-right:0}
/* carousel arrows: one segmented pill */
.car-arrows{display:inline-flex;height:32px;border:1px solid var(--line);border-radius:999px;background:#fff;overflow:hidden}
.car-arrows .car-btn{width:38px;height:100%;border:0;border-radius:0;background:none;color:var(--ink);font-size:0}
.car-arrows .car-btn+.car-btn{border-left:1px solid var(--line)}
.car-arrows .car-btn svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.car-arrows .car-btn:hover:not(:disabled){background:#f3f3f5}
.car-arrows .car-btn:disabled{color:#c7c7cc;opacity:1}

/* "see all" card at the end of the carousel */
.see-all-card{align-items:center;justify-content:center;gap:16px;padding:20px;text-align:center;background:linear-gradient(180deg,#fff,#f8f9fb)}
.sac-thumbs{display:flex;justify-content:center}
.sac-thumbs img{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:50%;padding:6px;box-shadow:0 0 0 3px #fff,0 4px 10px -4px rgba(0,0,0,.18);margin-left:-14px}
.sac-thumbs img:first-child{margin-left:0}
.sac-text{display:flex;flex-direction:column;align-items:center;gap:8px}
.sac-text b{font-size:16px;font-weight:600;letter-spacing:-.01em}
.sac-go{display:inline-flex;align-items:center;gap:4px;height:32px;padding:0 12px 0 14px;border-radius:999px;background:var(--brand);color:#fff;font-size:13.5px;font-weight:600}
.sac-go svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.see-all-card:hover .sac-go svg{transform:translateX(2px)}
@media(max-width:760px){
  .sec-head .sec-link{height:30px;font-size:13px;padding:0 8px 0 12px}
  .car-nav .sec-link{display:none}
  .see-all-card{padding:10px;gap:8px}
  .sac-thumbs img{width:34px;height:34px;padding:3px;margin-left:-10px}
  .sac-text b{font-size:12.5px}
  .sac-go{height:26px;font-size:11.5px;padding:0 8px 0 10px}
}

/* ---------- request a fragrance ---------- */
.rq-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:24px;align-items:start}
@media(max-width:900px){.rq-grid{grid-template-columns:1fr}}
.rq-form-card,.rq-list-card{background:#fff;border:1px solid #efefef;border-radius:18px;padding:26px}
.rq-form-card h1{font-size:clamp(26px,3vw,32px);margin:0 0 6px}
.rq-form-card>p{margin:0 0 20px;max-width:480px}
.rq-form{display:flex;flex-direction:column;gap:14px}
.rq-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:560px){.rq-row{grid-template-columns:1fr}.rq-form-card,.rq-list-card{padding:18px}}
.rq-form label{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.rq-form label .muted{font-weight:400}
.rq-form input:not(.rv-hp),.rq-form textarea{border:1px solid var(--line);border-radius:12px;padding:11px 13px;font:inherit;font-size:15px;font-weight:400;background:#fff;color:var(--ink);transition:border-color .15s,box-shadow .2s}
.rq-form input:focus,.rq-form textarea:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.rq-form .xs-btn{height:44px;border-radius:12px;font-weight:400;font-size:15px}
.rq-submit{align-self:flex-start;padding:12px 22px;border-radius:12px;font-size:15px}
.rq-msg{margin:0;font-size:14px;min-height:1px}.rq-msg.ok{color:#1e7b3c}.rq-msg.err{color:var(--red)}.rq-msg a{color:var(--brand);text-decoration:underline}
.rq-list-card .sec-head{margin-bottom:10px}
.rq-list-card h2{margin:0}
.rq-list{list-style:none;margin:0;padding:0;counter-reset:rq}
.rq-item{display:flex;align-items:center;gap:12px;padding:12px 2px;border-top:1px solid #f0f0f2;counter-increment:rq}
.rq-item:first-child{border-top:0}
.rq-item::before{content:counter(rq);width:22px;flex:none;color:#b0b0b5;font-size:13px;font-weight:600;text-align:center}
.rq-info{flex:1;min-width:0;display:flex;flex-direction:column}
.rq-info b{font-size:15px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-info small{font-weight:400;color:var(--muted);font-size:12.5px}
.rq-status{flex:none;font-size:12px;font-weight:600;border-radius:999px;padding:3px 9px}
.rq-status.added{background:#e6f4ea;color:#1e7b3c}.rq-status.planned{background:#fff4d6;color:#8a5a00}
.rq-item.done .rq-info{opacity:.6}
.rq-vote{flex:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;width:46px;height:46px;padding:0;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:13px;font-weight:600;color:var(--ink);transition:border-color .15s,background .2s,color .2s,transform .25s cubic-bezier(.34,1.56,.64,1)}
.rq-vote svg{width:12px;height:12px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rq-vote:hover:not(:disabled){border-color:var(--brand);color:var(--brand)}
.rq-vote:active:not(:disabled){transform:scale(.9)}
.rq-vote.voted{background:var(--brand);border-color:var(--brand);color:#fff}
.rq-vote:disabled{opacity:.45;cursor:default}
.rq-empty{grid-column:1/-1;display:flex;flex-direction:column;align-items:flex-start;gap:10px}

/* request form: fragrance autocomplete */
.rq-ac{position:relative}
.rq-ac-ico{position:absolute;left:13px;top:50%;width:17px;height:17px;transform:translateY(-50%);fill:none;stroke:var(--muted);stroke-width:2;stroke-linecap:round;pointer-events:none}
.rq-ac input{width:100%;box-sizing:border-box;padding-left:38px!important}
.rq-ac.loading .rq-ac-ico{animation:sg-pulse .8s ease-in-out infinite}
.rq-ac-list{position:absolute;z-index:30;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 40px -14px rgba(0,0,0,.22),0 2px 6px rgba(0,0,0,.04);padding:6px;max-height:340px;overflow-y:auto;animation:sg-in .22s cubic-bezier(.34,1.56,.64,1);font-weight:400}
.rq-ac-item{display:flex;align-items:center;gap:10px;padding:7px 8px;border-radius:10px;cursor:pointer}
.rq-ac-item.on,.rq-ac-item:hover{background:#f3f3f5}
.rq-ac-item img,.rq-ac-ph{width:38px;height:38px;flex:none;border-radius:8px;object-fit:cover;background:#f3f3f5;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:18px}
.rq-ac-item span:last-child{min-width:0;display:flex;flex-direction:column}
.rq-ac-item b{font-size:14px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rq-ac-item small{font-size:12px;color:var(--muted)}
.rq-ac-free{border-top:1px solid #f0f0f2;margin-top:4px;padding-top:10px;border-radius:0 0 10px 10px}
.rq-picked{display:flex;align-items:center;gap:10px;margin-top:8px;padding:8px 10px;background:var(--brand-2);border-radius:12px;font-weight:400}
.rq-picked img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#fff}
.rq-picked span{display:flex;flex-direction:column}
.rq-picked b{font-size:14px;color:var(--brand)}.rq-picked small{font-size:12px;color:var(--muted)}
.rq-thumb{width:48px;height:48px;flex:none;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px #f0f0f2;display:flex;align-items:center;justify-content:center;overflow:hidden}
.rq-thumb img{width:100%;height:100%;object-fit:contain;padding:3px;mix-blend-mode:multiply}
.rq-thumb b{font-size:18px;font-weight:600;color:#b0b0b5}
@media(max-width:560px){.rq-thumb{width:42px;height:42px}}

/* ---------- site banner under the header ---------- */
.site-banner{background:linear-gradient(90deg,#0b1220,#16233b);color:#e8edf6;font-size:13.5px}
.sb-in{display:flex;align-items:center;justify-content:center;gap:14px;min-height:40px;padding-top:8px;padding-bottom:8px;text-align:center;flex-wrap:wrap;row-gap:4px}
.sb-text{opacity:.92}
.sb-link{display:inline-flex;align-items:center;gap:3px;color:#fff;font-weight:600;border-bottom:1px solid rgba(255,255,255,.35);padding-bottom:1px;transition:border-color .2s}
.sb-link:hover{border-color:#fff}
.sb-link svg{width:11px;height:11px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .3s cubic-bezier(.34,1.56,.64,1)}
.sb-link:hover svg{transform:translateX(2px)}
@media(max-width:640px){.site-banner{font-size:12.5px}.sb-in{gap:8px;min-height:36px;padding-top:7px;padding-bottom:7px}}
.site-banner{background:var(--brand);color:#fff}
.sb-text{opacity:.95}
.sb-link{border-bottom-color:rgba(255,255,255,.5)}

/* banner: always one line; scrolls when the text is wider than the screen */
.sb-in{flex-wrap:nowrap;overflow:hidden;justify-content:center}
.sb-track{display:flex;min-width:0;white-space:nowrap}
.sb-group{display:flex;align-items:center;gap:14px;flex:none;white-space:nowrap}
.site-banner.sb-scroll .sb-in{justify-content:flex-start;-webkit-mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent);mask-image:linear-gradient(90deg,transparent,#000 24px,#000 calc(100% - 24px),transparent)}
.site-banner.sb-scroll .sb-track{animation:sb-marquee var(--sb-dur,20s) linear infinite}
.site-banner.sb-scroll .sb-group{padding-right:64px}
.site-banner.sb-scroll:hover .sb-track{animation-play-state:paused}
@keyframes sb-marquee{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.site-banner.sb-scroll .sb-track{animation:none}.site-banner.sb-scroll .sb-in{overflow-x:auto}}

/* ---------- footer ---------- */
.foot{background:var(--bg);border-top:1px solid var(--line);margin-top:56px;padding:48px 0 28px;color:#3a3a3c}
.foot .wrap{display:block}
.ft-top{display:grid;grid-template-columns:minmax(0,1.4fr) repeat(3,minmax(0,1fr));gap:32px}
.ft-brand .logo{font-size:19px}
.ft-brand p{margin:12px 0 0;max-width:300px;font-size:14px;line-height:1.6;color:#3a3a3c}
.ft-col{display:flex;flex-direction:column;gap:12px;align-items:flex-start}
.ft-col h4{margin:0 0 4px;font-size:14px;font-weight:600;color:var(--ink)}
.ft-col a,.ft-soon{font-size:14px;color:#3a3a3c;transition:color .15s}
.ft-col a:hover{color:var(--ink);text-decoration:underline;text-underline-offset:3px}
.ft-soon{display:inline-flex;align-items:center;gap:8px}
.ft-soon em{font-style:normal;font-size:11.5px;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 8px;background:#fff}
.ft-social{display:flex;flex-wrap:wrap;gap:10px;margin-top:28px}
.ft-ico{width:40px;height:40px;border-radius:50%;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--ink);transition:transform .25s cubic-bezier(.34,1.56,.64,1),border-color .15s,background .15s}
.ft-ico svg{width:19px;height:19px;fill:currentColor}
.ft-ico:hover{transform:translateY(-2px);border-color:#c8c8c8}
.ft-bottom{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;margin-top:28px;padding-top:22px;border-top:1px solid var(--line);font-size:13px;color:#6b6b6b}
.ft-legal{display:flex;gap:18px;flex-wrap:wrap}
.ft-legal a{color:#3a3a3c;text-decoration:underline;text-underline-offset:3px}
.ft-legal a:hover{color:var(--ink)}
.ft-disclaimer{margin:14px 0 0;max-width:760px;font-size:12px;line-height:1.6;color:#8a8a8e}
@media(max-width:900px){.ft-top{grid-template-columns:1fr 1fr;gap:28px}.ft-brand{grid-column:1/-1}}
@media(max-width:480px){.foot{padding-top:36px}.ft-top{grid-template-columns:1fr 1fr}.ft-col:last-child{grid-column:auto}}

/* ---------- editable site pages ---------- */
.sp-card{max-width:760px;margin:0 auto;background:#fff;border:1px solid #efefef;border-radius:18px;padding:36px 40px}
.sp-card h1{margin:0 0 18px;font-size:clamp(28px,4vw,38px)}
.sp-body{font-size:15.5px;line-height:1.75;color:#2c2c2e}
.sp-body h2{font-size:20px;margin:28px 0 8px;letter-spacing:-.015em}
.sp-body h3{font-size:16.5px;margin:22px 0 6px}
.sp-body p{margin:0 0 14px}
.sp-body ul{margin:0 0 14px;padding-left:22px}
.sp-body li{margin:4px 0}
.sp-body a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
@media(max-width:640px){.sp-card{padding:24px 20px;border-radius:14px}}

/* ---------- theme toggle (replaces header search) ---------- */
.nav-in{justify-content:space-between}
.theme-btn{position:relative;width:38px;height:38px;flex:none;margin-left:auto;padding:0;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:background .2s,border-color .2s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.theme-btn:hover{border-color:#c8c8c8}
.theme-btn:active{transform:scale(.9)}
.theme-btn svg{position:absolute;width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;transition:transform .5s cubic-bezier(.34,1.56,.64,1),opacity .3s}
.theme-btn .ti-moon{opacity:0;transform:rotate(-90deg) scale(.5)}
[data-theme="dark"] .theme-btn .ti-sun{opacity:0;transform:rotate(90deg) scale(.5)}
[data-theme="dark"] .theme-btn .ti-moon{opacity:1;transform:none}
.theme-anim,.theme-anim *{transition:background-color .35s ease,border-color .35s ease,color .35s ease!important}

/* ---------- dark theme ---------- */
[data-theme="dark"]{--bg:#0e0e10;--card:#1c1c1e;--ink:#f5f5f7;--muted:#98989f;--line:#2e2e32;--brand:#2997ff;--brand-hover:#47a6ff;--brand-press:#1a86ec;--brand-2:rgba(41,151,255,.14);--link:#2997ff;--red:#ff6961;color-scheme:dark}
[data-theme="dark"] body{background:var(--bg);color:var(--ink)}
/* surfaces */
[data-theme="dark"] :is(.nav,.hero,button,.btn,.chip,.drop,.brand-tile,.box,.foot .ft-ico,.big-search,.suggest-panel,.product-head,.seg.active,.size-chip,.show-more,.offer-btn,.rv-sort,.rv-form input,.rv-form textarea,.rv-form select,.rv-form-scores,.fdrop summary,.fmenu,.product-img,.rv-peek,.size-trigger,.size-picker,.fsearch,.fsheet-btn,.fscroll,.fsheet-head,.more-sheet,.xs-btn,.xs-menu,.why-points li,.faq,.sec-link,.car-arrows,.rq-form-card,.rq-list-card,.rq-form input:not(.rv-hp),.rq-form textarea,.rq-vote,.rq-ac-list,.ft-soon em,.sp-card,.card,.theme-btn,.faq details){background-color:var(--card);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .view-toggle button[aria-pressed="true"],[data-theme="dark"] .seg.active{background:#3a3a3c}
[data-theme="dark"] :is(.view-toggle,.size-seg,.rq-tabs){background:#2c2c2e}
[data-theme="dark"] .foot{background:var(--bg);border-color:var(--line)}
[data-theme="dark"] .foot,[data-theme="dark"] .ft-col a,[data-theme="dark"] .ft-soon,[data-theme="dark"] .ft-brand p,[data-theme="dark"] .ft-legal a{color:#c7c7cc}
[data-theme="dark"] .ft-col a:hover,[data-theme="dark"] .ft-legal a:hover{color:#fff}
/* secondary text that was hard-coded dark grey */
[data-theme="dark"] :is(.why-body p,.faq-a p,.sp-body,.rq-a-note,.sec-link,.nname,.rv-item p){color:#d1d1d6}
/* light grey hovers / fills */
[data-theme="dark"] :is(.xs-opt.kb,.faq-item summary:hover,.rq-ac-item.on,.rq-ac-item:hover,.side-nav a:hover,.more-sheet a:active,.car-arrows .car-btn:hover:not(:disabled),.offer:hover,.drop:hover){background:#2c2c2e}
[data-theme="dark"] :is(.faq-item summary i,.ms-ico,.sheet-close,.size-close,.rq-thumb,.ph-fact,.ph-deal,.rv-peek-score,.ndot,.fsearch-x,.bm-logo b){background-color:#2c2c2e}
[data-theme="dark"] :is(.faq-item summary i::before,.faq-item summary i::after){background:var(--ink)}
[data-theme="dark"] .faq-item.open summary i{background:var(--brand)}
[data-theme="dark"] :is(.faq details.faq-item,.rq-item,.faq-item){border-color:var(--line)}
/* product photos stay on a light tile so white-background bottles look right */
[data-theme="dark"] .card-img,[data-theme="dark"] .product-img,[data-theme="dark"] .offer-logo,[data-theme="dark"] .rq-thumb,[data-theme="dark"] .rq-ac-item img,[data-theme="dark"] .rq-picked img{background:#f5f5f7}
[data-theme="dark"] .card{border-color:var(--line);box-shadow:0 10px 16px -12px rgba(0,0,0,.6)}
[data-theme="dark"] .card:hover{box-shadow:0 22px 24px -14px rgba(0,0,0,.8)}
[data-theme="dark"] .see-all-card{background:var(--card)}
/* badges and tags */
[data-theme="dark"] .badge{background:#2c2c2e;color:#c7c7cc}
[data-theme="dark"] .badge.good{background:rgba(48,209,88,.15);color:#30d158}
[data-theme="dark"] .badge.value{background:rgba(255,214,10,.14);color:#ffd60a}
[data-theme="dark"] .badge.down{background:rgba(255,105,97,.15);color:#ff6961}
[data-theme="dark"] .badge.cart{background:rgba(41,151,255,.15);color:#64b5ff}
[data-theme="dark"] .chip.season{background:rgba(41,151,255,.15);color:#64b5ff}
[data-theme="dark"] .card-ml,[data-theme="dark"] .chip-ml,[data-theme="dark"] .rq-msg.ok{color:#30d158}
[data-theme="dark"] .size-chip.active,[data-theme="dark"] .size-chip.active span{color:#fff}
/* sticky bars with frosted glass */
[data-theme="dark"] .deal-bar,[data-theme="dark"] .tabbar{background:rgba(28,28,30,.86);border-color:rgba(255,255,255,.08)}
[data-theme="dark"] .tabbar a,[data-theme="dark"] .tabbar button{background:none;color:#8e8e93}
[data-theme="dark"] .tabbar .active,[data-theme="dark"] .tabbar [aria-expanded="true"]{color:var(--brand)}
/* shadows under hero bottles / marquee show on dark too */
[data-theme="dark"] .hb-track::before{background:radial-gradient(closest-side,rgba(0,0,0,.6),rgba(0,0,0,.2) 60%,transparent)}
[data-theme="dark"] .brand-marquee{background:transparent}
[data-theme="dark"] .ph-more-btn{background:#1c1c1e}
[data-theme="dark"] .card-none,[data-theme="dark"] .muted{color:var(--muted)}
[data-theme="dark"] input,[data-theme="dark"] textarea{color:var(--ink)}
[data-theme="dark"] ::placeholder{color:#6e6e73}
[data-theme="dark"] .skip,[data-theme="dark"] .site-banner{color:#fff}
/* dark: keep accent / active states after the generic surface rule */
html[data-theme="dark"] body :is(.btn.primary,button.primary,.offer-btn.primary,.size-chip.active,.rv-chip.active,.rq-vote.voted,.fsheet-done,.sac-go){background-color:var(--brand);border-color:var(--brand);color:#fff}
html[data-theme="dark"] body :is(.btn.primary:hover,button.primary:hover,.offer-btn.primary:hover,.offer:hover .offer-btn.primary){background-color:var(--brand-hover);border-color:var(--brand-hover)}
[data-theme="dark"] .size-chip.soldout.active{background-color:#48484a;border-color:#48484a}
[data-theme="dark"] .fdrop.active summary{background-color:var(--brand-2);border-color:transparent;color:var(--brand)}
[data-theme="dark"] :is(.sg-item.active,.rv-bar.active,.rv-bar:not([disabled]):hover){background:#2c2c2e}
[data-theme="dark"] .rv-meter-track button.on{background:var(--brand)}
[data-theme="dark"] :is(.tabbar button,.car-btn,.fsearch-x,.sheet-close,.size-close,.pfm-x,.hb-item,.rq-ac-item,.ph-more-btn[aria-expanded]){border-color:transparent}
[data-theme="dark"] .car-arrows .car-btn,[data-theme="dark"] .rv-peek-main,[data-theme="dark"] .search-submit{background:none}
[data-theme="dark"] .car-dots span{background:#48484a}[data-theme="dark"] .car-dots span.on{background:var(--ink)}
[data-theme="dark"] .card .card-off{background:#e5484d;color:#fff}
html[data-theme="dark"] body .tabbar [data-tab]{background:none;color:#8e8e93;font-weight:500}
html[data-theme="dark"] body .tabbar [data-tab].active,html[data-theme="dark"] body .tabbar [data-tab][aria-expanded="true"]{color:var(--brand)}

html[data-theme="dark"] body :is(.car-arrows .car-btn,.rv-peek-main,.search-submit,.hb-item,.tabbar button){background:none}
[data-theme="dark"] .below-retail,[data-theme="dark"] .db-off{background:rgba(255,105,97,.15);color:#ff6961}
[data-theme="dark"] .below-retail{background:rgba(48,209,88,.15);color:#30d158}
/* dark: product card photo area uses the card colour */
html[data-theme="dark"] body .card-img{background:var(--card)}
/* dark: note pills — no white ring, subtle dark separation instead */
html[data-theme="dark"] body .ndot{background:#2c2c2e;border:0;box-shadow:0 0 0 2px var(--card)}
html[data-theme="dark"] body .ndot i{background:transparent}
html[data-theme="dark"] body .ndot.photo{background:#2c2c2e;box-shadow:0 0 0 2px var(--card)}
html[data-theme="dark"] body .nname{color:#e5e5ea}
html[data-theme="dark"] body .ph-more .ndot,html[data-theme="dark"] body .ph-more .ndot:first-child{box-shadow:none;background:#2c2c2e}
html[data-theme="dark"] body .ph-more .ndot i{background:color-mix(in srgb,var(--nc) 22%,#2c2c2e)}
html[data-theme="dark"] body .pm-dot{box-shadow:0 0 0 2px #1c1c1e}

/* dark: reviews widget */
html[data-theme="dark"] body .rv-bar{background:none;border:0;color:var(--ink)}
html[data-theme="dark"] body :is(.rv-bar:not([disabled]):hover,.rv-bar.active){background:#2c2c2e}
html[data-theme="dark"] body .rv-bar-track{background:#3a3a3c}
html[data-theme="dark"] body .stars-bg svg{fill:#48484a}
html[data-theme="dark"] body .rv-score>b{color:var(--ink)}
html[data-theme="dark"] body .rv-cta{background:#2c2c2e;color:var(--ink)}
html[data-theme="dark"] body .rv-cta:hover{background:#3a3a3c}
html[data-theme="dark"] body .rv-cta b{color:var(--ink)}
html[data-theme="dark"] body .rv-form{background:#2c2c2e}
html[data-theme="dark"] body :is(.rv-form input,.rv-form textarea,.rv-form select,.rv-form-scores,.rv-sort){background:#1c1c1e;border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] body .rv-meter-track button{background:#48484a}
html[data-theme="dark"] body .rv-meter-track button.hover{background:#6e6e73}
html[data-theme="dark"] body .rv-meter-track button.on{background:var(--brand)}
html[data-theme="dark"] body :is(.rv-rate button,.rv-helpful,.rv-chip:not(.active)){background:none}
html[data-theme="dark"] body .rv-rate button svg{fill:#48484a}
html[data-theme="dark"] body .rv-item{border-color:var(--line)}
html[data-theme="dark"] body .rv-helpful:hover,html[data-theme="dark"] body .rv-helpful.voted{color:var(--ink)}
html[data-theme="dark"] body :is(.rv-rate button.on,.rv-rate button.hover) svg{fill:#f5a524}
/* dark: note icons sit in a soft tinted circle of their note colour */
html[data-theme="dark"] body .ndot{background:color-mix(in srgb,var(--nc) 18%,#2c2c2e)}
html[data-theme="dark"] body .ndot i{display:flex;align-items:center;justify-content:center;height:22px;border-radius:50%;background:color-mix(in srgb,var(--nc) 30%,#3a3a3c)}
html[data-theme="dark"] body .ndot.photo i{background:#f5f5f7}
html[data-theme="dark"] body .nrow:hover .ndot,html[data-theme="dark"] body .nrow:focus-within .ndot{background:#2c2c2e}
html[data-theme="dark"] body .pm-dot{background:color-mix(in srgb,var(--nc) 30%,#3a3a3c)}

/* ---------- accounts ---------- */
.acc-btn{width:38px;height:38px;flex:none;margin-left:auto;border:1px solid var(--line);border-radius:50%;background:#fff;color:var(--ink);display:flex;align-items:center;justify-content:center;overflow:hidden;font-size:15px;font-weight:700;transition:border-color .2s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.acc-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.acc-btn:hover{border-color:#c8c8c8}.acc-btn:active{transform:scale(.9)}
.acc-btn.in{background:var(--brand-2);color:var(--brand);border-color:transparent}
.acc-btn img{width:100%;height:100%;object-fit:cover}
.acc-btn+.theme-btn{margin-left:8px}
.acc-card{max-width:420px;margin:4vh auto 0;background:#fff;border:1px solid #efefef;border-radius:20px;padding:32px;box-shadow:0 24px 48px -28px rgba(0,0,0,.2)}
.acc-card.acc-wide{max-width:560px}
.acc-card h1{font-size:28px;margin:0 0 6px}
.acc-sub{margin:0 0 22px}
.acc-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:48px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:15px;font-weight:600;color:var(--ink);transition:border-color .15s,box-shadow .2s}
.acc-google svg{width:20px;height:20px}
.acc-google:hover:not(:disabled){border-color:#c8c8c8;box-shadow:0 4px 12px -6px rgba(0,0,0,.15)}
.acc-or{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:12px}
.acc-or::before,.acc-or::after{content:'';flex:1;height:1px;background:var(--line)}
.acc-email{display:flex;flex-direction:column;gap:8px}
.acc-email label{font-size:13px;font-weight:600}
.acc-email input{height:46px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:0 14px;font:inherit;font-size:15px;background:#fff;color:var(--ink)}
.acc-email input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.acc-email .btn{height:46px;border-radius:12px;font-size:15px}
.acc-sent{text-align:center;padding:8px 0}
.acc-sent-ico{font-size:36px;margin-bottom:6px}
.acc-sent p{margin:6px 0 10px}
.acc-link{border:0;background:none;color:var(--brand);font-weight:600;padding:4px}
.acc-msg{margin:14px 0 0;font-size:14px;min-height:1px}.acc-msg.err{color:var(--red)}
.acc-legal{font-size:12px;margin:18px 0 0;text-align:center}.acc-legal a{text-decoration:underline}
.acc-head{display:flex;align-items:center;gap:16px;margin-bottom:22px}
.acc-head h1{font-size:24px;margin:0}.acc-head p{margin:2px 0 0}
.acc-avatar{width:64px;height:64px;flex:none;border-radius:50%;background:var(--brand-2);color:var(--brand);font-size:26px;font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden}
.acc-avatar img{width:100%;height:100%;object-fit:cover}
.acc-role{font-size:11px;font-weight:700;background:var(--brand);color:#fff;border-radius:6px;padding:1px 7px;vertical-align:middle}
.acc-facts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:0 0 18px}
.acc-facts div{background:var(--bg);border-radius:12px;padding:10px 12px}
.acc-facts dt{font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--muted)}
.acc-facts dd{margin:2px 0 0;font-weight:600}
.acc-admin{display:block;text-align:center;margin:0 0 14px;padding:11px;border-radius:12px}
.acc-soon{display:flex;flex-direction:column;gap:2px;border:1px dashed var(--line);border-radius:12px;padding:12px 14px;margin:0 0 18px;font-size:14px}
.acc-soon span{color:var(--muted);font-size:13px}
.acc-actions{display:flex;flex-wrap:wrap;gap:8px}
.acc-danger{margin-left:auto;border:0;background:none;color:var(--red);font-weight:600;padding:9px 4px}
@media(max-width:560px){.acc-card{padding:22px;margin-top:0}.acc-danger{margin-left:0}}
[data-theme="dark"] :is(.acc-btn,.acc-card,.acc-google,.acc-email input){background-color:var(--card);border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .acc-btn.in{background:var(--brand-2);color:var(--brand)}
[data-theme="dark"] .acc-facts div{background:#2c2c2e}
html[data-theme="dark"] body .acc-danger,html[data-theme="dark"] body .acc-link{background:none;border:0}

/* ---------- header account menu (far right) ---------- */
.theme-btn{margin-left:auto}
.acc-wrap{position:relative;margin-left:8px;flex:none}
.acc-wrap .acc-btn{margin-left:0;cursor:pointer}
.acc-btn+.theme-btn{margin-left:8px}
.acc-wrap.in .acc-btn{border-color:transparent;box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--line)}
.acc-wrap.open .acc-btn{box-shadow:0 0 0 2px var(--bg),0 0 0 3px var(--brand)}
.acc-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:80;width:264px;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px -16px rgba(0,0,0,.25),0 2px 8px rgba(0,0,0,.05);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px) scale(.98);transform-origin:top right;transition:opacity .18s ease,transform .3s cubic-bezier(.34,1.56,.64,1),visibility 0s .3s}
.acc-wrap.open .acc-menu{opacity:1;visibility:visible;transform:none;transition:opacity .18s ease,transform .3s cubic-bezier(.34,1.56,.64,1)}
.am-head{display:flex;align-items:center;gap:10px;padding:10px 10px 8px}
.am-av{width:40px;height:40px;flex:none;border-radius:50%;background:var(--brand-2);color:var(--brand);font-weight:700;display:flex;align-items:center;justify-content:center;overflow:hidden}
.am-av img{width:100%;height:100%;object-fit:cover}
.am-who{min-width:0;display:flex;flex-direction:column;line-height:1.3}
.am-who b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.am-who small{font-size:12.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.am-sep{height:1px;background:var(--line);margin:4px 6px}
.acc-menu a,.acc-menu button{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:10px;background:none;font:inherit;font-size:14px;font-weight:500;color:var(--ink);text-align:left;cursor:pointer}
.acc-menu svg{width:18px;height:18px;flex:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;opacity:.7}
.acc-menu a:hover,.acc-menu button:hover,.acc-menu a:focus-visible,.acc-menu button:focus-visible{background:#f3f3f5;outline:0}
.acc-menu .am-soon{color:var(--muted)}
.acc-menu em{margin-left:auto;font-style:normal;font-size:11px;border:1px solid var(--line);border-radius:999px;padding:0 7px}
.acc-menu .am-out{color:var(--red)}
[data-theme="dark"] .acc-menu{background:var(--card);border-color:var(--line)}
html[data-theme="dark"] body :is(.acc-menu a,.acc-menu button){background:none;border:0;color:var(--ink)}
html[data-theme="dark"] body :is(.acc-menu a:hover,.acc-menu button:hover,.acc-menu a:focus-visible,.acc-menu button:focus-visible){background:#2c2c2e}
html[data-theme="dark"] body .acc-menu .am-out{color:var(--red)}
html[data-theme="dark"] body .acc-menu .am-soon{color:var(--muted)}
@media(max-width:560px){.acc-menu{position:fixed;left:12px;right:12px;top:66px;width:auto}}

/* account page: edit profile */
.acc-edit{display:flex;flex-direction:column;gap:12px;border-top:1px solid var(--line);padding-top:18px;margin:4px 0 20px;scroll-margin-top:90px}
.acc-edit h2{font-size:17px;margin:0}
.acc-edit-row{display:flex;align-items:center;gap:14px}
.acc-photo{display:flex;align-items:center;gap:12px;cursor:pointer}
.acc-avatar.sm{width:52px;height:52px;font-size:20px}
.acc-photo-cta{font-size:14px;font-weight:600;color:var(--brand)}
.acc-photo:hover .acc-avatar{box-shadow:0 0 0 3px var(--brand-2)}
.acc-field{display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600}
.acc-field input{height:44px;box-sizing:border-box;border:1px solid var(--line);border-radius:12px;padding:0 13px;font:inherit;font-size:15px;font-weight:400;background:#fff;color:var(--ink)}
.acc-field input:focus{outline:0;border-color:var(--brand);box-shadow:0 0 0 3px rgba(0,113,227,.12)}
.acc-field input:disabled{background:var(--bg);color:var(--muted)}
.acc-field small{font-weight:400;font-size:12px}
.acc-edit .btn{align-self:flex-start;padding:10px 18px;border-radius:12px}
.acc-msg.ok{color:#1e7b3c}
[data-theme="dark"] .acc-field input{background:#2c2c2e;border-color:var(--line);color:var(--ink)}
[data-theme="dark"] .acc-field input:disabled{background:#1c1c1e}
[data-view="list"] .browse-grid .card-flag{display:none}
/* header above page sections (hero is z-index 20) so the account dropdown isn't covered */
.nav{z-index:42}
.acc-wrap{margin-left:-18px}
.nav-in .theme-btn{margin-right:0}
/* signed out: text "Sign in" pill instead of the icon */
.acc-btn.acc-signin{width:auto;padding:0 16px;border-radius:999px;font-size:14px;font-weight:600;background:var(--ink);color:var(--bg);border-color:var(--ink)}
.acc-btn.acc-signin:hover{opacity:.88;border-color:var(--ink)}
[data-theme="dark"] .acc-btn.acc-signin{background:var(--ink);color:#000;border-color:var(--ink)}
/* "Sign in" uses the site's primary blue in both themes */
.acc-btn.acc-signin,[data-theme="dark"] .acc-btn.acc-signin,html[data-theme="dark"] body .acc-btn.acc-signin{background:var(--brand);border-color:var(--brand);color:#fff;opacity:1}
.acc-btn.acc-signin:hover,html[data-theme="dark"] body .acc-btn.acc-signin:hover{background:var(--brand-hover);border-color:var(--brand-hover);opacity:1}
/* "Sign in" matches the header buttons: white in light theme, dark in dark theme */
.acc-btn.acc-signin,[data-theme="dark"] .acc-btn.acc-signin,html[data-theme="dark"] body .acc-btn.acc-signin{background:var(--card);border-color:var(--line);color:var(--ink)}
.acc-btn.acc-signin:hover,html[data-theme="dark"] body .acc-btn.acc-signin:hover{background:var(--card);border-color:#c8c8c8}
html[data-theme="dark"] body .acc-btn.acc-signin:hover{border-color:#48484a}

/* ---------- favourites ---------- */
.fav-btn{position:absolute;right:10px;bottom:10px;z-index:3;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.92);box-shadow:0 2px 8px -2px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;color:#1d1d1f;cursor:pointer;opacity:0;transform:scale(.85);transition:opacity .2s,transform .3s cubic-bezier(.34,1.56,.64,1),color .2s}
.fav-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round;transition:fill .2s}
.card:hover .fav-btn,.fav-btn:focus-visible,.fav-btn.on{opacity:1;transform:none}
.fav-btn:hover{transform:scale(1.08)}
.fav-btn.on{color:#e5484d}
.fav-btn.on svg,.fav-save.on svg{fill:currentColor}
@media(hover:none){.fav-btn{opacity:1;transform:none;width:30px;height:30px;right:6px;bottom:6px}.fav-btn svg{width:16px;height:16px}}
.pop svg{animation:fav-pop .45s cubic-bezier(.34,1.56,.64,1)}
@keyframes fav-pop{0%{transform:scale(.6)}60%{transform:scale(1.25)}100%{transform:scale(1)}}
.card-flag{right:auto;left:auto}
.card .card-flag{top:10px;right:10px;left:auto}
/* list view: heart on the right edge of the row photo */
[data-view="list"] .browse-grid .fav-btn{right:4px;bottom:4px;width:26px;height:26px;opacity:1;transform:none}
[data-view="list"] .browse-grid .fav-btn svg{width:14px;height:14px}
.car-track .fav-btn{width:28px;height:28px;right:6px;bottom:6px}
.car-track .fav-btn svg{width:15px;height:15px}

/* product page save button */
.ph-title{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.ph-title h1{flex:1;min-width:0}
.fav-save{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;margin-top:4px;padding:0 14px 0 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;transition:border-color .15s,color .2s,background .2s}
.fav-save svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.fav-save:hover{border-color:#c8c8c8}
.fav-save.on{color:#e5484d;border-color:rgba(229,72,77,.35);background:rgba(229,72,77,.06)}
.fs-count{font-size:12px;font-weight:600;color:var(--muted);border-left:1px solid var(--line);padding-left:7px;margin-left:1px}
@media(max-width:760px){.ph-title{grid-column:2}.fav-save{height:32px;padding:0 10px 0 9px;font-size:13px;margin-top:0}.fav-save .fs-label{display:none}}

/* account page favourites */
.acc-favs{max-width:1100px;margin:28px auto 0}
.acc-favs .sec-head{margin-bottom:14px}
.acc-empty{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center;background:var(--card);border:1px dashed var(--line);border-radius:16px;padding:30px 16px}
.acc-empty span{color:var(--muted);font-size:14px}

[data-theme="dark"] .fav-btn{background:rgba(28,28,30,.9);color:#f5f5f7}
[data-theme="dark"] .fav-btn.on{color:#ff6961}
html[data-theme="dark"] body .fav-save{background:var(--card);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] body .fav-save.on{color:#ff6961;border-color:rgba(255,105,97,.4);background:rgba(255,105,97,.1)}
.fav-page .sec-head{align-items:flex-end;margin-bottom:18px}
.fav-page h1{margin:0 0 4px}
.fav-page .sec-head p{margin:0}
.fav-page .acc-empty{max-width:520px;margin:20px auto;gap:8px}
.fav-page .acc-empty .btn{margin-top:6px}

/* form controls follow the site theme, not the OS dark mode:
   without this, browsers in OS dark mode draw button/input text white on our white buttons */
:root{color-scheme:light}
[data-theme="dark"]{color-scheme:dark}
button,input,select,textarea{color:inherit}
input::placeholder,textarea::placeholder{color:#9a9a9a}

/* ---------- alerts: product page button + notify link ---------- */
.ph-title{flex-wrap:wrap}
.ph-title h1{flex:1 1 60%}
.alert-btn{flex:none;display:inline-flex;align-items:center;gap:6px;height:36px;margin-top:4px;padding:0 14px 0 11px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-size:14px;font-weight:600;transition:border-color .15s,color .2s,background .2s}
.alert-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.alert-btn:hover{border-color:#c8c8c8}
.alert-btn.on{color:var(--brand);border-color:rgba(0,113,227,.35);background:var(--brand-2)}
.alert-btn.on svg{fill:currentColor}
.notify-link{position:relative;z-index:2;border:0;background:none;padding:0 2px;font-size:11.5px;font-weight:600;color:var(--brand);cursor:pointer}
.notify-link:hover{text-decoration:underline}
@media(max-width:760px){.alert-btn{height:32px;padding:0 10px 0 9px;font-size:13px;margin-top:0}.alert-btn .ab-label{display:none}}

/* ---------- alert sheet ---------- */
.as-back{position:fixed;inset:0;z-index:90;background:rgba(0,0,0,0);transition:background .3s ease}
.as-back.on{background:rgba(0,0,0,.35)}
.as-sheet{position:fixed;z-index:91;left:50%;top:50%;width:min(520px,calc(100vw - 24px));max-height:calc(100vh - 40px);overflow-y:auto;background:var(--card);color:var(--ink);border-radius:20px;box-shadow:0 30px 80px -20px rgba(0,0,0,.45);padding:20px 22px;opacity:0;visibility:hidden;transform:translate(-50%,-46%) scale(.97);transition:opacity .2s ease,transform .35s cubic-bezier(.34,1.56,.64,1),visibility 0s .35s}
.as-sheet.open{opacity:1;visibility:visible;transform:translate(-50%,-50%);transition:opacity .2s ease,transform .35s cubic-bezier(.34,1.56,.64,1)}
.as-sheet .sheet-grab{display:none}
.as-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;margin-bottom:14px}
.as-head b{display:block;font-size:19px}
.as-head small{color:var(--muted);font-size:13px}
.as-x{width:32px;height:32px;padding:0;border:0;border-radius:50%;background:var(--bg);color:var(--muted);font-size:13px;flex:none}
.as-sec{margin-bottom:16px}
.as-label{font-size:12px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--muted);margin-bottom:8px}
.as-label small{text-transform:none;letter-spacing:0;font-weight:400}
.as-pills{display:flex;flex-wrap:wrap;gap:6px}
.as-pills button{padding:7px 13px;border:1px solid var(--line);border-radius:999px;background:var(--card);color:var(--ink);font-size:13.5px;font-weight:500}
.as-pills button em{font-style:normal;font-size:11px;color:var(--muted);margin-left:2px}
.as-pills button.on{background:var(--brand);border-color:var(--brand);color:#fff}
.as-pills button.on em{color:rgba(255,255,255,.8)}
.as-types{display:flex;flex-direction:column;gap:8px}
.as-type{display:flex;gap:10px;align-items:flex-start;padding:12px 14px;border:1px solid var(--line);border-radius:14px;cursor:pointer;transition:border-color .15s,background .15s}
.as-type[hidden]{display:none}
.as-type input[type=radio]{margin:3px 0 0;accent-color:var(--brand)}
.as-type:has(input:checked){border-color:var(--brand);background:var(--brand-2)}
.as-type>span{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:14.5px}
.as-type small{flex-basis:100%;color:var(--muted);font-size:12.5px}
.as-price{display:inline-flex;align-items:center;gap:2px;font-weight:700}
.as-price input{width:90px;height:32px;box-sizing:border-box;border:1px solid var(--line);border-radius:9px;padding:0 8px;font:inherit;font-size:15px;background:var(--card);color:var(--ink)}
.as-type select{height:32px;border:1px solid var(--line);border-radius:9px;padding:0 6px;font:inherit;background:var(--card);color:var(--ink)}
.as-consent{font-size:12px;line-height:1.5;color:var(--muted);margin:4px 0 8px}
.as-consent a{text-decoration:underline}
.as-msg{font-size:13.5px;margin:0 0 8px;min-height:1px}
.as-msg.ok{color:#1e7b3c}
.as-msg.err{color:var(--red)}
.as-foot{display:flex;justify-content:space-between;align-items:center;gap:10px}
.as-manage{font-size:14px;color:var(--brand);font-weight:600}
.as-go{padding:11px 20px;border-radius:12px;font-size:15px}
@media(max-width:640px){.as-sheet{left:0;right:0;top:auto;bottom:0;width:auto;max-height:88vh;border-radius:20px 20px 0 0;transform:translateY(100%);padding-bottom:calc(18px + env(safe-area-inset-bottom))}.as-sheet.open{transform:none}.as-sheet .sheet-grab{display:block;margin:0 auto 10px}}

/* ---------- header bell ---------- */
.bell-wrap{position:relative;margin-left:-18px;flex:none}
.bell-wrap[hidden]{display:none!important}
.bell-btn{position:relative;width:38px;height:38px;padding:0;border:1px solid var(--line);border-radius:50%;background:var(--card);color:var(--ink);display:flex;align-items:center;justify-content:center}
.bell-btn svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.bell-btn:hover{border-color:#c8c8c8}
.bell-dot{position:absolute;top:-3px;right:-3px;min-width:17px;height:17px;padding:0 4px;box-sizing:border-box;border-radius:99px;background:#e5484d;color:#fff;font-size:10px;font-weight:700;display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 2px var(--card)}
.bell-dot[hidden]{display:none}
.bell-menu{position:absolute;right:-50px;top:calc(100% + 10px);z-index:80;width:340px;max-height:70vh;overflow-y:auto;background:var(--card);border:1px solid var(--line);border-radius:16px;box-shadow:0 24px 48px -16px rgba(0,0,0,.25);padding:6px;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s,transform .3s cubic-bezier(.34,1.56,.64,1),visibility 0s .3s}
.bell-wrap.open .bell-menu{opacity:1;visibility:visible;transform:none;transition:opacity .18s,transform .3s cubic-bezier(.34,1.56,.64,1)}
.bm-head{display:flex;justify-content:space-between;align-items:center;padding:8px 10px}
.bm-head a{font-size:13px;color:var(--brand);font-weight:600}
.nt-item{display:flex;gap:10px;align-items:flex-start;padding:9px 10px;border-radius:10px;color:var(--ink)}
.nt-item:hover{background:#f3f3f5}
.nt-item img,.nt-ph{width:40px;height:40px;flex:none;border-radius:9px;object-fit:contain;background:#fff;box-shadow:0 0 0 1px var(--line);display:flex;align-items:center;justify-content:center}
.nt-item>span{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.nt-item b{font-size:13.5px;line-height:1.3}
.nt-item small{font-size:12.5px;color:var(--muted);line-height:1.35}
.nt-item em{font-style:normal;font-size:11.5px;color:var(--muted);flex:none}
.nt-item.unread b::before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--brand);margin-right:6px;vertical-align:middle}
.bm-empty{padding:18px 10px;text-align:center;color:var(--muted);font-size:14px;line-height:1.6}
.bm-empty a{color:var(--brand);font-weight:600}
@media(max-width:560px){.bell-menu{position:fixed;left:12px;right:12px;top:66px;width:auto}}
[data-theme="dark"] .nt-item:hover{background:#2c2c2e}
html[data-theme="dark"] body .bell-btn{background:var(--card);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] body .alert-btn{background:var(--card);border-color:var(--line);color:var(--ink)}
html[data-theme="dark"] body .alert-btn.on{color:var(--brand);background:var(--brand-2);border-color:rgba(41,151,255,.4)}
html[data-theme="dark"] body .as-pills button:not(.on){background-color:var(--card)}
html[data-theme="dark"] body .as-x{background:#2c2c2e}
html[data-theme="dark"] body .as-pills button.on{background:var(--brand);color:#fff;border-color:var(--brand)}
html[data-theme="dark"] body .notify-link{background:none;border:0;color:var(--brand)}

/* ---------- alerts page ---------- */
.al-page .sec-head{align-items:flex-end;margin-bottom:16px}
.al-page h1{margin:0 0 4px}
.al-page .sec-head p{margin:0}
.al-bulk{display:flex;gap:6px;flex-wrap:wrap}
.al-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}
@media(max-width:900px){.al-layout{grid-template-columns:1fr}}
.al-tabs{display:inline-flex;background:#f0f0f2;border-radius:10px;padding:3px;gap:2px;margin-bottom:12px}
.al-tabs button{border:0;background:none;padding:7px 14px;border-radius:8px;font-size:14px;font-weight:500;color:var(--muted)}
.al-tabs button small{font-size:11.5px;opacity:.7}
.al-tabs button.on{background:#fff;color:var(--ink);box-shadow:0 1px 3px rgba(0,0,0,.1)}
.al-card{display:flex;gap:14px;align-items:flex-start;background:var(--card);border:1px solid #efefef;border-radius:16px;padding:14px;margin-bottom:10px}
.al-card[data-status="paused"]{opacity:.7}
.al-img{width:72px;height:72px;flex:none;border-radius:12px;background:#fff;overflow:hidden;box-shadow:inset 0 0 0 1px #f0f0f2}
.al-img img{width:100%;height:100%;object-fit:contain;padding:4px}
.al-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.al-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.al-top a{display:flex;flex-direction:column;min-width:0}
.al-top b{font-size:15.5px}
.al-state{flex:none;font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 9px}
.al-state.on{background:#e6f4ea;color:#1e7b3c}
.al-state.paused{background:#f0f0f2;color:var(--muted)}
.al-state.met{background:#fff4d6;color:#8a5a00}
.al-rule{margin:0;font-size:14px;color:#3a3a3c;display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.al-type{font-size:11px;font-weight:700;letter-spacing:.03em;border-radius:6px;padding:1px 7px;background:var(--brand-2);color:var(--brand)}
.al-type.restock{background:#e6f4ea;color:#1e7b3c}
.al-type.drop{background:#fdecea;color:#c2410c}
.al-prog{height:6px;background:#f0f0f2;border-radius:99px;overflow:hidden;max-width:320px}
.al-prog span{display:block;height:100%;background:var(--brand);border-radius:99px}
.al-actions{display:flex;flex-direction:column;gap:6px;flex:none}
.al-actions .btn,.al-bulk .btn{padding:5px 12px;font-size:13px;border-radius:9px}
.al-del{color:var(--red)!important}
@media(max-width:640px){.al-card{flex-wrap:wrap}.al-actions{flex-direction:row;width:100%;justify-content:flex-end}.al-img{width:56px;height:56px}}
.al-hist{list-style:none;margin:0;padding:0;background:var(--card);border:1px solid #efefef;border-radius:16px}
.al-hist li{display:flex;gap:12px;align-items:center;padding:12px 14px;border-top:1px solid #f0f0f2}
.al-hist li:first-child{border-top:0}
.al-hist img{width:44px;height:44px;object-fit:contain;border-radius:9px;background:#fff;box-shadow:inset 0 0 0 1px #f0f0f2}
.al-hist div{flex:1;min-width:0;display:flex;flex-direction:column}
.al-hist span{font-size:13.5px;color:var(--muted)}
.al-settings{background:var(--card);border:1px solid #efefef;border-radius:16px;padding:18px;position:sticky;top:84px}
.al-settings h2{font-size:17px;margin:0 0 12px}
.al-switch{display:flex;gap:12px;align-items:flex-start;padding:12px 0;border-top:1px solid #f0f0f2;cursor:pointer}
.al-switch:first-of-type{border-top:0}
.al-switch input[type=checkbox]{position:absolute;opacity:0;pointer-events:none}
.al-switch>span{flex:none;position:relative;width:40px;height:24px;border-radius:99px;background:#d9d9de;transition:background .2s;margin-top:1px}
.al-switch>span::after{content:"";position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.2);transition:transform .25s cubic-bezier(.34,1.56,.64,1)}
.al-switch input:checked+span{background:#34c759}
.al-switch input:checked+span::after{transform:translateX(16px)}
.al-switch input:focus-visible+span{box-shadow:0 0 0 3px rgba(0,113,227,.3)}
.al-switch div{display:flex;flex-direction:column;gap:2px}
.al-switch b{font-size:14.5px}
.al-switch small{font-size:12.5px;color:var(--muted);line-height:1.45}
.al-switch small a{text-decoration:underline}
.al-switch select{font:inherit;font-size:12.5px;padding:0 2px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--ink)}
.al-note{font-size:12px;margin:10px 0 0}
[data-theme="dark"] .al-card,[data-theme="dark"] .al-hist,[data-theme="dark"] .al-settings{border-color:var(--line)}
[data-theme="dark"] .al-tabs{background:#2c2c2e}
[data-theme="dark"] .al-tabs button.on{background:#3a3a3c;color:var(--ink)}
html[data-theme="dark"] body .al-tabs button:not(.on){background:none}
[data-theme="dark"] .al-rule{color:#d1d1d6}
[data-theme="dark"] .al-hist li,[data-theme="dark"] .al-switch{border-color:var(--line)}
[data-theme="dark"] .al-prog{background:#3a3a3c}
[data-theme="dark"] .al-state.on{background:rgba(48,209,88,.15);color:#30d158}
[data-theme="dark"] .al-state.met{background:rgba(255,214,10,.14);color:#ffd60a}
[data-theme="dark"] .al-state.paused{background:#2c2c2e}

/* alert created: completion state */
.as-done{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:26px 10px 20px}
.as-done b{font-size:19px;margin-top:6px}
.as-done span{color:var(--muted);font-size:14px;max-width:320px}
.as-check svg{width:64px;height:64px;fill:none;stroke:#34c759;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.as-check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:as-draw .5s ease forwards}
.as-check path{stroke-dasharray:36;stroke-dashoffset:36;animation:as-draw .35s .4s ease forwards}
@keyframes as-draw{to{stroke-dashoffset:0}}
@media(prefers-reduced-motion:reduce){.as-check circle,.as-check path{animation:none;stroke-dashoffset:0}}

/* alerts page: single "Alert emails" switch controls the panel */
.al-set-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}
.al-set-head h2{margin:0}
.al-switch-head{padding:0;border:0;flex:none}
.al-settings p{font-size:13.5px;line-height:1.5;margin:6px 0 0}
.al-set-off{display:none;color:var(--muted)}
.al-settings.off .al-set-on{display:none}
.al-settings.off .al-set-off{display:block}
.al-settings.off .al-note{display:none}
/* favourites page alert bar */
.fav-alerts{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid #efefef;border-radius:14px;padding:12px 14px;margin:0 0 18px;transition:opacity .2s}
.fa-ico{width:36px;height:36px;flex:none;border-radius:10px;background:var(--brand-2);display:flex;align-items:center;justify-content:center;font-size:17px}
.fa-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.fa-text b{font-size:14.5px}
.fa-text small{font-size:13px;color:var(--muted)}
.fa-text select{font:inherit;font-size:13px;border:1px solid var(--line);border-radius:6px;padding:0 2px;background:var(--card);color:var(--ink)}
.fav-alerts.off .fa-ico{filter:grayscale(1);opacity:.6}
[data-theme="dark"] .fav-alerts{border-color:var(--line)}
/* profile: extra email options tucked away */
.acc-more{margin-top:18px;border-top:1px solid var(--line);padding-top:10px}
.acc-more summary{cursor:pointer;font-size:12.5px;color:var(--muted);list-style:none;user-select:none}
.acc-more summary::-webkit-details-marker{display:none}
.acc-more summary::after{content:" ›";display:inline-block;transition:transform .2s}
.acc-more[open] summary::after{transform:rotate(90deg)}
.acc-more .al-switch{border-top:0;padding:12px 0 2px}
.al-layout.al-single{grid-template-columns:minmax(0,1fr);max-width:860px}
/* product title row: title shrinks, Alert + Save buttons stay together on one line */
.ph-title{flex-wrap:nowrap;align-items:flex-start;gap:8px}
.ph-title h1{flex:1 1 0;min-width:0;overflow-wrap:anywhere}
.ph-title .alert-btn,.ph-title .fav-save{flex:none;white-space:nowrap}
.ph-title .alert-btn{margin-left:auto}
@media(max-width:760px){.ph-title{gap:6px}}
@media(max-width:760px){.ph-from{display:none!important}}
/* brand + title on the left, Alert/Save buttons vertically centred against both */
.ph-title{align-items:center}
.ph-name{flex:1 1 0;min-width:0}
.ph-name h1{margin-bottom:0}
.ph-title .alert-btn,.ph-title .fav-save{margin-top:0}
.product-head .ph-title{margin-bottom:14px}
@media(max-width:760px){
  .ph-info .ph-title{grid-column:2;margin:2px 0 6px}
  .ph-name .eyebrow{margin-top:0}
  .ph-name h1{margin:0}
}
/* buttons line up with the top of the brand line */
.ph-title{align-items:flex-start}

.rv-as{margin:0;font-size:13px;color:var(--muted)}
/* "Hot" tag in the menu */
.nav nav a{position:relative;display:inline-flex;align-items:center}
.nav-hot{display:inline-flex;align-items:center;margin-left:5px;padding:1px 6px;border-radius:999px;background:linear-gradient(135deg,#ff6a3d,#e5484d);color:#fff;font-size:9.5px;font-weight:800;font-style:normal;letter-spacing:.04em;text-transform:uppercase;line-height:1.5;box-shadow:0 2px 6px -2px rgba(229,72,77,.6);transform:translateY(-6px)}
.more-sheet .nav-hot{transform:translateY(-1px);font-size:9px}

/* compact alerts dashboard */
.al-page{max-width:760px}
.al-head{display:flex;align-items:baseline;gap:12px;margin-bottom:14px}.al-head h1{margin:0;font-size:28px}.al-head .muted{font-size:13px}
.al-page .al-tabs{display:inline-flex;margin:0 0 10px}
.al-page .al-bulk{float:right;display:flex;gap:2px;margin:6px 0 0}
.al-page .al-bulk button{background:none;border:0;padding:4px 8px;font-size:12.5px;font-weight:600;color:var(--muted);cursor:pointer;border-radius:6px}
.al-page .al-bulk button:hover{background:rgba(127,127,127,.12);color:var(--ink,inherit)}
.al-page .al-bulk .al-del:hover{color:#d33}
.al-page .al-panel{clear:both;border:1px solid var(--line);border-radius:14px;background:var(--card,#fff);overflow:hidden}
.al-page .al-panel:has(.acc-empty),.al-page .al-panel:has(>p),.al-page .al-panel:has(.al-hist){border:0;background:none}
.al-page .al-card{display:flex;align-items:center;gap:12px;padding:10px 12px;margin:0;border:0;border-radius:0;box-shadow:none;background:none}
.al-page .al-card+.al-card{border-top:1px solid var(--line)}
.al-page .al-card:hover{background:rgba(127,127,127,.05)}
.al-page .al-img{flex:none;width:44px;height:44px;border:0;border-radius:8px;padding:2px;background:#fff}
.al-page .al-img img{width:100%;height:100%;object-fit:contain}
.al-page .al-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.al-page .al-top{display:flex;align-items:center;gap:8px;min-width:0}
.al-page .al-top a{display:flex;align-items:baseline;gap:6px;min-width:0;color:inherit;text-decoration:none}
.al-page .al-top .eyebrow{font-size:10.5px;margin:0;white-space:nowrap}
.al-page .al-top b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-page .al-state{flex:none;margin-left:auto;display:inline-flex;align-items:center;gap:5px;padding:0;background:none;font-size:11.5px;font-weight:600}
.al-page .al-state::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}
.al-page .al-state.on{color:#1a9a55}.al-page .al-state.paused{color:var(--muted)}.al-page .al-state.met{color:#d9822b}
.al-page .al-rule{margin:0;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-page .al-rule b{font-weight:600}
.al-page .al-type{display:inline-block;margin-right:6px;padding:0 6px;border-radius:5px;font-size:10.5px;font-weight:700;line-height:18px;vertical-align:1px}
.al-page .al-main small.muted{font-size:12px}
.al-page .al-actions{flex:none;display:flex;flex-direction:row;gap:2px}
.al-ic{display:grid;place-items:center;width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--muted);cursor:pointer}
.al-ic:hover{background:rgba(127,127,127,.14);color:var(--ink,inherit)}
.al-ic.al-del:hover{background:rgba(221,51,51,.1);color:#d33}
@media(max-width:560px){.al-page .al-bulk{float:none;margin:0 0 8px}.al-page .al-top .eyebrow{display:none}.al-page .al-card{padding:10px}.al-ic{width:30px;height:30px}}

/* dark: filter row strip only gets a surface as the mobile sheet */
@media(min-width:641px){html[data-theme="dark"] body .fscroll{background:transparent}}


.al-page .al-side{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:4px}
.al-page .al-side .al-state{margin:0 6px 0 0}
.al-page .al-actions{align-items:center;gap:2px;margin:0}
.al-page .al-ic{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;margin:0;line-height:0;color:var(--muted)}
.al-page .al-ic svg{display:block;width:16px;height:16px;margin:0;flex:none}


/* browse: load more */
.browse-more{display:flex;justify-content:center;padding:22px 0 8px}
.browse-more-btn{min-width:160px;text-align:center}
.browse-more.loading .browse-more-btn{pointer-events:none;opacity:.6}
.browse-more.loading .browse-more-btn::after{content:'';display:inline-block;width:12px;height:12px;margin-left:8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;animation:bm-spin .7s linear infinite}
@keyframes bm-spin{to{transform:rotate(360deg)}}


/* home: Most compared = exactly 2 full rows (5 / 4 / 3 / 2 per row); phones: 4 rows + "View all +N" */
.pop-grid>.card:nth-child(n+11){display:none}
@media(max-width:1180px){.pop-grid>.card:nth-child(n+9){display:none}}
@media(max-width:940px){.pop-grid>.card:nth-child(n+7){display:none}}
@media(max-width:700px){.pop-grid>.card:nth-child(n+5){display:none}}
.pop-all{display:none}
#popular[data-view="list"] .pop-all{display:flex;align-items:center;gap:14px;padding:12px 16px;border:1px dashed var(--line);border-radius:14px;color:inherit;text-decoration:none;background:var(--card,#fff)}
.pop-all-n{flex:none;display:grid;place-items:center;min-width:60px;height:60px;padding:0 8px;border-radius:12px;background:rgba(127,127,127,.1);font-weight:800;font-size:15px}
.pop-all>span:nth-child(2){flex:1;display:flex;flex-direction:column;gap:2px}
.pop-all small{color:var(--muted);font-size:12.5px}
.pop-all svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:1.8;color:var(--muted)}
.pop-all:hover{border-style:solid}

/* phones (list): 6 rows + View all */
#popular[data-view="list"] .pop-grid>.card:nth-child(5),#popular[data-view="list"] .pop-grid>.card:nth-child(6){display:flex}
#popular[data-view="list"] .pop-all{padding:14px 16px}


/* hero brand chips: one compact line that scrolls sideways (the bottle row above already covers brands) */
.hero .chips{display:flex;flex-wrap:nowrap;justify-content:safe center;gap:6px;margin-top:14px;overflow-x:auto;scrollbar-width:none;padding:2px 12px;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent);mask-image:linear-gradient(90deg,transparent,#000 14px,#000 calc(100% - 14px),transparent)}
.hero .chips::-webkit-scrollbar{display:none}
.hero .chips .chip{flex:none;padding:4px 11px;font-size:12.5px;line-height:1.4;border-radius:999px;white-space:nowrap}
@media(max-width:760px){.hero .chips{justify-content:flex-start;margin-top:10px;gap:5px}.hero .chips .chip{padding:3px 10px;font-size:12px}}

/* affiliate disclosure under the offers (FTC / affiliate network terms) */
.aff-note{margin:12px 2px 0;font-size:12px;line-height:1.5;color:var(--muted)}
.aff-note a{color:inherit;text-decoration:underline;text-underline-offset:2px}


/* Brands page: featured groups, then A–Z */
.brands-page .brand-group{margin:0 0 30px}
.brands-page .brand-group h2{display:flex;align-items:center;gap:8px;margin:0 0 12px;font-size:20px}
.brands-page .brand-group h2 .nav-hot{transform:none;font-size:10px;margin:0}
.brands-page .brand-group h2 .muted{font-weight:500;font-size:13px}
.brand-az{position:sticky;top:64px;z-index:5;display:flex;flex-wrap:wrap;gap:2px;margin:0 0 14px;padding:6px 0;background:var(--bg,#f6f6f6)}
.brand-az a{min-width:28px;padding:4px 6px;border-radius:6px;text-align:center;font-size:13px;font-weight:600;color:var(--muted);text-decoration:none}
.brand-az a:hover{background:rgba(127,127,127,.14);color:var(--ink,inherit)}
.brand-letter{scroll-margin-top:110px;margin:0 0 18px}
.brand-letter h3{margin:0 0 8px;font-size:14px;color:var(--muted)}
.bf-hot{display:flex;align-items:center;gap:8px;align-self:end}
[data-theme="dark"] .brand-az{background:var(--bg)}
@media(max-width:760px){.brand-az{top:56px;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.brand-az::-webkit-scrollbar{display:none}}

/* product page price history chart (static/price-chart.js) */
.price-chart{margin-top:24px;padding-top:20px;border-top:1px solid var(--line)}
.pc-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-bottom:8px}
.pc-head h3{margin:0;font-size:17px}
.pc-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.pc-size{font:inherit;font-size:13px;padding:6px 10px;border:1px solid var(--line);border-radius:10px;background:#fff}
.pc-range{display:inline-flex;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pc-range button{border:0;border-radius:0;padding:6px 12px;font-size:13px;background:#fff;color:var(--muted)}
.pc-range button.active{background:var(--ink);color:#fff}
.pc-summary{margin-bottom:10px;line-height:1.7}.pc-summary b{color:var(--ink)}
.pc-chip{display:inline-block;margin-right:8px;padding:1px 9px;border-radius:999px;font-size:12px;font-weight:600;background:#f0f0f0;color:#444}
.pc-chip.good{background:#e6f4ea;color:#1e7a3c}.pc-chip.high{background:#fdecec;color:#b42318}
.pc-plot{position:relative;touch-action:pan-y}
.pc-plot svg{display:block;overflow:visible}
.pc-grid{stroke:var(--line);stroke-width:1}
.pc-ylab,.pc-xlab{fill:var(--muted);font-size:11px}.pc-ylab{text-anchor:end}
.pc-band{fill:var(--brand);opacity:.07}
.pc-line{fill:none;stroke:var(--brand);stroke-width:2.25;stroke-linejoin:round}
.pc-low{fill:#fff;stroke:#1e7a3c;stroke-width:2.5}
.pc-cursor{stroke:var(--muted);stroke-dasharray:3 3}
.pc-dot{fill:var(--brand);stroke:#fff;stroke-width:2}
.pc-tip{position:absolute;top:-6px;pointer-events:none;background:var(--ink);color:#fff;border-radius:8px;padding:5px 9px;font-size:12px;white-space:nowrap;display:flex;flex-direction:column;line-height:1.35}
.pc-tip span{opacity:.75;font-size:11px}

/* samples-only cards, retail label, tester toggle */
.card-from{font-size:12px;color:var(--muted);font-weight:500}
.card-nofull{font-size:11px}
.ph-deal-retail{margin-top:-2px}
.tester-toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);cursor:pointer;margin-left:auto}
.tester-toggle input{accent-color:var(--brand)}
.hide-testers .offer.is-tester{display:none}

/* store info popover on offer rows */
.si{position:relative;display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;margin:0 4px 0 2px;border-radius:50%;font-size:12px;color:var(--muted);cursor:help;vertical-align:1px}
.si:hover,.si:focus{color:var(--brand);outline:none}
.si-pop{display:none;position:absolute;z-index:30;left:50%;top:calc(100% + 6px);transform:translateX(-50%);width:max-content;max-width:260px;background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 10px 30px rgba(0,0,0,.14);padding:10px 12px;font-size:12.5px;font-weight:400;line-height:1.45;color:var(--ink);text-align:left;white-space:normal;flex-direction:column;gap:4px}
.si:hover .si-pop,.si:focus .si-pop,.si:focus-within .si-pop{display:flex}
.si-pop a{margin-top:4px;font-weight:600}
.offer-ship{color:#1e7a3c}.offer-coupon{color:#9a5b00;font-weight:600}
@media(max-width:640px){.si-pop{left:0;transform:none;max-width:220px}}

/* stores index + store page */
.store-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px;margin-top:18px}
.store-tile{display:flex;gap:12px;align-items:center;padding:14px 16px;color:inherit;text-decoration:none}
.store-tile:hover{border-color:#cfcfcf}
.store-logo{border-radius:10px;object-fit:contain;background:#fff;border:1px solid var(--line);flex:none}
.store-head{display:flex;gap:16px;align-items:center;margin:10px 0 14px}.store-head h1{margin:0}
.store-about{max-width:760px}
.store-info-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:14px;align-items:start;margin:14px 0 8px}
@media(max-width:760px){.store-info-grid{grid-template-columns:minmax(0,1fr)}}
.store-facts{padding:6px 18px}.store-facts .ph-fact{display:flex;justify-content:space-between;gap:16px;padding:10px 0;border-bottom:1px solid var(--line)}
.store-facts .ph-fact:last-child{border-bottom:0}.store-facts .ph-fact b{text-align:right}
.store-coupon{padding:16px 18px;display:flex;flex-direction:column;gap:6px}
.coupon-code{font-size:20px;letter-spacing:.06em;border:1.5px dashed #d9a441;border-radius:8px;padding:6px 10px;align-self:flex-start;background:#fff9ee}

/* dupes: compact "inspired by …" rows (most products have only 3-4) */
.dupes-box{margin-top:20px;padding:20px 24px}
.wrap-narrow{max-width:none}
.dupe-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:10px;margin:8px 0 12px}
/* 3-4 dupes look better as a balanced 2x2 than 3+1 */
@media(min-width:760px){.dupe-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}}
.dupe-row{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--card);transition:border-color .15s}
.dupe-row:hover{border-color:#cfcfcf}
.dupe-main{display:flex;align-items:center;gap:12px;flex:1;min-width:0;color:inherit}
.dupe-img{width:52px;height:52px;flex:none;display:flex;align-items:center;justify-content:center}
.dupe-img img{max-width:52px;max-height:52px;object-fit:contain}
.dupe-info{display:flex;flex-direction:column;min-width:0;flex:1;gap:1px}
.dupe-info .eyebrow{font-size:10px}
.dupe-info b{font-size:14px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dupe-where{font-size:11.5px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dupe-agree{font-size:11.5px;color:var(--ink)}
.dupe-agree b{font-size:11.5px;white-space:normal}
.dupe-money{display:flex;flex-direction:column;align-items:flex-end;gap:2px;flex:none;text-align:right}
.dupe-price{font-size:17px;font-weight:800;color:#0a8f3c;white-space:nowrap}
.dupe-off{background:#e6f4ea;color:#0a6b30;border:1px solid #bfe3cb;font-size:11px;font-weight:800;border-radius:999px;padding:1px 8px;white-space:nowrap}
.dupe-cta{font-size:12px;font-weight:700;color:var(--link);white-space:nowrap}
.dupe-row.ext .dupe-cta{color:#9a5b00}
.dupe-vote{display:flex;flex-direction:column;gap:3px;flex:none}
.dupe-vote button{padding:1px 7px;font-size:12px;border-radius:999px;line-height:1.5}
.dupe-vote button.on{background:var(--brand-2);border-color:var(--brand);color:var(--brand)}
.dupe-vote i{font-style:normal;font-size:11px;color:var(--muted)}
.dupe-vote button.on i{color:var(--brand)}
.dupes-box .aff-note{font-size:11.5px;margin:0}
@media(max-width:640px){.dupes-box{padding:16px}.dupe-grid{grid-template-columns:minmax(0,1fr)}
  /* phones: votes go on their own line so the name keeps the full width */
  .dupe-row{flex-wrap:wrap;row-gap:4px}.dupe-main{width:100%}.dupe-vote{flex-direction:row;width:100%;justify-content:flex-end}
  .dupe-where{display:none}}
/* "often bought instead of" banner on a dupe's own page */
.dupe-of{display:flex;align-items:center;gap:12px;margin:10px 0 6px;padding:10px 14px;border:1px solid var(--line);border-radius:14px;background:var(--card);color:inherit}
.dupe-of:hover{border-color:#cfcfcf}
.dupe-of img{width:44px;height:44px;object-fit:contain;flex:none}
.dupe-of span{display:flex;flex-direction:column;min-width:0}
.dupe-of small{font-size:11.5px;color:var(--muted)}
.dupe-of b{font-size:15px}
.dupe-of-price{margin-left:auto;font-weight:800;white-space:nowrap}
.dupe-of-go{margin-left:8px;color:var(--link);font-weight:700;font-size:13px;white-space:nowrap}
@media(max-width:560px){.dupe-of-price{display:none}}

/* eBay finds (separate marketplace section) */
.eb-panel{padding-top:4px}
.eb-head{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 2px}
.seg-ebay small{background:#fff4e0;color:#9a5b00}
.eb-badge{font-size:11.5px;font-weight:600;color:var(--muted);border:1px solid var(--line);border-radius:999px;padding:1px 9px}
.eb-updated{margin-left:auto}
.eb-tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:12px 0}
.eb-tile{background:#f6f6f7;border-radius:10px;padding:10px 12px;display:flex;flex-direction:column}
.eb-tile span{font-size:12.5px;color:var(--muted)}
.eb-tile b{font-size:20px}
.eb-tile.good{background:#e6f4ea}.eb-tile.good span,.eb-tile.good b{color:#0a6b30}
.eb-chips{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:10px}
.eb-chips button{padding:4px 12px;font-size:13px;border-radius:999px}
.eb-chips button.on{background:var(--ink);color:#fff;border-color:var(--ink)}
.eb-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(460px,1fr));gap:8px;margin-bottom:12px}
.eb-row{display:flex;align-items:center;gap:12px;border:1px solid var(--line);border-radius:12px;padding:8px 12px;background:var(--card);color:inherit;text-decoration:none;cursor:pointer;transition:border-color .15s,background .15s}
.eb-row:hover{border-color:#cfcfcf;background:#fafafa}
.eb-row:focus-visible{outline:2px solid var(--brand);outline-offset:2px}
.eb-row:hover .eb-btn{background:var(--ink);color:#fff;border-color:var(--ink)}
.eb-row[hidden],.eb-group[hidden]{display:none}
.eb-groups{display:flex;flex-direction:column;gap:14px;margin-bottom:12px}
.eb-group-head{display:flex;align-items:baseline;gap:10px;margin:0 0 6px;padding-bottom:4px;border-bottom:1px solid var(--line)}
.eb-group-head b{font-size:15px}
.eb-group .eb-list{margin-bottom:0}
.seg-ico{width:16px;height:16px;vertical-align:-3px;margin-right:5px;flex:none}
.eb-word{display:inline-block;margin-right:1px;font-family:Helvetica,Arial,sans-serif;font-weight:700;letter-spacing:-.04em;font-size:1.08em;transition:transform .15s,filter .15s}
.seg-ebay:hover .eb-word,.seg-ebay:focus-visible .eb-word,.seg-ebay.active .eb-word{filter:brightness(1.18) saturate(1.3) drop-shadow(0 0 4px rgba(255,255,255,.25));transform:translateY(-1px)}
.seg-ebay .seg-ico{transition:transform .15s}.seg-ebay:hover .seg-ico{transform:rotate(-8deg) scale(1.08)}
.eb-word i{font-style:normal}
.eb-img{width:52px;height:52px;flex:none;border-radius:8px;background:#f6f6f7;display:flex;align-items:center;justify-content:center;overflow:hidden}
.eb-img img{max-width:52px;max-height:52px;object-fit:contain}
.eb-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.eb-info b{font-size:13.5px;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.eb-meta{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;color:var(--muted);align-items:center}
.eb-chip{font-weight:700;border-radius:999px;padding:0 8px}
.eb-chip.sealed{background:#e6f4ea;color:#0a6b30}.eb-chip.tester{background:#fff4e0;color:#9a5b00}.eb-chip.decant{background:#e8f2fd;color:#0b5cad}
.eb-money{display:flex;flex-direction:column;align-items:flex-end;flex:none;text-align:right}
.eb-money b{font-size:16px}.eb-money small{font-size:11.5px;color:var(--muted)}
.eb-vs{font-size:11.5px;white-space:nowrap}.eb-vs.good{color:#0a8f3c;font-weight:600}
.eb-btn{flex:none;padding:5px 12px;font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:999px;white-space:nowrap;transition:background .15s,color .15s}
.eb-panel .aff-note{font-size:11.5px;margin:0 0 6px}
@media(max-width:640px){
  .eb-list{grid-template-columns:minmax(0,1fr)}
  .eb-row{flex-wrap:wrap}.eb-info{flex:1 1 calc(100% - 64px)}.eb-money{flex:1;align-items:flex-start;text-align:left}.eb-btn{margin-left:auto}
  .eb-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}.eb-tile b{font-size:16px}
}

/* ---------- dark theme: newer components (filters, alerts, price chart, stores, dupes, eBay, popovers) ---------- */
html[data-theme="dark"]{--ok:#30d158;--ok-bg:rgba(48,209,88,.15);--warn:#ffd60a;--warn-bg:rgba(255,214,10,.14);--bad:#ff6961;--bad-bg:rgba(255,105,97,.15);--info:#64b5ff;--info-bg:rgba(41,151,255,.15);--raise:#2c2c2e;--raise-2:#3a3a3c}
/* native selects / inputs */
html[data-theme="dark"] body :is(select,.xs-native,.pc-size,.fsort select){background-color:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] option{background:#1c1c1e;color:var(--ink)}
/* neutral raised fills */
html[data-theme="dark"] body :is(.badge.out,.fchip,.pc-chip,.eb-tile,.eb-img,.rq-ac-ph,.al-prog,.al-state.paused){background:var(--raise);color:#c7c7cc}
html[data-theme="dark"] body :is(.fopt:hover,.fchip:hover,.car-btn:hover:not(:disabled),.car-arrows .car-btn:hover:not(:disabled),.eb-row:hover,.nt-item:hover,.acc-menu a:hover,.acc-menu button:hover){background:var(--raise)}
html[data-theme="dark"] body :is(.sheet-grab,.al-switch>span){background:#48484a}
html[data-theme="dark"] body .al-switch input:checked+span{background:#30d158}
html[data-theme="dark"] body .al-switch>span::after{background:#f5f5f7}
html[data-theme="dark"] body .fbox{border-color:#636366}
/* surfaces that were hardcoded white */
html[data-theme="dark"] body :is(.bm-item,.sec-head a.sec-link,.si-pop,.al-page .al-panel,#popular[data-view="list"] .pop-all,.store-tile,.dupe-row,.dupe-of,.eb-row,.pc-range button,.acc-card,.acc-google,.acc-email input,.acc-field input,.acc-menu,.acc-btn,.fav-save,.alert-btn,.bell-menu,.al-tabs button.on){background-color:var(--card);color:var(--ink);border-color:var(--line)}
html[data-theme="dark"] body :is(.al-tabs){background:var(--raise)}
html[data-theme="dark"] body :is(.al-tabs button.on,.pc-range button.on,.pc-range button[aria-pressed="true"]){background:var(--raise-2)}
html[data-theme="dark"] body .sec-head a.sec-link{color:#d1d1d6}
html[data-theme="dark"] body .brand-az{background:var(--bg)}
/* product photos / logos keep a light plate so transparent PNG logos stay visible */
html[data-theme="dark"] body :is(.store-logo,.nt-ph,.al-img,.al-page .al-img,.nt-item img,.al-hist img){background:#f5f5f7;border-color:transparent}
/* status tints */
html[data-theme="dark"] body :is(.eb-tile.good,.eb-chip.sealed,.pc-chip.good,.al-type.restock,.rq-status.added,.al-state.on,.dupe-off){background:var(--ok-bg);color:var(--ok);border-color:transparent}
html[data-theme="dark"] body :is(.eb-chip.tester,.seg-ebay small,.rq-status.planned,.al-state.met){background:var(--warn-bg);color:var(--warn)}
html[data-theme="dark"] body :is(.pc-chip.high,.al-type.drop,.card-flag){background:var(--bad-bg);color:var(--bad)}
html[data-theme="dark"] body .eb-chip.decant{background:var(--info-bg);color:var(--info)}
html[data-theme="dark"] body .coupon-code{background:var(--warn-bg);border-color:#9a7a2a;color:var(--warn)}
html[data-theme="dark"] body :is(.eb-tile b,.eb-tile span){color:inherit}
html[data-theme="dark"] body .eb-tile span{color:var(--muted)}
html[data-theme="dark"] body .eb-tile.good :is(b,span){color:var(--ok)}
/* green / grey text tuned for dark */
html[data-theme="dark"] body :is(.rv-form-msg.ok,.low30,.acc-msg.ok,.as-msg.ok,.offer-ship,.dupe-price,.eb-vs.good){color:var(--ok)}
html[data-theme="dark"] body :is(.ft-bottom,.ft-disclaimer){color:#98989f}
html[data-theme="dark"] body :is(.store-tile:hover,.dupe-row:hover,.dupe-of:hover,.eb-row:hover,.acc-google:hover:not(:disabled)){border-color:#48484a}
/* size chip count on the blue active chip */
html[data-theme="dark"] body .size-chip.active .chip-ml{color:rgba(255,255,255,.85)}
/* eBay tab bag: the dark bag body/handle disappear on a dark tab */
html[data-theme="dark"] body .seg-ico rect:first-of-type{fill:#8e8e93}
html[data-theme="dark"] body .seg-ico path{stroke:#aeaeb2}

/* eBay summary line (replaces the marketplace note + three tiles) */
.eb-sum{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:2px 0 10px;font-size:14px}
.eb-sum b{font-size:16px}.eb-sum .eb-vs{font-size:13px;font-weight:600}.eb-sum .eb-updated{margin-left:auto;font-size:12px}
/* mobile: eBay finds as its own button under the size button; hidden in the sheet tabs */
.eb-trigger{display:none}
@media(max-width:760px){
  .eb-trigger{display:flex;align-items:center;gap:2px;min-width:0;width:100%;margin:0 0 8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;background:#fff;font-size:14px;font-weight:600;text-align:left;color:var(--ink)}
  .eb-trigger .eb-tr-meta{margin-left:auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:400;color:var(--muted)}
  .eb-trigger>i{flex:none;width:8px;height:8px;margin:0 4px 0 10px;border-right:1.8px solid var(--muted);border-bottom:1.8px solid var(--muted);transform:rotate(-45deg);transition:transform .2s}
  .eb-trigger.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand) inset}
  .eb-trigger.on>i{transform:rotate(45deg)}
  .size-seg .seg-ebay{display:none}
}
html[data-theme="dark"] body .eb-trigger{background:var(--card);border-color:var(--line)}
html[data-theme="dark"] body .eb-trigger.on{border-color:var(--brand)}
