/* Storefront polish, shared across home, catalog, collection and account. */
.moxy-icon { display:inline-flex!important; align-items:center; justify-content:center; width:20px; height:20px; flex:0 0 20px; line-height:1; vertical-align:middle; color:inherit; }
.moxy-icon svg { display:block; width:100%; height:100%; fill:currentColor!important; stroke:none!important; }
.moxy-icon svg path { fill:currentColor!important; stroke:none!important; }
.button .moxy-icon,.text-link .moxy-icon { color:inherit; }
.header-inner { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:24px; max-width:1920px; }
.brand-official { justify-self:start; }.header-actions { justify-self:end; }.main-nav { justify-self:center; }
.account-disclosure { position:relative; }.account-menu { position:absolute; right:0; top:calc(100% + 18px); width:280px; padding:12px; background:var(--paper-deep); border:1px solid var(--line); border-radius:18px; box-shadow:0 20px 55px #0003; }
.account-menu[hidden],[hidden] { display:none!important; }
.account-menu-heading { padding:14px 12px 16px; border-bottom:1px solid var(--line); margin-bottom:8px; }
.account-menu-heading strong,.account-menu-heading small { display:block; overflow-wrap:anywhere; }.account-menu-heading small { color:var(--muted); font-size:12px; margin-top:4px; }
.account-menu :is(a,button) { display:flex; align-items:center; gap:12px; padding:12px; border:0; border-radius:10px; width:100%; background:transparent; color:var(--ink); text-align:left; font-size:14px; cursor:pointer; }
.account-menu :is(a,button):hover,.account-menu :is(a,button):focus-visible { background:color-mix(in srgb,var(--pink) 12%,var(--surface)); }
.account-menu [data-signout] { margin-top:8px; border-top:1px solid var(--line); }
:focus-visible { outline:2px solid color-mix(in srgb,var(--ink) 55%,transparent); outline-offset:3px; }
select { color:var(--ink); background:var(--surface); border:1px solid var(--line); }
select:focus,select:focus-visible { outline:none!important; border-color:transparent!important; background:color-mix(in srgb,var(--pink) 15%,var(--surface))!important; box-shadow:0 0 0 3px color-mix(in srgb,var(--pink) 8%,transparent); }
select option { background:var(--paper-deep); color:var(--ink); }
input:focus-visible,textarea:focus-visible { outline:none; border-color:color-mix(in srgb,var(--pink) 24%,var(--line)); background:color-mix(in srgb,var(--pink) 6%,var(--surface)); box-shadow:0 0 0 3px color-mix(in srgb,var(--pink) 7%,transparent); }
.size-option[aria-pressed="true"],.filter-chip[aria-pressed="true"] { background:color-mix(in srgb,var(--pink) 14%,var(--surface)); color:var(--ink); border-color:transparent; }
.shop-page { width:calc(100% - 2*clamp(24px,3vw,64px)); max-width:2200px; }
.shop-page .subpage-hero { padding-block:40px 48px; }.shop-page .subpage-hero h1 { font-size:clamp(42px,5vw,76px); }
.catalog-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:40px 28px; }
.catalog-image,.home-refresh .catalog-image,.collection-product-photo { border:0!important; box-shadow:none; outline:none; }
.catalog-image:focus-visible { outline:2px solid var(--ink); outline-offset:4px; }
.catalog-tag { min-height:20px; }.inventory-label { display:block; font-size:12px; font-weight:500; color:var(--muted); margin-top:6px; }
.catalog-tag:not(:empty) { width:fit-content; max-width:calc(100% - 40px); padding:6px 10px; border-radius:8px; background:#090a0ea6; color:#fff; line-height:1.4; }
.catalog-card-copy { gap:14px; }.catalog-card-copy h2 { font-size:clamp(22px,2vw,30px); }.catalog-card-copy strong { flex-shrink:0; }
.catalog-card-copy>div { min-width:0; }.catalog-card-copy h2 { overflow-wrap:anywhere; }.catalog-card-copy>strong { max-width:42%; overflow-wrap:anywhere; white-space:normal; }
.card-actions { display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.save-tee { display:inline-grid; place-items:center; width:44px; height:44px; flex:0 0 44px; padding:0; border:0; border-radius:50%; background:var(--surface); color:var(--ink); }
.save-tee[aria-pressed="true"] { background:color-mix(in srgb,var(--pink) 14%,var(--surface)); color:var(--pink); }
.card-actions .button { flex:1; gap:8px; padding-inline:16px; min-width:120px; }.card-actions .text-link { padding:8px 0; }
.home-refresh .card-actions>.text-link { display:inline-flex; }.home-refresh .card-actions { gap:10px; }.home-refresh .card-actions .text-link { flex-basis:100%; justify-content:center; }
.studio-copy .button-primary { border:0; color:white; padding:0 24px; min-height:50px; gap:14px; }.studio-copy .button-primary:hover { color:white; background:var(--pink-dark); }
.studio-continue { display:inline-flex; gap:10px; align-items:center; }
.feature-plus { width:42px; height:42px; padding:0; display:grid; place-items:center; right:20px; bottom:20px; line-height:1; box-shadow:0 4px 18px #0002; }
.feature-plus:hover { rotate:0deg; scale:1.04; }.feature-plus .moxy-icon { width:22px; height:22px; }
.feature-delivery { background:linear-gradient(145deg,#152d32,#081116); }.feature-delivery .feature-photo { opacity:.65; }
.product-detail-layout.page-width { max-width:1900px; width:calc(100% - 2*clamp(24px,4vw,80px)); }
.product-buy .buy-actions { display:flex; align-items:center; gap:12px; margin-top:28px; }.product-buy .buy-actions .button { flex:1; }
.product-subnav { max-width:1500px; width:calc(100% - 48px); }.product-subnav>div { align-items:center; }
.product-save { margin:0; }.quick-cart-dialog { max-height:calc(100dvh - 32px); overflow-y:auto; }.quick-cart-options { gap:16px; }
.quick-cart-product h2 { font-size:24px; }.quick-cart-product .inventory-label { font-size:12px; }.quick-cart-note { line-height:1.5; }
.cookie-banner { position:fixed; z-index:90; left:24px; right:24px; bottom:24px; margin:auto; max-width:1180px; display:flex; align-items:center; gap:30px; padding:24px; background:var(--paper-deep); border:1px solid var(--line); border-radius:22px; box-shadow:0 12px 50px #0004; }
.cookie-banner h2 { font-size:20px; margin:0 0 8px; }.cookie-banner p { font-size:13px; color:var(--ink-soft); margin:0; max-width:660px; }.cookie-banner a { text-decoration:underline; }
.cookie-actions { display:flex; flex-wrap:wrap; gap:10px; flex-shrink:0; }.cookie-actions .button { min-height:44px; font-size:13px; padding-inline:17px; }
.cookie-dialog { width:min(560px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:36px; border:1px solid var(--line); border-radius:24px; background:var(--paper); color:var(--ink); }
dialog::backdrop { background:#0008; backdrop-filter:blur(8px); }.cookie-dialog>h2 { font-size:32px; margin-top:0; }.cookie-dialog>p { color:var(--ink-soft); font-size:14px; }
.cookie-choice { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:20px 0; border-bottom:1px solid var(--line); }.cookie-choice h3 { font-size:16px; margin:0 0 6px; }.cookie-choice p,.cookie-choice small { display:block; margin:6px 0 0; font-size:13px; color:var(--muted); }.cookie-choice>span:last-child { font-size:12px; white-space:nowrap; }
.cookie-choice input { appearance:none; width:44px; height:26px; flex-shrink:0; border:0; border-radius:30px; background:var(--surface); cursor:pointer; position:relative; }.cookie-choice input::after { content:''; position:absolute; left:4px; top:4px; width:18px; height:18px; border-radius:50%; background:var(--ink); transition:transform .2s; }.cookie-choice input:checked { background:var(--pink); }.cookie-choice input:checked::after { background:white; transform:translateX(18px); }
.footer-links button { background:none; border:0; padding:0; color:var(--ink-soft); font-size:14px; text-align:left; cursor:pointer; }.cookie-note { font-size:12px!important; }
.button-outline { background:transparent; border:1px solid var(--line); color:var(--ink); }
.account-destination { padding:30px; border-radius:20px; background:var(--surface); margin-top:24px; scroll-margin-top:100px; }.account-destination h2 { font-size:28px; }.account-destination p { max-width:700px; color:var(--ink-soft); }
@media(min-width:1800px) { .catalog-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) {
 .header-inner { grid-template-columns:1fr auto; gap:16px; }.main-nav { display:none; position:absolute; top:100%; left:0; right:0; padding:24px; background:var(--paper); border-bottom:1px solid var(--line); flex-direction:column; align-items:stretch; opacity:1; transform:none; pointer-events:auto; }.main-nav.is-open { display:flex; }.menu-toggle { display:grid; }.main-nav a { font-size:17px; padding:10px; }.cookie-banner { flex-direction:column; align-items:stretch; gap:18px; }
}
@media(max-width:760px) { .catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:32px 16px; }.shop-page { width:calc(100% - 32px); }.catalog-card-copy { flex-direction:column; }.catalog-card-copy strong { text-align:left; }.catalog-card-copy p { font-size:13px; }.card-actions .button { flex-basis:calc(100% - 54px); font-size:13px; }.card-actions .text-link { flex-basis:100%; }.cookie-banner { left:12px; right:12px; bottom:12px; padding:20px; border-radius:18px; }.cookie-actions .button { flex:1; }.cookie-dialog { padding:28px 22px; }.header-inner { width:calc(100% - 28px); }.brand-official { width:clamp(140px,30vw,185px); }.header-actions { gap:4px; }.account-menu { position:fixed; top:76px; right:14px; max-width:calc(100vw - 28px); }.product-subnav { width:calc(100% - 24px); }.product-subnav>strong { max-width:35%; font-size:14px; }.product-subnav>div { gap:10px; }.product-subnav .button { padding-inline:16px; }.product-subnav .save-tee { display:none; } }
@media(max-width:480px) { .catalog-grid { grid-template-columns:1fr; }.catalog-card-copy { flex-direction:row; }.shop-toolbar { display:flex; flex-wrap:wrap; }.shop-search { flex-basis:100%; }.filter-row { flex-wrap:wrap; }.sort-select { margin-left:auto; }.brand-official { width:142px; }.header-actions .icon-button { width:30px; }.theme-toggle { border:0; } }
@media(prefers-reduced-motion:reduce) { .cookie-choice input::after { transition:none; } }
@media(max-width:1100px) { .main-nav { justify-self:stretch; width:auto; }.menu-toggle[aria-expanded="true"] svg { transform:none; } }
@media(max-width:480px) { .catalog-card-copy>strong { font-size:18px; flex-shrink:1; }.catalog-card-copy>div { flex:1; } }
@media(max-width:380px) { .brand-official { width:112px; }.brand-official img { width:112px; }.header-inner { gap:8px; } }
