:root {
    --ink: #10231d;
    --ink-soft: #25463b;
    --paper: #f3f1e9;
    --paper-2: #e9e5d8;
    --cream: #fffdf7;
    --mint: #b8e1d2;
    --lime: #d7ef72;
    --coral: #ff714b;
    --blue: #a7c8e8;
    --line: rgba(16, 35, 29, .16);
    --shadow: 0 24px 70px rgba(16, 35, 29, .12);
    --radius: 26px;
}

/* Public identity buttons stay local, fast and independent from third-party UI scripts. */
.google-auth-button { display:flex; align-items:center; justify-content:center; gap:10px; width:100%; min-height:48px; padding:11px 16px; color:#18231f; background:#fff; border:1px solid rgba(16,35,29,.22); border-radius:11px; box-shadow:0 4px 14px rgba(16,35,29,.06); font:inherit; font-size:11px; font-weight:850; text-decoration:none; cursor:pointer; transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease; }
.google-auth-button > span { display:grid; place-items:center; width:26px; height:26px; color:#fff; background:conic-gradient(from -45deg,#4285f4 0 25%,#34a853 0 50%,#fbbc05 0 75%,#ea4335 0); border:3px solid #fff; border-radius:50%; box-shadow:0 0 0 1px rgba(16,35,29,.08); font-size:12px; font-weight:900; }
.google-auth-button:hover { border-color:#0f8065; box-shadow:0 8px 20px rgba(16,35,29,.1); transform:translateY(-1px); }
.google-auth-button:focus-visible { outline:3px solid rgba(15,128,101,.24); outline-offset:2px; }
.auth-divider { display:flex; align-items:center; gap:12px; margin:18px 0; color:#788881; font-size:8px; font-weight:800; letter-spacing:.08em; text-transform:uppercase; }
.auth-divider::before,.auth-divider::after { content:""; flex:1; height:1px; background:rgba(16,35,29,.12); }
.identity-connected { display:flex; align-items:center; gap:9px; margin:12px 0 8px; }
.identity-connected > span { display:grid; place-items:center; width:28px; height:28px; background:#d7ef72; border-radius:50%; font-weight:900; }
@media (prefers-reduced-motion:reduce) { .google-auth-button { transition:none; } }
.product-card-tools { position:absolute; z-index:4; top:12px; right:12px; display:grid; gap:7px; }
.product-card-tools form { margin:0; }
.product-card-tools button { display:grid; place-items:center; width:36px; height:36px; padding:0; color:#18231f; background:rgba(255,255,255,.92); border:1px solid rgba(16,35,29,.18); border-radius:50%; box-shadow:0 5px 15px rgba(16,35,29,.1); cursor:pointer; backdrop-filter:blur(8px); transition:transform .16s ease,background .16s ease; }
.product-card-tools button:hover { transform:translateY(-1px) scale(1.04); }
.product-card-tools button.active { color:#fff; background:#0f8065; border-color:#0f8065; }
.product-card-tools button:focus-visible { outline:3px solid rgba(15,128,101,.25); outline-offset:2px; }
.discovery-page { padding-block:54px 80px; }
.discovery-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:30px; }
.discovery-head h1 { margin:7px 0 8px; font-family:Georgia,serif; font-size:clamp(38px,5vw,68px); font-weight:500; letter-spacing:-.045em; }
.discovery-head p:last-child { max-width:620px; color:#60736c; line-height:1.65; }
.discovery-empty { display:grid; justify-items:center; min-height:390px; padding:70px 20px; text-align:center; background:linear-gradient(135deg,#f8f5eb,#edf3ee); border:1px dashed rgba(16,35,29,.22); border-radius:28px; }
.discovery-empty > span { display:grid; place-items:center; width:72px; height:72px; margin-bottom:18px; background:#d7ef72; border-radius:50%; font-size:30px; }
.discovery-empty h2 { margin:0; font-family:Georgia,serif; font-size:32px; font-weight:500; }
.discovery-empty p { max-width:470px; color:#60736c; line-height:1.6; }
.discovery-empty a { font-weight:850; }
.compare-scroll { overflow-x:auto; border:1px solid rgba(16,35,29,.14); border-radius:22px; background:#fff; }
.compare-table { width:100%; min-width:760px; border-collapse:collapse; }
.compare-table th,.compare-table td { min-width:190px; padding:17px; text-align:left; vertical-align:top; border-right:1px solid rgba(16,35,29,.1); border-bottom:1px solid rgba(16,35,29,.1); }
.compare-table th:first-child { min-width:130px; color:#65776f; font-size:10px; text-transform:uppercase; }
.compare-table thead th { background:#f8f5ed; }
.compare-table thead th > a { display:grid; gap:9px; }
.compare-table thead strong { font-family:Georgia,serif; font-size:19px; }
.compare-art { display:block; height:112px; background:linear-gradient(135deg,#d7ef72,#f2d98b); border-radius:14px; }
.compare-table form button { margin-top:12px; padding:7px 9px; color:#6c3e39; background:transparent; border:1px solid rgba(108,62,57,.25); border-radius:8px; font-size:8px; cursor:pointer; }
@media(max-width:760px){.discovery-head{align-items:flex-start;flex-direction:column}.discovery-head .market-primary-button{width:100%}.discovery-page{padding-block:34px 60px}}
@media(prefers-reduced-motion:reduce){.product-card-tools button{transition:none}}
.market-utility nav a b { display:inline-grid; place-items:center; min-width:17px; height:17px; margin-left:3px; padding-inline:4px; color:#fff; background:#0f8065; border-radius:999px; font-size:8px; }
.product-save-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; margin-top:10px; }
.product-save-actions form { margin:0; }
.product-save-actions button { display:flex; align-items:center; justify-content:center; gap:8px; width:100%; min-height:42px; color:#32473f; background:#f7f5ef; border:1px solid rgba(16,35,29,.15); border-radius:10px; font-size:9px; font-weight:850; cursor:pointer; }
.product-save-actions button.active { color:#fff; background:#0f8065; border-color:#0f8065; }
.product-save-actions button:focus-visible { outline:3px solid rgba(15,128,101,.22); outline-offset:2px; }
@media(max-width:460px){.product-save-actions{grid-template-columns:1fr}}

* { box-sizing: border-box; }

html { scroll-behavior: smooth; }

body {
    margin: 0;
    color: var(--ink);
    background: var(--paper);
    font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, sans-serif;
    -webkit-font-smoothing: antialiased;
}

a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }

.skip-link {
    position: fixed;
    left: 16px;
    top: -80px;
    z-index: 1000;
    padding: 12px 18px;
    background: var(--ink);
    color: white;
    border-radius: 0 0 10px 10px;
}
.skip-link:focus { top: 0; }

.topline {
    height: 31px;
    overflow: hidden;
    color: var(--ink);
    background: var(--lime);
    border-bottom: 1px solid var(--ink);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
}
.topline-track {
    display: flex;
    align-items: center;
    gap: 26px;
    width: max-content;
    height: 100%;
    animation: ticker 26s linear infinite;
}
.topline-track i { width: 5px; height: 5px; background: var(--ink); border-radius: 50%; }
@keyframes ticker { to { transform: translateX(-50%); } }

.site-header {
    position: relative;
    z-index: 20;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    min-height: 82px;
    padding: 0 clamp(22px, 5vw, 82px);
    border-bottom: 1px solid var(--line);
    background: rgba(243, 241, 233, .88);
    backdrop-filter: blur(18px);
}
.brand { display: inline-flex; align-items: center; gap: 11px; width: fit-content; font-size: 21px; font-weight: 850; letter-spacing: -.055em; }
.brand > span:last-child > span { color: #0f8065; }
.brand-mark { position: relative; width: 29px; height: 29px; transform: rotate(45deg); border: 2px solid var(--ink); border-radius: 8px; }
.brand-mark b { position: absolute; display: block; width: 8px; height: 8px; border-radius: 2px; background: var(--coral); }
.brand-mark b:first-child { left: 4px; top: 4px; }
.brand-mark b:last-child { right: 4px; bottom: 4px; background: #0f8065; }
.desktop-nav { display: flex; gap: 34px; font-size: 13px; font-weight: 650; }
.desktop-nav a, .account-link { position: relative; padding: 8px 0; }
.desktop-nav a::after, .account-link::after { content: ""; position: absolute; left: 0; right: 100%; bottom: 2px; height: 1px; background: currentColor; transition: right .25s ease; }
.desktop-nav a:hover::after, .desktop-nav a:focus-visible::after, .account-link:hover::after { right: 0; }
.header-actions { justify-self: end; display: flex; align-items: center; gap: 20px; font-size: 13px; font-weight: 650; }
.icon-button { width: 38px; height: 38px; border: 1px solid var(--line); background: transparent; border-radius: 50%; cursor: pointer; font-size: 23px; line-height: 1; }
.bag-link { display: inline-flex; align-items: center; gap: 8px; }
.bag-link span { display: grid; place-items: center; width: 22px; height: 22px; color: white; background: var(--ink); border-radius: 50%; font-size: 10px; }
.menu-toggle, .mobile-nav { display: none; }

.hero {
    position: relative;
    display: grid;
    grid-template-columns: minmax(0, 1.05fr) minmax(390px, .95fr);
    min-height: 690px;
    padding: 74px clamp(22px, 5vw, 82px) 68px;
    overflow: hidden;
    border-bottom: 1px solid var(--ink);
}
.hero::before { content: ""; position: absolute; left: -13vw; top: -30vw; width: 56vw; height: 56vw; border: 1px solid rgba(16,35,29,.08); border-radius: 50%; pointer-events: none; }
.hero-copy { position: relative; z-index: 4; max-width: 720px; }
.eyebrow, .kicker { margin: 0 0 23px; font-size: 11px; font-weight: 850; letter-spacing: .18em; text-transform: uppercase; }
.eyebrow { display: flex; align-items: center; gap: 9px; }
.eyebrow span { width: 25px; height: 1px; background: currentColor; }
h1, h2 { margin: 0; font-family: Georgia, "Times New Roman", serif; font-weight: 500; letter-spacing: -.055em; line-height: .96; }
h1 { max-width: 760px; font-size: clamp(55px, 6.15vw, 94px); }
h1 em, h2 em { color: #0d765e; font-weight: 500; }
.hero-lead { max-width: 625px; margin: 30px 0 32px; color: #416057; font-size: clamp(16px, 1.3vw, 20px); line-height: 1.58; }

.smart-search { max-width: 720px; padding: 16px 16px 13px; border: 1px solid var(--ink); border-radius: 18px; background: var(--cream); box-shadow: 7px 7px 0 var(--ink); }
.smart-search > label { display: block; margin: 0 0 10px 2px; font-size: 11px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.smart-search-row { display: grid; grid-template-columns: 27px 1fr auto; align-items: center; gap: 8px; }
.smart-search-row > span { display: grid; place-items: center; width: 26px; height: 26px; color: #0a6e58; background: var(--mint); border-radius: 50%; font-size: 13px; }
.smart-search input { min-width: 0; height: 50px; padding: 0 8px; border: 0; outline: 0; background: transparent; font-size: 14px; }
.smart-search input::placeholder { color: #72837e; }
.smart-search button, .button-light { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 0 20px; color: white; background: var(--ink); border: 0; border-radius: 12px; font-size: 12px; font-weight: 800; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.smart-search button:hover { transform: translateY(-2px); background: #0d765e; }
.smart-search > p { margin: 10px 0 0 35px; color: #687973; font-size: 10px; }
.hero-proof { display: flex; gap: 0; max-width: 600px; margin-top: 38px; }
.hero-proof div { display: flex; flex-direction: column; gap: 2px; min-width: 145px; padding: 0 25px; border-left: 1px solid var(--line); }
.hero-proof div:first-child { padding-left: 0; border: 0; }
.hero-proof strong { font-family: Georgia, serif; font-size: 18px; font-weight: 500; }
.hero-proof span { color: #668078; font-size: 11px; }

.hero-stage { position: relative; z-index: 3; align-self: center; min-height: 530px; margin-left: 8%; }
.hero-stage::before { content: ""; position: absolute; inset: 4% -12% -10% 5%; background: var(--blue); border: 1px solid var(--ink); border-radius: 48% 52% 43% 57% / 55% 36% 64% 45%; transform: rotate(-6deg); }
.stage-orbit { position: absolute; z-index: 0; border: 1px solid rgba(16,35,29,.38); border-radius: 50%; }
.orbit-one { inset: -7% -17% -14% -5%; transform: rotate(18deg); }
.orbit-two { inset: 2% -27% -3% 10%; transform: rotate(58deg); }
.hero-card { position: absolute; z-index: 2; left: 10%; top: 2%; width: 74%; height: 88%; overflow: hidden; color: #f6f4eb; background: #1e4438; border: 1px solid var(--ink); border-radius: 210px 210px 34px 34px; box-shadow: var(--shadow); transform: rotate(3.5deg); }
.hero-card::after { content: ""; position: absolute; left: -30%; bottom: -42%; width: 160%; height: 76%; background: #d3e96d; border-radius: 50%; transform: rotate(-8deg); }
.card-label { position: absolute; z-index: 2; left: 34px; right: 34px; top: 31px; display: flex; justify-content: space-between; font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.headphone-art { position: absolute; z-index: 3; left: 50%; top: 43%; width: 60%; aspect-ratio: 1; transform: translate(-50%, -50%) rotate(-8deg); }
.headband { position: absolute; inset: 4% 12% 24%; border: 17px solid #f2ede0; border-bottom: 0; border-radius: 50% 50% 0 0; filter: drop-shadow(0 12px 12px rgba(0,0,0,.18)); }
.headband::after { content: ""; position: absolute; inset: 7px -8px auto; height: 17px; border-radius: 20px; background: #ff7652; }
.ear { position: absolute; z-index: 2; top: 51%; width: 29%; height: 41%; background: #f8f4e8; border: 7px solid #17352d; border-radius: 45% 45% 48% 48%; box-shadow: inset 0 0 0 9px #ff7652, 0 18px 25px rgba(0,0,0,.17); }
.ear-left { left: 3%; transform: rotate(5deg); }
.ear-right { right: 3%; transform: rotate(-5deg); }
.hero-card-copy { position: absolute; z-index: 4; left: 35px; right: 35px; bottom: 28px; color: var(--ink); }
.hero-card-copy span { font-size: 10px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.hero-card-copy strong { display: block; margin-top: 5px; font-family: Georgia, serif; font-size: clamp(24px, 2.1vw, 34px); font-weight: 500; letter-spacing: -.04em; line-height: 1; }
.float-card { position: absolute; z-index: 5; display: flex; flex-direction: column; min-width: 150px; padding: 15px 18px; background: var(--cream); border: 1px solid var(--ink); border-radius: 14px; box-shadow: 5px 5px 0 var(--ink); }
.float-card span { font-size: 9px; font-weight: 750; letter-spacing: .08em; text-transform: uppercase; }
.float-card strong { margin-top: 3px; font-family: Georgia, serif; font-size: 24px; font-weight: 500; }
.float-price { left: -3%; bottom: 13%; transform: rotate(-6deg); }
.float-match { right: -3%; top: 24%; align-items: center; min-width: 122px; padding: 13px; background: var(--coral); color: var(--ink); transform: rotate(7deg); }
.float-match strong { font-size: 31px; }
.float-match span { letter-spacing: 0; text-transform: none; }
.hero-stamp { position: absolute; z-index: 4; right: -3%; bottom: 1%; display: grid; place-items: center; width: 100px; height: 100px; background: var(--cream); border: 1px solid var(--ink); border-radius: 50%; animation: spin 18s linear infinite; }
.hero-stamp span { position: absolute; font-size: 8px; font-weight: 900; letter-spacing: .11em; transform: rotate(-20deg); }
.hero-stamp b { font-size: 20px; }
@keyframes spin { to { transform: rotate(360deg); } }

.category-band { display: grid; grid-template-columns: .78fr 1.22fr; gap: 7vw; padding: 100px clamp(22px, 5vw, 82px); background: #dce8df; border-bottom: 1px solid var(--ink); }
.section-intro h2 { font-size: clamp(44px, 4.3vw, 68px); }
.section-intro > a { display: inline-flex; gap: 35px; margin-top: 44px; padding-bottom: 8px; border-bottom: 1px solid var(--ink); font-size: 12px; font-weight: 800; }
.category-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.category-card { position: relative; display: flex; flex-direction: column; min-height: 190px; padding: 23px; overflow: hidden; border: 1px solid var(--ink); border-radius: 22px; transition: transform .25s ease, box-shadow .25s ease; }
.category-card:hover { transform: translateY(-5px) rotate(-.6deg); box-shadow: 6px 6px 0 var(--ink); }
.category-card::after { content: ""; position: absolute; right: -23px; bottom: -45px; width: 135px; height: 135px; border: 24px solid rgba(16,35,29,.12); border-radius: 50%; }
.category-card span { font-size: 10px; font-weight: 800; }
.category-card strong { max-width: 150px; margin-top: auto; font-family: Georgia, serif; font-size: 28px; font-weight: 500; line-height: .95; letter-spacing: -.04em; }
.category-card small { margin-top: 8px; font-size: 10px; }
.category-card i { position: absolute; right: 18px; top: 18px; display: grid; place-items: center; width: 32px; height: 32px; background: rgba(255,255,255,.48); border: 1px solid var(--ink); border-radius: 50%; font-style: normal; }
.cat-work { background: #f5d0c5; }
.cat-home { background: #d7e976; }
.cat-outdoor { background: #b3d2ec; }
.cat-style { background: #efe9dc; }

.products-section { padding: 105px clamp(22px, 5vw, 82px) 120px; }
.products-heading { display: flex; align-items: end; justify-content: space-between; gap: 35px; margin-bottom: 42px; }
.products-heading h2 { font-size: clamp(48px, 4.6vw, 73px); }
.product-tabs { display: flex; flex-wrap: wrap; gap: 7px; }
.product-tabs button { padding: 9px 14px; background: transparent; border: 1px solid var(--line); border-radius: 999px; color: #4f665f; font-size: 11px; cursor: pointer; }
.product-tabs button.active { color: white; background: var(--ink); border-color: var(--ink); }
.product-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.product-card[hidden] { display: none; }
.product-art { position: relative; display: block; min-height: 370px; overflow: hidden; border: 1px solid var(--ink); border-radius: 22px; }
.product-photo { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .35s ease; }
.product-art:hover .product-photo, .product-art:focus-visible .product-photo { transform: scale(1.025); }
.product-art::before { content: ""; position: absolute; inset: 13% -12% -24%; border: 1px solid rgba(16,35,29,.2); border-radius: 50%; transform: rotate(20deg); }
.product-tag { position: absolute; z-index: 3; left: 15px; top: 15px; padding: 7px 10px; background: rgba(255,253,247,.9); border: 1px solid var(--ink); border-radius: 999px; font-size: 8px; font-weight: 900; letter-spacing: .08em; }
.quick-look { position: absolute; z-index: 4; left: 13px; right: 13px; bottom: -60px; display: flex; align-items: center; justify-content: space-between; height: 48px; padding: 0 15px; color: white; background: var(--ink); border-radius: 12px; font-size: 11px; font-weight: 750; transition: bottom .25s ease; }
.product-art:hover .quick-look, .product-art:focus-visible .quick-look { bottom: 13px; }
.art-object { position: absolute; left: 50%; top: 51%; display: block; width: 57%; aspect-ratio: .9; transform: translate(-50%, -50%) rotate(-8deg); transition: transform .35s ease; }
.product-art:hover .art-object { transform: translate(-50%, -54%) rotate(-4deg) scale(1.04); }
.art-object i, .art-object b { position: absolute; display: block; }
.art-audio { background: #c9ddeb; }
.art-audio .art-object i { inset: 5% 8% 27%; border: 16px solid #f3efe4; border-bottom: 0; border-radius: 50% 50% 0 0; filter: drop-shadow(0 14px 12px rgba(16,35,29,.18)); }
.art-audio .art-object b { left: 4%; right: 4%; bottom: 8%; height: 46%; border-left: 45px solid var(--coral); border-right: 45px solid var(--coral); border-radius: 20px; }
.art-light { background: #dce977; }
.art-light .art-object i { left: 42%; bottom: 4%; width: 13%; height: 62%; background: var(--ink); border-radius: 12px; transform: rotate(13deg); transform-origin: bottom; }
.art-light .art-object b { left: 21%; top: 7%; width: 67%; height: 40%; background: #fff1de; border: 7px solid var(--ink); border-radius: 50% 50% 20px 20px; transform: rotate(14deg); box-shadow: 0 18px 30px rgba(16,35,29,.17); }
.art-bottle { background: #f3c9bc; }
.art-bottle .art-object i { left: 27%; top: 10%; width: 47%; height: 78%; background: #faf7ed; border: 7px solid var(--ink); border-radius: 29px 29px 39px 39px; box-shadow: inset 0 -90px 0 #a8d3c4, 0 18px 30px rgba(16,35,29,.14); }
.art-bottle .art-object b { left: 37%; top: 1%; width: 27%; height: 18%; background: var(--coral); border: 6px solid var(--ink); border-radius: 10px; }
.art-bag { background: #c6dfd5; }
.art-bag .art-object i { left: 9%; right: 9%; top: 28%; bottom: 5%; background: #ff805e; border: 7px solid var(--ink); border-radius: 24px 24px 38px 38px; box-shadow: inset 0 -25px 0 rgba(255,255,255,.18), 0 18px 30px rgba(16,35,29,.14); }
.art-bag .art-object b { left: 29%; top: 5%; width: 42%; height: 42%; border: 10px solid var(--ink); border-bottom: 0; border-radius: 50% 50% 0 0; }
.product-info { display: flex; justify-content: space-between; gap: 10px; padding: 17px 3px 0; }
.product-info p { margin: 0 0 5px; color: #688078; font-size: 9px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.product-info h3 { margin: 0 0 5px; font-family: Georgia, serif; font-size: 20px; font-weight: 500; letter-spacing: -.035em; }
.product-info span { color: #6b7b76; font-size: 10px; }
.product-info > strong { flex: 0 0 auto; padding-top: 18px; font-size: 13px; }

.why-section { display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; background: var(--ink); color: var(--paper); border-top: 1px solid var(--ink); }
.why-visual { position: relative; overflow: hidden; min-height: 640px; background: #f0dfd2; border-right: 1px solid rgba(255,255,255,.2); }
.why-visual::after { content: ""; position: absolute; inset: 13%; border: 1px dashed var(--ink); border-radius: 50%; animation: spin 34s linear infinite reverse; }
.why-ring { position: absolute; left: 50%; top: 50%; border: 1px solid rgba(16,35,29,.4); border-radius: 50%; transform: translate(-50%,-50%); }
.ring-a { width: 69%; aspect-ratio: 1; }
.ring-b { width: 47%; aspect-ratio: 1; }
.why-core { position: absolute; z-index: 2; left: 50%; top: 50%; display: grid; place-items: center; width: 180px; height: 180px; color: var(--ink); background: var(--lime); border: 1px solid var(--ink); border-radius: 50%; transform: translate(-50%,-50%); box-shadow: 10px 10px 0 var(--ink); }
.why-core b { font-size: 24px; }
.why-core strong { text-align: center; font-size: 14px; letter-spacing: .14em; }
.why-note { position: absolute; z-index: 3; padding: 11px 15px; color: var(--ink); background: var(--cream); border: 1px solid var(--ink); border-radius: 999px; font-size: 10px; font-weight: 800; box-shadow: 4px 4px 0 var(--ink); }
.note-a { left: 9%; top: 19%; transform: rotate(-7deg); }
.note-b { right: 7%; top: 30%; transform: rotate(5deg); }
.note-c { left: 17%; bottom: 14%; transform: rotate(4deg); }
.why-copy { display: flex; flex-direction: column; justify-content: center; padding: 70px clamp(34px, 6vw, 96px); }
.why-copy h2 { font-size: clamp(45px, 4.1vw, 67px); }
.why-copy h2 em { color: var(--lime); }
.why-copy > p:not(.kicker) { max-width: 600px; margin: 30px 0 20px; color: #b9c8c3; font-size: 15px; line-height: 1.7; }
.why-copy ul { margin: 15px 0 0; padding: 0; list-style: none; }
.why-copy li { display: grid; grid-template-columns: 47px 1fr; gap: 18px; padding: 21px 0; border-top: 1px solid rgba(255,255,255,.15); }
.why-copy li > span { display: grid; place-items: center; width: 36px; height: 36px; color: var(--ink); background: var(--lime); border-radius: 50%; font-size: 10px; font-weight: 900; }
.why-copy li strong { font-family: Georgia, serif; font-size: 20px; font-weight: 500; }
.why-copy li p { margin: 5px 0 0; color: #98aaa4; font-size: 12px; }

.seller-cta { position: relative; display: grid; grid-template-columns: 1.1fr .9fr; gap: 9vw; padding: 92px clamp(22px, 7vw, 120px); overflow: hidden; background: var(--coral); border-bottom: 1px solid var(--ink); }
.seller-cta h2 { max-width: 680px; font-size: clamp(51px, 5vw, 78px); }
.seller-cta h2 em { color: var(--ink); }
.seller-cta > div:nth-child(2) { position: relative; z-index: 2; align-self: end; }
.seller-cta > div:nth-child(2) p { max-width: 510px; margin: 0 0 26px; font-size: 14px; line-height: 1.65; }
.button-light { min-height: 53px; padding-inline: 23px; background: var(--cream); color: var(--ink); border: 1px solid var(--ink); box-shadow: 5px 5px 0 var(--ink); }
.button-light:hover { transform: translate(-2px,-2px); }
.seller-deco { position: absolute; right: -1vw; top: -5vw; font-family: Georgia, serif; font-size: 34vw; line-height: .9; color: rgba(255,255,255,.12); }

.site-footer { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; padding: 75px clamp(22px, 5vw, 82px) 30px; color: #dfe8e4; background: #0b1915; }
.brand-footer { color: white; }
.site-footer > div:first-child > p { max-width: 350px; margin-top: 25px; color: #8fa29b; font-family: Georgia, serif; font-size: 22px; line-height: 1.4; }
.footer-links { display: grid; grid-template-columns: repeat(3,1fr); gap: 25px; }
.footer-links section { display: flex; flex-direction: column; gap: 12px; }
.footer-links h2 { margin: 0 0 10px; color: #768a83; font-family: inherit; font-size: 9px; font-weight: 850; letter-spacing: .13em; text-transform: uppercase; }
.footer-links a { width: fit-content; color: #d1dcd8; font-size: 12px; }
.footer-links a:hover { color: var(--lime); }
.footer-bottom { grid-column: 1 / -1; display: flex; justify-content: space-between; margin-top: 42px; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.12); color: #6c817a; font-size: 9px; letter-spacing: .06em; text-transform: uppercase; }

@media (max-width: 1080px) {
    .site-header { grid-template-columns: 1fr auto; }
    .desktop-nav, .header-actions { display: none; }
    .menu-toggle { display: block; justify-self: end; padding: 10px 0; color: var(--ink); background: none; border: 0; font-size: 12px; font-weight: 800; cursor: pointer; }
    .mobile-nav { position: absolute; left: 0; right: 0; top: 82px; display: grid; gap: 0; padding: 10px 22px 18px; background: var(--paper); border-bottom: 1px solid var(--ink); box-shadow: 0 20px 30px rgba(16,35,29,.12); }
    .mobile-nav[hidden] { display: none; }
    .mobile-nav a { padding: 14px 0; border-bottom: 1px solid var(--line); font-family: Georgia, serif; font-size: 22px; }
    .hero { grid-template-columns: 1fr; }
    .hero-stage { width: min(610px, 90%); margin: 85px auto 0; }
    .product-grid { grid-template-columns: repeat(2, 1fr); row-gap: 42px; }
    .category-band { grid-template-columns: 1fr; }
}

@media (max-width: 720px) {
    .site-header { min-height: 69px; }
    .mobile-nav { top: 69px; }
    .hero { min-height: auto; padding-top: 52px; }
    h1 { font-size: clamp(48px, 15.5vw, 72px); }
    .hero-lead { font-size: 15px; }
    .smart-search { padding: 14px; box-shadow: 4px 4px 0 var(--ink); }
    .smart-search-row { grid-template-columns: 24px 1fr; }
    .smart-search button { grid-column: 1 / -1; width: 100%; }
    .smart-search > p { margin-left: 0; }
    .hero-proof { display: grid; grid-template-columns: repeat(3,1fr); }
    .hero-proof div { min-width: 0; padding: 0 10px; }
    .hero-proof strong { font-size: 14px; }
    .hero-proof span { font-size: 9px; }
    .hero-stage { min-height: 430px; width: 100%; margin-top: 65px; }
    .hero-card { left: 10%; width: 78%; }
    .float-match { right: -1%; }
    .float-price { left: -1%; }
    .category-band, .products-section { padding-top: 72px; padding-bottom: 78px; }
    .category-grid { grid-template-columns: 1fr; }
    .category-card { min-height: 165px; }
    .products-heading { display: block; }
    .product-tabs { margin-top: 25px; }
    .product-grid { grid-template-columns: 1fr; }
    .product-art { min-height: 430px; }
    .why-section { grid-template-columns: 1fr; }
    .why-visual { min-height: 520px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.2); }
    .why-copy { padding: 70px 24px; }
    .seller-cta { grid-template-columns: 1fr; gap: 38px; }
    .site-footer { grid-template-columns: 1fr; }
    .footer-links { grid-template-columns: repeat(2,1fr); }
    .footer-bottom { flex-direction: column; gap: 10px; }
}

@media (prefers-reduced-motion: reduce) {
    html { scroll-behavior: auto; }
    *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}

:focus-visible { outline: 3px solid var(--coral); outline-offset: 3px; }

/* Shared commerce interface */
button, input, textarea, select { font: inherit; }
textarea, input, select { color: var(--ink); }
textarea { resize: vertical; }
[hidden] { display: none !important; }
.cat-sustain { background: #c6dfd5; }
.cat-focus { background: #e6d9ef; }
.text-link { display: inline-flex; align-items: center; gap: 8px; width: fit-content; padding-bottom: 5px; border-bottom: 1px solid currentColor; font-size: 12px; font-weight: 800; }
.button-dark, .panel-button { display: inline-flex; align-items: center; justify-content: center; gap: 18px; min-height: 48px; padding: 0 20px; color: white; background: var(--ink); border: 1px solid var(--ink); border-radius: 12px; font-size: 12px; font-weight: 800; cursor: pointer; transition: transform .2s ease, background .2s ease; }
.button-dark:hover, .panel-button:hover { background: #0d765e; transform: translateY(-2px); }
.button-dark.full, .panel-button.full { width: 100%; }
.button-dark:disabled, .panel-button:disabled { opacity: .45; cursor: not-allowed; transform: none; }
.flash { position: fixed; z-index: 120; left: 50%; top: 48px; display: flex; align-items: center; gap: 25px; max-width: min(620px, calc(100vw - 32px)); padding: 14px 15px 14px 20px; color: white; background: var(--ink); border: 1px solid rgba(255,255,255,.16); border-radius: 14px; box-shadow: 0 20px 60px rgba(0,0,0,.22); transform: translateX(-50%); }
.flash-success { color: var(--ink); background: var(--lime); border-color: var(--ink); }
.flash-error { background: #8d302a; }
.flash-warning { color: var(--ink); background: #f2d98b; border-color: var(--ink); }
.flash button { display: grid; place-items: center; width: 27px; height: 27px; padding: 0; color: inherit; background: transparent; border: 1px solid currentColor; border-radius: 50%; cursor: pointer; }

/* Lightweight product art variants */
.art-keyboard { background: #efc9bc; }
.art-keyboard .art-object { width: 70%; aspect-ratio: 1.3; }
.art-keyboard .art-object i { inset: 18% 2% 16%; background: var(--cream); border: 7px solid var(--ink); border-radius: 16px; box-shadow: 0 18px 30px rgba(16,35,29,.16); }
.art-keyboard .art-object i::after { content: "••••••••\A••••••••\A•••••••"; white-space: pre; position: absolute; inset: 13% 8%; color: var(--ink); font-size: clamp(12px, 2vw, 21px); letter-spacing: .15em; line-height: 1.1; overflow: hidden; }
.art-keyboard .art-object b { left: 34%; right: 5%; bottom: 27%; height: 8%; background: var(--coral); border-radius: 10px; }
.art-panel { background: #b9d6ed; }
.art-panel .art-object { width: 66%; aspect-ratio: 1.15; }
.art-panel .art-object i { inset: 7% 5% 10%; background: repeating-linear-gradient(90deg,#17352d 0 11%,#8eb7cc 11% 16%); border: 7px solid var(--ink); border-radius: 9px; transform: perspective(300px) rotateY(-17deg); box-shadow: 20px 20px 0 rgba(255,255,255,.4); }
.art-panel .art-object b { left: 45%; bottom: -3%; width: 12%; height: 28%; background: var(--coral); border: 5px solid var(--ink); }
.art-textile { background: #d8c7e7; }
.art-textile .art-object i { inset: 5% 6%; background: repeating-linear-gradient(135deg,#f8f0da 0 17px,#bd96ca 17px 34px); border: 7px solid var(--ink); border-radius: 26px 7px 26px 7px; box-shadow: 15px 18px 0 rgba(16,35,29,.15); transform: rotate(7deg); }
.art-textile .art-object b { left: 15%; right: 2%; bottom: 8%; height: 18%; background: #ff805e; border: 6px solid var(--ink); border-radius: 50%; transform: rotate(-6deg); }
.art-care { background: #f2d98b; }
.art-care .art-object i { left: 10%; bottom: 4%; width: 32%; height: 67%; background: #fff8e8; border: 6px solid var(--ink); border-radius: 13px 13px 24px 24px; box-shadow: inset 0 -45px 0 #b8e1d2; }
.art-care .art-object i::after { content: ""; position: absolute; left: 24%; top: -16%; width: 52%; height: 20%; background: var(--coral); border: 5px solid var(--ink); border-radius: 7px; }
.art-care .art-object b { right: 9%; bottom: 4%; width: 43%; height: 47%; background: #f9f1e3; border: 6px solid var(--ink); border-radius: 50% 50% 19px 19px; box-shadow: inset 0 -29px 0 #a7c8e8; }
.art-abstract { background: var(--product-accent, #d7ef72); }
.art-abstract .art-object i { inset: 7% 15% 21%; background: var(--coral); border: 7px solid var(--ink); border-radius: 48% 52% 43% 57%; transform: rotate(-17deg); box-shadow: 17px 19px 0 var(--cream); }
.art-abstract .art-object b { left: 8%; right: 5%; bottom: 2%; height: 33%; border: 7px solid var(--ink); border-radius: 50%; transform: rotate(11deg); }
.art-speaker { background: #a9cceb; }
.art-speaker .art-object { width: 48%; aspect-ratio: .72; }
.art-speaker .art-object i { inset: 2% 5%; background: #20362f; border: 7px solid var(--ink); border-radius: 34px; box-shadow: 14px 18px 0 rgba(255,255,255,.48); }
.art-speaker .art-object i::before, .art-speaker .art-object i::after { content: ""; position: absolute; left: 50%; border: 6px solid #0b1915; border-radius: 50%; background: radial-gradient(circle at 43% 38%,#dceaf4 0 8%,#ff805e 9% 28%,#132b24 29% 100%); transform: translateX(-50%); }
.art-speaker .art-object i::before { top: 9%; width: 39%; aspect-ratio: 1; }
.art-speaker .art-object i::after { bottom: 7%; width: 65%; aspect-ratio: 1; }
.art-speaker .art-object b { left: 38%; top: -5%; width: 24%; height: 8%; border: 5px solid var(--ink); border-bottom: 0; border-radius: 14px 14px 0 0; }
.art-watch { background: #f0c3d0; }
.art-watch .art-object { width: 43%; aspect-ratio: .58; }
.art-watch .art-object b { left: 32%; top: -6%; width: 36%; height: 112%; background: #ff805e; border: 6px solid var(--ink); border-radius: 26px; }
.art-watch .art-object i { z-index: 2; left: 4%; right: 4%; top: 27%; height: 43%; background: #122923; border: 7px solid var(--ink); border-radius: 27%; box-shadow: 9px 12px 0 rgba(255,255,255,.45); }
.art-watch .art-object i::after { content: "08:42"; position: absolute; inset: 0; display: grid; place-items: center; color: #d7ef72; font-family: Georgia,serif; font-size: clamp(13px,2vw,24px); letter-spacing: .03em; }
.art-vacuum { background: #cbd8f2; }
.art-vacuum .art-object { width: 50%; aspect-ratio: .62; transform: translate(-50%,-50%) rotate(9deg); }
.art-vacuum .art-object i { left: 42%; top: 2%; width: 18%; height: 74%; background: #f7f1e5; border: 6px solid var(--ink); border-radius: 18px; box-shadow: inset 0 22px 0 #ff805e; }
.art-vacuum .art-object i::after { content: ""; position: absolute; left: -70%; top: 6%; width: 125%; height: 24%; background: #ff805e; border: 6px solid var(--ink); border-radius: 28px 28px 18px 18px; }
.art-vacuum .art-object b { left: 10%; right: 3%; bottom: 2%; height: 19%; background: #20362f; border: 6px solid var(--ink); border-radius: 25px 25px 13px 13px; transform: skewX(-11deg); box-shadow: 9px 10px 0 rgba(255,255,255,.42); }
.art-appliance { background: #f4cf73; }
.art-appliance .art-object { width: 52%; aspect-ratio: .76; }
.art-appliance .art-object i { inset: 4% 3%; background: #f8f2e6; border: 7px solid var(--ink); border-radius: 42% 42% 25px 25px; box-shadow: inset 0 -41% 0 #20362f, 13px 17px 0 rgba(255,255,255,.46); }
.art-appliance .art-object i::before { content: ""; position: absolute; left: 37%; top: 13%; width: 26%; aspect-ratio: 1; background: #d7ef72; border: 5px solid var(--ink); border-radius: 50%; }
.art-appliance .art-object i::after { content: ""; position: absolute; left: 16%; right: 16%; bottom: 13%; height: 25%; border: 5px solid #f8f2e6; border-radius: 13px; }
.art-appliance .art-object b { left: 31%; right: 31%; bottom: -1%; height: 7%; background: var(--ink); border-radius: 8px; }
.art-mat { background: #c8b6e8; }
.art-mat .art-object { width: 70%; aspect-ratio: 1.15; }
.art-mat .art-object i { left: 7%; right: 20%; top: 21%; height: 48%; background: repeating-linear-gradient(90deg,#795d9e 0 3px,#b99cde 3px 13px); border: 7px solid var(--ink); border-radius: 12px 0 0 12px; transform: skewY(-7deg); box-shadow: 13px 16px 0 rgba(255,255,255,.4); }
.art-mat .art-object b { right: 4%; top: 15%; width: 31%; height: 61%; background: radial-gradient(ellipse at 47% 50%,#eadff7 0 13%,#795d9e 14% 24%,#b99cde 25% 47%,#795d9e 48% 55%,#b99cde 56%); border: 7px solid var(--ink); border-radius: 50%; }
.art-mouse { background: #bfd5f1; }
.art-mouse .art-object { width: 48%; aspect-ratio: .7; }
.art-mouse .art-object i { inset: 3% 6%; background: #f9f4e8; border: 7px solid var(--ink); border-radius: 50% 50% 43% 43%; box-shadow: inset 0 39% 0 #d9e7f5, 12px 16px 0 rgba(255,255,255,.43); }
.art-mouse .art-object i::before { content: ""; position: absolute; left: 50%; top: 0; width: 6px; height: 36%; background: var(--ink); transform: translateX(-50%); }
.art-mouse .art-object i::after { content: ""; position: absolute; left: 50%; top: 12%; width: 12%; height: 15%; background: #ff805e; border: 4px solid var(--ink); border-radius: 8px; transform: translateX(-50%); }
.art-mouse .art-object b { left: 44%; bottom: -11%; width: 12%; height: 18%; border-left: 5px solid var(--ink); border-radius: 50%; }
.art-stand { background: #9ec7dc; }
.art-stand .art-object { width: 70%; aspect-ratio: 1.08; }
.art-stand .art-object i { left: 3%; right: 3%; top: 3%; height: 59%; background: linear-gradient(145deg,#20362f 0 50%,#355f70 51% 100%); border: 7px solid var(--ink); border-radius: 10px; transform: perspective(280px) rotateX(-7deg); box-shadow: 12px 14px 0 rgba(255,255,255,.45); }
.art-stand .art-object i::after { content: "PN"; position: absolute; inset: 0; display: grid; place-items: center; color: #d7ef72; font-family: Georgia,serif; font-size: clamp(16px,2.5vw,30px); }
.art-stand .art-object b { left: 27%; right: 17%; bottom: 4%; height: 37%; border-left: 14px solid var(--ink); border-bottom: 14px solid var(--ink); border-radius: 0 0 0 10px; transform: skewX(-25deg); }

/* Home editorial content */
.home-guides { padding: 100px clamp(22px, 5vw, 82px); background: #f7f3e9; border-bottom: 1px solid var(--ink); }
.home-guide-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; }
.home-guide-grid article { position: relative; min-height: 350px; padding: 28px; background: var(--cream); border: 1px solid var(--ink); border-radius: 22px; transition: transform .25s ease, box-shadow .25s ease; }
.home-guide-grid article:hover { transform: translateY(-5px); box-shadow: 6px 6px 0 var(--ink); }
.home-guide-grid article > span { display: grid; place-items: center; width: 40px; height: 40px; margin-bottom: 45px; color: var(--ink); background: var(--lime); border: 1px solid var(--ink); border-radius: 50%; font-size: 10px; font-weight: 900; }
.home-guide-grid small { color: #657b74; font-size: 9px; font-weight: 800; letter-spacing: .07em; }
.home-guide-grid h3 { margin: 15px 0 12px; font-family: Georgia,serif; font-size: 30px; font-weight: 500; letter-spacing: -.045em; line-height: 1.03; }
.home-guide-grid p { color: #536a62; font-size: 12px; line-height: 1.65; }
.home-guide-grid article > a { position: absolute; left: 28px; bottom: 28px; font-size: 11px; font-weight: 800; }
.faq-section { display: grid; grid-template-columns: .78fr 1.22fr; gap: 8vw; padding: 100px clamp(22px, 5vw, 82px); background: var(--mint); border-bottom: 1px solid var(--ink); }
.faq-section h2 { font-size: clamp(48px,4.7vw,72px); }
.faq-section > div:first-child > p:last-child { max-width: 430px; margin-top: 25px; color: #3e5c52; line-height: 1.65; }
.faq-list { border-top: 1px solid var(--ink); }
.faq-list details { border-bottom: 1px solid var(--ink); }
.faq-list summary { display: flex; justify-content: space-between; gap: 25px; padding: 25px 0; font-family: Georgia,serif; font-size: 22px; cursor: pointer; list-style: none; }
.faq-list summary::-webkit-details-marker { display: none; }
.faq-list summary span { display: grid; place-items: center; flex: 0 0 31px; height: 31px; border: 1px solid var(--ink); border-radius: 50%; font-family: sans-serif; font-size: 18px; transition: transform .2s ease; }
.faq-list details[open] summary span { transform: rotate(45deg); }
.faq-list details p { max-width: 740px; margin: -7px 50px 25px 0; color: #3e5c52; line-height: 1.7; }

/* Public inner pages */
.page-hero { padding: 100px clamp(22px, 8vw, 130px) 90px; background: #dce8df; border-bottom: 1px solid var(--ink); }
.page-hero.compact { padding-block: 70px; }
.page-hero h1 { max-width: 1000px; }
.page-hero > p:last-child { max-width: 680px; margin: 30px 0 0; color: #405e54; font-size: 17px; line-height: 1.65; }
.breadcrumbs { display: flex; flex-wrap: wrap; gap: 8px; padding: 22px clamp(22px, 5vw, 82px); border-bottom: 1px solid var(--line); color: #647870; font-size: 10px; }
.breadcrumbs ol { display: flex; flex-wrap: wrap; gap: 8px; margin: 0; padding: 0; list-style: none; }
.breadcrumbs li:not(:last-child)::after { content: "/"; margin-left: 8px; }
.catalog-layout { display: grid; grid-template-columns: 280px 1fr; gap: 46px; padding: 55px clamp(22px, 5vw, 82px) 110px; }
.catalog-sidebar { align-self: start; position: sticky; top: 22px; padding: 24px; background: var(--cream); border: 1px solid var(--ink); border-radius: 18px; }
.catalog-sidebar form, .filter-group { display: grid; gap: 10px; }
.catalog-sidebar form { gap: 20px; }
.filter-group label, .filter-row label, .auth-card label, .checkout-form label { font-size: 10px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.catalog-sidebar input, .catalog-sidebar select, .auth-card input, .auth-card textarea, .checkout-form input, .checkout-form textarea { width: 100%; min-height: 47px; padding: 11px 13px; background: #fbfaf5; border: 1px solid var(--line); border-radius: 10px; outline: 0; }
.catalog-sidebar input:focus, .catalog-sidebar select:focus, .auth-card input:focus, .auth-card textarea:focus, .checkout-form input:focus, .checkout-form textarea:focus { border-color: #0f8065; box-shadow: 0 0 0 3px rgba(15,128,101,.12); }
.filter-row { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.filter-row > div { display: grid; gap: 9px; }
.clear-filters { justify-self: center; color: #557067; font-size: 11px; text-decoration: underline; }
.result-bar { display: flex; justify-content: space-between; align-items: center; min-height: 48px; margin-bottom: 24px; border-bottom: 1px solid var(--line); }
.result-bar h2 { font-family: inherit; font-size: 12px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.filter-toggle { display: none; padding: 8px 13px; background: var(--cream); border: 1px solid var(--ink); border-radius: 9px; }
.catalog-grid { grid-template-columns: repeat(3,1fr); }
.catalog-grid .product-art { min-height: 330px; }
.pagination { display: flex; justify-content: center; gap: 8px; margin-top: 55px; }
.pagination a { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--line); border-radius: 50%; font-size: 11px; font-weight: 800; }
.pagination a.active { color: white; background: var(--ink); border-color: var(--ink); }
.empty-state { display: grid; justify-items: center; max-width: 700px; margin: 60px auto; padding: 70px 30px; text-align: center; background: var(--cream); border: 1px dashed var(--ink); border-radius: 24px; }
.empty-state.small { padding: 35px 20px; }
.empty-state > span { display: grid; place-items: center; width: 70px; height: 70px; margin-bottom: 22px; background: var(--lime); border: 1px solid var(--ink); border-radius: 50%; font-size: 29px; }
.empty-state h2 { font-size: 36px; }
.empty-state p { max-width: 480px; color: #5d716a; line-height: 1.6; }

.product-detail { display: grid; grid-template-columns: minmax(0,1.05fr) minmax(390px,.95fr); min-height: 680px; border-bottom: 1px solid var(--ink); }
.product-detail-art { min-height: 680px; border: 0; border-right: 1px solid var(--ink); border-radius: 0; }
.product-detail-art .art-object { width: 43%; }
.detail-index { position: absolute; left: 30px; bottom: 25px; z-index: 5; padding: 8px 12px; background: rgba(255,253,247,.85); border: 1px solid var(--ink); border-radius: 999px; font-size: 9px; font-weight: 900; }
.product-detail-copy { display: flex; flex-direction: column; justify-content: center; padding: 65px clamp(28px,5vw,80px); background: var(--cream); }
.product-detail-copy h1 { font-size: clamp(50px,5vw,76px); }
.direct-answer { max-width: 650px; margin: 28px 0; color: #4c655c; font-size: 17px; line-height: 1.65; }
.price-line { display: flex; align-items: baseline; gap: 15px; }
.price-line strong { font-family: Georgia,serif; font-size: 34px; font-weight: 500; }
.price-line del { color: #73847e; }
.stock-state { display: flex; align-items: center; gap: 8px; margin: 17px 0 28px; font-size: 11px; font-weight: 800; }
.stock-state span { width: 8px; height: 8px; border-radius: 50%; background: #15936f; box-shadow: 0 0 0 4px rgba(21,147,111,.14); }
.stock-state.out-stock span { background: #b24d43; }
.add-cart-form { display: grid; grid-template-columns: auto 82px 1fr; align-items: center; gap: 10px; margin-bottom: 32px; }
.add-cart-form label { font-size: 10px; font-weight: 850; text-transform: uppercase; }
.add-cart-form input { min-height: 51px; padding: 0 10px; border: 1px solid var(--ink); border-radius: 10px; }
.add-cart-form button { min-height: 51px; color: white; background: var(--ink); border: 1px solid var(--ink); border-radius: 10px; font-weight: 800; cursor: pointer; }
.add-cart-form button:disabled { opacity: .5; }
.product-facts { display: grid; grid-template-columns: 1fr 1fr; margin: 0; border-top: 1px solid var(--line); }
.product-facts div { padding: 16px 0; border-bottom: 1px solid var(--line); }
.product-facts dt { color: #74867f; font-size: 9px; font-weight: 850; letter-spacing: .08em; text-transform: uppercase; }
.product-facts dd { margin: 5px 0 0; font-size: 12px; font-weight: 700; }
.product-story { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; padding: 95px clamp(22px,7vw,120px); background: #dce8df; border-bottom: 1px solid var(--ink); }
.product-story h2 { font-size: clamp(42px,4vw,60px); }
.product-story > div > p:not(.kicker):not(.data-note) { color: #405c53; font-size: 15px; line-height: 1.8; }
.answer-box { display: grid; grid-template-columns: 42px 1fr; gap: 18px; margin-top: 25px; padding: 24px; background: var(--cream); border: 1px solid var(--ink); border-radius: 18px; box-shadow: 5px 5px 0 var(--ink); }
.answer-box > span { display: grid; place-items: center; width: 42px; height: 42px; background: var(--lime); border-radius: 50%; }
.answer-box p { margin: 0; line-height: 1.7; }
.data-note { padding: 14px; color: #516961; background: rgba(255,255,255,.45); border-left: 3px solid var(--ink); font-size: 11px; line-height: 1.6; }
.related-section, .store-products { padding: 95px clamp(22px,5vw,82px) 110px; }

.stores-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; padding: 65px clamp(22px,5vw,82px) 110px; }
.store-card { display: grid; grid-template-columns: auto 1fr; gap: 20px; min-height: 310px; padding: 28px; background: var(--cream); border: 1px solid var(--ink); border-radius: 22px; }
.store-avatar { display: grid; place-items: center; width: 62px; height: 62px; color: white; background: var(--ink); border: 1px solid var(--ink); border-radius: 18px; font-family: Georgia,serif; font-size: 29px; box-shadow: 5px 5px 0 var(--lime); }
.store-avatar.small { width: 45px; height: 45px; border-radius: 13px; font-size: 20px; }
.store-avatar.large { width: 108px; height: 108px; border-radius: 30px; font-size: 48px; }
.store-card small, .store-hero .kicker { color: #587069; font-size: 9px; font-weight: 850; letter-spacing: .1em; }
.store-card h2 { margin: 13px 0; font-size: 34px; }
.store-card p { color: #50665f; font-size: 12px; line-height: 1.65; }
.store-card footer { grid-column: 1 / -1; display: flex; justify-content: space-between; align-items: end; padding-top: 20px; border-top: 1px solid var(--line); font-size: 10px; font-weight: 800; }
.store-hero { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 35px; padding: 75px clamp(22px,7vw,120px); background: #dce8df; border-bottom: 1px solid var(--ink); }
.store-hero h1 { font-size: clamp(52px,5vw,78px); }
.store-hero > div > p:last-child { max-width: 650px; color: #466258; line-height: 1.7; }
.store-hero dl { display: flex; gap: 30px; margin: 0; }
.store-hero dl div { padding-left: 20px; border-left: 1px solid var(--ink); }
.store-hero dt { font-size: 9px; font-weight: 850; text-transform: uppercase; }
.store-hero dd { margin: 7px 0 0; font-family: Georgia,serif; font-size: 25px; }

.guide-grid { padding: 70px clamp(22px,7vw,120px) 110px; }
.author-hero { display: grid; grid-template-columns: auto minmax(0,1fr) auto; align-items: center; gap: 34px; padding: 75px clamp(22px,7vw,120px); background: #dce8df; border-bottom: 1px solid var(--ink); }
.author-avatar { display: grid; place-items: center; width: 112px; height: 112px; color: var(--paper); background: var(--ink); border-radius: 34px; box-shadow: 7px 7px 0 var(--lime); font-family: Georgia,serif; font-size: 52px; }
.author-hero h1 { font-size: clamp(50px,5vw,78px); }
.author-hero > div > p:last-child { max-width: 720px; color: #466158; line-height: 1.7; }
.author-hero dl { display: flex; gap: 28px; margin: 0; }
.author-hero dl div { padding-left: 18px; border-left: 1px solid var(--ink); }
.author-hero dt { font-size: 9px; font-weight: 850; text-transform: uppercase; }
.author-hero dd { margin: 7px 0 0; font-family: Georgia,serif; font-size: 23px; }
.guide-card { display: grid; grid-template-columns: 90px 1fr; gap: 25px; padding: 45px 0; border-bottom: 1px solid var(--ink); }
.guide-card > span { display: grid; place-items: center; width: 62px; height: 62px; background: var(--lime); border: 1px solid var(--ink); border-radius: 50%; font-weight: 900; }
.guide-card small { color: #61766f; font-size: 9px; font-weight: 850; letter-spacing: .09em; }
.guide-card h2 { max-width: 900px; margin: 14px 0; font-size: clamp(34px,4vw,60px); }
.guide-card p { max-width: 780px; color: #50665f; line-height: 1.65; }
.guide-card footer { display: flex; gap: 50px; margin-top: 22px; font-size: 11px; font-weight: 800; }
.article-page > header { padding: 85px clamp(22px,12vw,190px); background: #dce8df; border-bottom: 1px solid var(--ink); }
.article-page > header h1 { max-width: 1100px; }
.article-answer { max-width: 820px; margin: 30px 0; color: #38564c; font-family: Georgia,serif; font-size: 23px; line-height: 1.5; }
.article-meta { display: flex; flex-wrap: wrap; gap: 25px; font-size: 10px; font-weight: 800; }
.article-layout { display: grid; grid-template-columns: 240px minmax(0,800px); justify-content: center; gap: 70px; padding: 75px 25px 110px; }
.article-layout aside { align-self: start; position: sticky; top: 25px; padding: 22px; background: var(--cream); border: 1px solid var(--line); border-radius: 16px; }
.article-layout aside p { color: #5a7068; font-size: 11px; line-height: 1.6; }
.article-layout aside a { font-size: 11px; font-weight: 800; }
.article-body { font-size: 17px; line-height: 1.85; }
.article-body h2, .static-body h2 { margin: 55px 0 18px; font-size: 42px; }
.article-body li { margin: 9px 0; }
.sources-box { margin-top: 60px; padding: 26px; background: #e6e2d6; border-radius: 18px; }
.sources-box h2 { margin-top: 0; font-size: 28px; }
.sources-box p { font-size: 13px; }
.static-page { max-width: 1100px; margin: 0 auto; padding: 90px 25px 110px; }
.static-page > header { padding-bottom: 45px; border-bottom: 1px solid var(--ink); }
.static-page > header p:last-child { max-width: 800px; color: #4d655d; font-size: 20px; line-height: 1.65; }
.static-body { max-width: 800px; font-size: 16px; line-height: 1.85; }
.todo-note { margin-top: 60px; padding: 25px; background: #f2d98b; border: 1px solid var(--ink); border-radius: 16px; }
.todo-note p { margin-bottom: 0; line-height: 1.6; }

/* Auth, account and checkout */
.auth-page { display: grid; grid-template-columns: 1fr 1fr; min-height: 720px; }
.auth-intro { display: flex; flex-direction: column; justify-content: center; padding: 80px clamp(28px,7vw,110px); color: white; background: var(--ink); }
.auth-intro h1 { font-size: clamp(52px,5vw,78px); }
.auth-intro h1 em { color: var(--lime); }
.auth-intro > p:last-of-type { max-width: 620px; color: #b7c7c1; font-size: 16px; line-height: 1.7; }
.auth-card { align-self: center; width: min(530px, calc(100% - 48px)); margin: 55px auto; padding: 38px; background: var(--cream); border: 1px solid var(--ink); border-radius: 24px; box-shadow: 8px 8px 0 var(--ink); }
.auth-card.wide-card { width: min(660px, calc(100% - 48px)); }
.auth-card h2 { font-size: 42px; }
.auth-card > p { color: #5c716a; line-height: 1.6; }
.auth-card form { display: grid; gap: 10px; margin-top: 28px; }
.auth-card label { margin-top: 9px; }
.auth-card small { color: #657972; font-size: 10px; }
.auth-card .button-dark { margin-top: 14px; }
.auth-links { display: flex; justify-content: space-between; gap: 15px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 11px; font-weight: 800; }
.demo-accounts { margin-top: 20px; padding: 15px; background: #f0ede4; border-radius: 12px; font-size: 10px; }
.demo-accounts summary { font-weight: 850; cursor: pointer; }
.demo-accounts p { margin: 8px 0; }
.form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; }
.form-grid > .wide { grid-column: 1 / -1; }
.form-grid > div { display: grid; gap: 8px; }
.application-benefits { display: grid; gap: 13px; margin: 35px 0 0; padding: 0; list-style: none; }
.application-benefits li { display: flex; align-items: center; gap: 13px; color: #d6e1dd; font-size: 13px; }
.application-benefits span { display: grid; place-items: center; width: 34px; height: 34px; color: var(--ink); background: var(--lime); border-radius: 50%; font-size: 9px; font-weight: 900; }
.account-page, .cart-page { padding: 80px clamp(22px,6vw,100px) 110px; }
.account-page > header, .cart-page > header { margin-bottom: 45px; }
.account-page > header h1, .cart-page > header h1 { font-size: clamp(52px,5vw,76px); }
.account-grid { display: grid; grid-template-columns: .65fr 1.35fr; gap: 18px; }
.account-card { padding: 28px; background: var(--cream); border: 1px solid var(--ink); border-radius: 20px; }
.account-card h2 { font-size: 31px; }
.account-card dl { margin: 25px 0 0; }
.account-card dl div { padding: 13px 0; border-bottom: 1px solid var(--line); }
.account-card dt { color: #6b7c76; font-size: 9px; font-weight: 850; text-transform: uppercase; }
.account-card dd { margin: 5px 0 0; font-weight: 700; }
.data-table-wrap { overflow-x: auto; }
.data-table { width: 100%; border-collapse: collapse; font-size: 12px; }
.data-table th { padding: 13px 12px; color: #64766f; border-bottom: 1px solid var(--ink); text-align: left; font-size: 9px; letter-spacing: .08em; text-transform: uppercase; white-space: nowrap; }
.data-table td { padding: 15px 12px; border-bottom: 1px solid var(--line); vertical-align: middle; }
.status { display: inline-flex; align-items: center; width: fit-content; padding: 5px 8px; color: #365247; background: #dce8df; border: 1px solid rgba(16,35,29,.15); border-radius: 999px; font-size: 9px; font-weight: 850; white-space: nowrap; }
.status-approved, .status-active, .status-paid, .status-delivered, .status-restored, .status-available { background: #d7ef72; }
.status-pending, .status-new, .status-requested, .status-authorized { background: #f2d98b; }
.status-rejected, .status-suspended, .status-cancelled, .status-failed { color: white; background: #a54a40; }
.status-shipped, .status-confirmed { background: #b3d2ec; }
.status-preparing { background: #d8c7e7; }
.cart-layout { display: grid; grid-template-columns: 1fr 350px; gap: 45px; }
.cart-items { min-width: 0; }
.cart-item { display: grid; grid-template-columns: 110px 1fr 90px auto; align-items: center; gap: 20px; padding: 18px 0; border-top: 1px solid var(--ink); }
.mini-art { position: relative; min-height: 100px; overflow: hidden; border: 1px solid var(--ink); border-radius: 14px; }
.mini-art .art-object { width: 62%; }
.cart-item small, .checkout-item small { display: block; color: #687c75; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cart-item h2 { margin: 5px 0; font-size: 25px; }
.cart-item label { display: grid; gap: 5px; font-size: 9px; font-weight: 800; text-transform: uppercase; }
.cart-item input { width: 75px; min-height: 42px; padding: 8px; border: 1px solid var(--ink); border-radius: 9px; }
.text-button { padding: 9px 0; background: none; border: 0; border-bottom: 1px solid var(--ink); font-size: 11px; font-weight: 850; cursor: pointer; }
.order-summary { align-self: start; position: sticky; top: 25px; padding: 28px; background: var(--cream); border: 1px solid var(--ink); border-radius: 20px; box-shadow: 6px 6px 0 var(--ink); }
.order-summary h2 { font-size: 31px; }
.order-summary dl { margin: 25px 0; }
.order-summary dl > div { display: flex; justify-content: space-between; padding: 12px 0; border-bottom: 1px solid var(--line); }
.order-summary .total { margin-top: 8px; border-bottom-color: var(--ink); font-weight: 900; }
.order-summary > p { color: #687a74; font-size: 10px; line-height: 1.6; }
.checkout-page { display: grid; grid-template-columns: 1fr 390px; gap: 60px; padding: 75px clamp(22px,7vw,120px) 110px; }
.checkout-page h1 { font-size: clamp(52px,5vw,76px); }
.checkout-page > div > p { max-width: 700px; color: #536b62; line-height: 1.7; }
.checkout-form { margin-top: 35px; }
.payment-methods { display: grid; gap: 10px; margin: 10px 0; padding: 20px; border: 1px solid var(--line); border-radius: 15px; }
.payment-methods legend { padding: 0 8px; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.payment-methods label { display: flex; gap: 12px; padding: 14px; background: #f6f3ea; border: 1px solid transparent; border-radius: 12px; cursor: pointer; }
.payment-methods label:has(input:checked) { border-color: var(--ink); background: #e6eed4; }
.payment-methods input { width: auto; min-height: auto; }
.payment-methods small { display: block; margin-top: 4px; color: #63766f; font-size: 10px; text-transform: none; }
.bank-transfer-note { display: grid; gap: 7px; padding: 17px 19px; border: 1px solid #c9d6cd; border-radius: 14px; background: #eff5e9; }
.bank-transfer-note strong { font-size: 11px; letter-spacing: .09em; text-transform: uppercase; }
.bank-transfer-note span, .bank-transfer-note small { color: #4e655c; font-size: 13px; line-height: 1.55; text-transform: none; }
.bank-transfer-note code { width: fit-content; max-width: 100%; padding: 7px 10px; overflow-wrap: anywhere; border-radius: 8px; background: #fff; color: var(--ink); font-size: 14px; }
.checkout-consent { display: flex; gap: 12px; align-items: flex-start; padding: 15px 17px; border: 1px solid var(--line); border-radius: 13px; background: #fff; font-size: 12px !important; font-weight: 650 !important; letter-spacing: 0 !important; line-height: 1.55; text-transform: none !important; }
.checkout-consent input { flex: 0 0 auto; width: 18px; min-height: 18px; margin-top: 2px; accent-color: var(--ink); }
.checkout-consent a { color: #096b56; text-decoration: underline; text-underline-offset: 2px; }
.checkout-summary { margin-top: 45px; }
.checkout-item { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; padding: 13px 0; border-bottom: 1px solid var(--line); font-size: 11px; }
.checkout-item p { margin: 0; }
.completed-page { display: grid; justify-items: center; min-height: 620px; align-content: center; padding: 60px 25px; text-align: center; }
.success-mark { display: grid; place-items: center; width: 90px; height: 90px; margin-bottom: 25px; color: var(--ink); background: var(--lime); border: 1px solid var(--ink); border-radius: 50%; box-shadow: 6px 6px 0 var(--ink); font-size: 38px; }
.completed-page p { max-width: 620px; line-height: 1.7; }
.completed-actions { display: flex; gap: 22px; align-items: center; margin-top: 25px; }
.completed-bank { width: min(100%, 620px); margin-top: 18px; text-align: left; }
.completed-note { padding: 12px 16px; border-radius: 12px; background: #eff5e9; color: #40594f; }

/* AI catalogue drawer */
.ai-fab { position: fixed; z-index: 80; right: 24px; bottom: 24px; display: inline-flex; align-items: center; gap: 9px; min-height: 50px; padding: 0 18px; color: var(--ink); background: var(--lime); border: 1px solid var(--ink); border-radius: 999px; box-shadow: 5px 5px 0 var(--ink); font-size: 11px; font-weight: 850; cursor: pointer; transition: transform .2s ease; }
.ai-fab:hover { transform: translateY(-3px); }
.ai-fab span { font-size: 16px; }
.ai-drawer { position: fixed; z-index: 102; top: 0; right: 0; width: min(520px, 100vw); height: 100dvh; padding: 26px; overflow-y: auto; color: #eef5f1; background: #0b1915; border-left: 1px solid rgba(255,255,255,.16); box-shadow: -20px 0 70px rgba(0,0,0,.25); transform: translateX(105%); transition: transform .24s ease; }
.ai-drawer.open { transform: translateX(0); }
.ai-drawer-head { display: flex; justify-content: space-between; align-items: center; }
.ai-drawer-head > div { display: flex; align-items: center; gap: 13px; }
.ai-spark { display: grid; place-items: center; width: 48px; height: 48px; color: var(--ink); background: var(--lime); border-radius: 50%; font-size: 20px; }
.ai-drawer-head small { color: #91aaa1; font-size: 9px; font-weight: 850; letter-spacing: .14em; }
.ai-drawer h2 { margin-top: 3px; font-size: 34px; }
.ai-drawer-head > button { display: grid; place-items: center; width: 39px; height: 39px; color: white; background: transparent; border: 1px solid rgba(255,255,255,.3); border-radius: 50%; font-size: 21px; cursor: pointer; }
.ai-drawer > p { color: #a9bbb5; font-size: 12px; line-height: 1.65; }
.ai-form { display: grid; gap: 10px; margin-top: 23px; }
.ai-form label { color: #9eb1aa; font-size: 9px; font-weight: 850; letter-spacing: .1em; text-transform: uppercase; }
.ai-form textarea { width: 100%; padding: 15px; color: white; background: #132a23; border: 1px solid rgba(255,255,255,.25); border-radius: 14px; outline: none; }
.ai-form textarea:focus { border-color: var(--lime); box-shadow: 0 0 0 3px rgba(215,239,114,.12); }
.ai-form button { min-height: 50px; color: var(--ink); background: var(--lime); border: 0; border-radius: 12px; font-weight: 850; cursor: pointer; }
.ai-form button:disabled { opacity: .6; }
.ai-loading { display: flex; align-items: center; gap: 12px; padding: 25px 3px; color: #c4d1cc; font-size: 11px; }
.ai-loading i { width: 19px; height: 19px; border: 2px solid rgba(255,255,255,.2); border-top-color: var(--lime); border-radius: 50%; animation: spin .8s linear infinite; }
.ai-results { display: grid; gap: 13px; margin-top: 18px; }
.ai-message { margin: 0; color: #bac9c4; font-size: 11px; line-height: 1.6; }
.ai-message.summary { color: white; font-family: Georgia,serif; font-size: 19px; }
.ai-message.notice { padding: 10px 12px; color: #9fb0aa; background: rgba(255,255,255,.06); border-radius: 10px; font-size: 9px; }
.ai-message.error { padding: 12px; color: #2b1b16; background: #ffae92; border-radius: 10px; }
.ai-product-list { display: grid; gap: 9px; }
.ai-product-result { display: grid; grid-template-columns: 58px 1fr auto; gap: 12px; align-items: center; padding: 10px; background: #132a23; border: 1px solid rgba(255,255,255,.15); border-radius: 13px; transition: border-color .2s ease, transform .2s ease; }
.ai-product-result:hover { border-color: var(--lime); transform: translateX(-3px); }
.ai-result-art { width: 58px; height: 63px; border-radius: 9px; background: var(--lime); }
.ai-result-art.art-audio { background: var(--blue); }
.ai-result-art.art-light { background: var(--lime); }
.ai-result-art.art-bottle { background: #f3c9bc; }
.ai-result-art.art-bag { background: var(--mint); }
.ai-result-art.art-keyboard { background: #efc9bc; }
.ai-result-art.art-panel { background: #b9d6ed; }
.ai-product-result > span:nth-child(2) { display: grid; gap: 3px; min-width: 0; }
.ai-product-result small { color: #8fa39c; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.ai-product-result strong { color: white; font-family: Georgia,serif; font-size: 17px; font-weight: 500; }
.ai-product-result span span { color: #aebeb8; font-size: 9px; line-height: 1.45; }
.ai-product-result > b { color: var(--lime); font-size: 10px; white-space: nowrap; }
.ai-fallback-link { width: fit-content; color: var(--lime); font-size: 11px; font-weight: 850; }
.ai-drawer footer { margin-top: 25px; padding-top: 16px; color: #71877f; border-top: 1px solid rgba(255,255,255,.12); font-size: 9px; line-height: 1.5; }
.drawer-backdrop { position: fixed; z-index: 101; inset: 0; background: rgba(5,13,10,.58); opacity: 0; backdrop-filter: blur(4px); transition: opacity .22s ease; }
.drawer-backdrop.open { opacity: 1; }
body.drawer-open { overflow: hidden; }

@media (max-width: 1080px) {
    .home-guide-grid, .stores-grid { grid-template-columns: repeat(2,1fr); }
    .catalog-layout { grid-template-columns: 240px 1fr; gap: 25px; }
    .catalog-grid { grid-template-columns: repeat(2,1fr); }
    .product-detail { grid-template-columns: 1fr; }
    .product-detail-art { min-height: 570px; border-right: 0; border-bottom: 1px solid var(--ink); }
    .account-grid { grid-template-columns: 1fr; }
    .cart-layout, .checkout-page { grid-template-columns: 1fr; }
    .order-summary { position: static; }
    .checkout-summary { margin-top: 0; }
}

@media (max-width: 760px) {
    .home-guide-grid, .stores-grid { grid-template-columns: 1fr; }
    .faq-section, .product-story { grid-template-columns: 1fr; gap: 45px; }
    .catalog-layout { display: block; padding-top: 25px; }
    .catalog-sidebar { display: none; position: static; margin-bottom: 25px; }
    .catalog-sidebar.open { display: block; }
    .filter-toggle { display: inline-flex; }
    .catalog-grid { grid-template-columns: 1fr; }
    .catalog-grid .product-art { min-height: 430px; }
    .product-detail-art { min-height: 470px; }
    .product-detail-copy { padding: 55px 24px; }
    .product-facts { grid-template-columns: 1fr; }
    .add-cart-form { grid-template-columns: auto 70px 1fr; }
    .store-hero { grid-template-columns: 1fr; }
    .store-hero dl { flex-wrap: wrap; }
    .guide-card { grid-template-columns: 1fr; }
    .author-hero { grid-template-columns: 1fr; }
    .author-hero dl { flex-wrap: wrap; }
    .article-layout { grid-template-columns: 1fr; padding-inline: 22px; }
    .article-layout aside { position: static; }
    .auth-page { grid-template-columns: 1fr; }
    .auth-intro { min-height: 520px; padding-inline: 24px; }
    .auth-card { padding: 27px; }
    .form-grid { grid-template-columns: 1fr; }
    .form-grid > .wide { grid-column: auto; }
    .cart-item { grid-template-columns: 82px 1fr auto; }
    .cart-item label { grid-column: 2; }
    .cart-item > strong { grid-column: 3; grid-row: 1 / 3; }
    .checkout-page { padding-inline: 22px; }
    .ai-fab { right: 15px; bottom: 15px; }
    .ai-drawer { padding: 22px 18px; }
}

@media (max-width: 480px) {
    .footer-links { grid-template-columns: 1fr; }
    .product-detail-art { min-height: 390px; }
    .add-cart-form { grid-template-columns: auto 1fr; }
    .add-cart-form button { grid-column: 1 / -1; }
    .auth-links, .completed-actions { align-items: flex-start; flex-direction: column; }
    .ai-product-result { grid-template-columns: 52px 1fr; }
    .ai-product-result > b { grid-column: 2; }
    .ai-fab { justify-content: center; width: 50px; padding: 0; font-size: 0; }
    .ai-fab span { font-size: 16px; }
}
