:root{--bg:#f6f8fb;--surface:#fff;--surface2:#eef3f9;--text:#0b1320;--muted:#667085;--line:#e3e8ef;--primary:#123f73;--primary2:#0c2f59;--ok:#147d5a;--danger:#b94b4b;--shadow:0 18px 48px rgba(22,39,64,.08);--radius:22px;--nav:76px}
*{box-sizing:border-box}html{background:var(--bg);scroll-behavior:smooth}body{margin:0;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased}a{text-decoration:none;color:inherit}button,input,textarea{font:inherit}.app-shell{max-width:1280px;margin:auto;min-height:100vh}.topbar{height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 18px;position:sticky;top:0;z-index:30;background:rgba(246,248,251,.88);backdrop-filter:blur(18px);border-bottom:1px solid rgba(227,232,239,.85)}.brand{font-size:15px;font-weight:800;letter-spacing:.12em;display:flex;gap:9px;align-items:center}.brand-dot{width:9px;height:9px;border-radius:50%;background:var(--primary);box-shadow:0 0 0 5px #dfeaf6}.top-actions{display:flex;gap:8px}.icon-btn{position:relative;width:42px;height:42px;border-radius:14px;background:var(--surface);border:1px solid var(--line);display:grid;place-items:center;font-size:22px}.cart-badge,.nav-badge{position:absolute;display:none;place-items:center;background:var(--primary);color:#fff;border-radius:20px;font-style:normal;font-size:10px;font-weight:700}.cart-badge{right:-4px;top:-4px;min-width:18px;height:18px;padding:0 5px}.section-pad{padding:28px 18px}.section-tight{padding-top:8px}.hero{position:relative;overflow:hidden;padding-top:42px;padding-bottom:28px}.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--primary);font-weight:700;margin-bottom:12px}.hero h1,.page-title,.product-info h1,.success-page h1{font-size:38px;line-height:1.02;letter-spacing:-.045em;margin:0 0 16px}.hero p,.muted{font-size:16px;line-height:1.6;color:var(--muted);max-width:560px;margin:0 0 24px}.hero-actions{display:flex;gap:10px;flex-wrap:wrap}.btn{min-height:52px;border:0;border-radius:16px;padding:0 20px;display:inline-flex;align-items:center;justify-content:center;font-weight:700;cursor:pointer}.btn-primary{background:var(--primary);color:#fff;box-shadow:0 12px 26px rgba(18,63,115,.18)}.btn-primary:hover{background:var(--primary2)}.btn-primary:disabled{opacity:.45;cursor:not-allowed}.btn-soft{background:var(--surface);color:var(--text);border:1px solid var(--line)}.hero-visual{height:260px;margin-top:30px;border-radius:30px;background:linear-gradient(145deg,#eaf1f8,#fff);position:relative;overflow:hidden;border:1px solid #edf1f5}.orb{position:absolute;border-radius:50%;filter:blur(2px)}.orb-a{width:180px;height:180px;background:#dbe8f5;right:-20px;top:-30px}.orb-b{width:130px;height:130px;background:#eff4f9;left:10px;bottom:-45px}.vial{position:absolute;width:68px;height:146px;border-radius:16px 16px 22px 22px;background:linear-gradient(#fafbfd,#d8e2ec);border:1px solid #cfd9e4;box-shadow:0 20px 30px rgba(40,60,80,.14)}.vial:before{content:"";position:absolute;width:48px;height:18px;left:9px;top:-13px;border-radius:7px;background:#b7c4d2;border:1px solid #9eacba}.vial span{position:absolute;left:7px;right:7px;top:48px;height:42px;border-radius:8px;background:#fff;border:1px solid #e4e9ee}.vial-1{left:20%;top:72px;transform:rotate(-8deg)}.vial-2{left:47%;top:48px;transform:rotate(6deg);width:74px;height:160px}.vial-3{right:16%;top:86px;transform:rotate(12deg)}.section-head{display:flex;align-items:end;justify-content:space-between;margin-bottom:16px}.section-head h2{font-size:24px;letter-spacing:-.03em;margin:0}.section-head a{font-size:14px;color:var(--primary);font-weight:700}.chip-scroll{display:flex;gap:9px;overflow:auto;padding-bottom:3px;scrollbar-width:none}.chip-scroll::-webkit-scrollbar{display:none}.chip{white-space:nowrap;border:1px solid var(--line);background:var(--surface);border-radius:100px;padding:10px 14px;font-size:14px;font-weight:600}.chip.active{background:var(--primary);border-color:var(--primary);color:#fff}.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;min-width:0}.product-art{height:160px;background:linear-gradient(145deg,#eef3f8,#fdfefe);display:grid;place-items:center;position:relative}.product-art em{position:absolute;left:9px;top:9px;background:#fff;border:1px solid var(--line);font-style:normal;font-size:10px;font-weight:700;padding:5px 7px;border-radius:100px}.mini-vial{width:42px;height:88px;border-radius:10px 10px 13px 13px;background:linear-gradient(#fbfcfd,#dce6ef);border:1px solid #cfd9e4;position:relative;box-shadow:0 14px 22px rgba(32,54,80,.13)}.mini-vial:before{content:"";position:absolute;width:30px;height:11px;left:5px;top:-8px;background:#aebdca;border-radius:5px}.mini-vial span{position:absolute;left:4px;right:4px;top:30px;height:28px;background:#fff;border:1px solid #e3e8ee;border-radius:5px}.card-body{padding:12px}.stock{font-size:10px;font-weight:700;margin-bottom:7px}.stock.ok{color:var(--ok)}.stock.off{color:var(--danger)}.product-name{font-size:15px;font-weight:700;display:block;margin-bottom:4px}.product-subtitle{font-size:12px;color:var(--muted);min-height:30px}.card-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:12px;gap:8px}.card-bottom strong{font-size:14px}.add-mini{width:34px;height:34px;border-radius:11px;background:var(--surface2);display:grid;place-items:center;color:var(--primary);font-weight:800}.trust{display:grid;grid-template-columns:1fr;gap:10px;padding-bottom:110px}.trust div{padding:18px;border-radius:18px;background:var(--surface);border:1px solid var(--line)}.trust strong{display:block;font-size:20px;margin-bottom:5px}.trust span{font-size:13px;color:var(--muted)}.bottom-nav{position:fixed;left:0;right:0;bottom:0;height:calc(var(--nav) + env(safe-area-inset-bottom));padding:8px 10px env(safe-area-inset-bottom);background:rgba(255,255,255,.95);backdrop-filter:blur(18px);border-top:1px solid var(--line);z-index:50;display:grid;grid-template-columns:repeat(5,1fr)}.bottom-nav a,.bottom-nav button{border:0;background:none;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;color:#77808c;position:relative}.bottom-nav span{font-size:20px;line-height:1;position:relative}.bottom-nav small{font-size:10px;font-weight:600}.bottom-nav .active{color:var(--primary)}.nav-badge{right:-12px;top:-9px;min-width:17px;height:17px;padding:0 4px}.page-top{padding-top:24px;padding-bottom:110px}.page-title{font-size:32px}.search-entry{height:52px;background:var(--surface);border:1px solid var(--line);border-radius:16px;display:flex;align-items:center;gap:10px;padding:0 15px;color:#8a94a1;margin:20px 0 14px}.catalog-tools{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:14px 0}.tool-btn{height:44px;border:1px solid var(--line);background:var(--surface);border-radius:14px;display:flex;justify-content:space-between;align-items:center;padding:0 13px;font-weight:600;font-size:13px}.catalog-meta{display:flex;justify-content:space-between;align-items:center;margin:16px 0 12px;font-size:12px;color:var(--muted)}.ghost-link{border:0;background:none;color:var(--primary);font-weight:700}.search-page{padding-top:14px;min-height:100vh}.search-header{display:flex;align-items:center;gap:10px}.back,.floating-back{width:42px;height:42px;display:grid;place-items:center;border-radius:14px;background:var(--surface);border:1px solid var(--line);font-size:20px}.search-box{flex:1;height:50px;border:1px solid var(--line);background:var(--surface);border-radius:16px;padding:0 14px;display:flex;align-items:center;gap:9px}.search-box input{border:0;outline:0;background:transparent;width:100%;font-size:16px}.search-hint{text-align:center;color:var(--muted);padding:60px 20px}.search-results{display:grid;gap:9px;margin-top:18px}.search-item{display:flex;gap:12px;align-items:center;background:var(--surface);border:1px solid var(--line);border-radius:17px;padding:10px}.search-thumb{width:58px;height:58px;border-radius:13px;background:var(--surface2);display:grid;place-items:center}.search-thumb .mini-vial{transform:scale(.62)}.search-item .meta{flex:1;min-width:0}.search-item strong{display:block;font-size:14px}.search-item small{color:var(--muted)}.search-item .price{font-size:13px;font-weight:700}.product-page{padding-bottom:110px}.product-gallery{height:360px;background:linear-gradient(145deg,#edf3f8,#fff);position:relative;display:grid;place-items:center}.product-gallery .product-art.large{background:none;height:auto;width:auto}.product-gallery .mini-vial{transform:scale(2.2)}.floating-back{position:absolute;left:18px;top:18px;z-index:3}.pager-dots{position:absolute;bottom:18px;display:flex;gap:5px}.pager-dots i{width:6px;height:6px;border-radius:50%;background:#c8d1db}.pager-dots .active{width:18px;border-radius:8px;background:var(--primary)}.product-info{background:var(--surface);border-radius:28px 28px 0 0;margin-top:-20px;position:relative}.status-row{display:flex;align-items:center;gap:9px}.tag{font-size:10px;font-weight:700;background:var(--surface2);padding:5px 8px;border-radius:20px}.product-info h1{font-size:34px;margin-top:10px;margin-bottom:7px}.subtitle{color:var(--muted);margin:0}.product-price{font-size:26px;font-weight:800;letter-spacing:-.03em;margin:18px 0}.variant-block label{display:block;font-size:13px;color:var(--muted);margin-bottom:10px}.variant-chips{display:flex;gap:8px;flex-wrap:wrap}.variant-chip{height:44px;min-width:74px;padding:0 14px;border:1px solid var(--line);background:var(--surface);border-radius:13px;font-weight:700}.variant-chip.active{border-color:var(--primary);box-shadow:0 0 0 2px rgba(18,63,115,.08);color:var(--primary)}.variant-chip.disabled{text-decoration:line-through;opacity:.4}.qty-line{display:flex;align-items:center;justify-content:space-between;margin:22px 0}.qty-line>span{font-size:14px;color:var(--muted)}.stepper{height:42px;border:1px solid var(--line);border-radius:13px;display:flex;align-items:center;background:var(--surface)}.stepper button{width:40px;height:40px;border:0;background:transparent;font-size:21px}.stepper strong{min-width:28px;text-align:center;font-size:14px}.desktop-add{width:100%;margin-bottom:10px}.accordion-list{margin-top:24px;border-top:1px solid var(--line)}.accordion-list details{border-bottom:1px solid var(--line)}.accordion-list summary{list-style:none;padding:18px 0;font-weight:700;cursor:pointer}.accordion-list summary::-webkit-details-marker{display:none}.accordion-list summary:after{content:'+';float:right;color:var(--muted)}.accordion-list details[open] summary:after{content:'−'}.accordion-list p{color:var(--muted);line-height:1.65;margin:0 0 18px;font-size:14px}.specs{margin-bottom:16px}.specs div{display:flex;justify-content:space-between;gap:18px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:13px}.specs span{color:var(--muted)}.sticky-buy{position:fixed;left:10px;right:10px;bottom:10px;background:rgba(255,255,255,.97);backdrop-filter:blur(18px);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:9px;display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center;z-index:55}.sticky-buy>div{padding-left:8px}.sticky-buy small{display:block;font-size:10px;color:var(--muted);margin-bottom:3px}.sticky-buy strong{font-size:15px}.sticky-buy .btn{min-height:48px}.cart-list{display:grid;gap:10px}.cart-item{background:var(--surface);border:1px solid var(--line);border-radius:18px;padding:12px;display:grid;grid-template-columns:68px 1fr;gap:12px}.cart-thumb{border-radius:14px;background:var(--surface2);display:grid;place-items:center;min-height:92px}.cart-thumb .mini-vial{transform:scale(.7)}.cart-item h3{font-size:14px;margin:2px 0 3px}.cart-item p{font-size:12px;color:var(--muted);margin:0}.cart-row{display:flex;align-items:center;justify-content:space-between;margin-top:12px}.cart-row strong{font-size:14px}.mini-stepper{display:flex;align-items:center;border:1px solid var(--line);border-radius:11px;overflow:hidden}.mini-stepper button{width:34px;height:32px;border:0;background:var(--surface)}.mini-stepper span{min-width:26px;text-align:center;font-size:12px;font-weight:700}.remove-btn{border:0;background:none;color:var(--danger);font-size:11px;padding:6px 0;margin-top:7px}.cart-total-card{position:sticky;bottom:calc(var(--nav) + 10px);margin-top:16px;background:var(--text);color:#fff;border-radius:20px;padding:16px}.cart-total-line{display:flex;justify-content:space-between;align-items:end;margin-bottom:13px}.cart-total-line span{font-size:12px;color:#bec7d1}.cart-total-line strong{font-size:22px}.cart-total-card .btn{width:100%;background:#fff;color:var(--text)}.empty-state{text-align:center;padding:55px 10px}.empty-state .empty-icon{width:72px;height:72px;border-radius:24px;background:var(--surface2);display:grid;place-items:center;margin:0 auto 18px;font-size:26px}.empty-state h2{font-size:22px;margin:0 0 8px}.empty-state p{color:var(--muted);font-size:14px;line-height:1.5;margin:0 auto 20px;max-width:300px}.order-summary-toggle{width:100%;height:54px;border:1px solid var(--line);background:var(--surface);border-radius:16px;display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center;text-align:left;padding:0 15px;margin:18px 0}.order-summary-toggle strong{font-size:12px;color:var(--muted)}.checkout-summary{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:12px;margin-top:-10px;margin-bottom:14px}.checkout-summary-row{display:flex;justify-content:space-between;font-size:12px;padding:8px 0}.checkout-form{display:grid;gap:12px}.checkout-form label:not(.consent){font-size:12px;font-weight:600;color:#4d5967}.checkout-form label span{color:var(--danger)}.checkout-form input,.checkout-form textarea{width:100%;margin-top:7px;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:14px;outline:none;font-size:16px;color:var(--text)}.checkout-form input:focus,.checkout-form textarea:focus{border-color:#9ab3cf;box-shadow:0 0 0 3px rgba(18,63,115,.06)}.optional-toggle{height:44px;border:1px dashed #cfd7e1;background:transparent;border-radius:14px;color:var(--primary);font-weight:700}.optional-fields{display:grid;gap:12px}.consent{display:flex;align-items:flex-start;gap:10px;font-size:12px;line-height:1.45;color:var(--muted);margin-top:4px}.consent input{width:18px;height:18px;margin:0;flex:0 0 auto}.submit-order{width:100%;margin-top:4px}.form-note{text-align:center;font-size:11px;line-height:1.5;color:var(--muted);margin:0;padding:0 10px}.success-page{min-height:calc(100vh - 64px);display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding-bottom:90px}.success-icon{width:76px;height:76px;border-radius:28px;background:#e4f4ee;color:var(--ok);display:grid;place-items:center;font-size:34px;font-weight:800;margin-bottom:20px}.success-page h1{font-size:34px}.success-page p{margin:0 0 10px}.success-page .btn{margin-top:16px}.sheet-backdrop{position:fixed;inset:0;background:rgba(11,19,32,.35);z-index:70;backdrop-filter:blur(2px)}.bottom-sheet{position:fixed;left:0;right:0;bottom:0;background:var(--surface);border-radius:26px 26px 0 0;z-index:80;padding:10px 18px calc(22px + env(safe-area-inset-bottom));transform:translateY(110%);transition:transform .22s ease;box-shadow:0 -20px 60px rgba(0,0,0,.12);max-height:78vh;overflow:auto}.bottom-sheet.open{transform:translateY(0)}.sheet-handle{width:40px;height:4px;border-radius:4px;background:#d5dbe2;margin:0 auto 17px}.sheet-title{font-size:20px;font-weight:800;margin-bottom:12px}.sheet-list{display:grid;gap:8px}.sheet-action{width:100%;min-height:52px;border:1px solid var(--line);background:var(--surface);border-radius:15px;padding:0 14px;text-align:left;font-weight:700}.sheet-action.active{border-color:var(--primary);color:var(--primary)}.sheet-footer{position:sticky;bottom:0;background:var(--surface);padding-top:12px}.sheet-footer .btn{width:100%}.toast{position:fixed;left:50%;bottom:92px;transform:translate(-50%,20px);background:var(--text);color:#fff;padding:12px 16px;border-radius:14px;z-index:100;font-size:13px;opacity:0;pointer-events:none;transition:.2s;max-width:calc(100vw - 30px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}
@media(min-width:760px){.section-pad{padding-left:34px;padding-right:34px}.topbar{padding-left:34px;padding-right:34px}.hero{display:grid;grid-template-columns:1.05fr .95fr;gap:40px;align-items:center;padding-top:54px}.hero-visual{margin-top:0;height:360px}.hero h1{font-size:56px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.product-art{height:210px}.trust{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1024px){body{padding-bottom:0}.app-shell{padding-bottom:0}.topbar{height:76px}.bottom-nav{display:none}.page-top{padding-bottom:60px}.hero{padding-top:70px}.hero h1{font-size:68px;max-width:700px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.product-art{height:230px}.product-page{display:grid;grid-template-columns:minmax(420px,.9fr) 1.1fr;gap:0;max-width:1120px;margin:36px auto 80px;padding:0 24px}.product-gallery{height:650px;border-radius:28px;overflow:hidden}.product-info{margin:0;border-radius:0;background:transparent;padding:38px 44px}.sticky-buy{display:none}.desktop-add{display:flex;max-width:340px}.cart-page,.checkout-page{max-width:760px;margin:auto}.cart-total-card{bottom:20px}.bottom-sheet{left:50%;right:auto;width:460px;transform:translate(-50%,110%);border-radius:26px 26px 0 0}.bottom-sheet.open{transform:translate(-50%,0)}.toast{bottom:28px}}

.hp-field{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.checkout-message{padding:12px 14px;border-radius:14px;background:#fff0f0;color:#a12d2d;font-size:13px;line-height:1.45;border:1px solid #f3d2d2}.submit-order:disabled{opacity:.65;cursor:wait}
.product-photo{width:100%;height:100%;object-fit:contain;display:block}.product-art.large .product-photo{object-fit:contain;padding:18px}.search-thumb img,.cart-thumb img{width:100%;height:100%;object-fit:cover}
.product-photo{width:100%;height:100%;object-fit:contain;display:block}.product-art.large .product-photo{object-fit:contain;padding:18px}.search-thumb img,.cart-thumb img{width:100%;height:100%;object-fit:cover}

/* Stage 5: content, contacts, footer */
.content-page{max-width:900px;margin:0 auto;padding-bottom:34px}.content-page .page-title{margin-bottom:20px}.content-copy{font-size:16px;line-height:1.75;color:var(--text);white-space:normal;background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px;box-shadow:0 12px 40px rgba(26,42,70,.05)}
.public-faq{display:grid;gap:10px}.public-faq details{background:#fff;border:1px solid var(--line);border-radius:18px;padding:0 16px}.public-faq summary{cursor:pointer;list-style:none;font-weight:700;padding:17px 34px 17px 0;position:relative}.public-faq summary::-webkit-details-marker{display:none}.public-faq summary:after{content:'+';position:absolute;right:2px;top:15px;font-size:22px;color:var(--muted)}.public-faq details[open] summary:after{content:'−'}.public-faq p{margin:0;padding:0 0 17px;color:var(--muted);line-height:1.65}
.contact-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:16px}.contact-cards a{display:grid;gap:6px;text-decoration:none;color:var(--text);background:#fff;border:1px solid var(--line);border-radius:18px;padding:17px}.contact-cards small{color:var(--muted)}.contact-cards strong{word-break:break-word}
.site-footer{margin-top:26px;border-top:1px solid var(--line);background:#fff;display:grid;grid-template-columns:1.5fr 1fr 1.2fr;gap:28px;padding-top:28px;padding-bottom:110px}.footer-brand strong{font-size:17px}.footer-brand p{color:var(--muted);font-size:13px;line-height:1.6;max-width:480px}.footer-links,.footer-legal{display:grid;align-content:start;gap:10px}.site-footer a{color:var(--muted);font-size:13px;text-decoration:none}.site-footer a:hover{color:var(--text)}
.consent a{color:inherit;text-decoration:underline}.sheet-action span{margin-left:auto;color:var(--muted);font-size:12px;max-width:55%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:760px){.contact-cards{grid-template-columns:1fr}.site-footer{grid-template-columns:1fr;gap:18px}.content-copy{border-radius:18px;padding:17px}.site-footer{padding-bottom:105px}}

/* Stage 7 — public Mobile First UX/UI refinement */
:root{--safe-bottom:env(safe-area-inset-bottom,0px);--tap:48px;--ease:cubic-bezier(.2,.7,.2,1)}
body.sheet-open{overflow:hidden;touch-action:none}.ui-icon{line-height:1}.desktop-nav{display:none}.section-kicker{display:block;font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.11em;color:var(--muted);font-weight:800;margin-bottom:7px}.btn,.icon-btn,.add-mini,.chip,.tool-btn,.variant-chip,.sheet-action,.back,.floating-back{-webkit-tap-highlight-color:transparent;touch-action:manipulation}.btn:active,.icon-btn:active,.add-mini:active,.tool-btn:active,.variant-chip:active{transform:scale(.97)}

/* Home */
.hero{padding-top:32px}.hero-copy{position:relative;z-index:2}.hero-actions .btn-primary span{margin-left:10px;font-size:18px}.hero-search{display:flex;align-items:center;gap:12px;margin-top:20px;padding:13px 14px;border:1px solid var(--line);background:rgba(255,255,255,.88);border-radius:17px;box-shadow:0 10px 28px rgba(22,39,64,.04)}.hero-search>span:first-child{width:37px;height:37px;border-radius:12px;background:var(--surface2);display:grid;place-items:center;font-size:20px;color:var(--primary)}.hero-search>span:nth-child(2){display:grid;gap:2px;min-width:0;flex:1}.hero-search strong{font-size:13px}.hero-search small{font-size:11px;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.hero-search b{font-size:18px;color:var(--primary)}.hero-visual{height:245px;margin-top:22px;isolation:isolate}.hero-visual:after{content:"";position:absolute;inset:auto 24px 20px 24px;height:1px;background:linear-gradient(90deg,transparent,#c8d3df,transparent)}.hero-visual-label{position:absolute;left:16px;top:16px;padding:9px 11px;border:1px solid rgba(255,255,255,.8);background:rgba(255,255,255,.7);backdrop-filter:blur(12px);border-radius:12px;display:grid;gap:1px;z-index:3}.hero-visual-label small,.hero-float-card small{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:700}.hero-visual-label strong,.hero-float-card strong{font-size:12px}.hero-float-card{position:absolute;right:13px;bottom:15px;z-index:4;display:flex;align-items:center;gap:9px;padding:10px 12px;border:1px solid rgba(255,255,255,.86);background:rgba(255,255,255,.82);backdrop-filter:blur(14px);border-radius:14px;box-shadow:0 14px 34px rgba(37,59,82,.1)}.hero-float-card i{width:24px;height:24px;border-radius:9px;background:#e7f3ed;position:relative}.hero-float-card i:after{content:"✓";position:absolute;inset:0;display:grid;place-items:center;font-size:12px;font-style:normal;color:var(--ok);font-weight:900}.hero-float-card span{display:grid;gap:1px}.home-categories{overflow:hidden}.category-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(158px,44vw);gap:10px;overflow-x:auto;margin:0 -18px;padding:2px 18px 6px;scroll-snap-type:x proximity;scrollbar-width:none}.category-rail::-webkit-scrollbar{display:none}.category-card{scroll-snap-align:start;min-height:116px;border:1px solid var(--line);background:var(--surface);border-radius:20px;padding:14px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.category-card:after{content:"";position:absolute;width:78px;height:78px;border-radius:50%;right:-26px;bottom:-30px;background:linear-gradient(145deg,#edf3f8,#f9fbfd)}.category-card span{font-size:10px;color:var(--muted);font-weight:800;letter-spacing:.08em}.category-card strong{font-size:15px;line-height:1.15;max-width:110px;position:relative;z-index:1}.category-card i{font-size:18px;color:var(--primary);font-style:normal;position:absolute;right:14px;top:12px}.trust{gap:8px}.trust div{position:relative;padding:18px 18px 18px 48px}.trust i{position:absolute;left:16px;top:19px;font-style:normal;font-size:10px;color:var(--primary);font-weight:800;letter-spacing:.08em}

/* Cards */
.product-card{transition:transform .2s var(--ease),box-shadow .2s var(--ease);contain:content}.product-art{height:168px}.product-photo{width:100%;height:100%;object-fit:cover;display:block}.product-art .product-photo{transition:transform .32s var(--ease)}.sold-overlay{position:absolute;inset:auto 8px 8px 8px;text-align:center;padding:7px 8px;border-radius:10px;background:rgba(255,255,255,.9);backdrop-filter:blur(8px);font-size:10px;font-weight:800;color:var(--muted)}.product-name{line-height:1.25}.card-price{min-width:0;display:grid;gap:1px}.card-price small{font-size:10px;color:#9aa3af;text-decoration:line-through}.card-price strong{font-size:14px;white-space:nowrap}.add-mini{border:0;cursor:pointer;flex:0 0 36px;width:36px;height:36px;border-radius:12px;font-size:18px;transition:all .18s var(--ease)}.add-mini.quick-add{background:var(--primary);color:#fff;box-shadow:0 8px 18px rgba(18,63,115,.16)}.add-mini.added{background:var(--ok)}

/* Catalog */
.catalog-sticky{position:relative}.search-entry{position:relative}.search-entry b{margin-left:auto;color:var(--primary);font-size:17px}.catalog-tools .tool-btn{min-height:46px;position:relative}.tool-btn b{font-size:12px;color:var(--muted)}.filter-indicator{width:7px;height:7px;border-radius:50%;background:var(--primary);display:none;margin-left:auto;margin-right:5px}.filter-indicator.on{display:block}.catalog-meta{margin-top:15px}.catalog-meta span{font-weight:650;color:#566173}

/* Search */
.search-page{padding-bottom:110px}.search-box{min-width:0}.search-box input{min-width:0}.search-clear{width:32px;height:32px;border:0;background:transparent;color:#8993a1;font-size:21px;display:none;place-items:center;border-radius:10px}.search-clear.visible{display:grid}.search-hint{padding:42px 0;text-align:left}.search-hint>span{display:block;font-size:11px;letter-spacing:.08em;text-transform:uppercase;font-weight:800;color:var(--primary);margin-bottom:7px}.search-hint>strong{display:block;font-size:19px;letter-spacing:-.025em;margin-bottom:18px}.search-suggestions{display:flex;gap:8px;flex-wrap:wrap}.search-result-count{font-size:11px;color:var(--muted);font-weight:700;padding:4px 2px}.search-item{min-height:80px;padding:10px 11px}.search-item .meta{display:grid;gap:2px}.search-stock{font-size:9px;font-weight:800;margin-top:2px}.search-stock.ok{color:var(--ok)}.search-stock.off{color:var(--danger)}

/* Product gallery and details */
.product-gallery{height:min(410px,98vw);display:block;overflow:hidden}.gallery-track{height:100%;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}.gallery-track::-webkit-scrollbar{display:none}.gallery-slide{min-width:100%;height:100%;scroll-snap-align:center;display:grid;place-items:center;background:linear-gradient(145deg,#edf3f8,#fff)}.gallery-slide>.product-photo{width:100%;height:100%;object-fit:contain;padding:28px}.gallery-slide .product-art.large{height:100%;width:100%;display:grid;place-items:center;background:none}.gallery-counter{position:absolute;right:16px;top:18px;padding:7px 9px;border-radius:10px;background:rgba(255,255,255,.82);backdrop-filter:blur(10px);border:1px solid rgba(227,232,239,.9);font-size:10px;font-weight:800;color:#596579}.gallery-counter.single{display:none}.pager-dots{bottom:15px;z-index:3}.pager-dots button{border:0;padding:0;width:6px;height:6px;border-radius:20px;background:#c8d1db;transition:width .18s var(--ease);cursor:pointer}.pager-dots button.active{width:19px;background:var(--primary)}.product-info{padding-top:24px}.product-micro-meta{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}.product-micro-meta span{font-size:10px;font-weight:700;color:var(--muted);background:var(--surface2);padding:6px 8px;border-radius:9px}.variant-chip{min-height:46px}.variant-chip.active{background:#f3f7fb}.qty-line{min-height:48px}.sticky-buy{padding-bottom:calc(10px + var(--safe-bottom));box-shadow:0 -14px 35px rgba(22,39,64,.08)}.sticky-buy .btn{min-width:150px}.accordion-list details{scroll-margin-top:80px}.related-products{margin-top:32px}.related-products .section-head{margin-bottom:14px}.related-products .section-head h2{font-size:22px}.related-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(155px,43vw);gap:10px;overflow-x:auto;margin:0 -18px;padding:0 18px 7px;scroll-snap-type:x proximity;scrollbar-width:none}.related-rail::-webkit-scrollbar{display:none}.related-rail .product-card{scroll-snap-align:start}

/* Cart */
.cart-progress{display:flex;align-items:center;justify-content:space-between;margin:8px 0 14px;padding:11px 13px;border-radius:13px;background:var(--surface2);font-size:11px;color:var(--muted)}.cart-progress strong{color:var(--text)}.cart-item{align-items:flex-start}.cart-item-main{min-width:0;flex:1}.cart-item h3{line-height:1.2}.cart-total-card{position:sticky;bottom:calc(var(--nav) + var(--safe-bottom) + 8px);z-index:8}.cart-total-card p{font-size:11px;color:var(--muted);line-height:1.45;margin:8px 0 13px}.cart-total-card .btn{width:100%;display:flex;gap:9px}.continue-link{display:block;text-align:center;font-size:12px;color:var(--primary);font-weight:700;padding:13px 0 2px}

/* Checkout */
.checkout-step{display:inline-flex;margin-bottom:9px;padding:6px 9px;border-radius:999px;background:var(--surface2);font-size:10px;font-weight:800;color:var(--primary)}.checkout-lead{margin:-5px 0 20px;color:var(--muted);font-size:13px;line-height:1.5}.order-summary-toggle.open>span:last-child{transform:rotate(180deg)}.order-summary-toggle>span:last-child{transition:transform .18s var(--ease)}.checkout-summary-row.total{border-top:1px solid var(--line);padding-top:13px;margin-top:5px}.checkout-submit-wrap{position:sticky;bottom:10px;z-index:10;background:rgba(246,248,251,.92);backdrop-filter:blur(12px);padding-top:8px;border-radius:17px}.checkout-safe{display:flex;gap:7px;align-items:center;justify-content:center;margin-bottom:7px;color:var(--muted)}.checkout-safe span{color:var(--ok);font-weight:900}.checkout-safe small{font-size:10px}.checkout-submit-wrap .submit-order{width:100%}.btn-spinner{width:15px;height:15px;border:2px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;display:inline-block;animation:spin .65s linear infinite;margin-right:8px}@keyframes spin{to{transform:rotate(360deg)}}

/* Sheets */
.sheet-backdrop{background:rgba(10,20,33,.28);backdrop-filter:blur(2px)}.bottom-sheet{max-height:min(78vh,620px);overflow:auto;padding-bottom:calc(18px + var(--safe-bottom));transition:transform .24s var(--ease)}.sheet-handle{position:sticky;top:0;z-index:2}.sheet-title{display:grid;gap:3px;margin-bottom:15px}.sheet-title span{font-size:21px;font-weight:800;letter-spacing:-.025em}.sheet-title small{font-size:12px;color:var(--muted);font-weight:500}.sheet-success-mark{width:44px;height:44px;border-radius:15px;background:#e7f8ef;color:var(--ok);display:grid;place-items:center;font-weight:900;font-size:21px;margin-bottom:12px}.sheet-action{min-height:54px;text-align:left}.sheet-action b{margin-left:auto;color:var(--primary);font-size:17px}.sheet-toggle i{width:25px;height:25px;border-radius:9px;background:var(--surface2);display:grid;place-items:center;font-style:normal;color:var(--primary)}.sheet-toggle.active i{background:#e8f0f8}.contact-action span{display:grid;gap:2px}.contact-action strong{font-size:14px}.contact-action small{font-size:11px;color:var(--muted);font-weight:500}

/* Accessibility and motion */
:focus-visible{outline:3px solid rgba(18,63,115,.25);outline-offset:2px}.btn:focus-visible,.chip:focus-visible,.variant-chip:focus-visible{outline-offset:3px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}

/* Narrow phones */
@media(max-width:374px){.section-pad{padding-left:14px;padding-right:14px}.hero h1,.page-title,.product-info h1,.success-page h1{font-size:31px}.product-grid{gap:8px}.product-art{height:148px}.card-body{padding:10px}.product-name{font-size:14px}.category-rail,.related-rail{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.sticky-buy{gap:8px}.sticky-buy .btn{min-width:136px;padding-left:14px;padding-right:14px}}

/* Tablet / desktop */
@media(min-width:760px){.app-shell{padding:0 24px}.topbar{padding-left:0;padding-right:0}.section-pad{padding-left:0;padding-right:0}.hero{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);gap:54px;align-items:center;padding-top:64px}.hero-visual{height:410px;margin-top:0}.hero h1{font-size:58px;max-width:650px}.hero p{font-size:17px}.hero-search{max-width:520px}.category-rail{grid-auto-columns:minmax(200px,24%);margin:0;padding-left:0;padding-right:0}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.product-art{height:230px}.trust{grid-template-columns:repeat(3,1fr);padding-bottom:54px}.related-rail{grid-auto-columns:minmax(200px,25%);margin:0;padding-left:0;padding-right:0}.product-page{display:grid;grid-template-columns:minmax(340px,.9fr) minmax(420px,1.1fr);gap:36px;align-items:start;padding:38px 0 80px}.product-gallery{height:min(620px,47vw);position:sticky;top:86px;border-radius:28px;overflow:hidden}.product-info{margin:0;border-radius:28px;padding:34px}.sticky-buy{left:auto;right:28px;bottom:24px;width:min(520px,42vw);border-radius:20px;border:1px solid var(--line)}.cart-page,.checkout-page,.search-page,.content-page{max-width:820px;margin:0 auto}.cart-total-card{bottom:18px}.bottom-nav{display:none}.site-footer{padding-bottom:38px}.page-top{padding-bottom:60px}}
@media(min-width:980px){.desktop-nav{display:flex;align-items:center;gap:6px;margin-left:auto;margin-right:20px}.desktop-nav a{padding:9px 12px;border-radius:11px;color:#596579;font-size:13px;font-weight:650}.desktop-nav a:hover,.desktop-nav a.active{background:var(--surface);color:var(--primary)}.topbar{height:74px}.product-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.product-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.product-card:hover .product-art .product-photo{transform:scale(1.025)}.category-card:hover{border-color:#cbd8e6}.hero-visual{height:440px}.page-title{font-size:42px}.catalog-sticky{position:sticky;top:78px;z-index:14;background:rgba(246,248,251,.94);backdrop-filter:blur(14px);padding:10px 0 2px}.catalog-sticky .search-entry{max-width:650px}}

.catalog-category-description{max-width:720px;margin:-4px 0 18px;color:var(--muted);font-size:14px;line-height:1.55}.product-photo{content-visibility:auto}

/* ==========================================================
   STAGE 11 — DESIGN SYSTEM FOUNDATION
   Biotech Editorial / Mineral Sage / Onest / Phosphor
   ========================================================== */
:root{
  /* Semantic design tokens */
  --color-bg:#F6F7F3;
  --color-surface:#FFFFFF;
  --color-text:#151915;
  --color-text-secondary:#6A726B;
  --color-border:#D9DED6;
  --color-primary:#2C4A41;
  --color-primary-hover:#243E36;
  --color-primary-active:#1E342D;
  --color-secondary:#A8B7AE;
  --color-success:#2F8C62;
  --color-warning:#C58B2B;
  --color-error:#C05050;
  --color-disabled-bg:#ECEFEA;
  --color-disabled-text:#9AA29B;
  --color-overlay:rgba(21,25,21,.42);

  --font-family:"Onest",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --font-weight-regular:400;
  --font-weight-medium:500;
  --font-weight-semibold:600;
  --font-weight-bold:700;

  --font-display:38px;
  --line-display:42px;
  --font-h1:32px;
  --line-h1:36px;
  --font-h2:25px;
  --line-h2:30px;
  --font-h3:20px;
  --line-h3:25px;
  --font-body:16px;
  --line-body:24px;
  --font-small:14px;
  --line-small:20px;
  --font-caption:12px;
  --line-caption:16px;
  --font-button:15px;
  --line-button:20px;
  --font-price:21px;
  --line-price:25px;

  --space-1:4px;
  --space-2:8px;
  --space-3:12px;
  --space-4:16px;
  --space-5:20px;
  --space-6:24px;
  --space-7:32px;
  --space-8:40px;
  --space-9:48px;
  --space-10:64px;

  --radius-xs:6px;
  --radius-sm:10px;
  --radius-md:14px;
  --radius-lg:18px;
  --radius-xl:24px;
  --radius-pill:999px;

  --shadow-sm:0 2px 8px rgba(21,25,21,.05);
  --shadow-md:0 8px 24px rgba(21,25,21,.08);
  --shadow-lg:0 16px 40px rgba(21,25,21,.12);

  --height-button-mobile:54px;
  --height-button-desktop:50px;
  --height-input-mobile:54px;
  --height-input-desktop:52px;
  --height-search:52px;
  --height-control:44px;
  --height-touch-primary:48px;
  --bottom-nav-height:68px;
  --bottom-nav-icon:24px;
  --sticky-buy-height:72px;
  --page-padding-mobile:16px;
  --page-padding-mobile-lg:20px;
  --container-desktop:1280px;
  --grid-gap-mobile:16px;
  --grid-gap-desktop:24px;
  --duration-fast:140ms;
  --duration-normal:220ms;
  --duration-sheet:280ms;
  --ease-default:cubic-bezier(.2,0,0,1);

  /* Legacy aliases: old components inherit the approved palette now. */
  --bg:var(--color-bg);
  --surface:var(--color-surface);
  --surface2:#EEF1EC;
  --text:var(--color-text);
  --muted:var(--color-text-secondary);
  --line:var(--color-border);
  --primary:var(--color-primary);
  --primary2:var(--color-primary-hover);
  --ok:var(--color-success);
  --danger:var(--color-error);
  --shadow:var(--shadow-md);
  --radius:var(--radius-lg);
  --nav:var(--bottom-nav-height);
  --tap:48px;
  --ease:var(--ease-default);
}

html{background:var(--color-bg)}
body,button,input,textarea,select{font-family:var(--font-family)}
body{background:var(--color-bg);color:var(--color-text);font-size:var(--font-body);line-height:var(--line-body)}

/* Core typography */
.hero h1,.page-title,.product-info h1,.success-page h1{font-family:var(--font-family);font-weight:var(--font-weight-semibold);letter-spacing:-.035em}
.section-head h2{font-size:var(--font-h2);line-height:var(--line-h2);font-weight:var(--font-weight-semibold);letter-spacing:-.025em}
.product-name,.card-price strong,.product-price{font-weight:var(--font-weight-semibold)}
.eyebrow,.section-kicker{font-weight:var(--font-weight-semibold);letter-spacing:.08em}

/* Core surfaces and controls */
.topbar{background:rgba(246,247,243,.9);border-bottom-color:rgba(217,222,214,.82)}
.brand{font-weight:var(--font-weight-semibold);letter-spacing:.22em}
.brand-dot{display:none}
.icon-btn,.back,.floating-back{width:44px;height:44px;border-radius:var(--radius-md);border-color:var(--color-border);box-shadow:none}
.ui-icon,.icon-btn .ph,.back .ph,.floating-back .ph{font-size:22px}

.btn{min-height:var(--height-button-mobile);border-radius:var(--radius-md);font-size:var(--font-button);line-height:var(--line-button);font-weight:var(--font-weight-semibold);transition:background var(--duration-fast) var(--ease-default),border-color var(--duration-fast) var(--ease-default),color var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}
.btn-primary{background:var(--color-primary);box-shadow:none}
.btn-primary:hover{background:var(--color-primary-hover)}
.btn-primary:active{background:var(--color-primary-active);transform:translateY(1px)}
.btn-primary:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);opacity:1}
.btn-soft{background:transparent;border-color:var(--color-border)}

input,textarea,select{color:var(--color-text)}
input::placeholder,textarea::placeholder{color:#929A92}
.search-box,.search-entry{height:var(--height-search);border-radius:var(--radius-md);border-color:var(--color-border);box-shadow:none}
.search-box:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(44,74,65,.09)}
.search-box>span,.search-entry>span{display:grid;place-items:center;color:var(--color-primary);font-size:20px}
.search-clear{color:var(--color-text-secondary)}

.chip,.variant-chip,.tool-btn{font-weight:var(--font-weight-medium)}
.chip{border-radius:var(--radius-sm)}
.variant-chip{border-radius:var(--radius-md)}
.chip.active,.variant-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff;box-shadow:none}
.variant-chip.disabled,.chip:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text);opacity:1;border-color:transparent;text-decoration:none}
.tool-btn{border-radius:var(--radius-md);min-height:var(--height-control)}

/* Approved Commerce 4 navigation */
.bottom-nav{height:calc(var(--bottom-nav-height) + var(--safe-bottom));grid-template-columns:repeat(4,1fr);padding:7px 10px var(--safe-bottom);background:rgba(255,255,255,.96);border-top-color:var(--color-border);box-shadow:0 -6px 22px rgba(21,25,21,.04)}
.bottom-nav a,.bottom-nav button{min-width:0;min-height:48px;color:#747C75;gap:4px}
.bottom-nav span{font-size:var(--bottom-nav-icon);width:28px;height:28px;display:grid;place-items:center}
.bottom-nav span>.ph{font-size:24px}
.bottom-nav small{font-size:11px;line-height:14px;font-weight:var(--font-weight-medium)}
.bottom-nav .active{color:var(--color-primary)}
.nav-badge,.cart-badge{background:var(--color-primary);color:#fff}

/* Product cards inherit the Editorial Balance geometry without redesigning layout yet. */
.product-card{border-color:var(--color-border);border-radius:var(--radius-lg);box-shadow:none}
.product-art{background:#F0F2ED}
.card-body{padding:12px}
.add-mini{border-radius:var(--radius-md)}
.add-mini.quick-add{background:var(--color-primary);box-shadow:none}
.stock.ok{color:var(--color-success)}
.stock.off{color:var(--color-error)}

/* Sheets / overlays */
.sheet-backdrop{background:var(--color-overlay)}
.bottom-sheet{border-radius:var(--radius-xl) var(--radius-xl) 0 0;transition:transform var(--duration-sheet) var(--ease-default)}
.sheet-action{min-height:54px}

/* Focus */
:focus-visible{outline:3px solid rgba(44,74,65,.2);outline-offset:2px}

@media(max-width:374px){
  .section-pad{padding-left:14px;padding-right:14px}
}

@media(min-width:760px){
  .btn{min-height:var(--height-button-desktop)}
  .product-grid{gap:var(--grid-gap-desktop)}
}

@media(min-width:1024px){
  :root{
    --font-display:60px;
    --line-display:64px;
    --font-h1:46px;
    --line-h1:52px;
    --font-h2:34px;
    --line-h2:40px;
    --font-h3:23px;
    --line-h3:29px;
    --font-body:16px;
    --line-body:25px;
  }
  .btn{min-height:var(--height-button-desktop)}
}

/* ==========================================================
   STAGE 12 — MOBILE HOME / BRAND + COMMERCE
   Homepage only. Catalog / PDP / cart remain on their current layouts.
   ========================================================== */
body[data-page="home"] .topbar{border-bottom-color:transparent;background:rgba(246,247,243,.94)}
body[data-page="home"] .site-footer{margin-top:0}

.home-hero{padding-top:14px;padding-bottom:18px}
.home-hero-card{min-height:320px;display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px;position:relative;overflow:hidden;border-radius:var(--radius-xl);background:#E9EEE8;border:1px solid #DDE4DC;padding:24px 16px 20px 20px}
.home-hero-card:after{content:"";position:absolute;width:210px;height:210px;border-radius:50%;right:-92px;top:-74px;border:1px solid rgba(44,74,65,.12);pointer-events:none}
.home-hero-copy{position:relative;z-index:2;align-self:center}
.home-hero-kicker{max-width:210px;font-size:10px;line-height:14px;text-transform:uppercase;letter-spacing:.09em;color:var(--color-primary);font-weight:var(--font-weight-semibold);margin-bottom:12px}
.home-hero h1{font-size:30px;line-height:32px;letter-spacing:-.035em;margin:0 0 12px;font-weight:var(--font-weight-semibold);max-width:250px}
.home-hero p{font-size:13px;line-height:19px;color:#59635C;margin:0 0 18px;max-width:260px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden}
.home-hero-cta{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:0 14px;border-radius:var(--radius-md);background:var(--color-primary);color:#fff;font-size:13px;font-weight:var(--font-weight-semibold);white-space:nowrap}
.home-hero-cta .ph{font-size:16px}
.home-hero-product{position:relative;z-index:2;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;color:var(--color-primary)}
.home-product-stage{width:100%;height:190px;display:grid;place-items:center;position:relative}
.home-product-stage img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 20px 20px rgba(25,42,34,.12))}
.home-hero-product-name{font-size:10px;line-height:13px;font-weight:var(--font-weight-semibold);text-align:center;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-vial{width:58px;height:126px;border-radius:12px 12px 18px 18px;background:linear-gradient(180deg,#FAFBF8 0,#E5E9E2 100%);border:1px solid #BEC8BE;box-shadow:0 18px 22px rgba(31,50,39,.12);position:relative;display:flex;align-items:center;justify-content:center;padding:8px}
.home-vial:before{content:"";position:absolute;width:44px;height:17px;left:6px;top:-11px;border-radius:6px;background:linear-gradient(180deg,#8F9990,#BAC2B9);border:1px solid #818B82}
.home-vial span{width:100%;padding:8px 3px;background:#fff;border:1px solid #D9DED6;border-radius:4px;font-size:7px;line-height:9px;font-weight:600;text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.home-vial-large{width:76px;height:164px}.home-vial-large:before{width:58px;height:20px;left:8px}.home-vial-large span{font-size:8px}
.home-search{height:var(--height-search);margin-top:12px;border:1px solid var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);display:grid;grid-template-columns:24px 1fr 20px;gap:10px;align-items:center;padding:0 14px;box-shadow:var(--shadow-sm)}
.home-search>.ph:first-child{font-size:21px;color:var(--color-text)}
.home-search>span{font-size:14px;color:#838B84;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-search>.ph:last-child{font-size:16px;color:var(--color-primary)}

.home-section{padding-top:22px;padding-bottom:22px;overflow:hidden}
.home-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-bottom:14px}
.home-section-head>div{min-width:0}.home-section-head>div>span{display:block;font-size:10px;line-height:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-text-secondary);font-weight:600;margin-bottom:3px}
.home-section-head h2{font-size:23px;line-height:28px;letter-spacing:-.025em;margin:0;font-weight:var(--font-weight-semibold)}
.home-section-head>a{display:inline-flex;align-items:center;gap:5px;flex:0 0 auto;font-size:12px;line-height:18px;color:var(--color-primary);font-weight:var(--font-weight-medium)}
.home-section-head>a .ph{font-size:14px}

.home-category-rail{display:grid;grid-auto-flow:column;grid-auto-columns:88px;gap:9px;overflow-x:auto;margin:0 calc(var(--page-padding-mobile) * -1);padding:1px var(--page-padding-mobile) 5px;scroll-snap-type:x proximity;scrollbar-width:none}
.home-category-rail::-webkit-scrollbar,.home-product-rail::-webkit-scrollbar{display:none}
.home-category{height:104px;scroll-snap-align:start;border:1px solid var(--color-border);background:rgba(255,255,255,.58);border-radius:var(--radius-lg);padding:12px 8px 10px;display:flex;flex-direction:column;align-items:center;justify-content:space-between;text-align:center}
.home-category-icon{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;background:#EDF0EA;color:var(--color-primary)}
.home-category-icon .ph{font-size:22px}
.home-category strong{width:100%;font-size:11px;line-height:14px;font-weight:var(--font-weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.home-product-rail{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(148px,43vw);gap:12px;overflow-x:auto;margin:0 calc(var(--page-padding-mobile) * -1);padding:1px var(--page-padding-mobile) 8px;scroll-snap-type:x proximity;scrollbar-width:none}
.home-product-rail .product-card{scroll-snap-align:start;border:0;background:transparent;border-radius:0;overflow:visible}
.home-product-rail .product-art{height:166px;border-radius:var(--radius-lg);overflow:hidden;border:1px solid #E1E5DE;background:#EFF1ED}
.home-product-rail .product-art em{left:8px;top:8px;border:0;background:rgba(255,255,255,.9);color:var(--color-primary);font-size:9px;padding:4px 6px}
.home-product-rail .product-photo{object-fit:contain;padding:8px}
.home-product-rail .card-body{padding:9px 2px 0}
.home-product-rail .stock{display:inline-flex;align-items:center;gap:5px;font-size:9px;line-height:13px;margin-bottom:5px;font-weight:500}
.home-product-rail .stock.ok:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-success)}
.home-product-rail .stock.off:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-error)}
.home-product-rail .product-name{font-size:14px;line-height:18px;margin-bottom:2px}
.home-product-rail .product-subtitle{min-height:18px;font-size:11px;line-height:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.home-product-rail .card-bottom{margin-top:8px}.home-product-rail .card-bottom strong{font-size:15px;line-height:20px}.home-product-rail .card-price small{font-size:9px}
.home-product-rail .add-mini{width:40px;height:40px;border-radius:50%;font-size:18px;background:var(--color-primary);color:#fff}

.home-editorial{min-height:230px;border-radius:var(--radius-xl);overflow:hidden;background:var(--color-primary);color:#fff;display:grid;grid-template-columns:minmax(0,1.2fr) minmax(105px,.8fr);position:relative}
.home-editorial:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.04),transparent 58%)}
.home-editorial-copy{position:relative;z-index:2;padding:24px 8px 24px 22px;align-self:center}
.home-editorial-copy>span{font-size:10px;line-height:14px;text-transform:uppercase;letter-spacing:.09em;color:#C8D4CD;font-weight:600}
.home-editorial-copy h2{font-size:27px;line-height:30px;letter-spacing:-.035em;margin:8px 0 4px;font-weight:600}
.home-editorial-copy p{font-size:12px;line-height:18px;color:#D8E0DB;margin:0 0 20px;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.home-editorial-copy b{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:18px;font-weight:600}.home-editorial-copy b .ph{font-size:14px}
.home-editorial-media{position:relative;display:grid;place-items:center;padding:18px 12px 14px 0}
.home-editorial-media:after{content:"";position:absolute;width:150px;height:150px;border-radius:50%;border:1px solid rgba(255,255,255,.12);right:-55px;top:15px}
.home-editorial-media img{width:100%;height:190px;object-fit:contain;position:relative;z-index:2;filter:drop-shadow(0 20px 20px rgba(0,0,0,.18))}
.home-editorial-media .home-vial{position:relative;z-index:2;background:linear-gradient(#fff,#D7DFD8)}

.home-benefits{display:grid;grid-template-columns:1fr;gap:0;padding-top:8px;padding-bottom:20px}
.home-benefits>div{display:grid;grid-template-columns:42px 1fr;gap:12px;align-items:center;padding:15px 0;border-bottom:1px solid var(--color-border)}
.home-benefits>div:last-child{border-bottom:0}.home-benefits>div>.ph{width:42px;height:42px;border-radius:var(--radius-md);display:grid;place-items:center;background:#EDF0EA;color:var(--color-primary);font-size:21px}
.home-benefits span{display:grid;gap:2px}.home-benefits strong{font-size:13px;line-height:18px;font-weight:600}.home-benefits small{font-size:11px;line-height:16px;color:var(--color-text-secondary)}

.home-faq .public-faq{gap:0;border-top:1px solid var(--color-border)}
.home-faq .public-faq details{border:0;border-radius:0;background:transparent;border-bottom:1px solid var(--color-border);padding:0}
.home-faq .public-faq summary{font-size:14px;line-height:20px;font-weight:600;padding:17px 34px 17px 0}
.home-faq .public-faq p{font-size:12px;line-height:19px;padding:0 8px 17px 0}

.home-final{padding-top:30px;padding-bottom:110px}
.home-final>div:first-child>span{display:block;font-size:10px;line-height:14px;text-transform:uppercase;letter-spacing:.08em;color:var(--color-primary);font-weight:600;margin-bottom:7px}
.home-final h2{font-size:25px;line-height:30px;letter-spacing:-.025em;font-weight:600;margin:0;max-width:360px}
.home-final-actions{display:grid;grid-template-columns:1fr;gap:9px;margin-top:20px}.home-final-actions .btn{width:100%;gap:8px}

@media(max-width:374px){
  .home-hero-card{grid-template-columns:minmax(0,1fr) 92px;padding-left:16px;min-height:306px}
  .home-hero h1{font-size:27px;line-height:30px}.home-product-stage{height:170px}
  .home-category-rail,.home-product-rail{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
  .home-product-rail{grid-auto-columns:minmax(142px,44vw)}
}

@media(min-width:760px){
  .home-hero{padding-top:34px}.home-hero-card{min-height:390px;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);padding:42px 42px}.home-hero h1{font-size:44px;line-height:47px;max-width:540px}.home-hero p{font-size:15px;line-height:23px;max-width:480px}.home-product-stage{height:300px}.home-hero-product-name{font-size:12px}
  .home-search{max-width:680px;margin-top:16px}.home-section{padding-top:32px;padding-bottom:32px}.home-category-rail{grid-auto-flow:initial;grid-template-columns:repeat(6,minmax(0,1fr));margin:0;padding:0;overflow:visible}.home-category{width:auto;height:116px}
  .home-product-rail{grid-auto-flow:initial;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:0;overflow:visible;gap:18px}.home-product-rail .product-art{height:220px}.home-editorial{min-height:320px;grid-template-columns:1fr 1fr}.home-editorial-copy{padding:44px}.home-editorial-copy h2{font-size:38px;line-height:42px}.home-editorial-media img{height:280px}.home-benefits{grid-template-columns:repeat(3,1fr);gap:24px}.home-benefits>div{border-bottom:0}.home-final{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;padding-bottom:60px}.home-final-actions{grid-template-columns:auto auto;margin-top:0}.home-final-actions .btn{width:auto}
}

@media(min-width:980px){
  body[data-page="home"] .topbar{border-bottom-color:rgba(217,222,214,.82)}
  .home-hero-card{min-height:430px}.home-hero h1{font-size:52px;line-height:55px}.home-section-head h2{font-size:30px;line-height:36px}
}

/* ==========================================================
   STAGE 13 — MOBILE CATALOG / EDITORIAL GRID
   Catalog-only component set. Shared home cards remain untouched.
   ========================================================== */
body[data-page="catalog"] .topbar{background:rgba(246,247,243,.96)}
.catalog-page{padding-top:20px}
.catalog-heading{margin-bottom:14px}
.catalog-heading .eyebrow{margin-bottom:7px;font-size:10px;line-height:14px;letter-spacing:.09em;color:var(--color-text-secondary)}
.catalog-heading .page-title{font-size:31px;line-height:35px;margin:0 0 8px;font-weight:var(--font-weight-semibold);letter-spacing:-.035em}
.catalog-lead,.catalog-category-description{max-width:620px;margin:0;color:var(--color-text-secondary);font-size:13px;line-height:19px}

.catalog-page .catalog-sticky{position:relative;padding:0;background:transparent;backdrop-filter:none}
.catalog-page .search-entry{height:52px;margin:0 0 12px;padding:0 13px;gap:10px;border-radius:var(--radius-md);background:var(--color-surface);border:1px solid var(--color-border);box-shadow:var(--shadow-sm);color:#7D857E}
.catalog-page .search-entry>span:first-child{width:24px;font-size:20px;color:var(--color-text)}
.catalog-page .search-entry>span:nth-child(2){min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px}
.catalog-page .search-entry>b{display:grid;place-items:center;width:26px;height:26px;margin-left:auto;color:var(--color-primary);font-size:15px}

.catalog-category-chips{gap:7px;margin:0 calc(var(--page-padding-mobile) * -1);padding:0 var(--page-padding-mobile) 4px;scroll-padding-inline:var(--page-padding-mobile)}
.catalog-category-chips .chip{min-height:38px;padding:0 13px;border:1px solid transparent;background:#EBEFE9;color:#5E675F;font-size:12px;line-height:16px;font-weight:var(--font-weight-medium)}
.catalog-category-chips .chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}

.catalog-control-row{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:14px 0 16px}
.catalog-page .catalog-meta{display:flex;align-items:center;gap:8px;min-width:0;margin:0;font-size:12px;line-height:16px;color:var(--color-text-secondary)}
.catalog-page .catalog-meta span{font-weight:var(--font-weight-medium);white-space:nowrap;color:#626B63}
.catalog-page .ghost-link{padding:5px 0;font-size:11px;line-height:14px;color:var(--color-primary);font-weight:var(--font-weight-semibold)}
.catalog-page .catalog-tools{display:flex;align-items:center;justify-content:flex-end;gap:6px;margin:0;min-width:0}
.catalog-page .tool-btn{width:auto;height:40px;min-height:40px;gap:6px;justify-content:center;padding:0 10px;border-radius:var(--radius-sm);border:1px solid var(--color-border);background:rgba(255,255,255,.72);color:var(--color-text);font-size:11px;line-height:14px;font-weight:var(--font-weight-medium);white-space:nowrap}
.catalog-page .tool-btn>.ph{font-size:16px;color:var(--color-primary)}
.catalog-page .filter-indicator{width:6px;height:6px;margin:0 0 0 -2px;background:var(--color-primary)}

.catalog-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 12px;align-items:start}
.catalog-product-card{min-width:0;background:transparent;border:0;overflow:visible}
.catalog-product-visual{position:relative;width:100%;aspect-ratio:1/1.04;display:grid;place-items:center;overflow:hidden;border-radius:var(--radius-lg);background:#EEF1EC;border:1px solid #E0E5DE}
.catalog-product-visual .product-photo{width:100%;height:100%;object-fit:contain;padding:10px;transition:transform .28s var(--ease-default)}
.catalog-product-visual .mini-vial{transform:scale(1.15)}
.catalog-product-visual>em{position:absolute;left:8px;top:8px;z-index:2;max-width:calc(100% - 16px);padding:4px 6px;border:0;border-radius:var(--radius-xs);background:rgba(255,255,255,.9);backdrop-filter:blur(8px);color:var(--color-primary);font-size:9px;line-height:12px;font-style:normal;font-weight:var(--font-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-product-copy{padding:9px 1px 0;min-width:0}
.catalog-stock{display:flex;align-items:center;gap:5px;margin-bottom:4px;font-size:9px;line-height:13px;font-weight:var(--font-weight-medium)}
.catalog-stock:before{content:"";width:6px;height:6px;border-radius:50%;flex:0 0 6px;background:currentColor}
.catalog-stock.ok{color:var(--color-success)}.catalog-stock.off{color:var(--color-error)}
.catalog-product-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:18px;color:var(--color-text);font-size:14px;line-height:18px;font-weight:var(--font-weight-semibold);letter-spacing:-.01em}
.catalog-product-type{margin-top:2px;min-height:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-size:11px;line-height:16px}
.catalog-product-variants{margin-top:3px;min-height:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7B837C;font-size:10px;line-height:15px}
.catalog-product-bottom{display:flex;align-items:end;justify-content:space-between;gap:7px;margin-top:8px;min-height:44px}
.catalog-product-price{min-width:0;display:flex;flex-direction:column;gap:1px;padding-bottom:2px}
.catalog-product-price small{font-size:9px;line-height:12px;color:#929A92;text-decoration:line-through}
.catalog-product-price strong{display:block;max-width:100%;font-size:14px;line-height:18px;font-weight:var(--font-weight-semibold);letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.catalog-add{width:44px;height:44px;flex:0 0 44px;border:0;border-radius:50%;display:grid;place-items:center;background:var(--color-primary);color:#fff;cursor:pointer;transition:background var(--duration-fast) var(--ease-default),transform var(--duration-fast) var(--ease-default)}
.catalog-add>.ph{font-size:18px}.catalog-add:active{transform:scale(.96)}.catalog-add.added{background:var(--color-success)}
.catalog-add-link{background:#E8ECE6;color:var(--color-primary)}
.catalog-empty{grid-column:1/-1;padding:52px 10px 34px}.catalog-empty .empty-icon{font-size:24px}

.filter-section{display:grid;gap:10px;padding:8px 0 14px;border-bottom:1px solid var(--color-border)}
.filter-section+.filter-section{padding-top:17px}.filter-section-title{font-size:12px;line-height:16px;color:var(--color-text-secondary);font-weight:var(--font-weight-semibold)}
.filter-section .sheet-action{display:flex;align-items:center;justify-content:space-between;gap:10px;border-radius:var(--radius-md);background:#F8F9F6}
.filter-section .sheet-action>span{display:grid;gap:2px}.filter-section .sheet-action strong{font-size:13px;line-height:18px}.filter-section .sheet-action small{font-size:10px;line-height:14px;color:var(--color-text-secondary);font-weight:var(--font-weight-regular)}
.filter-section .sheet-toggle i{font-style:normal}
.filter-chip-grid{display:flex;gap:7px;flex-wrap:wrap}
.filter-chip{min-height:40px;padding:0 13px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;color:var(--color-text);font-size:12px;font-weight:var(--font-weight-medium)}
.filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.filter-sheet-footer{display:grid;grid-template-columns:minmax(104px,.7fr) minmax(0,1.3fr);gap:8px;padding-top:14px}.filter-sheet-footer .btn{width:100%;padding-left:12px;padding-right:12px}
.sort-sheet-list{gap:4px}.sort-option{display:flex;align-items:center;justify-content:space-between;gap:12px;border:0;border-bottom:1px solid var(--color-border);border-radius:0;padding:0 2px;background:transparent}.sort-option:last-child{border-bottom:0}.sort-option .ph{font-size:20px;color:#A0A7A0}.sort-option.active{color:var(--color-primary);border-color:var(--color-border)}.sort-option.active .ph{color:var(--color-primary)}

.variant-pick-list{display:grid;gap:7px}.variant-pick{min-height:58px;width:100%;border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:8px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px;text-align:left;color:var(--color-text)}
.variant-pick>span{display:grid;gap:2px}.variant-pick strong{font-size:14px;line-height:18px;font-weight:var(--font-weight-semibold)}.variant-pick small{font-size:11px;line-height:15px;color:var(--color-text-secondary)}.variant-pick>.ph{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:#EDF1EC;color:var(--color-primary);font-size:17px}
.variant-pick-more{padding-top:12px;text-align:center}.variant-pick-more a{display:inline-flex;align-items:center;gap:6px;min-height:40px;color:var(--color-primary);font-size:12px;font-weight:var(--font-weight-semibold)}

@media(max-width:374px){
  .catalog-category-chips{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px;scroll-padding-inline:14px}
  .catalog-grid{gap:22px 9px}.catalog-product-visual .product-photo{padding:8px}.catalog-product-name{font-size:13px}.catalog-product-price strong{font-size:13px}.catalog-page .tool-btn{padding:0 8px}.catalog-page .tool-btn span:not(.filter-indicator){max-width:72px;overflow:hidden;text-overflow:ellipsis}
}
@media(min-width:760px){
  .catalog-page{padding-top:34px}.catalog-heading{margin-bottom:20px}.catalog-heading .page-title{font-size:40px;line-height:44px}.catalog-page .search-entry{max-width:680px}.catalog-category-chips{margin:0;padding:0 0 4px;scroll-padding-inline:0}.catalog-control-row{margin-top:18px}.catalog-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}.catalog-product-visual{aspect-ratio:1/1.02}.catalog-product-name{font-size:15px;line-height:20px}.catalog-product-price strong{font-size:15px}
}
@media(min-width:980px){
  .catalog-page .catalog-sticky{position:sticky;top:78px;z-index:14;margin:0 -10px;padding:10px;background:rgba(246,247,243,.94);backdrop-filter:blur(14px);border-radius:var(--radius-lg)}.catalog-page .search-entry{margin-bottom:10px}.catalog-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 22px}.catalog-product-card:hover .catalog-product-visual .product-photo{transform:scale(1.025)}.catalog-product-card:hover .catalog-product-visual{border-color:#D3DAD1}
}

/* ==========================================================
   STAGE 14 — SMART FULL-SCREEN SEARCH
   ========================================================== */
body[data-page="search"]{background:var(--color-bg)}
body[data-page="search"] .app-shell{min-height:100dvh}
.smart-search-page{
  min-height:100dvh;
  padding:max(12px,env(safe-area-inset-top)) 16px 40px;
  background:var(--color-bg);
}
.smart-search-header{
  position:sticky;
  top:0;
  z-index:20;
  display:grid;
  grid-template-columns:44px minmax(0,1fr);
  gap:10px;
  align-items:center;
  padding:5px 0 12px;
  background:linear-gradient(to bottom,var(--color-bg) 76%,rgba(246,247,243,0));
}
.smart-search-back{
  width:44px;
  height:44px;
  display:grid;
  place-items:center;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  color:var(--color-text);
  font-size:20px;
}
.smart-search-field{
  min-width:0;
  height:54px;
  display:flex;
  align-items:center;
  gap:10px;
  padding:0 12px 0 14px;
  border:1px solid var(--color-border);
  border-radius:var(--radius-md);
  background:var(--color-surface);
  transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default);
}
.smart-search-field:focus-within{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(44,74,65,.09)}
.smart-search-field>i{flex:0 0 auto;font-size:21px;color:var(--color-primary)}
.smart-search-field input{
  min-width:0;
  flex:1;
  height:100%;
  border:0;
  outline:0;
  padding:0;
  background:transparent;
  color:var(--color-text);
  font-size:16px;
  font-weight:500;
  appearance:none;
}
.smart-search-field input::-webkit-search-cancel-button{display:none}
.smart-search-field input::placeholder{color:#8C948D;font-weight:400}
.smart-search-field .search-clear{
  flex:0 0 36px;
  width:36px;
  height:36px;
  border-radius:11px;
  color:var(--color-text-secondary);
}
.smart-search-idle{padding:18px 0 0}
.search-discovery{padding:0 0 28px}
.search-discovery-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:12px}
.search-discovery-head h2{margin:0;font-size:17px;line-height:22px;letter-spacing:-.02em;font-weight:600;color:var(--color-text)}
.search-discovery-head button{border:0;background:transparent;padding:6px 0;color:var(--color-text-secondary);font-size:12px;font-weight:600;cursor:pointer}
.search-query-list{display:grid}
.search-recent-row{display:grid;grid-template-columns:minmax(0,1fr) 44px;align-items:center;border-bottom:1px solid var(--color-border)}
.search-recent-query{min-width:0;min-height:52px;display:flex;align-items:center;gap:11px;border:0;background:transparent;padding:0;text-align:left;color:var(--color-text);cursor:pointer}
.search-recent-query i{font-size:19px;color:var(--color-text-secondary)}
.search-recent-query span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:500}
.search-recent-remove{width:44px;height:44px;border:0;background:transparent;display:grid;place-items:center;color:#969D97;font-size:16px;border-radius:12px;cursor:pointer}
.search-popular-list{display:flex;flex-wrap:wrap;gap:8px}
.search-popular-chip{min-height:42px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);padding:0 13px;color:var(--color-text);font-size:13px;font-weight:600;cursor:pointer}
.search-popular-chip:active{background:#EEF1EC}
.search-format-hint{display:flex;align-items:flex-start;gap:12px;padding:16px;border:1px solid #DFE4DC;border-radius:var(--radius-lg);background:#F1F3EE;color:var(--color-text)}
.search-format-hint>i{margin-top:1px;font-size:20px;color:var(--color-primary)}
.search-format-hint p{display:grid;gap:3px;margin:0;line-height:1.45}
.search-format-hint strong{font-size:13px;font-weight:600}
.search-format-hint span{font-size:12px;color:var(--color-text-secondary)}
.smart-search-results{display:grid;gap:0;margin:4px 0 0}
.smart-search-results-head{display:flex;align-items:center;gap:8px;padding:8px 0 10px;color:var(--color-text-secondary);font-size:12px;font-weight:600}
.smart-search-results-head strong{min-width:22px;height:22px;padding:0 7px;display:grid;place-items:center;border-radius:999px;background:#E9EDE7;color:var(--color-primary);font-size:11px}
.smart-search-result{
  min-width:0;
  display:grid;
  grid-template-columns:68px minmax(0,1fr) auto;
  gap:12px;
  align-items:center;
  padding:13px 0;
  border-bottom:1px solid var(--color-border);
}
.smart-search-thumb{width:68px;height:68px;border-radius:var(--radius-md);overflow:hidden;display:grid;place-items:center;background:#EEF1EC;border:1px solid #E3E7E0}
.smart-search-thumb .product-photo{width:100%;height:100%;object-fit:contain;padding:5px}
.smart-search-thumb .mini-vial{transform:scale(.7)}
.smart-search-copy{min-width:0;display:grid;gap:3px}
.smart-search-name-row{min-width:0;display:flex;align-items:center;gap:8px}
.smart-search-name-row strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:15px;line-height:20px;font-weight:600;color:var(--color-text)}
.smart-search-copy small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-size:12px;line-height:17px}
.smart-search-stock{flex:0 0 auto;font-size:9px;line-height:16px;font-weight:700}
.smart-search-stock.ok{color:var(--color-success)}
.smart-search-stock.off{color:var(--color-error)}
.smart-search-variants{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#7B837C;font-size:11px;line-height:16px}
.smart-search-end{min-width:88px;display:flex;align-items:center;justify-content:flex-end;gap:5px;color:var(--color-text)}
.smart-search-end strong{max-width:108px;text-align:right;font-size:12px;line-height:16px;font-weight:600}
.smart-search-end i{font-size:15px;color:#949C95}
.search-no-results{padding:54px 0 28px;text-align:center}
.search-no-results-icon{width:60px;height:60px;margin:0 auto 17px;display:grid;place-items:center;border-radius:18px;background:#EBEFE9;color:var(--color-primary);font-size:25px}
.search-no-results h2{max-width:390px;margin:0 auto 8px;font-size:21px;line-height:27px;letter-spacing:-.025em;font-weight:600;color:var(--color-text)}
.search-no-results p{max-width:340px;margin:0 auto 22px;color:var(--color-text-secondary);font-size:13px;line-height:20px}
.search-did-you-mean{width:min(100%,420px);min-height:64px;margin:0 auto 12px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;align-items:center;text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:10px 13px;color:var(--color-text);cursor:pointer}
.search-did-you-mean span{font-size:10px;line-height:14px;color:var(--color-text-secondary)}
.search-did-you-mean strong{font-size:14px;line-height:19px;font-weight:600}
.search-did-you-mean i{grid-column:2;grid-row:1/3;font-size:17px;color:var(--color-primary)}
.search-open-catalog{width:min(100%,420px);margin:0 auto}
@media(max-width:374px){
  .smart-search-page{padding-left:14px;padding-right:14px}.smart-search-header{grid-template-columns:42px minmax(0,1fr);gap:8px}.smart-search-back{width:42px;height:42px}.smart-search-field{height:52px;padding-left:11px}.smart-search-field input{font-size:15px}.smart-search-result{grid-template-columns:62px minmax(0,1fr);gap:10px}.smart-search-thumb{width:62px;height:62px}.smart-search-end{grid-column:2;justify-content:flex-start}.smart-search-end strong{max-width:none;text-align:left}
}
@media(min-width:760px){
  .smart-search-page{max-width:880px;margin:0 auto;padding:34px 0 64px}.smart-search-header{grid-template-columns:48px minmax(0,1fr);gap:12px;padding-bottom:18px}.smart-search-back{width:48px;height:48px}.smart-search-field{height:58px}.smart-search-idle{padding-top:28px}.search-discovery{padding-bottom:34px}.search-popular-chip{min-height:44px;padding:0 15px}.smart-search-result{grid-template-columns:76px minmax(0,1fr) 150px;padding:15px 0}.smart-search-thumb{width:76px;height:76px}.smart-search-name-row strong{font-size:16px}.smart-search-end strong{font-size:13px}.search-no-results{padding-top:80px}
}

/* ==========================================================
   STAGE 15 — MOBILE PDP / EDITORIAL PRODUCT
   Product page only. Sticky Buy behavior is intentionally left
   for the next stage; this stage prepares its shell and states.
   ========================================================== */
body[data-page="product"]{background:var(--color-bg)}
body[data-page="product"] .topbar{display:none}
body[data-page="product"] .app-shell{max-width:none}

.pdp-editorial{padding-bottom:32px;background:var(--color-bg)}
.pdp-gallery{
  height:min(430px,108vw);
  min-height:350px;
  background:#ECEFE9;
  position:relative;
  overflow:hidden;
}
.pdp-gallery:after{
  content:"";
  position:absolute;
  width:240px;
  height:240px;
  border:1px solid rgba(44,74,65,.09);
  border-radius:50%;
  right:-110px;
  top:-95px;
  pointer-events:none;
}
.pdp-gallery .gallery-track{position:relative;z-index:1}
.pdp-gallery-slide{
  appearance:none;
  border:0;
  padding:0;
  background:transparent;
  color:inherit;
  cursor:zoom-in;
}
.pdp-placeholder-slide{cursor:default}
.pdp-gallery-slide>.product-photo{padding:40px 34px 46px;object-fit:contain;filter:drop-shadow(0 26px 30px rgba(30,47,37,.11))}
.pdp-gallery-action{
  position:absolute;
  top:calc(14px + env(safe-area-inset-top));
  z-index:5;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(217,222,214,.9);
  background:rgba(255,255,255,.9);
  backdrop-filter:blur(14px);
  box-shadow:0 3px 14px rgba(21,25,21,.05);
  color:var(--color-text);
}
.pdp-gallery .floating-back{left:16px}
.pdp-gallery .floating-cart{right:16px;display:grid;place-items:center;font-size:22px}
.pdp-gallery .floating-cart .cart-badge{display:none;right:-4px;top:-4px}
.pdp-gallery .gallery-counter{
  left:16px;
  right:auto;
  top:auto;
  bottom:18px;
  padding:0;
  border:0;
  background:transparent;
  backdrop-filter:none;
  color:#6E786F;
  font-size:10px;
  line-height:14px;
  letter-spacing:.08em;
  font-weight:600;
}
.pdp-gallery .gallery-counter.single{display:block}
.pdp-gallery .pager-dots{left:50%;bottom:22px;transform:translateX(-50%);gap:5px;z-index:4}
.pdp-gallery .pager-dots button{width:5px;height:5px;background:#BFC7BE;transition:width var(--duration-normal) var(--ease-default),background var(--duration-normal) var(--ease-default)}
.pdp-gallery .pager-dots button.active{width:18px;background:var(--color-primary)}

.pdp-vial{
  width:88px;
  height:188px;
  border-radius:17px 17px 24px 24px;
  border:1px solid #BEC7BC;
  background:linear-gradient(180deg,#FBFCF9 0,#E1E6DE 100%);
  box-shadow:0 28px 32px rgba(31,50,39,.13);
  position:relative;
  display:grid;
  place-items:center;
  padding:13px 9px;
}
.pdp-vial:before{
  content:"";
  position:absolute;
  width:66px;
  height:24px;
  top:-16px;
  left:10px;
  border-radius:7px;
  border:1px solid #7F8980;
  background:linear-gradient(180deg,#8F9990,#BCC4BA);
}
.pdp-vial span{
  width:100%;
  padding:14px 4px;
  background:#fff;
  border:1px solid var(--color-border);
  border-radius:6px;
  color:var(--color-primary);
  font-size:9px;
  line-height:12px;
  font-weight:600;
  text-align:center;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.pdp-info{
  margin:0;
  padding:25px var(--page-padding-mobile) 0;
  border-radius:0;
  background:var(--color-bg);
}
.pdp-intro{padding-bottom:24px;border-bottom:1px solid var(--color-border)}
.pdp-kicker-row{display:flex;align-items:center;gap:9px;min-height:18px;margin-bottom:10px}
.pdp-category{
  color:var(--color-primary);
  font-size:10px;
  line-height:14px;
  font-weight:600;
  text-transform:uppercase;
  letter-spacing:.09em;
}
.pdp-badge{
  min-height:22px;
  display:inline-flex;
  align-items:center;
  padding:0 8px;
  border-radius:8px;
  background:#E8EDE7;
  color:#58645B;
  font-size:9px;
  line-height:12px;
  font-weight:600;
}
.pdp-info h1{
  margin:0;
  max-width:100%;
  color:var(--color-text);
  font-size:32px;
  line-height:36px;
  letter-spacing:-.035em;
  font-weight:600;
}
.pdp-subtitle{margin:8px 0 0;color:var(--color-text-secondary);font-size:14px;line-height:20px}
.pdp-variant-summary{margin:8px 0 0;color:#7D867E;font-size:12px;line-height:18px;font-weight:500}
.pdp-availability-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:17px}
.pdp-stock{display:inline-flex;align-items:center;gap:7px;font-size:12px;line-height:18px;font-weight:600}
.pdp-stock i{width:6px;height:6px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px rgba(47,140,98,.08)}
.pdp-stock.is-available{color:var(--color-success)}
.pdp-stock.is-unavailable{color:var(--color-error)}
.pdp-stock.is-unavailable i{box-shadow:0 0 0 3px rgba(192,80,80,.08)}
.pdp-sku{color:#8B938C;font-size:10px;line-height:16px;font-weight:500}
.pdp-price{margin:17px 0 0;color:var(--color-text);font-size:25px;line-height:30px;letter-spacing:-.025em;font-weight:600}

.pdp-purchase{padding:24px 0 26px;border-bottom:1px solid var(--color-border)}
.pdp-control-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:12px}
.pdp-control-head strong{font-size:14px;line-height:19px;font-weight:600;color:var(--color-text)}
.pdp-control-head span{font-size:10px;line-height:15px;color:var(--color-text-secondary)}
.pdp-variant-block{margin:0}
.pdp-variant-block .variant-chips{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.pdp-variant-block .variant-chip{
  min-width:0;
  min-height:48px;
  height:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:1px;
  padding:7px 8px;
  border-radius:12px;
  border:1px solid var(--color-border);
  background:var(--color-surface);
  color:var(--color-text);
  box-shadow:none;
  font-weight:600;
}
.pdp-variant-block .variant-chip>span{font-size:13px;line-height:18px}
.pdp-variant-block .variant-chip>small{font-size:8px;line-height:11px;font-weight:500;color:#9A7A7A}
.pdp-variant-block .variant-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.pdp-variant-block .variant-chip.active>small{color:rgba(255,255,255,.72)}
.pdp-variant-block .variant-chip.disabled{background:#ECEFEA;border-color:transparent;color:#A0A7A0;text-decoration:none;cursor:not-allowed}
.pdp-qty-line{min-height:50px;margin:22px 0 18px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.pdp-qty-line>div:first-child{display:grid;gap:2px}
.pdp-qty-line>div:first-child strong{font-size:14px;line-height:19px;font-weight:600}
.pdp-qty-line>div:first-child span{font-size:10px;line-height:15px;color:var(--color-text-secondary)}
.pdp-qty-line .stepper{height:48px;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);overflow:hidden}
.pdp-qty-line .stepper button{width:46px;height:46px;display:grid;place-items:center;color:var(--color-text);font-size:18px;cursor:pointer}
.pdp-qty-line .stepper button:active{background:#EEF1EC}
.pdp-qty-line .stepper strong{min-width:34px;font-size:14px;font-weight:600}
.pdp-primary-cta{width:100%;margin:0;min-height:54px}
.pdp-order-note{margin:10px 6px 0;text-align:center;color:#7D867E;font-size:10px;line-height:16px}

.pdp-content{display:grid}
.pdp-section{padding:28px 0;border-bottom:1px solid var(--color-border)}
.pdp-section-kicker{margin-bottom:7px;color:var(--color-primary);font-size:9px;line-height:13px;font-weight:600;text-transform:uppercase;letter-spacing:.09em}
.pdp-section h2{margin:0 0 13px;font-size:20px;line-height:26px;letter-spacing:-.02em;font-weight:600}
.pdp-section p{margin:0;color:var(--color-text-secondary);font-size:14px;line-height:23px}
.pdp-specs{margin:0}
.pdp-specs div{min-height:48px;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:center;padding:11px 0;border-bottom:1px solid #E2E6DF;font-size:12px;line-height:18px}
.pdp-specs div:last-child{border-bottom:0;padding-bottom:0}
.pdp-specs span{color:var(--color-text-secondary)}
.pdp-specs strong{text-align:right;font-weight:500;color:var(--color-text)}

.pdp-related{margin-top:30px;padding-bottom:18px}
.pdp-related .section-head{align-items:end;margin-bottom:15px}
.pdp-related .section-head h2{font-size:21px;line-height:27px}
.pdp-related .section-head a{display:inline-flex;align-items:center;gap:4px;font-size:12px;font-weight:600}
.pdp-related .related-rail{grid-auto-columns:minmax(152px,43vw);gap:12px;margin-left:calc(var(--page-padding-mobile) * -1);margin-right:calc(var(--page-padding-mobile) * -1);padding-left:var(--page-padding-mobile);padding-right:var(--page-padding-mobile)}
.pdp-related .product-card{border:0;border-radius:0;background:transparent;overflow:visible}
.pdp-related .product-art{height:156px;border:1px solid #E2E6DF;border-radius:15px;background:#EEF1EC;overflow:hidden}
.pdp-related .card-body{padding:10px 0 0}
.pdp-related .product-subtitle{min-height:0}

/* Prepared for Stage 16. The shell is in DOM but intentionally not active yet. */
.pdp-sticky-shell{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(14px)}
.pdp-sticky-meta{min-width:0;padding-left:6px;display:grid;gap:1px}
.pdp-sticky-meta small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-secondary);font-size:10px;line-height:14px;font-weight:500}
.pdp-sticky-meta strong{font-size:15px;line-height:20px;font-weight:600}

.pdp-lightbox{
  position:fixed;
  inset:0;
  z-index:120;
  display:grid;
  place-items:center;
  background:rgba(17,21,17,.94);
  padding:calc(16px + env(safe-area-inset-top)) 16px calc(16px + env(safe-area-inset-bottom));
}
.pdp-lightbox img{width:100%;height:100%;max-width:980px;max-height:90vh;object-fit:contain}
.pdp-lightbox-close{position:absolute;right:16px;top:calc(16px + env(safe-area-inset-top));width:44px;height:44px;border:1px solid rgba(255,255,255,.18);border-radius:14px;background:rgba(255,255,255,.1);color:#fff;display:grid;place-items:center;font-size:21px;cursor:pointer}
body.pdp-lightbox-open{overflow:hidden}

@media(max-width:374px){
  .pdp-gallery{height:365px;min-height:330px}.pdp-gallery-slide>.product-photo{padding-left:24px;padding-right:24px}.pdp-info{padding-left:14px;padding-right:14px}.pdp-info h1{font-size:29px;line-height:33px}.pdp-variant-block .variant-chips{grid-template-columns:repeat(2,minmax(0,1fr))}.pdp-related .related-rail{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}.pdp-related .product-art{height:145px}
}

@media(min-width:760px){
  body[data-page="product"] .topbar{display:flex}
  body[data-page="product"] .app-shell{max-width:1280px;padding-left:24px;padding-right:24px}
  .pdp-editorial{display:grid;grid-template-columns:minmax(340px,.95fr) minmax(420px,1.05fr);gap:42px;align-items:start;padding:38px 0 80px}
  .pdp-gallery{height:min(620px,47vw);min-height:480px;position:sticky;top:94px;border-radius:24px}
  .pdp-gallery .floating-back,.pdp-gallery .floating-cart{top:16px}
  .pdp-info{padding:10px 0 0;background:transparent}
  .pdp-info h1{font-size:44px;line-height:49px}
  .pdp-price{font-size:28px;line-height:34px}
  .pdp-purchase{padding-top:28px}
  .pdp-variant-block .variant-chips{grid-template-columns:repeat(3,minmax(90px,1fr));max-width:440px}
  .pdp-primary-cta{max-width:440px}
  .pdp-order-note{max-width:440px;margin-left:0;text-align:left}
  .pdp-related .related-rail{margin:0;padding:0;grid-auto-columns:minmax(190px,31%)}
  .pdp-related .product-art{height:190px}
}

/* ==========================================================
   STAGE 16 — MOBILE PDP / STICKY BUY BAR
   Variant + price + CTA. Replaces Commerce 4 navigation only
   after the primary PDP CTA has been scrolled above viewport.
   ========================================================== */
@media(max-width:759px){
  body[data-page="product"] .pdp-editorial{
    padding-bottom:calc(104px + var(--safe-bottom));
  }
  body[data-page="product"] .bottom-nav{
    display:grid;
    opacity:1;
    visibility:visible;
    transform:translateY(0);
    transition:
      transform var(--duration-normal) var(--ease-default),
      opacity var(--duration-fast) var(--ease-default),
      visibility 0s linear 0s;
    will-change:transform,opacity;
  }
  body[data-page="product"].pdp-sticky-active .bottom-nav{
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transform:translateY(calc(100% + 18px));
    transition:
      transform var(--duration-normal) var(--ease-default),
      opacity var(--duration-fast) var(--ease-default),
      visibility 0s linear var(--duration-normal);
  }

  .pdp-sticky-shell{
    position:fixed;
    left:10px;
    right:10px;
    bottom:calc(10px + var(--safe-bottom));
    z-index:56;
    min-height:var(--sticky-buy-height);
    display:grid;
    grid-template-columns:minmax(0,1fr) minmax(148px,46%);
    align-items:center;
    gap:10px;
    padding:8px;
    border:1px solid rgba(217,222,214,.94);
    border-radius:18px;
    background:rgba(255,255,255,.97);
    backdrop-filter:blur(18px);
    box-shadow:0 12px 34px rgba(21,25,21,.13);
    visibility:hidden;
    opacity:0;
    pointer-events:none;
    transform:translateY(calc(100% + 22px));
    transition:
      transform var(--duration-normal) var(--ease-default),
      opacity var(--duration-fast) var(--ease-default),
      visibility 0s linear var(--duration-normal);
    will-change:transform,opacity;
  }
  body[data-page="product"].pdp-sticky-active .pdp-sticky-shell{
    visibility:visible;
    opacity:1;
    pointer-events:auto;
    transform:translateY(0);
    transition:
      transform var(--duration-normal) var(--ease-default),
      opacity var(--duration-fast) var(--ease-default),
      visibility 0s linear 0s;
  }
  .pdp-sticky-meta{
    min-width:0;
    padding:0 2px 0 7px;
    display:grid;
    align-content:center;
    gap:1px;
  }
  .pdp-sticky-meta small{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--color-text-secondary);
    font-size:10px;
    line-height:14px;
    font-weight:500;
  }
  .pdp-sticky-meta strong{
    display:block;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    color:var(--color-text);
    font-size:15px;
    line-height:20px;
    letter-spacing:-.015em;
    font-weight:600;
  }
  .pdp-sticky-shell .btn{
    width:100%;
    min-width:0;
    min-height:54px;
    padding:0 13px;
    border-radius:14px;
    font-size:14px;
    line-height:18px;
    white-space:nowrap;
  }
  .pdp-sticky-shell .btn:disabled{
    background:var(--color-disabled-bg);
    color:var(--color-disabled-text);
    border:1px solid transparent;
  }

  body[data-page="product"] .toast{
    bottom:calc(var(--sticky-buy-height) + var(--safe-bottom) + 28px);
  }
  body[data-page="product"]:not(.pdp-sticky-active) .toast{
    bottom:calc(var(--bottom-nav-height) + var(--safe-bottom) + 18px);
  }
}

@media(max-width:374px){
  .pdp-sticky-shell{
    left:8px;
    right:8px;
    bottom:calc(8px + var(--safe-bottom));
    grid-template-columns:minmax(0,1fr) minmax(136px,46%);
    gap:7px;
    padding:7px;
  }
  .pdp-sticky-shell .btn{min-width:0;padding:0 10px;font-size:13px}
  .pdp-sticky-meta{padding-left:5px}
  .pdp-sticky-meta strong{font-size:14px}
}

@media(min-width:760px){
  body[data-page="product"] .pdp-editorial{padding-bottom:80px}
  .pdp-sticky-shell{display:none!important}
}

:root{--safe-top:env(safe-area-inset-top,0px)}

/* ==========================================================
   STAGE 17 — MOBILE CART / EDITORIAL CART
   Clean editorial list + sticky checkout summary. Mobile only
   gets its own focused header; desktop keeps the existing flow.
   ========================================================== */
.cart-mobile-header{display:none}

@media(max-width:759px){
  body[data-page="cart"]{background:var(--color-bg)}
  body[data-page="cart"] .topbar{display:none}
  body[data-page="cart"] .site-footer{display:none}
  body[data-page="cart"] .app-shell{max-width:none;padding:0}
  body[data-page="cart"] .cart-page{max-width:none;margin:0;padding:0 var(--page-padding-mobile) calc(142px + var(--safe-bottom))}
  body[data-page="cart"] .cart-desktop-heading{display:none}

  .cart-mobile-header{
    min-height:64px;
    display:flex;
    align-items:center;
    gap:12px;
    margin:0 calc(var(--page-padding-mobile) * -1);
    padding:calc(8px + var(--safe-top)) var(--page-padding-mobile) 8px;
    position:sticky;
    top:0;
    z-index:26;
    background:rgba(246,247,243,.94);
    backdrop-filter:blur(18px);
    border-bottom:1px solid rgba(217,222,214,.78);
  }
  .cart-mobile-header h1{margin:0;font-size:20px;line-height:26px;letter-spacing:-.025em;font-weight:600}
  .cart-mobile-header h1 span{color:var(--color-text-secondary);font-size:13px;line-height:18px;font-weight:500;letter-spacing:0}
  .cart-back{
    width:44px;height:44px;flex:0 0 44px;display:grid;place-items:center;
    border:1px solid var(--color-border);border-radius:14px;background:var(--color-surface);color:var(--color-text);
    font-size:20px;cursor:pointer;
  }
  .cart-back:active{background:#EEF1EC}

  .editorial-cart{padding-top:6px}
  .editorial-cart-list{display:grid}
  .editorial-cart-item{
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    gap:14px;
    align-items:start;
    padding:20px 0;
    border-bottom:1px solid var(--color-border);
  }
  .editorial-cart-item:last-child{border-bottom:0}
  .editorial-cart-thumb{
    width:88px;height:100px;display:grid;place-items:center;overflow:hidden;
    border:1px solid #E2E6DF;border-radius:14px;background:#EEF1EC;
  }
  .editorial-cart-thumb img{width:100%;height:100%;object-fit:contain;padding:8px;display:block}
  .editorial-cart-thumb .mini-vial{transform:scale(.78)}
  .editorial-cart-main{min-width:0;display:grid;gap:17px}
  .editorial-cart-heading{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:8px;align-items:start}
  .editorial-cart-name{display:block;overflow:hidden;text-overflow:ellipsis;font-size:16px;line-height:21px;font-weight:600;letter-spacing:-.015em;color:var(--color-text)}
  .editorial-cart-heading p{margin:4px 0 0;color:var(--color-text-secondary);font-size:12px;line-height:17px}
  .cart-remove-icon{
    width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:12px;background:transparent;
    color:#8B928B;font-size:19px;cursor:pointer;
  }
  .cart-remove-icon:active{background:#F0E8E8;color:var(--color-error)}
  .editorial-cart-bottom{display:flex;align-items:end;justify-content:space-between;gap:12px}
  .editorial-cart-price{min-width:0;display:grid;gap:2px}
  .editorial-cart-price strong{font-size:16px;line-height:21px;font-weight:600;letter-spacing:-.01em;color:var(--color-text)}
  .editorial-cart-price small{font-size:9px;line-height:13px;color:var(--color-text-secondary)}
  .cart-qty-control{
    height:44px;flex:0 0 auto;display:grid;grid-template-columns:44px 30px 44px;align-items:center;
    border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);overflow:hidden;
  }
  .cart-qty-control button{width:44px;height:42px;border:0;background:transparent;color:var(--color-text);display:grid;place-items:center;font-size:16px;cursor:pointer}
  .cart-qty-control button:active{background:#EEF1EC}
  .cart-qty-control span{text-align:center;font-size:13px;line-height:18px;font-weight:600}

  .cart-summary-space{height:36px}
  .cart-sticky-summary{
    position:fixed;left:0;right:0;bottom:0;z-index:54;
    padding:12px var(--page-padding-mobile) calc(12px + var(--safe-bottom));
    background:rgba(255,255,255,.97);backdrop-filter:blur(18px);
    border-top:1px solid rgba(217,222,214,.92);
    box-shadow:0 -12px 32px rgba(21,25,21,.07);
  }
  .cart-summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(158px,46%);gap:14px;align-items:center;max-width:680px;margin:0 auto}
  .cart-summary-row>div{min-width:0;display:grid;gap:1px}
  .cart-summary-row span{color:var(--color-text-secondary);font-size:10px;line-height:14px;font-weight:500}
  .cart-summary-row strong{font-size:18px;line-height:23px;font-weight:600;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cart-summary-row small{margin-top:1px;color:#7D867E;font-size:8px;line-height:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .cart-checkout-btn{width:100%;min-width:0;min-height:54px;padding:0 13px;gap:7px;border-radius:14px;box-shadow:none;font-size:13px;line-height:18px;white-space:nowrap}
  .cart-checkout-btn i{font-size:16px}

  .cart-empty-editorial{min-height:calc(100dvh - 94px - var(--safe-top));display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:44px 18px 92px}
  .cart-empty-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:20px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);color:var(--color-primary);font-size:27px}
  .cart-empty-editorial h2{margin:0 0 8px;font-size:22px;line-height:28px;letter-spacing:-.025em;font-weight:600}
  .cart-empty-editorial p{max-width:290px;margin:0 0 22px;color:var(--color-text-secondary);font-size:13px;line-height:20px}
  .cart-empty-editorial .btn{width:min(100%,280px)}

  body[data-page="cart"] .toast{bottom:calc(98px + var(--safe-bottom))}
}

.toast.has-action{display:flex;align-items:center;justify-content:space-between;gap:16px;text-align:left;min-width:min(330px,calc(100vw - 30px));padding:10px 11px 10px 14px}
.toast-action{min-height:34px;padding:0 9px;border:0;border-radius:9px;background:rgba(255,255,255,.12);color:#fff;font:inherit;font-weight:600;cursor:pointer}
.toast-action:active{background:rgba(255,255,255,.2)}

@media(max-width:374px){
  body[data-page="cart"] .cart-page{padding-left:14px;padding-right:14px}
  .cart-mobile-header{margin-left:-14px;margin-right:-14px;padding-left:14px;padding-right:14px}
  .editorial-cart-item{grid-template-columns:78px minmax(0,1fr);gap:11px}
  .editorial-cart-thumb{width:78px;height:92px}
  .cart-qty-control{grid-template-columns:40px 27px 40px}
  .cart-qty-control button{width:40px}
  .cart-summary-row{grid-template-columns:minmax(0,1fr) minmax(150px,47%);gap:9px}
  .cart-checkout-btn{font-size:12px;padding-left:9px;padding-right:9px}
}

@media(min-width:760px){
  .cart-mobile-header{display:none}
  .cart-desktop-heading{display:block}
  .editorial-cart{display:block}
  .editorial-cart-list{display:grid}
  .editorial-cart-item{display:grid;grid-template-columns:94px minmax(0,1fr);gap:16px;align-items:start;padding:20px 0;border-bottom:1px solid var(--color-border)}
  .editorial-cart-thumb{width:94px;height:104px;display:grid;place-items:center;overflow:hidden;border:1px solid var(--color-border);border-radius:14px;background:#EEF1EC}
  .editorial-cart-thumb img{width:100%;height:100%;object-fit:contain;padding:8px}
  .editorial-cart-main{display:grid;gap:16px;min-width:0}
  .editorial-cart-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
  .editorial-cart-name{font-size:17px;line-height:22px;font-weight:600}
  .editorial-cart-heading p{margin:4px 0 0;color:var(--color-text-secondary);font-size:13px}
  .cart-remove-icon{width:44px;height:44px;border:0;border-radius:12px;background:transparent;color:#8B928B;font-size:19px;cursor:pointer}
  .editorial-cart-bottom{display:flex;align-items:end;justify-content:space-between;gap:16px}
  .editorial-cart-price{display:grid;gap:2px}.editorial-cart-price strong{font-size:17px}.editorial-cart-price small{font-size:10px;color:var(--color-text-secondary)}
  .cart-qty-control{height:44px;display:grid;grid-template-columns:44px 34px 44px;align-items:center;border:1px solid var(--color-border);border-radius:12px;background:var(--color-surface);overflow:hidden}
  .cart-qty-control button{width:44px;height:42px;border:0;background:transparent;display:grid;place-items:center;cursor:pointer}.cart-qty-control span{text-align:center;font-size:13px;font-weight:600}
  .cart-summary-space{display:none}
  .cart-sticky-summary{position:sticky;bottom:18px;margin-top:24px;padding:16px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);box-shadow:var(--shadow-sm)}
  .cart-summary-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,290px);gap:20px;align-items:center}
  .cart-summary-row>div{display:grid;gap:2px}.cart-summary-row span{font-size:11px;color:var(--color-text-secondary)}.cart-summary-row strong{font-size:21px}.cart-summary-row small{font-size:10px;color:var(--color-text-secondary)}
  .cart-checkout-btn{width:100%;gap:8px}
  .cart-empty-editorial{min-height:420px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:48px}.cart-empty-icon{width:58px;height:58px;display:grid;place-items:center;margin-bottom:18px;border:1px solid var(--color-border);border-radius:18px;background:var(--color-surface);color:var(--color-primary);font-size:27px}.cart-empty-editorial h2{margin:0 0 8px}.cart-empty-editorial p{max-width:330px;margin:0 0 22px;color:var(--color-text-secondary)}
}

/* =========================================================
   STAGE 18 — MOBILE CHECKOUT / PROGRESSIVE CHECKOUT
   ========================================================= */
.checkout-mobile-header{display:none}
.progressive-checkout{gap:16px}
.checkout-field{display:grid;gap:7px}
.checkout-field>label{font-size:12px;font-weight:650;color:var(--color-text-secondary);margin:0}
.checkout-field>label span{color:var(--color-error)}
.progressive-checkout .checkout-field input,.progressive-checkout .checkout-field textarea{margin:0;border-color:var(--color-border);background:var(--color-surface);border-radius:var(--radius-md);padding:0 15px;color:var(--color-text);box-shadow:none;transition:border-color var(--duration-fast) var(--ease-default),box-shadow var(--duration-fast) var(--ease-default),background var(--duration-fast) var(--ease-default)}
.progressive-checkout .checkout-field input{height:54px}
.progressive-checkout .checkout-field textarea{min-height:104px;padding-top:14px;resize:vertical}
.progressive-checkout .checkout-field input:focus,.progressive-checkout .checkout-field textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px rgba(44,74,65,.08)}
.checkout-field.has-error input,.checkout-field.has-error textarea{border-color:var(--color-error);background:#fffafa}
.field-error{font-size:11px;line-height:16px;color:var(--color-error);font-weight:500}

.contact-method{min-width:0;margin:2px 0 0;padding:0;border:0}
.contact-method legend{font-size:13px;font-weight:650;color:var(--color-text);padding:0;margin:0 0 3px}
.contact-method>p{font-size:11px;line-height:16px;color:var(--color-text-secondary);margin:0 0 10px}
.contact-method-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.contact-method-options label{min-width:0;cursor:pointer}
.contact-method-options input{position:absolute;opacity:0;pointer-events:none}
.contact-method-options span{height:48px;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);display:flex;align-items:center;justify-content:center;gap:6px;padding:0 8px;color:var(--color-text-secondary);font-size:12px;font-weight:600;transition:all var(--duration-fast) var(--ease-default)}
.contact-method-options i{font-size:17px;flex:0 0 auto}
.contact-method-options input:checked+span{border-color:var(--color-primary);background:#EEF2EF;color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary) inset}
.contact-method-options input:focus-visible+span{outline:3px solid rgba(44,74,65,.18);outline-offset:2px}

.progressive-toggle{height:48px;width:100%;display:flex;align-items:center;justify-content:flex-start;gap:9px;border-style:solid;border-color:var(--color-border);background:transparent;color:var(--color-primary);padding:0 2px;border-width:1px 0;border-radius:0;text-align:left}
.progressive-toggle i{width:30px;height:30px;border-radius:10px;background:#EEF2EF;display:grid;place-items:center;font-size:16px}
.progressive-toggle span{font-size:13px;font-weight:650}
.optional-fields{gap:14px}

.checkout-order-card{margin-top:2px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}
.progressive-checkout .order-summary-toggle{height:auto;min-height:68px;margin:0;padding:12px 0;border:0;border-radius:0;background:transparent;display:flex;justify-content:space-between;gap:16px;text-align:left}
.progressive-checkout .order-summary-toggle>span:first-child{display:grid;gap:2px}
.progressive-checkout .order-summary-toggle>span:first-child small{font-size:10px;line-height:14px;color:var(--color-text-secondary);font-weight:600}
.progressive-checkout .order-summary-toggle>span:first-child strong{font-size:14px;line-height:19px;color:var(--color-text);font-weight:650}
.checkout-order-meta{display:flex;align-items:center;gap:8px;color:var(--color-text-secondary)}
.checkout-order-meta b{font-size:11px;font-weight:600;white-space:nowrap}
.checkout-order-meta i{font-size:17px;transition:transform var(--duration-fast) var(--ease-default)}
.progressive-checkout .order-summary-toggle.open .checkout-order-meta i{transform:rotate(180deg)}
.progressive-checkout .checkout-summary{margin:0 0 12px;padding:0;border:0;border-radius:0;background:transparent}
.progressive-checkout .checkout-summary-row{gap:18px;padding:10px 0;border-top:1px solid rgba(217,222,214,.65);align-items:start}
.progressive-checkout .checkout-summary-row>span{display:flex;min-width:0;flex:1;flex-wrap:wrap;gap:2px 7px;font-size:12px;line-height:17px}
.progressive-checkout .checkout-summary-row>span b{width:100%;color:var(--color-text);font-weight:600}
.progressive-checkout .checkout-summary-row>span small{color:var(--color-text-secondary)}
.progressive-checkout .checkout-summary-row>strong{flex:0 0 auto;font-size:12px;line-height:17px;color:var(--color-text);font-weight:650}
.progressive-checkout .checkout-summary-row.total{margin:0;padding-top:12px;border-top:1px solid var(--color-border)}

.checkout-consent-wrap{display:grid;gap:5px}
.progressive-checkout .consent{margin:0;align-items:flex-start}
.progressive-checkout .consent input{accent-color:var(--color-primary)}
.checkout-consent-wrap.has-error .consent{color:var(--color-error)}
.checkout-message{border-radius:var(--radius-md);background:#FFF7F7;color:var(--color-error);border-color:#F0D4D4}

.checkout-submit-total{min-width:0;display:grid;gap:1px}
.checkout-submit-total small{font-size:10px;line-height:14px;color:var(--color-text-secondary);font-weight:600}
.checkout-submit-total strong{font-size:19px;line-height:23px;color:var(--color-text);font-weight:700;letter-spacing:-.02em;white-space:nowrap}
.checkout-submit-total span{max-width:150px;font-size:9px;line-height:12px;color:var(--color-text-secondary)}
.checkout-submit-wrap .submit-order{min-width:0;margin:0;gap:7px;white-space:nowrap}
.checkout-submit-wrap .submit-order i{font-size:16px}

@media(max-width:759px){
  body[data-page="checkout"]{padding-bottom:0}
  body[data-page="checkout"] .app-shell{padding-bottom:0}
  body[data-page="checkout"] .topbar{display:none}
  .checkout-page{padding:0 16px calc(24px + var(--safe-bottom))}
  .checkout-mobile-header{height:64px;display:grid;grid-template-columns:44px 1fr 44px;align-items:center;border-bottom:1px solid var(--color-border);margin:0 -16px 24px;padding:0 10px;position:sticky;top:0;z-index:24;background:rgba(246,247,243,.94);backdrop-filter:blur(16px)}
  .checkout-mobile-header h1{grid-column:2;margin:0;text-align:center;font-size:15px;line-height:20px;font-weight:650;letter-spacing:-.01em}
  .checkout-back{grid-column:1;width:44px;height:44px;border:0;background:transparent;border-radius:12px;display:grid;place-items:center;color:var(--color-text);font-size:22px}
  .checkout-heading .eyebrow{display:none}
  .checkout-heading .page-title{font-size:28px;line-height:33px;margin:0 0 8px;letter-spacing:-.035em}
  .checkout-lead{margin:0 0 22px;font-size:13px;line-height:19px;max-width:330px}
  .checkout-submit-space{height:92px}
  .checkout-submit-wrap{position:fixed;left:0;right:0;bottom:0;z-index:56;min-height:80px;padding:10px 16px calc(10px + var(--safe-bottom));border-radius:0;border-top:1px solid var(--color-border);background:rgba(255,255,255,.96);backdrop-filter:blur(18px);display:grid;grid-template-columns:minmax(80px,.8fr) minmax(170px,1.35fr);gap:12px;align-items:center;box-shadow:0 -12px 34px rgba(21,25,21,.06)}
  .checkout-submit-wrap .submit-order{height:54px;padding:0 14px;border-radius:14px;box-shadow:none;font-size:13px}
  .form-note{padding:0;margin-top:0;text-align:left;font-size:10px;line-height:15px}
}

@media(max-width:374px){
  .checkout-page{padding-left:14px;padding-right:14px}
  .checkout-mobile-header{margin-left:-14px;margin-right:-14px}
  .contact-method-options{gap:6px}
  .contact-method-options span{padding:0 5px;font-size:11px;gap:4px}
  .contact-method-options i{font-size:15px}
  .checkout-submit-wrap{padding-left:12px;padding-right:12px;grid-template-columns:minmax(72px,.72fr) minmax(158px,1.28fr);gap:8px}
  .checkout-submit-total strong{font-size:17px}
  .checkout-submit-wrap .submit-order{font-size:12px;padding:0 10px}
}

@media(min-width:760px){
  .checkout-page{max-width:900px}
  .checkout-heading{max-width:620px}
  .progressive-checkout{max-width:620px}
  .checkout-submit-wrap{position:static;display:grid;grid-template-columns:1fr minmax(220px,280px);gap:18px;align-items:center;background:transparent;padding:10px 0 0;border-radius:0}
  .checkout-submit-space{display:none}
}

/* =========================================================
   STAGE 19 — INTERFACE STATES
   Loading / skeleton / empty / success / error / disabled /
   no results / out of stock / price on request.
   ========================================================= */

/* Shared state language */
.state-panel{
  grid-column:1/-1;
  min-width:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:52px 18px 38px;
}
.state-panel-icon,
.state-result-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border:1px solid var(--color-border);
  border-radius:18px;
  background:#EEF1EC;
  color:var(--color-primary);
  font-size:25px;
}
.state-panel h2{margin:18px 0 8px;font-size:21px;line-height:27px;letter-spacing:-.025em;font-weight:600;color:var(--color-text)}
.state-panel p{max-width:330px;margin:0 auto 22px;color:var(--color-text-secondary);font-size:13px;line-height:20px}
.state-panel .btn{gap:7px;box-shadow:none}

/* Skeletons: structure follows the final content, not generic bars. */
.state-skeleton{
  position:relative;
  overflow:hidden;
  border-radius:9px;
  background:#E8ECE6;
}
.state-skeleton::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.58),transparent);
  animation:state-shimmer 1.35s ease-in-out infinite;
}
@keyframes state-shimmer{100%{transform:translateX(100%)}}
.state-product-skeleton{min-width:0;display:grid;gap:8px}
.state-skeleton-media{width:100%;aspect-ratio:1/1.04;border-radius:16px}
.state-skeleton-line{height:10px}
.state-skeleton-line-sm{width:42%}
.state-skeleton-line-md{width:65%}
.state-skeleton-line-lg{width:84%;height:13px}
.state-skeleton-row{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:4px}
.state-skeleton-price{width:72px;height:16px}
.state-skeleton-action{width:44px;height:44px;border-radius:13px}
.catalog-grid.is-loading{pointer-events:none}

.state-cart-skeleton{display:grid}
.state-cart-skeleton-row{display:grid;grid-template-columns:88px minmax(0,1fr);gap:14px;padding:20px 0;border-bottom:1px solid var(--color-border)}
.state-cart-skeleton-thumb{width:88px;height:100px;border-radius:14px}
.state-cart-skeleton-copy{display:grid;align-content:start;gap:10px;padding-top:3px}
.state-cart-skeleton-copy .state-skeleton-row{margin-top:16px}
.state-cart-skeleton-stepper{width:118px;height:44px;border-radius:12px}
#cartContent.is-loading{pointer-events:none}

/* Buttons and controls: disabled is a real state, not opacity-only. */
.btn:disabled,
.tool-btn:disabled,
.catalog-add:disabled,
.stepper button:disabled,
.cart-qty-control button:disabled{
  opacity:1;
  cursor:not-allowed;
  transform:none!important;
  background:var(--color-disabled-bg);
  color:var(--color-disabled-text);
  border-color:transparent;
  box-shadow:none;
}
.btn-primary:disabled{background:var(--color-disabled-bg);color:var(--color-disabled-text)}
.variant-chip.disabled,
.variant-chip:disabled{
  opacity:1;
  cursor:not-allowed;
  pointer-events:none;
}

/* Catalog and search semantic states. */
.catalog-product-price.is-request strong,
.smart-search-end.is-request strong{
  color:var(--color-primary);
  font-size:12px;
  line-height:17px;
  white-space:normal;
}
.catalog-product-card.is-unavailable .catalog-product-visual{background:#F0F1ED}
.catalog-product-card.is-unavailable .catalog-product-visual .product-photo{filter:saturate(.72);opacity:.78}
.catalog-product-card.is-unavailable .catalog-add{background:transparent;border-color:var(--color-border);color:var(--color-text-secondary)}
.smart-search-result.is-unavailable .smart-search-thumb img{filter:saturate(.72);opacity:.78}
.smart-search-result.is-unavailable .smart-search-name-row strong{color:#555D56}
.search-no-results.state-panel{padding:54px 0 28px}
.search-no-results.state-panel .state-panel-icon{margin-bottom:0}
.search-no-results.state-panel h2{max-width:390px;margin-top:17px}
.search-no-results.state-panel p{margin-bottom:22px}

/* Product availability and price-on-request stay visible without alarm styling. */
.pdp-stock.is-unavailable{color:#8C5959}
.pdp-stock.is-unavailable i{box-shadow:0 0 0 3px rgba(140,89,89,.08)}
.pdp-variant-block .variant-chip.disabled{
  border:1px solid #E1E4DE;
  background:#EEF0EC;
  color:#969D96;
}
.pdp-variant-block .variant-chip.disabled>small{color:#9B7777}
.pdp-primary-cta:disabled,
.pdp-sticky-shell .btn:disabled{background:var(--color-disabled-bg)!important;color:var(--color-disabled-text)!important;border-color:transparent!important}

/* Error feedback */
.checkout-message{
  display:flex;
  align-items:flex-start;
  gap:9px;
  padding:12px 14px;
  border:1px solid #E9D0D0;
  background:#FFF8F8;
  color:#9C4545;
  font-size:12px;
  line-height:18px;
}
.checkout-message i{font-size:18px;line-height:18px;flex:0 0 auto}
.checkout-message span{min-width:0}
.checkout-message[hidden]{display:none!important}
.progressive-checkout.is-submitting input,
.progressive-checkout.is-submitting textarea,
.progressive-checkout.is-submitting .contact-method-options,
.progressive-checkout.is-submitting .progressive-toggle,
.progressive-checkout.is-submitting .consent{pointer-events:none}
.progressive-checkout.is-submitting .checkout-submit-total{opacity:.58}

/* Toasts are short-lived feedback, with state conveyed by icon + color. */
.toast{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  min-height:44px;
  padding:10px 14px;
  border:1px solid rgba(255,255,255,.08);
  box-shadow:0 12px 32px rgba(21,25,21,.16);
}
.toast>i{font-size:18px;flex:0 0 auto}
.toast[data-state="success"]{background:#244A3B}
.toast[data-state="error"]{background:#713F3F}
.toast.has-action{justify-content:flex-start}
.toast.has-action .toast-action{margin-left:auto}

/* Success / terminal screens */
.state-result-page{max-width:520px;margin:0 auto}
.state-result-icon{width:64px;height:64px;margin-bottom:20px;font-size:28px}
.state-result-icon.is-success{background:#E9F3EC;border-color:#D1E4D7;color:var(--color-success)}
.state-result-page .eyebrow{margin-bottom:10px}
.state-result-page h1{margin-bottom:12px}
.state-result-page .muted{max-width:390px;margin:0 0 8px;font-size:14px;line-height:22px}
.state-result-page .btn{gap:8px;min-width:220px;margin-top:22px}
.state-order-number{display:inline-flex;align-items:center;gap:7px;margin:0 0 10px!important;padding:8px 11px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-text-secondary);font-size:11px}
.state-order-number strong{color:var(--color-text);font-size:12px}

@media(max-width:759px){
  .catalog-grid.is-loading{gap:22px 9px}
  .state-panel{min-height:320px;padding-left:12px;padding-right:12px}
  .state-cart-skeleton-row{grid-template-columns:88px minmax(0,1fr)}
  .state-result-page{min-height:100dvh;padding-bottom:calc(48px + var(--safe-bottom));padding-top:calc(48px + var(--safe-top))}
  .state-result-page h1{font-size:30px;line-height:35px}
}

@media(max-width:374px){
  .state-cart-skeleton-row{grid-template-columns:78px minmax(0,1fr);gap:11px}
  .state-cart-skeleton-thumb{width:78px;height:92px}
  .state-cart-skeleton-stepper{width:107px}
}

@media(min-width:760px){
  .catalog-grid.is-loading{grid-template-columns:repeat(3,minmax(0,1fr));gap:30px 18px}
  .state-result-page{min-height:calc(100vh - 76px)}
}

@media(min-width:1024px){
  .catalog-grid.is-loading{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(prefers-reduced-motion:reduce){
  .state-skeleton::after{animation:none;background:rgba(255,255,255,.22);transform:none}
}

.pdp-price.is-request{font-size:20px;line-height:26px;color:var(--color-primary);letter-spacing:-.015em}
.pdp-sticky-meta strong.is-request{font-size:12px;line-height:17px;white-space:normal}
.progressive-checkout.is-submitting .submit-order:disabled{background:var(--color-primary);color:#fff}

/* Product photos with a baked-in white background need a matching image stage. */
.home-product-rail .product-art:has(>.product-photo),
.catalog-product-visual:has(>.product-photo),
.pdp-related .product-art:has(>.product-photo),
.product-art:has(>.product-photo),
.pdp-gallery:has(.pdp-gallery-slide>.product-photo),
.pdp-gallery-slide:has(>.product-photo){background:#fff}
.pdp-gallery:has(.pdp-gallery-slide>.product-photo)::after{display:none}
.pdp-gallery-slide>.product-photo{filter:none}
