/* ASAPH Signature — Galerie claire / Nuit Prestige. Shared public identity. */
@font-face{font-family:Inter;src:url('/assets/fonts/inter-latin-variable.woff2') format('woff2');font-style:normal;font-weight:400 800;font-display:swap}
@font-face{font-family:'Bebas Neue';src:url('/assets/fonts/bebas-neue-latin.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
:root{--signature-red:#C91F35;--signature-night:#0B1830;--signature-blue:#174C89;--signature-paper:#F6F7FA;--signature-radius:20px;--sf-bg:#F6F7FA;--sf-card:#FFFFFF;--sf-ink:#0B1830;--sf-muted:#526176;--sf-line:#DFE5EE;--sf-accent:#174C89}
html[data-theme=dark]{--sf-bg:#0B1830;--sf-card:#14253F;--sf-ink:#F0F3FA;--sf-muted:#A9C2E3;--sf-line:#344B68;--sf-accent:#A9C2E3}
html:root body,html:root[data-theme=dark] body,html:root[data-theme=dark] body:has(main[data-server-rendered]){background:var(--sf-bg)!important;color:var(--sf-ink)!important;font-family:Inter,system-ui,sans-serif!important}
html:root body :is(h1,h2,h3,h4,p,a,button,input,select,textarea,small,strong,b,summary,label,dt,dd,.eyebrow,.store-dock,.store-header){font-family:Inter,system-ui,sans-serif!important}
html:root body :is(h1,h2,h3){letter-spacing:-.035em;line-height:1.15}
html:root body :is(.store-home .hero,.server-page .cat-hero,.server-page .qnl-hero){background:linear-gradient(135deg,#FFFFFF,#EDF2F8)!important;border-color:var(--sf-line)!important;border-radius:24px!important;box-shadow:none!important}
html:root[data-theme=dark] body :is(.store-home .hero,.server-page .cat-hero,.server-page .qnl-hero){background:linear-gradient(135deg,#14253F,#0F2038)!important}
html:root body .store-home .hero:after{opacity:.2}
html:root body :is(.store-home .card,.server-page .ux-card,.server-page .qnl-card){border-radius:var(--signature-radius)!important;border-color:var(--sf-line)!important;box-shadow:0 8px 28px #0b183006!important}
html:root body :is(.store-home,.server-page,.offer-flash) :is(.price,.hero-product-price,.ux-price,.qnl-price,.flash-price){display:table;width:fit-content;max-width:100%;box-sizing:border-box;padding:7px 11px;border-radius:10px;background:#C91F35!important;color:#FFFFFF!important;font-variant-numeric:tabular-nums;font-weight:750;line-height:1.25;letter-spacing:-.025em;box-shadow:none!important;text-shadow:none!important;overflow-wrap:anywhere}
html:root body :is(.store-home,.server-page,.offer-flash) :is(.price,.hero-product-price,.ux-price,.qnl-price,.flash-price) :is(small,strong,b,span){color:#FFFFFF!important}
html:root body .store-home .hero-product-price{padding:10px 16px;border-radius:12px}
html:root body .flash-price:after{display:none}
html:root body .offer-flash .flash-copy h2{font-family:'Bebas Neue',Inter,sans-serif!important;font-weight:400;font-size:27px;letter-spacing:.015em}
html:root body :is(.store-header .store-whatsapp,.sf-contact-button){background:#128244!important;color:#FFFFFF!important}
html:root body :is(.store-home .filters button[aria-pressed=true],.store-compare[aria-pressed=true]){background:#174C89!important;color:#FFFFFF!important;border-color:#174C89!important}
html:root body :is(.store-home .card-copy,.server-page .ux-body){min-width:0}
html:root body :is(.sf-share-dialog,.site-info-dialog){background:var(--sf-card);color:var(--sf-ink)}
@media(max-width:650px){html:root body .store-home .price{font-size:15px;padding:6px 8px}html:root body .server-page .ux-price{font-size:16px!important}html:root body .store-home .hero-product-price{font-size:24px;white-space:normal}html:root body .store-home .card h3{font-size:14px;line-height:1.3;letter-spacing:-.025em}}
@media(prefers-reduced-motion:reduce){html:root body :is(.store-home .card,.server-page .ux-card,.server-page .qnl-card){transition:none!important}}
html:root body .store-home .hero-order{background:#128244!important;color:#FFFFFF!important}
html:root[data-theme=dark] body .server-page :is(.price,.ux-price,.qnl-price),html:root[data-theme=dark] body .server-page :is(.price,.ux-price,.qnl-price) :is(small,strong,b,span){color:#FFFFFF!important}
.pdp-defect:not(:has(figure)){display:block}
/* Keep intrinsic table widths and legacy nowrap rules from clipping prices. */
html:root body :is(.store-home,.server-page,.offer-flash) :is(.price,.hero-product-price,.ux-price,.qnl-price,.flash-price){display:inline-block!important;width:fit-content!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow-wrap:anywhere;word-break:normal;vertical-align:top}
@media(min-width:651px) and (max-width:1100px){
 html:root body .store-home .grid,html:root body .server-page .server-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px}
 html:root body .server-page :is(.ux-price,.qnl-price){font-size:20px!important;line-height:1.35}
 html:root body .store-home .card .price{font-size:20px!important;line-height:1.35}
}
@media(min-width:1101px) and (max-width:1280px){
 html:root body .store-home .grid,html:root body .server-page .server-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}
}
/* Keep purchase, favourites and sharing from competing for one narrow row. */
html:root body .server-product-detail .server-actions{display:grid!important;grid-template-columns:minmax(0,1fr) 48px;align-items:stretch;gap:10px}
html:root body .server-product-detail .server-actions>.dark-button,html:root body .pdp-sticky .dark-button{display:flex!important;align-items:center;justify-content:center!important;box-sizing:border-box;min-width:0;min-height:52px!important;padding:12px 16px!important;border-radius:14px!important;background:#174C89!important;color:#FFFFFF!important;border-color:#174C89!important;font-size:15px;line-height:1.35;text-align:center;white-space:normal}
html:root body .server-product-detail .server-actions>.dark-button::after,html:root body .pdp-sticky .dark-button::after{display:none!important;content:none!important}
html:root body .server-product-detail .server-actions>.pdp-fav{width:48px;min-width:48px;height:auto;min-height:52px;border-radius:14px}
html:root body .server-product-detail .server-actions>.sf-pdp-actions{grid-column:1/-1;width:100%;max-width:none;min-width:0;margin:0}

html:root[data-theme] body .server-product-detail .server-actions>button.dark-button,html:root[data-theme] body .pdp-sticky button.dark-button{background:#174C89!important;color:#FFFFFF!important}

/* Product configuration: real references, readable unit evidence and a direct enquiry. */
html:root body .pdp-choice-step{margin:16px 0;padding:14px;border:1px solid var(--sf-line);border-radius:16px;background:var(--sf-card)}
html:root body .pdp-choice-step h2{font-size:15px;line-height:1.4;margin:0 0 10px;color:var(--sf-ink)}
html:root body .pdp-choice-step .pdp-chips{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px}
html:root body .pdp-choice-step .pdp-chip{min-width:0;max-width:100%;white-space:normal;overflow-wrap:anywhere;padding:12px;border-radius:12px;display:grid;gap:6px;background:var(--sf-bg);color:var(--sf-ink)!important;border:1px solid var(--sf-line)}
html:root body .pdp-choice-step .pdp-chip.is-active{border:2px solid #174C89;background:var(--sf-card)}
html:root[data-theme=dark] body .pdp-choice-step .pdp-chip.is-active{border-color:#A9C2E3}
html:root body .pdp-choice-note{font-size:12px;line-height:1.6;color:var(--sf-muted)}
html:root body .server-product-detail .pdp-promise{margin:16px 0}
html:root body .pdp-sticky .pdp-sticky-wa{background:#128244!important;color:#FFF!important;border-color:#128244!important;flex:none}
html:root body .flash-countdown{font-size:12px;font-variant-numeric:tabular-nums;font-weight:650;color:var(--sf-ink);margin:8px 0}
@media(max-width:767px){
 html:root body .pdp-sticky{bottom:calc(106px + env(safe-area-inset-bottom));gap:10px;padding:10px 12px;min-height:68px}
 html:root body .pdp-sticky>span{min-width:0;flex:1}
 html:root body .pdp-sticky>span em{display:block;color:var(--sf-ink)!important;font-size:18px;font-style:normal;font-weight:750;white-space:normal;overflow-wrap:anywhere}
 html:root body .pdp-sticky .pdp-sticky-wa{min-height:46px!important;padding:10px 14px!important;font-size:14px}
 html:root body:has(.pdp-sticky) main{padding-bottom:180px!important}
}

/* One featured product, two actions: a quiet night backdrop without extra media. */
html:root body .store-home .hero,html:root[data-theme=dark] body .store-home .hero{background:radial-gradient(ellipse at 82% 40%,#174C8955,transparent 65%),#0B1830!important;border-color:#263F60!important}
html:root body .store-home .hero h1{color:#F0F3FA!important}
html:root body .store-home .hero :is(.eyebrow,.hero-stock){color:#A9C2E3!important}

html:root body:has(.pdp-sticky) .store-compare-bar{display:none!important}
html:root body .server-product-detail .pdp-promise{border:1px solid var(--sf-line);border-radius:16px;overflow:hidden}

/* Mobile product rows: reserve the full text column for content, not removed floating actions. */
@media(max-width:650px){
 html:root body .server-page :is(.qnl-grid,.ux-grid,.server-card-grid:has(>.ux-card)){grid-template-columns:minmax(0,1fr)!important;gap:12px!important}
 html:root body .server-page article.ux-card.card-simple{display:grid!important;grid-template-columns:88px minmax(0,1fr)!important;gap:10px 12px!important;align-items:center;padding:12px!important;min-width:0;min-height:0!important;height:auto!important;border-radius:18px!important}
 html:root body .server-page article.ux-card.card-simple>.ux-ph{position:relative;width:88px!important;height:96px!important;max-height:96px!important;min-height:0!important;aspect-ratio:auto!important;margin:0!important;border-radius:12px!important;overflow:hidden;padding:0!important;display:grid;place-items:center}
 html:root body .server-page article.ux-card.card-simple>.ux-ph img{position:static!important;inset:auto!important;width:100%!important;height:100%!important;object-fit:contain!important;max-height:none!important;transform:none!important}
 html:root body .server-page article.ux-card.card-simple>.ux-ph .ux-flag{font-size:9px!important;padding:3px 5px!important;top:4px!important;left:4px!important}
 html:root body .server-page article.ux-card.card-simple>.ux-body{padding:0!important;min-width:0;width:auto!important;display:flex;flex-direction:column;gap:5px;container-type:inline-size}
 html:root body .server-page article.ux-card.card-simple .ux-brand{display:none!important}
 html:root body .server-page article.ux-card.card-simple :is(h2,h3,h2 a,h3 a){display:block!important;min-height:0!important;font-size:15px!important;line-height:1.3!important;margin:0!important;overflow:visible!important;white-space:normal!important;text-overflow:clip!important;-webkit-line-clamp:unset!important;overflow-wrap:break-word}
 html:root body .server-page article.ux-card.card-simple .ux-cfg{min-height:0!important;font-size:12px!important;line-height:1.45!important;margin:0!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
 html:root body .server-page article.ux-card.card-simple .ux-price{align-self:flex-start;margin:2px 0!important;padding:6px 8px!important;font-size:14px!important;font-size:clamp(13px,9cqi,17px)!important;line-height:1.25!important;white-space:nowrap!important;overflow-wrap:normal!important;word-break:normal!important}
 html:root body .server-page article.ux-card.card-simple .store-card-stock{font-size:12px!important;line-height:1.4;margin:0!important}
 html:root body .server-page article.ux-card.card-simple>.sf-card-actions{grid-column:1/-1;justify-content:flex-end;align-items:center;margin:0!important;padding:0!important}
 html:root body .server-page article.ux-card.card-simple>.store-compare{grid-column:1/-1;justify-self:start;margin:0!important;min-height:32px;font-size:12px}
}
@media(max-width:359px){html:root body .server-page article.ux-card.card-simple{grid-template-columns:72px minmax(0,1fr)!important;gap:10px!important;padding:10px!important}html:root body .server-page article.ux-card.card-simple>.ux-ph{width:72px!important;height:84px!important;max-height:84px!important}}
/* Cards keep the picture prominent without inherited oversized section titles. */
@media(min-width:651px){
 html:root body .server-page article.ux-card.card-simple{display:flex!important;flex-direction:column;min-height:0!important;height:auto!important}
 html:root body .server-page article.ux-card.card-simple>.ux-ph{height:190px!important;min-height:0!important;padding:12px!important;flex:none}
 html:root body .server-page article.ux-card.card-simple>.ux-ph img{width:100%!important;height:100%!important;max-width:100%!important;max-height:166px!important;object-fit:contain!important}
 html:root body .server-page article.ux-card.card-simple>.ux-body{padding:14px 16px!important;gap:8px;min-height:0!important}
 html:root body .server-page article.ux-card.card-simple :is(h2,h3,h2 a,h3 a){font-size:18px!important;line-height:1.3!important;min-height:0!important;margin:0!important;letter-spacing:-.025em;white-space:normal!important;overflow:visible!important;text-overflow:clip!important}
 html:root body .server-page article.ux-card.card-simple .ux-cfg{font-size:13px!important;line-height:1.45!important;min-height:0!important;margin:0!important;white-space:normal!important}
 html:root body .server-page article.ux-card.card-simple .ux-price{margin:2px 0!important;padding:7px 10px!important;white-space:nowrap!important;overflow-wrap:normal!important}
 html:root body .server-page article.ux-card.card-simple .store-card-stock{font-size:12px!important;line-height:1.4}
 html:root body .server-page article.ux-card.card-simple>.sf-card-actions{margin:0 14px 14px!important}
}
html:root body .pdp-sticky[hidden]{display:none!important}
@media(max-width:767px){html:root body:has(.pdp-sticky[hidden]) main{padding-bottom:calc(84px + env(safe-area-inset-bottom))!important}}
/* Compact catalogue actions: compare, contact and share belong on one row. */
@media(max-width:650px){
 html:root body .server-page article.ux-card.card-simple{grid-template-columns:104px minmax(0,1fr)!important;align-items:start}
 html:root body .server-page article.ux-card.card-simple>.ux-ph{width:104px!important;height:114px!important;max-height:114px!important;align-self:start}
 html:root body .server-page article.ux-card.card-simple>.store-compare{grid-column:1;grid-row:2;align-self:center;justify-self:start;min-height:44px!important;max-width:100%;padding:8px 10px!important;line-height:1.25!important;font-size:12px!important}
 html:root body .server-page article.ux-card.card-simple:has(>.store-compare)>.sf-card-actions{grid-column:2;grid-row:2;align-self:center}
 html:root body .server-filters>.dark-button{grid-column:1/-1;width:100%}
 html:root body .server-filters>.store-reset{grid-column:1/-1;text-align:center;align-self:center;padding:6px}
}
@media(max-width:359px){html:root body .server-page article.ux-card.card-simple{grid-template-columns:80px minmax(0,1fr)!important}html:root body .server-page article.ux-card.card-simple>.ux-ph{width:80px!important;height:94px!important;max-height:94px!important}}
html:root body .server-filters .dark-button{display:flex!important;align-items:center;justify-content:center;min-height:46px!important;padding:11px 14px!important;border-radius:12px!important;line-height:1.35!important;text-align:center}
html:root body .server-filters .dark-button::after{display:none!important;content:none!important}
@media(max-width:767px){html:root body:has(.server-page[data-server-route="category"]) :is(.floating-whatsapp,.flash-reopen),html:root body:has(.server-page[data-server-route="catalogue"]) :is(.floating-whatsapp,.flash-reopen),html:root body:has(.server-page[data-server-route="search"]) :is(.floating-whatsapp,.flash-reopen){display:none!important}}
/* Continuous brand marquee, with identical groups for a seamless loop. */
html:root body .store-brand-ribbon{box-sizing:border-box;width:calc(100% - 48px);max-width:1360px;height:54px;margin:6px auto 10px;padding:5px 0;border:1px solid #c7d7edcc;border-radius:16px;background:linear-gradient(110deg,#ffffffb3,#e6edf880,#ffffffa6);color:var(--sf-ink);overflow:hidden}
html:root[data-theme=dark] body .store-brand-ribbon{background:linear-gradient(110deg,#263e5d99,#14253f66,#263e5d80);border-color:#6f98cc40}
html:root body .brand-ribbon-track{width:100%;height:44px;overflow:hidden}
html:root body .brand-ribbon-belt{display:flex;width:max-content;animation:brand-ribbon-drift 42s linear infinite;will-change:transform}
html:root body .brand-ribbon-sequence{display:flex;align-items:center;gap:8px;flex:none;padding-right:8px}
html:root body .brand-ribbon-link,html:root body .brand-ribbon-all{display:flex;align-items:center;justify-content:center;gap:9px;flex:none;box-sizing:border-box;min-width:100px;height:40px;padding:6px 13px;border-radius:12px;color:inherit!important;background:transparent;font-size:13px;line-height:1;font-weight:650;text-decoration:none;white-space:nowrap}
html:root body .brand-ribbon-logo{display:grid;place-items:center;flex:none;width:21px;height:24px}
html:root body .brand-ribbon-logo svg{display:block;width:100%;height:100%;fill:currentColor}
html:root body .brand-ribbon-wordmark .brand-ribbon-logo{width:64px;height:21px}
html:root body .brand-ribbon-wordmark>span:last-child{display:none!important}
html:root body .brand-ribbon-all{min-width:142px;font-size:12px;color:var(--sf-muted)!important}
html:root body .brand-ribbon-link:hover{background:#6f98cc1a}
html:root body .store-brand-ribbon:focus-within .brand-ribbon-belt{animation-play-state:paused}html:root body .store-brand-ribbon :focus-visible{outline:2px solid #6f98cc;outline-offset:-2px}
@keyframes brand-ribbon-drift{to{transform:translateX(-50%)}}
@media(max-width:650px){html:root body .store-brand-ribbon{width:calc(100% - 24px);margin:4px auto 8px}html:root body .brand-ribbon-link{min-width:94px;font-size:12px;padding:6px 10px}}
@media(prefers-reduced-motion:reduce){html:root body .brand-ribbon-belt{animation:none}html:root body .brand-ribbon-sequence[aria-hidden=true]{display:none}html:root body .brand-ribbon-track{overflow-x:auto;scrollbar-width:thin}}
/* A fixed poster stage: content changes, the frame and reserved slots never do. */
html:root body .store-home .hero{height:480px!important;min-height:480px!important;max-height:480px!important;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);grid-template-rows:minmax(0,1fr);padding:30px 36px 56px;gap:20px;background:linear-gradient(145deg,#ffffff70,#ffffff2e)!important;border-color:#ffffff99!important;box-shadow:inset 0 1px 0 #ffffff80,0 8px 24px #0b18300a}
html:root body .store-home .hero:after{display:none}html:root body .store-home .hero:before{content:'';position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,transparent 55%,#174c8906 55%,#174c8906 76%,transparent 76%);border-top:0}
html:root body .store-home .hero h1{height:126px;margin:10px 0 0!important;font-size:clamp(28px,3vw,38px)!important;line-height:1.1!important;color:#0b1830!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html:root body .store-home .hero :is(.eyebrow,.hero-stock){color:#526780!important}html:root body .store-home .hero-copy{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:16px 126px 22px 62px 48px;gap:8px;align-content:center}
html:root body .store-home .hero-copy .eyebrow{grid-row:1}html:root body .store-home .hero h1{grid-row:2}html:root body .store-home .hero-stock{grid-row:3;line-height:22px}html:root body .store-home .hero-product{grid-row:4;margin:0!important;min-height:0;display:flex;align-items:center}html:root body .store-home .hero-actions{grid-row:5;flex-wrap:nowrap;gap:8px}html:root body .store-home .hero-actions a{min-height:44px;white-space:nowrap;padding:10px 14px;font-size:12px}
html:root body .store-home .hero-visual{position:relative;height:340px;min-height:0;overflow:hidden;display:block}html:root body .store-home .hero-visual img{position:absolute;max-width:none!important;max-height:none!important;object-fit:contain;display:block;will-change:auto}
html:root[data-theme=dark] body .store-home .hero{background:linear-gradient(145deg,#14253f80,#0f20384d)!important;border-color:#a9c2e333!important;box-shadow:inset 0 1px 0 #ffffff12,0 8px 24px #00000012}html:root[data-theme=dark] body .store-home .hero h1{color:#f0f3fa!important}html:root[data-theme=dark] body .store-home .hero :is(.eyebrow,.hero-stock){color:#a9c2e3!important}
@media(max-width:650px){html:root body .store-home .hero{height:560px!important;min-height:560px!important;max-height:560px!important;grid-template-columns:minmax(0,1fr);grid-template-rows:246px 220px;padding:20px 16px 52px;gap:12px}html:root body .store-home .hero-copy{grid-template-rows:14px 86px 20px 52px 44px;gap:7px;align-content:start}html:root body .store-home .hero h1{height:86px;font-size:26px!important;line-height:1.08!important;letter-spacing:-.9px}html:root body .store-home .hero-copy>*{grid-column:1!important}html:root body .store-home .hero-visual{height:220px}html:root body .store-home .hero-product-price{font-size:25px;white-space:nowrap!important}html:root body .store-home .hero-actions a{font-size:11px;padding:10px 12px}html:root body .store-home .hero-stock{font-size:12px;line-height:20px}}
html:root body .store-home .hero-copy{order:0;grid-column:1;grid-row:1}html:root body .store-home .hero-visual{order:0;grid-column:2;grid-row:1;margin:0!important}html:root body .store-home .hero h1{margin:0!important}html:root body .store-home .hero-controls{position:absolute!important;bottom:12px!important;top:auto!important;left:50%!important;right:auto!important;transform:translateX(-50%);margin:0;order:0}
@media(max-width:650px){html:root body .store-home .hero-copy{grid-column:1;grid-row:1}html:root body .store-home .hero-visual{grid-column:1;grid-row:2}}
html:root body .store-home .hero-actions{display:flex!important;align-items:center!important;justify-content:flex-start;align-self:stretch;min-height:0}html:root body .store-home .hero-actions a{width:auto!important;grid-row:auto!important;grid-column:auto!important;flex:0 1 auto;max-width:100%}
@media(max-width:650px){html:root body .store-home .hero{grid-template-rows:224px 242px}html:root body .store-home .hero-copy{grid-template-rows:14px 64px 20px 52px 44px}html:root body .store-home .hero h1{height:64px;-webkit-line-clamp:2}html:root body .store-home .hero-visual{height:242px}}
/* Brand filters and honest sold-product history. */
.brand-filter-panel{padding:18px;border:1px solid var(--sf-line);border-radius:18px;background:var(--sf-card);margin:22px 0}.brand-filter-panel>span{display:block;font-size:12px;font-weight:650;color:var(--sf-muted);margin:4px 0 9px}.brand-filter-panel nav{display:flex;gap:8px;overflow-x:auto;padding:3px 2px 13px;scrollbar-width:thin}.brand-filter-panel nav a{flex:none;display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:1px solid var(--sf-line);border-radius:50px;color:var(--sf-ink);font-size:13px;text-decoration:none;white-space:nowrap}.brand-filter-panel nav a[aria-current=true]{background:#174c89;color:white;border-color:#174c89}.brand-filter-panel nav small{opacity:.75}.brand-result-count{font-size:14px;color:var(--sf-muted)}#brandProducts{scroll-margin-top:20px}.sold-product-notice{padding:16px;border:1px solid var(--sf-line);border-radius:14px;background:var(--sf-card);color:var(--sf-ink)}.home-sold{margin:40px 0}.home-sold .section-head p{font-size:14px;color:var(--sf-muted);max-width:550px}.sold-history-rail{display:flex;gap:16px;overflow-x:auto;scroll-snap-type:x proximity;padding:4px 0 14px}.sold-history-card{flex:0 0 calc((100% - 48px)/4);min-width:230px;padding:14px;border:1px solid var(--sf-line);border-radius:18px;background:var(--sf-card);display:flex;flex-direction:column;gap:8px;text-decoration:none;scroll-snap-align:start;color:var(--sf-ink)}.sold-history-photo{display:grid;place-items:center;position:relative;height:160px}.sold-history-photo img{width:100%;height:150px;object-fit:contain}.sold-history-photo b{position:absolute;top:0;right:0;background:#0b1830;color:#fff;padding:6px 12px;border-radius:7px;font-size:13px}.sold-history-card>strong{font-size:16px;line-height:1.25}.sold-history-card>span:not(.sold-history-photo){font-size:12px;color:var(--sf-muted)}.sold-history-card>small{margin-top:auto;font-size:11px;color:var(--sf-muted)}.sold-history-card>em{font-size:17px;font-weight:700;font-style:normal}.sold-history-link{padding-top:8px;color:#174c89!important}.is-sold .ux-flag{background:#0b1830!important;color:#fff!important}.is-sold .ux-price{opacity:.8}@media(max-width:650px){.brand-filter-panel{padding:14px}.sold-history-card{flex-basis:76%;min-width:220px}.home-sold{margin:28px 0}}html:root[data-theme=dark] body .sold-history-link{color:#a9c2e3!important}
/* Compact white glass with consistent ASAPH red line icons in both themes. */
html:root body .store-dock,html:root[data-theme=dark] body .store-dock{width:min(360px,calc(100% - 28px));gap:2px;padding:5px;padding-bottom:calc(5px + env(safe-area-inset-bottom,0px));background:linear-gradient(125deg,#ffffff24,#ffffff08),#ffffff8f;border-color:#ffffffa6;border-radius:24px;box-shadow:inset 0 1px 0 #ffffffcc,0 6px 20px #0b183018;backdrop-filter:blur(14px) saturate(130%);-webkit-backdrop-filter:blur(14px) saturate(130%)}
html:root body .store-dock>:is(a,button),html:root body .store-dock>:is(a,button):hover,html:root body .store-dock>:is(a,button):focus-visible,html:root[data-theme=dark] body .store-dock>:is(a,button){color:#0b1830;min-height:44px;padding:5px 7px;border-radius:18px}
html:root body .store-dock b{width:28px;height:22px;line-height:22px;margin:0 auto 3px;border-radius:8px;background:#ffffff99;font-size:20px;color:#c91f35}
html:root body .store-dock b svg{width:21px;height:21px}
html:root body .store-dock>:is(a,button)>span,html:root[data-theme=dark] body .store-dock>:is(a,button)>span{font-size:9.5px;color:inherit;text-shadow:none}
html:root body .store-dock .active,html:root[data-theme=dark] body .store-dock .active{color:#0b1830;background:#c91f350a;box-shadow:inset 0 -2px 0 #c91f35}
html:root body .store-dock :focus-visible{outline-color:#c91f35!important}
html:root body .store-dock.is-magnifying{box-shadow:inset 0 1px 0 #ffffffcc,0 8px 24px #0b183024}
html:root body .store-dock::before,html:root[data-theme=dark] body .store-dock::before{top:5px;bottom:5px;border-color:#c91f3533;border-radius:18px;background:linear-gradient(140deg,#ffffff65,#ffffff24);box-shadow:inset 0 1px 0 #ffffff80,0 3px 10px #0b183010}
html:root body .store-dock.is-scrubbing :is(.active,.is-touch-target),html:root[data-theme=dark] body .store-dock.is-scrubbing :is(.active,.is-touch-target){color:#0b1830}
@supports not (backdrop-filter:blur(1px)){html:root body .store-dock,html:root[data-theme=dark] body .store-dock{background:#f6f7fa}}
@media(prefers-reduced-transparency:reduce){html:root body .store-dock,html:root[data-theme=dark] body .store-dock{background:#f6f7fa}}
/* More room for the actual product, with an understated contact shadow. */
html:root body .store-home .hero{grid-template-columns:minmax(0,.75fr) minmax(0,1.25fr)}
html:root body .store-home .hero-visual{height:368px;overflow:visible;isolation:isolate}
html:root body .store-home .hero-visual:before{content:'';position:absolute;z-index:0;left:50%;bottom:-3px;transform:translateX(-50%);width:var(--hero-shadow-width,65%);max-width:88%;height:23px;border-radius:50%;background:radial-gradient(ellipse,#0b183024,transparent 68%);filter:blur(5px);pointer-events:none}
html:root body .store-home .hero-visual img{z-index:1;filter:drop-shadow(0 15px 14px #0b183026)}
html:root[data-theme=dark] body .store-home .hero-visual:before{background:radial-gradient(ellipse,#0007,transparent 68%)}
html:root[data-theme=dark] body .store-home .hero-visual img{filter:drop-shadow(0 15px 14px #0005)}
@media(max-width:650px){html:root body .store-home .hero{grid-template-columns:minmax(0,1fr);grid-template-rows:208px 268px;gap:10px}html:root body .store-home .hero-copy{grid-template-rows:14px 58px 20px 48px 44px;gap:6px}html:root body .store-home .hero h1{height:58px}html:root body .store-home .hero-visual{height:268px}}
@media(min-width:651px) and (max-width:960px){html:root body .store-home .hero{grid-template-columns:minmax(0,1fr) minmax(0,1fr);padding:24px 20px 56px;gap:16px}}

/* The featured slide timer replaces the static accent, without an extra frame loop. */
html:root body .store-home .hero>.hero-progress{position:absolute;top:0;left:0;width:100%;height:3px;z-index:3;background:#c91f35;transform:scaleX(.035);transform-origin:left center;pointer-events:none}
html:root body .store-home .hero>.hero-progress[hidden]{display:none}
@media(hover:hover){html:root body .store-brand-ribbon:hover .brand-ribbon-belt{animation-play-state:paused}}
html:root body .store-brand-ribbon:focus-within .brand-ribbon-belt{animation-play-state:paused}

/* Reference-inspired satin ribbons: two small gradient layers, compositor-only motion. */
html:root body .store-home .hero:before{background:none}
html:root body .store-home .hero-ambient{position:absolute;z-index:0;inset:0 0 0 39%;overflow:hidden;pointer-events:none;contain:paint}
html:root body .store-home .hero-ambient i{position:absolute;display:block;left:-5%;top:12%;width:108%;height:65%;border-radius:100% 0 100% 0;background:radial-gradient(ellipse at 27% 48%,#c91f355c,transparent 57%),radial-gradient(ellipse at 72% 57%,#174c895c,transparent 60%),linear-gradient(140deg,#ffffff00 20%,#ffffffa6 53%,#ffffff00 75%);transform-origin:50% 50%;animation:hero-satin-flow 10s cubic-bezier(.45,0,.55,1) infinite alternate;animation-play-state:paused}
html:root body .store-home .hero-ambient i+i{left:2%;top:39%;height:56%;opacity:.8;background:radial-gradient(ellipse at 70% 50%,#c91f354a,transparent 59%),radial-gradient(ellipse at 25% 47%,#174c8952,transparent 60%),linear-gradient(140deg,#ffffff00 20%,#ffffffb3 53%,#ffffff00 75%);animation-name:hero-satin-return;animation-delay:-5s}
html:root body .store-home .hero[data-hero-running=true] .hero-ambient i{animation-play-state:running}
html:root[data-theme=dark] body .store-home .hero-ambient{opacity:.7}
@keyframes hero-satin-flow{from{transform:translate(-4%,9%) rotate(-22deg) scale(.94)}to{transform:translate(7%,-8%) rotate(18deg) scale(1.08)}}
@keyframes hero-satin-return{from{transform:translate(7%,-7%) rotate(21deg) scale(1.06)}to{transform:translate(-6%,8%) rotate(-18deg) scale(.95)}}
@media(max-width:650px){html:root body .store-home .hero-ambient{inset:44% -10% 5% -10%;opacity:.85}}
@media(prefers-reduced-motion:reduce){html:root body .store-home .hero-ambient i{animation:none;transform:rotate(-15deg)}}

/* A recessed poster frame lets the real cutout cross its rim; no 3D asset or video. */
html:root body .store-home{overflow-x:clip;overflow-y:visible}
html:root body .store-home .hero,html:root[data-theme=dark] body .store-home .hero{overflow:visible;background:transparent!important;border-color:transparent!important;box-shadow:none}
html:root body .store-home .hero:before{inset:45px 24px 24px 0;border:1px solid #ffffff99;border-radius:28px;background:linear-gradient(145deg,#ffffff70,#ffffff2e);box-shadow:inset 0 1px 0 #ffffff80,0 14px 28px #0b183014}
html:root[data-theme=dark] body .store-home .hero:before{border-color:#a9c2e333;background:linear-gradient(145deg,#14253f80,#0f20384d);box-shadow:inset 0 1px 0 #ffffff12,0 14px 28px #00000024}
html:root body .store-home .hero>.hero-progress{top:45px;width:calc(100% - 24px);z-index:1;border-radius:28px 28px 0 0}
html:root body .store-home .hero-ambient{inset:45px 24px 24px 39%;border-radius:0 28px 28px 0}
html:root body .store-home .hero-copy{z-index:3}
html:root body .store-home .hero-visual{z-index:4;perspective:1100px;transition:transform .45s cubic-bezier(.2,.75,.3,1)}
html:root body .store-home .hero-visual img{transform-origin:center 70%;filter:drop-shadow(0 22px 16px #0b18303d)}
html:root[data-theme=dark] body .store-home .hero-visual img{filter:drop-shadow(0 22px 18px #0008)}
html:root body .store-home .hero-visual:before{bottom:-12px;height:30px;opacity:.8}
html:root body .store-home .hero-controls{z-index:5}
@media(hover:hover) and (pointer:fine){html:root body .store-home .hero-visual:hover{transform:perspective(1100px) rotateY(-5deg) rotateX(2deg)}}
@media(max-width:650px){html:root body .store-home .hero{margin-bottom:24px}html:root body .store-home .hero:before{inset:0 0 60px;border-radius:25px}html:root body .store-home .hero>.hero-progress{top:0;width:100%}html:root body .store-home .hero-ambient{inset:44% 0 60px;border-radius:0 0 25px 25px}html:root body .store-home .hero-controls{bottom:-6px!important}}
@media(prefers-reduced-motion:reduce){html:root body .store-home .hero-visual,html:root body .store-home .hero-visual:hover{transform:none;transition:none}}

/* Liquid-glass selection: one lens follows the pointer; destinations stay still. */
html:root body .store-dock::before,html:root[data-theme=dark] body .store-dock::before{z-index:0;top:5px;bottom:5px;border:1px solid #ffffffb3;border-radius:25px;background:radial-gradient(ellipse at 30% 0,#ffffffb3,transparent 64%),linear-gradient(145deg,#ffffff65,#ffffff1a 55%,#ffffff4d);box-shadow:inset 1px 1px 0 #ffffffe6,inset -1px -1px 0 #ffffff70,0 2px 6px #0b183024;backdrop-filter:blur(3px) saturate(155%);-webkit-backdrop-filter:blur(3px) saturate(155%);transform:translate3d(var(--dock-touch-x,0px),0,0) scaleX(var(--dock-lens-stretch,1)) scaleY(var(--dock-lens-squash,1)) rotate(var(--dock-lens-tilt,0deg));transform-origin:center;opacity:0;transition:transform .3s cubic-bezier(.2,.85,.25,1.12),opacity .15s ease}
html:root body .store-dock[data-dock-ready=true]::before{opacity:1}
html:root body .store-dock.is-scrubbing::before{transition:transform .065s linear,opacity .1s linear}
html:root body .store-dock .active,html:root[data-theme=dark] body .store-dock .active{background:transparent;box-shadow:none}
html:root body .store-dock.is-scrubbing .is-touch-target b{background:#ffffff66}
@media(prefers-reduced-motion:reduce){html:root body .store-dock::before,html:root[data-theme=dark] body .store-dock::before{transition:none;transform:translate3d(var(--dock-touch-x,0px),0,0)}}
@media(prefers-reduced-transparency:reduce){html:root body .store-dock::before,html:root[data-theme=dark] body .store-dock::before{background:#f6f7fa;backdrop-filter:none;-webkit-backdrop-filter:none}}

html:root body .store-dock>:is(a,button){-webkit-touch-callout:none;-webkit-user-drag:none}

/* Gestures beginning on the dock belong to navigation, not viewport panning. */
html:root body .store-dock,html:root body .store-dock>:is(a,button){touch-action:none!important}

/* Reference palette: pale grey glass, black icons, calm movement without a bounce. */
html:root body .store-dock,html:root[data-theme=dark] body .store-dock{background:linear-gradient(135deg,#f8fafc3d,#dbe1e71f),#f1f3f58f;border-color:#ffffffad;box-shadow:inset 0 1px 0 #ffffffcc,0 5px 18px #0b183019}
html:root body .store-dock b,html:root[data-theme=dark] body .store-dock b{color:#18212b;background:transparent}
html:root body .store-dock.is-scrubbing .is-touch-target b{background:transparent}
html:root body .store-dock :focus-visible{outline-color:#52616f!important}
html:root body .store-dock::before,html:root[data-theme=dark] body .store-dock::before{transition:opacity .12s ease}
html:root body .store-dock.is-scrubbing::before{transition:none;backdrop-filter:none;-webkit-backdrop-filter:none}
html:root body .store-dock.is-settling::before{transition:transform .16s cubic-bezier(.2,.7,.3,1),opacity .12s ease}
@media(prefers-reduced-motion:reduce){html:root body .store-dock.is-settling::before{transition:none}}
@media(prefers-reduced-transparency:reduce){html:root body .store-dock,html:root[data-theme=dark] body .store-dock{background:#f1f3f5}}

/* Prices lead the reading order and remain distinct from green contact actions. */
html:root body .server-product-detail [data-product-price]{font-size:clamp(22px,7.2vw,34px)!important;margin:12px 0 6px!important;white-space:normal!important;overflow-wrap:normal}
html:root body .pdp-sticky>span{min-width:0;container-type:inline-size}
html:root body .pdp-sticky>span em{display:inline-block!important;box-sizing:border-box;max-width:100%;padding:6px 8px;border-radius:9px;background:#c91f35;color:#fff!important;font-size:clamp(14px,8.5cqi,21px)!important;font-style:normal;font-weight:800;line-height:1.25;font-variant-numeric:tabular-nums;white-space:nowrap;overflow-wrap:normal;word-break:normal}
html:root body :is(.store-home,.server-page) :is(.price,.ux-price,.qnl-price){position:relative;z-index:1}
/* One transient liquid-glass lens follows the pointer without moving the content. */
.store-liquid-glass{position:fixed;left:0;top:0;z-index:80;pointer-events:none!important;box-sizing:border-box;border-radius:50%;opacity:0;visibility:hidden;background:radial-gradient(ellipse at 28% 18%,#ffffffa6,transparent 43%),linear-gradient(135deg,#ffffff38,#ffffff08 55%,#ffffff26);border:1px solid #ffffff80;box-shadow:inset 0 1px 2px #ffffffb3,inset 0 -2px 5px #ffffff40,0 4px 16px #0b18301f;backdrop-filter:blur(1.5px) saturate(1.2);-webkit-backdrop-filter:blur(1.5px) saturate(1.2);transition:opacity .18s ease,visibility .18s;contain:layout style;}
.store-liquid-glass.is-visible{opacity:.72;visibility:visible}
html[data-theme=dark] .store-liquid-glass{background:radial-gradient(ellipse at 28% 18%,#ffffff70,transparent 43%),linear-gradient(135deg,#ffffff26,#ffffff05 55%,#ffffff18);border-color:#ffffff70}
@media(prefers-reduced-motion:reduce){.store-liquid-glass{transition:none;backdrop-filter:none;-webkit-backdrop-filter:none}}
@media(prefers-reduced-transparency:reduce){.store-liquid-glass{display:none}}

/* Product silhouettes in frosted glass category bubbles, directly after the hero. */
html:root body .store-home nav.home-universes{gap:14px;padding-top:10px;padding-bottom:20px}
html:root body .store-home nav.home-universes a{gap:10px;min-width:94px;font-size:12px}
html:root body .store-home nav.home-universes a>span.universe-glass-bubble{position:relative;isolation:isolate;display:grid;place-items:center;width:88px;height:88px;border-radius:50%;border:1px solid #ffffffc7;background:radial-gradient(circle at 25% 18%,#ffffffd9,transparent 60%),linear-gradient(145deg,#ffffff70,#dce6f133);box-shadow:inset 0 1px 2px #fff, inset 0 -3px 8px #174c8914,0 7px 18px #0b183014;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}
html:root body .store-home nav.home-universes .universe-glass-bubble::after{content:"";position:absolute;inset:3px;border-radius:inherit;border-top:1px solid #ffffffc9;background:linear-gradient(125deg,#ffffff4d,transparent 45%);pointer-events:none;z-index:2}
html:root body .store-home nav.home-universes .universe-glass-bubble img{display:block;position:relative;width:86%;height:86%;object-fit:contain;filter:drop-shadow(0 5px 4px #0b18302b);z-index:1}
html:root[data-theme=dark] body .store-home nav.home-universes a>span.universe-glass-bubble{border-color:#ffffff55;background:radial-gradient(circle at 25% 18%,#ffffff38,transparent 58%),linear-gradient(145deg,#ffffff1f,#174c892e);box-shadow:inset 0 1px 2px #ffffff70,inset 0 -3px 8px #0002,0 7px 18px #0003}
@media(max-width:650px){html:root body .store-home nav.home-universes{gap:12px}html:root body .store-home nav.home-universes a{min-width:76px;font-size:11px}html:root body .store-home nav.home-universes a>span.universe-glass-bubble{width:70px;height:70px}}
@media(hover:hover) and (pointer:fine){html:root body .store-home nav.home-universes a:hover>span.universe-glass-bubble{transform:translateY(-3px);box-shadow:inset 0 1px 3px #fff,0 10px 22px #174c892b}}
@media(prefers-reduced-motion:reduce){html:root body .store-home nav.home-universes a>span.universe-glass-bubble{transition:none;transform:none}}

/* The existing slide clock travels around the complete recessed frame. */
html:root body .store-home .hero>svg.hero-progress{position:absolute;inset:45px 24px 24px 0;top:45px;left:0;width:calc(100% - 24px);height:calc(100% - 69px);background:none;transform:none;border-radius:28px;z-index:2;overflow:visible;pointer-events:none}
.hero-progress [data-hero-outline]{fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.hero-progress-track{stroke:#6f98cc33}
html:root body .store-home .hero-controls{inset:0!important;width:100%;height:100%;display:block;padding:0;margin:0;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;transform:none!important;pointer-events:none}
html:root body .store-home .hero-controls[hidden]{display:none}
html:root body .store-home .hero-stepper{position:absolute;left:calc(50% - 12px);bottom:34px;transform:translateX(-50%);display:flex;align-items:center;gap:7px;padding:2px 8px;border-radius:30px;background:#ffffffb8;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);pointer-events:auto;max-width:calc(100% - 28px)}
html:root[data-theme=dark] body .store-home .hero-stepper{background:#0b1830b8}
html:root body .store-home .hero-dots{gap:0;min-width:0}
html:root body .store-home .hero-dots button{min-width:20px;width:20px;min-height:32px;padding:0}
html:root body .store-home .hero-dots button[aria-pressed=true]:after{background:#174C89;width:13px}
html:root[data-theme=dark] body .store-home .hero-dots button[aria-pressed=true]:after{background:#a9c2e3}
html:root body .store-home .hero-position{font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;color:var(--sf-ink,var(--ink))}
html:root body .store-home .hero-controls>button{position:absolute;top:50%;left:10px;width:40px;min-height:44px;background:#ffffffb8;color:#0b1830;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid #ffffff99;opacity:0;pointer-events:none;transition:opacity .18s ease}
html:root body .store-home .hero-controls>[data-hero-next]{left:auto;right:34px}
@media(hover:hover) and (pointer:fine){html:root body .store-home .hero:hover .hero-controls>button{opacity:1;pointer-events:auto}}
html:root body .store-home .hero .hero-controls>button:focus-visible{opacity:1;pointer-events:auto}
@media(max-width:650px){html:root body .store-home .hero>svg.hero-progress{inset:0 0 60px;width:100%;height:calc(100% - 60px);border-radius:25px}html:root body .store-home .hero-stepper{left:50%;bottom:68px;gap:4px;padding:1px 5px}html:root body .store-home .hero-dots button{min-width:19px;width:19px}.store-home .hero-controls>button{top:65%}html:root body .store-home .hero-controls>[data-hero-next]{right:10px}}
@media(prefers-reduced-motion:reduce){html:root body .store-home .hero-controls>button{transition:none}}
html:root body .store-home .hero-visual{touch-action:pan-y pinch-zoom}

/* Both Duo finishes remain visible while the existing colour picker selects the photo. */
html:root body .pdp-photo-colors .pdp-sw{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:380px}
html:root body .pdp-photo-colors .pdp-dot{display:grid;justify-items:center;gap:7px;width:100%;height:auto;min-height:120px;padding:10px 7px;border:1px solid #a9c2e370;border-radius:18px;background:#ffffff90;color:#0b1830;transform:none;box-shadow:inset 0 1px 0 #fff,0 4px 12px #0b18300d}
html:root body .pdp-photo-colors .pdp-dot img{display:block;width:100%;height:80px;object-fit:contain;filter:drop-shadow(0 4px 3px #0b18301a)}
html:root body .pdp-photo-colors .pdp-dot span{font-size:12px;line-height:1.35;font-weight:650}
html:root body .pdp-photo-colors .pdp-dot[aria-checked=true]{border:2px solid #174c89;padding:9px 6px;box-shadow:0 0 0 2px #174c891c;transform:none}
html:root[data-theme=dark] body .pdp-photo-colors .pdp-dot{background:#14253f80;color:#f0f3fa;border-color:#a9c2e34d;box-shadow:inset 0 1px 0 #ffffff1a}
html:root[data-theme=dark] body .pdp-photo-colors .pdp-dot[aria-checked=true]{border-color:#a9c2e3;box-shadow:0 0 0 2px #a9c2e326}

/* Keep the official four-colour Neo photograph intact; its pale board is deliberate. */
html:root body .store-home .hero[data-hero-presentation=lineup] .hero-visual{background:#fafafa;border:1px solid #ffffff80;border-radius:24px;overflow:hidden;box-shadow:0 10px 24px #0b183012}
html:root body .store-home .hero[data-hero-presentation=lineup] .hero-visual img{filter:none}
html:root body .store-home .hero[data-hero-presentation=lineup] .hero-visual:before{display:none}
html:root body .store-home .hero[data-hero-presentation=duo] .hero-visual>img{visibility:hidden}
html:root body .store-home .hero-duo-pair{position:absolute;inset:0;display:block;pointer-events:none}
html:root body .store-home .hero-duo-pair[hidden]{display:none}
html:root body .store-home .hero-duo-pair img{position:absolute!important;width:78%!important;height:72%!important;object-fit:contain;left:-3%!important;top:0!important;filter:drop-shadow(0 12px 10px #0b183030);transform:rotate(-8deg);transform-origin:center}
html:root body .store-home .hero-duo-pair img+img{left:25%!important;top:28%!important;transform:rotate(7deg)}
@media(prefers-reduced-motion:reduce){html:root body .store-home .hero-duo-pair img{transform:none}}

.hero[data-hero-presentation=backs] .hero-visual>img{clip-path:polygon(8% 10.6%,58.8% 10.6%,60% 11.5%,60% 21.2%,89.8% 21.2%,91.4% 22.5%,91.4% 85%,90.2% 86.4%,38.5% 86.4%,37.3% 85%,37.3% 77%,8% 77%,6.5% 75.5%,6.5% 12%)}
