/* Stilo Fincan storefront. Single customer stylesheet.
   Source reference: onedekor.com mobile captures in generated-artifacts/onedekor-design-reference
   (Urbanist, white page, black text, thin 1px control borders, 6px radius, 2-column product grid,
   outlined sort/filter buttons, 4-tab bottom bar, Vuetify-style cart rows).
   Own brand, own logo, own copy. Modules kept separately: location-picker, invoice-popup,
   order-notifications, whatsapp-contact. */
@font-face{font-family:Urbanist;font-weight:400;font-display:swap;src:url(assets/fonts/urbanist-400.ttf) format('truetype')}
@font-face{font-family:Urbanist;font-weight:500;font-display:swap;src:url(assets/fonts/urbanist-500.ttf) format('truetype')}
@font-face{font-family:Urbanist;font-weight:600;font-display:swap;src:url(assets/fonts/urbanist-600.ttf) format('truetype')}
@font-face{font-family:Urbanist;font-weight:700;font-display:swap;src:url(assets/fonts/urbanist-700.ttf) format('truetype')}

:root{--ink:#000;--ink-2:#333;--mute:#6f6f6f;--line:#e8e8e8;--line-2:#f5f5f5;--edge:#8a8a8a;--field:#f7f7f7;
  --primary:#000;--button:#000;--sale:#a8143c;--badge:#c8102e;--star:#c9c9c9;--ok:#2e7d32;--err:#b3261e;
  --pill:#eef3fa;--font:Urbanist,system-ui,sans-serif;--nav-h:calc(60px + env(safe-area-inset-bottom));
  /* legacy tokens still read by kept modules */
  --berry:#000;--paper:#fff;--soft:#f7f7f7;--muted:#6f6f6f}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;background:#fff}
body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.4 var(--font);-webkit-font-smoothing:antialiased}
[hidden]{display:none!important}
h1,h2,h3,h4,p,ul,ol,figure{margin:0}
h2{font-size:1.125rem}h3{font-size:1rem}
ul,ol{padding:0;list-style:none}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit;letter-spacing:0}
button{cursor:pointer;background:none;border:0;padding:0}
img,svg{display:block;max-width:100%}
.lucide,i[data-lucide]{display:inline-block;width:20px;height:20px;stroke-width:1.5;flex:none}
.visually-hidden,.store-announcement{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
:focus-visible{outline:2px solid var(--ink);outline-offset:2px}

.store-shell{max-width:1100px;margin:0 auto;padding-bottom:calc(var(--shop-dock-space,var(--nav-h)) + 12px);min-height:100dvh}
.store-content,.browse-chrome{padding-inline:14px}
.store-content{padding-top:8px;min-height:50vh}

/* ---------- top strip + header (transparent bar: menu, search, centered logo, account, bag) ---------- */
.store-header{display:grid;grid-template-columns:34px 34px minmax(0,1fr) 34px 34px;align-items:center;gap:4px;padding:14px;background:transparent;border-bottom:1px solid var(--line)}
.hd-btn{width:34px;height:34px;display:grid;place-items:center;color:var(--ink);position:relative}
.hd-btn svg{width:26px;height:26px}
.hd-btn:nth-of-type(1){grid-column:1}.hd-btn:nth-of-type(2){grid-column:2}.hd-btn:nth-of-type(3){grid-column:4}.hd-btn:nth-of-type(4){grid-column:5}
.hd-btn{grid-row:1}
.brand-lockup{grid-column:3;grid-row:1;display:flex;justify-content:center;min-width:0}
.brand,.brand-sheen{display:flex;justify-content:center}
.brand-logo{display:block;height:30px;width:auto;max-width:100%;margin:0 auto;object-fit:contain}
.store-brand-text{font:700 1.25rem var(--font)}

/* ---------- category / search / sort / filter ---------- */
.cat-nav{display:none;padding:10px 14px 0}
.cat-nav.is-open{display:block}
.cat-nav ul{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cat-nav button{display:flex;align-items:center;justify-content:center;width:100%;min-height:46px;padding:0 10px;border:1px solid var(--edge);background:#fff;font:500 1rem/1.2 var(--font);text-align:center}
.cat-nav button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.cat-nav .cat-img{display:none}
.browse-chrome{padding-top:10px}
.search-box{display:flex;align-items:center;gap:8px;min-height:46px;padding:0 12px;border:1px solid var(--edge);border-radius:6px;background:#fff}
.search-box svg{width:20px;height:20px}
.search-box .store-search{flex:1;min-width:0;border:0;background:transparent;outline:0;font-size:16px;min-height:44px;padding:0}
.clear-search{display:grid;place-items:center;width:28px;height:28px}
.search-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.search-suggest button{border:1px solid var(--line);border-radius:6px;padding:6px 10px;font-size:.8125rem;background:#fff}
.promise-bar{display:none}
.browse-tools{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px 4px}
.browse-tools>button,.sort-control{position:relative;display:flex;align-items:center;justify-content:center;gap:6px;min-height:44px;padding:0 10px;border:1px solid var(--edge);border-radius:0;background:#fff;font:500 .9375rem var(--font)}
.sort-control .store-sort{position:absolute;inset:0;width:100%;height:100%;opacity:0;font-size:16px;cursor:pointer}
.sort-label::before,.filter-open::before{content:"";display:inline-block;width:18px;height:18px;margin-right:6px;vertical-align:-4px;background:center/contain no-repeat}
.sort-label::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 16 4 4 4-4M7 20V4M21 8l-4-4-4 4M17 4v16'/%3E%3C/svg%3E")}
.filter-open::before{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round'%3E%3Cpath d='M21 4h-7M10 4H3M21 12h-9M8 12H3M21 20h-5M12 20H3M14 2v4M8 10v4M16 18v4'/%3E%3C/svg%3E")}
.browse-tools .all-browse{grid-column:1/-1;min-height:38px;border-color:var(--line);color:var(--mute);font-size:.8125rem}
.browse-tools .all-browse[aria-pressed=true]{color:var(--ink);border-color:var(--ink)}
.browse-tools small{font-size:.75rem;color:var(--mute)}
.page-title{margin:8px 0 10px}
.page-title h1,.home-all-title,.popular-strip>h1,.popular-strip>h2,.similar-designs h2,.cart-title{font:600 1.25rem/1.25 var(--font);margin:6px 0 4px}
.page-title p,.browse-scope{color:var(--mute);font-size:.8125rem;margin:2px 0 8px}
.page-title>svg,.title-brand-icon{display:none}
.browse-bar{display:flex;gap:8px;margin:8px 0 12px}
.style-tabs{display:flex;gap:6px;overflow-x:auto;flex:1;padding-bottom:4px;scrollbar-width:none}
.style-tabs>button,.active-filters button,.more-products{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border:1px solid var(--edge);background:#fff;font:500 .875rem var(--font);white-space:nowrap}
.style-tabs>button[aria-pressed=true]{background:var(--ink);border-color:var(--ink);color:#fff}
.style-tabs .category-cup,.style-tabs small,.filter-trigger{display:none}
.active-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.more-wrap{text-align:center;margin:18px 0}
.more-products{justify-content:center;min-width:220px}

/* ---------- product cards ---------- */
.product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px}
.product-card{position:relative;display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:6px;overflow:hidden}
.product-visual{position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff}
.product-open{display:block;width:100%;height:100%}
.product-visual img,.product-visual svg,.product-visual .cup-cutout,.product-visual canvas{display:block;width:100%;height:100%;max-width:none;object-fit:contain;object-position:center}
.discount-badge{position:absolute;left:10px;top:12px;z-index:2;background:var(--badge);color:#fff;font:600 .6875rem/1 var(--font);padding:5px 7px;border-radius:2px}
.favorite-button{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:36px;height:36px;border-radius:50%;background:#fff;color:var(--ink)}
.favorite-button svg,.favorite-button i{width:19px;height:19px;stroke-width:1.5}
.favorite-button.is-favorite{color:var(--sale)}
.favorite-button.is-favorite svg{fill:currentColor}
.product-copy{display:flex;flex-direction:column;gap:6px;flex:1;padding:10px 10px 12px}
.product-name{font:500 .9375rem/1.3 var(--font);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.6em}
.stars{display:flex;gap:2px;color:var(--star)}
.stars svg,.stars i{width:15px;height:15px;fill:currentColor;stroke:none}
.product-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:8px;margin-top:auto}
.product-price{display:flex;flex-direction:column;gap:1px}
.price-compare{color:#8a8a8a;font-size:.9375rem;text-decoration:line-through;font-weight:400}
.product-price b{font-size:1.0625rem;font-weight:700;color:var(--sale)}
.quick-add{display:grid;place-items:center;width:30px;height:30px;border:1px solid #bdbdbd;border-radius:4px;background:#fff}
.quick-add svg,.quick-add i{width:16px;height:16px}
.quick-add span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.popular-strip{margin:4px 0 18px}
.popular-track{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px}
.popular-track .product-card{flex:0 0 46%;scroll-snap-align:start}
.resume-row,.nearby-search{display:flex;flex-wrap:wrap;gap:10px;align-items:center;border:1px solid var(--line);border-radius:6px;background:#fff;padding:12px;margin:10px 0}
.resume-thumb{width:56px;height:56px}
.resume-thumb img,.resume-thumb svg{width:100%;height:100%;object-fit:contain}
.empty-suggest{display:flex;flex-wrap:wrap;gap:6px}
.empty-state{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:48px 18px;margin:12px 0}
.empty-state>svg,.empty-state>i{width:64px;height:64px;stroke-width:1.1}
.empty-state :is(h1,h2,h3){font:600 1.5rem var(--font)}
.empty-state p{color:var(--mute);max-width:34ch}
.empty-cups,.empty-cups *{display:none}
.loading-state{padding:40px 0;text-align:center;color:var(--mute)}

/* ---------- buttons & fields ---------- */
.primary-button,.ta-btn,.cart-added-primary,.payment-reason-confirm,.pay-done,.checkout-submit{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:52px;padding:0 18px;border:1px solid var(--button);border-radius:0;background:var(--button);color:#fff;font:600 1rem var(--font);letter-spacing:.02em}
.primary-button:disabled,.ta-btn:disabled{opacity:.45;cursor:not-allowed}
.secondary-button,.cart-added-secondary,.twin-switch,.next-discovery,.wa-help{display:flex;align-items:center;justify-content:center;gap:8px;min-height:46px;padding:0 14px;border:1px solid var(--edge);border-radius:0;background:#fff;font:500 .9375rem var(--font)}
.text-button,.link-button,.ta-link{display:inline-flex;align-items:center;gap:6px;text-decoration:underline;font:500 .9375rem var(--font);padding:8px 0}
.icon-button{display:grid;place-items:center;width:40px;height:40px}
:where(input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea){width:100%;min-height:50px;padding:0 14px;border:1px solid var(--line);border-radius:0;background:var(--field);font-size:16px}
textarea{padding:12px 14px;min-height:96px}
input[type=checkbox],input[type=radio]{accent-color:var(--button);width:18px;height:18px}
.form-error,.ta-error{color:var(--err);font-size:.875rem}
.form-surface,.pay-card,.order-summary,.order-list-card,.address-surface,.address-card,.delivery-review,.notification-form,.receipt-target,.receipt-fallback,.receipt-upload,.pay-order,.pending-order,.order-result,.invoice-document-summary,.invoice-page-document,.cart-nudge,.account-session,.order-timeline,.order-items,.pay-guide,.pay-assure,.receipt-inspection,.receipt-tips{border:1px solid var(--line);border-radius:6px;background:#fff;padding:14px}

/* ---------- product detail ---------- */
.store-shell[data-route=product] .store-content{padding-inline:0}
.detail-heading{position:relative;height:0;z-index:4}
.detail-heading>span{display:none}
.detail-heading .text-button{position:absolute;top:0;left:0;width:46px;height:46px;justify-content:center;padding:0;background:#fff;text-decoration:none;font-size:0}
.detail-heading .text-button svg,.detail-heading .text-button i{width:24px;height:24px;font-size:0}
.detail-layout{display:block}
.detail-main-image{position:relative;aspect-ratio:1/1;overflow:hidden;background:#fff}
.gallery-track{position:absolute;inset:0;display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;overscroll-behavior-x:contain}
.gallery-track::-webkit-scrollbar{display:none}
.gallery-slide{position:relative;flex:0 0 100%;width:100%;height:100%;overflow:hidden;scroll-snap-align:start;background:#fff}
.gallery-slide>img,.gallery-slide>.cup-cutout,.gallery-slide>svg{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;object-position:center}
.detail-main-image .favorite-button{top:12px;right:12px}
.gallery-label{position:absolute;left:12px;bottom:12px;padding:5px 9px;background:#fff;border:1px solid var(--line);font-size:.75rem;pointer-events:none}
.gallery-next{position:absolute;right:12px;bottom:12px;display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#fff;box-shadow:0 1px 4px #0002}
.gallery-thumbnails{display:flex;gap:6px;overflow-x:auto;padding:8px 14px;scrollbar-width:none}
.gallery-thumbnails>button{flex:0 0 60px;width:60px;height:60px;padding:2px;border:1px solid var(--line);border-radius:6px;background:#fff;overflow:hidden}
.gallery-thumbnails>button[aria-pressed=true]{border-color:var(--ink)}
.gallery-thumbnails img,.gallery-thumbnails svg{width:100%;height:100%;object-fit:contain}
.detail-copy{display:flex;flex-direction:column;gap:12px;padding:8px 14px 18px}
.detail-eyebrow{font-size:.75rem;color:var(--mute);letter-spacing:.06em}
.detail-copy h1{font:600 1.375rem/1.3 var(--font)}
.full-product-name{color:var(--mute);font-size:.875rem}
.detail-price{display:flex;align-items:baseline;gap:10px}
.detail-price b{font-size:1.625rem;font-weight:700;color:var(--sale)}
.price-note,.detail-description{font-size:.9375rem;line-height:1.55;color:var(--ink-2)}
.price-note{font-size:.8125rem;color:var(--mute)}
.detail-facts{display:grid;grid-template-columns:1fr 1fr;border-top:1px solid var(--line);border-left:1px solid var(--line)}
.detail-facts>div{display:flex;flex-direction:column;gap:2px;padding:10px 12px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.detail-facts span{font-size:.75rem;color:var(--mute)}
.detail-facts strong{font-size:.875rem;font-weight:600}
.care-details{border:1px solid var(--line);padding:10px 12px}
.care-details summary{font-weight:600;cursor:pointer}
.trust-strip{display:grid;gap:10px}
.trust-strip li{display:flex;gap:10px;align-items:center}
.trust-strip span{display:flex;flex-direction:column}
.trust-strip small,.pay-note{color:var(--mute);font-size:.8125rem}
.pay-note{display:flex;gap:8px;align-items:center}
.similar-designs{padding:6px 14px 20px}
.set-unit-badge,.recommendation-size{font-size:.75rem;color:var(--mute)}

/* ---------- cart (source basket arrangement) ---------- */
.store-shell:is([data-route=cart],[data-route=product]){--button:#00c753;--sale:#00c753}
.store-shell[data-route=cart] .quantity-control span::after{content:" adet";font-weight:400}
.cart-title{display:flex;justify-content:space-between;align-items:center;margin:10px 0}
.cart-list{display:flex;flex-direction:column}
.cart-line{display:grid;grid-template-columns:85px auto auto minmax(0,1fr);grid-template-areas:"img name name name" "img meta meta meta" "img qty rm price";column-gap:10px;row-gap:6px;align-items:center;padding:16px 0;border-bottom:1px solid var(--line)}
.cart-line-copy{display:contents}
.cart-image{grid-area:img;align-self:start;width:85px;height:120px;padding:2px;border:1px solid var(--line-2);border-radius:6px;background:#fff;overflow:hidden}
.cart-image img,.cart-image svg{width:100%;height:100%;object-fit:contain}
.cart-line-name{grid-area:name;text-align:left;font:500 .875rem/1.35 var(--font);align-self:start}
.cart-line-copy>span{grid-area:meta;font-size:.6875rem;color:#7296c9}
.cart-line-copy>strong{grid-area:price;justify-self:end;font-size:1rem;font-weight:700;color:var(--sale)}
.quantity-control{grid-area:qty;display:inline-flex;align-items:center;justify-content:space-between;min-width:104px;height:38px;border-radius:19px;background:var(--pill)}
.quantity-control button{display:grid;place-items:center;width:34px;height:38px}
.quantity-control button svg,.quantity-control button i{width:16px;height:16px}
.quantity-control span{font-weight:700;min-width:22px;text-align:center}
.remove-item{grid-area:rm;display:grid;place-items:center;width:38px;height:38px;border-radius:50%;background:var(--pill);color:#f44336}
.checkout-layout{display:block}
.order-summary{margin-top:14px;display:flex;flex-direction:column;gap:2px}
.order-summary h2{font:600 1.125rem var(--font);margin-bottom:8px}
.summary-kicker{font-size:.75rem;color:var(--mute);letter-spacing:.06em}
.summary-row,.summary-total{display:flex;justify-content:space-between;align-items:baseline;padding:8px 0;border-bottom:1px solid var(--line);font-size:.9375rem}
.summary-total strong{font-size:1.25rem}
.summary-return,.cart-next-note{font-size:.8125rem;color:var(--mute);margin-top:10px}
.cart-nudge{display:block;background:var(--pill);border:0;font-size:.875rem;margin:12px 0}
.cart-recommendation{margin:14px 0}
.cart-recommendation h2{font:600 1.125rem var(--font);margin-bottom:8px}
.cart-recommendation-body{display:grid;grid-template-columns:96px 1fr;gap:12px;align-items:center}
.cart-recommendation-visual{width:96px;height:96px;border:1px solid var(--line-2);border-radius:6px;overflow:hidden}
.cart-recommendation-visual img,.cart-recommendation-visual svg{width:100%;height:100%;object-fit:contain}
.cart-recommendation-copy{display:flex;flex-direction:column;gap:4px}
.recommendation-name{font-weight:500;font-size:.875rem}
.recommendation-price{font-weight:700;color:var(--sale)}
.recommendation-add{min-height:40px;width:auto;padding:0 12px;font-size:.875rem}
.recommendation-add .cup-button-icon{width:22px;height:22px;object-fit:contain}
.cart-empty{display:flex;flex-direction:column;align-items:center;gap:10px;text-align:center;padding:48px 18px}
.store-shell[data-route=cart] .store-content{padding-bottom:calc(var(--shop-dock-space,var(--nav-h)) + 16px)}

/* ---------- customer auth (email code) ---------- */
.ta-auth{max-width:520px;margin:8px auto 0}
.ta-tabs{display:flex;border-bottom:1px solid var(--line)}
.ta-tabs span{flex:1;text-align:center;padding:14px 0;font-weight:600;color:#14213d;border-bottom:2px solid #14213d;margin-bottom:-1px}
.ta-auth-kicker{margin:18px 0 4px;font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mute)}
.ta-auth h2{font:600 1.25rem/1.3 var(--font);margin-bottom:6px}
.ta-auth-lead,.ta-note{color:var(--mute);font-size:.875rem;line-height:1.5}
.ta-auth form{background:var(--field);border:1px solid var(--line);padding:16px;margin:14px 0}
.ta-auth label{display:block;font-size:.8125rem;color:var(--mute);margin-bottom:6px}
.ta-auth input[type=email]{background:#fff}
.ta-code{display:grid;grid-template-columns:repeat(6,1fr);gap:8px}
.ta-code input{min-width:0;height:54px;padding:0;text-align:center;font-size:1.375rem;font-weight:600;background:#fff}
.ta-code[data-error=true] input{border-color:var(--err)}
.ta-auth .ta-btn{margin-top:14px}
.ta-row{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.ta-spin{width:18px;height:18px;border:2px solid #fff6;border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}
.ta-assure{display:grid;gap:18px;margin:28px 0 0}
.ta-assure li{display:grid;gap:2px;padding-left:12px;border-left:2px solid var(--ink)}
.ta-assure strong{font-size:.9375rem}
.ta-assure span{font-size:.875rem;color:var(--mute)}
.session-loading__error{color:var(--err)}
@keyframes spin{to{transform:rotate(360deg)}}

/* ---------- account / orders ---------- */
.account-session{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px}
.account-session>div{display:grid;gap:4px;min-width:0;overflow-wrap:anywhere}
.account-session small{font-size:12px;color:var(--mute)}
.order-account-help{margin-top:20px;overflow-wrap:anywhere}
.order-account-help h2{font-size:18px}
.order-account-help p{line-height:1.6}
.order-account-help .primary-button{width:100%;max-width:420px;white-space:normal}
.orders-list{display:flex;flex-direction:column;gap:8px}
.order-list-card{display:grid;grid-template-columns:auto 1fr auto;gap:12px;align-items:center;width:100%;text-align:left}
.order-list-card small{display:block;color:var(--mute);font-size:.8125rem}
.order-id{font-weight:700}
.order-item-name{font-weight:500}
.order-qty{color:var(--mute)}
.order-items{display:flex;flex-direction:column;gap:8px;margin:12px 0}
.order-timeline{margin:12px 0}
.order-edit-banner,.order-continuation,.pending-order{display:flex;gap:12px;align-items:center;margin:10px 0;border-left:3px solid var(--button)}
.pending-order .primary-button{width:auto;min-height:40px}
.pending-order-icon,.result-symbol,.inspection-symbol{display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:var(--pill)}
.purchased-sets{display:grid;grid-template-columns:repeat(var(--set-columns,1),minmax(0,1fr));gap:4px;padding:6px 0}
.purchased-set{aspect-ratio:1;display:grid;place-items:center}
.purchased-set svg,.purchased-set img{width:100%;height:100%;object-fit:contain}
.order-result{text-align:center;display:flex;flex-direction:column;align-items:center;gap:10px}
.order-edit-hint,.result-reason{font-size:.875rem;color:var(--mute)}
.order-add-button{min-height:40px;border:1px solid var(--edge);padding:0 12px}

/* ---------- checkout steps: address, invoice, payment, receipt ---------- */
.checkout-steps{display:grid;grid-template-columns:repeat(4,1fr);margin:6px 0 16px;border-bottom:1px solid var(--line)}
.checkout-steps li{display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 0 10px;font-size:.75rem;color:var(--mute);border-bottom:2px solid transparent;margin-bottom:-1px}
.checkout-steps li span{display:grid;place-items:center;width:24px;height:24px;border:1px solid var(--edge);border-radius:50%;font-size:.6875rem;background:#fff;color:var(--ink)}
.checkout-steps li[aria-current=step]{color:var(--ink);font-weight:600;border-bottom-color:var(--ink)}
.checkout-steps li.done span{background:var(--ink);color:#fff;border-color:var(--ink)}
.delivery-form .form-grid{display:grid;gap:10px}
.field-card,.phone-card{display:flex;flex-direction:column;gap:2px;border:1px solid var(--line);background:var(--field);padding:10px 12px 6px}
.field-card:focus-within,.phone-card:focus-within{border-color:var(--ink);background:#fff}
.field-card span,.phone-card>span{font-size:.75rem;color:var(--mute)}
.field-card input,.field-card textarea,.phone-row input{border:0;background:transparent;min-height:36px;padding:0;font-weight:500}
.phone-row{display:flex;align-items:center;gap:8px}
.phone-country{display:flex;align-items:center;gap:6px;font-weight:600}
.address-field{display:block}
.address-card-head{display:flex;justify-content:space-between;align-items:center}
.legal-consent{display:flex;gap:10px;align-items:flex-start;font-size:.8125rem;color:var(--mute);margin:12px 0}
.checkout-sticky-bar,.checkout-fixed-action{position:sticky;bottom:calc(var(--nav-h) + var(--checkout-keyboard-inset,0px));z-index:70;background:#fff;border-top:1px solid var(--line);padding:10px 0}
.delivery-review{display:flex;flex-direction:column;gap:6px}
.pay-head{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:10px}
.pay-head h1,.invoice-page-heading h1{font:600 1.25rem var(--font)}
.pay-status{display:inline-flex;gap:6px;align-items:center;font-size:.8125rem;color:var(--mute)}
.pay-card{padding:0}
.pay-amount,.pay-row,.pay-copy-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid var(--line)}
.pay-row:last-child{border-bottom:0}
.pay-label{display:block;font-size:.75rem;color:var(--mute);margin-bottom:2px}
.pay-amount strong,.bank-total{font-size:1.375rem;color:var(--sale)}
.bank-iban{font-weight:600;word-break:break-all}
.pay-mini,.pay-copy{min-height:38px;min-width:78px;padding:0 12px;border:1px solid var(--ink);background:#fff;font:600 .8125rem var(--font)}
.pay-links{display:grid;gap:8px;margin:12px 0}
.pay-links button,.pay-cta{display:flex;gap:8px;align-items:center;min-height:46px;padding:0 12px;border:1px solid var(--edge);background:#fff;font:500 .9375rem var(--font)}
.pay-steps,.pay-how{display:grid;gap:10px;padding-left:0}
.pay-steps li,.pay-how li{display:flex;gap:10px;align-items:flex-start}
.pay-steps b,.pay-how b{display:grid;place-items:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--ink);color:#fff;font-size:.75rem}
.pay-how span{display:flex;flex-direction:column}
.pay-how small,.pay-safety-note,.pay-help{font-size:.8125rem;color:var(--mute)}
.receipt-upload{display:flex;flex-direction:column;align-items:center;gap:6px;padding:20px 14px;border-style:dashed;text-align:center}
.receipt-target,.receipt-name{display:flex;justify-content:space-between;gap:8px}
.receipt-inspection,.inspection-top{display:flex;gap:10px;align-items:center}
.inspection-progress{height:4px;background:var(--line);width:100%}
.inspection-progress>*{display:block;height:100%;background:var(--button)}
.invoice-page-kicker{font-size:.75rem;letter-spacing:.08em;color:var(--mute)}
.invoice-document-summary{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.invoice-document-summary span{display:block;font-size:.75rem;color:var(--mute)}
.invoice-page-footer{margin-top:12px}
.invoice-loader-progress,.invoice-loader-mark{max-width:100%}
.color-filter-note{font-size:.8125rem;color:var(--mute)}

/* ---------- discovery deck (kept as flat cards) ---------- */
.discovery-deck,.compact-deck{border:1px solid var(--line);border-radius:6px;padding:12px;margin:12px 0}
.deck-stage{position:relative;aspect-ratio:1;overflow:hidden}
.deck-stage img,.deck-stage svg{width:100%;height:100%;object-fit:contain}
.deck-controls{display:flex;gap:8px;margin-top:8px}
.deck-controls button,.deck-add{min-height:42px;border:1px solid var(--edge);padding:0 12px}

/* ---------- fixed bars: purchase dock + 4-tab bottom nav ---------- */
.shop-dock{position:fixed;left:0;right:0;bottom:0;z-index:60;display:flex;flex-direction:column;max-width:760px;margin-inline:auto;background:#fff;border-top:1px solid var(--line)}
.purchase-dock{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:10px;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line)}
.store-shell[data-route=invoice] .purchase-dock,.store-shell[data-route=payment] .purchase-dock{display:none}
.purchase-dock-price span,.purchase-dock-label{font-size:.75rem;color:var(--mute)}
.purchase-dock-price strong{display:block;font-size:1.125rem;color:var(--sale)}
.purchase-dock-actions{display:flex;gap:8px}
.purchase-dock-button .purchase-dock-label{color:inherit;font-size:1rem}
.purchase-dock-button{height:52px;align-self:center;flex:1;display:flex;align-items:center;justify-content:center;gap:8px;min-height:48px;background:var(--button);color:#fff;font:600 1rem var(--font)}
.purchase-dock-more{display:grid;place-items:center;width:48px;min-height:48px;border:1px solid var(--button);background:#fff}
.bottom-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));height:var(--nav-h);padding-bottom:env(safe-area-inset-bottom)}
.bottom-nav button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:60px;font:500 .75rem/1 var(--font)}
.bottom-nav button[aria-current=page]{font-weight:700}
.bottom-nav svg{width:24px;height:24px;stroke-width:1.2}
.bottom-nav button[aria-current=page] svg{stroke-width:1.7}
.dock-bag{position:relative;display:grid;place-items:center}
.dock-total{display:none}
.cart-count,.favorite-count,.order-badge{position:absolute;top:-6px;right:-10px;min-width:16px;height:16px;display:grid;place-items:center;padding:0 4px;border-radius:8px;background:var(--sale);color:#fff;font-size:.625rem;font-weight:700;line-height:1}
.favorite-count,.order-badge{top:8px;right:calc(50% - 20px)}
.store-toast{position:fixed;z-index:100;left:50%;bottom:calc(var(--shop-dock-space,var(--nav-h)) + 10px);transform:translateX(-50%);max-width:calc(100% - 28px);padding:12px 18px;background:#000;color:#fff;font-size:.875rem;text-align:center}
.store-toast-action{color:#fff;text-decoration:underline;margin-left:10px}
.store-shell[data-route=checkout],.store-shell[data-route=payment],.store-shell[data-route=invoice]{padding-bottom:calc(var(--nav-h) + 96px)}

/* ---------- dialogs ---------- */
dialog{border:1px solid var(--line);border-radius:0;padding:0;color:var(--ink);background:#fff;max-width:calc(100% - 20px)}
dialog::backdrop{background:#0008}
.filter-dialog{width:min(360px,calc(100% - 32px));max-height:calc(100dvh - 40px);box-sizing:border-box;border:1px solid #e7e7e7;border-radius:14px;box-shadow:0 12px 40px #0002;overflow:auto}
.filter-dialog::backdrop{background:#0003}
.filter-panel{padding:20px}
.sheet-handle{width:35px;height:4px;border-radius:4px;background:var(--line);margin:0 auto 14px}
.sheet-heading{display:flex;align-items:center;justify-content:space-between}
.sheet-heading h2{font:600 1.375rem var(--font)}
.filter-panel fieldset{border:0;padding:0;margin:20px 0}
.filter-panel legend{font-weight:600;margin-bottom:10px}
.filter-options{display:flex;flex-wrap:wrap;gap:8px}
.filter-options label{display:flex;align-items:center;gap:7px;min-height:44px;padding:8px 12px;border:1px solid var(--line);background:#fff;font-size:.875rem}
.filter-panel .text-button{display:block;margin:8px auto 0}
.filter-dialog .sheet-handle{display:none}
.filter-dialog .sheet-heading{gap:12px;margin-bottom:18px}
.filter-dialog .sheet-heading h2{margin:0;font-size:16px;line-height:1.4}
.filter-dialog .sheet-heading .icon-button{width:36px;height:36px;min-height:36px;flex:0 0 36px;padding:6px;border:0;border-radius:50%;background:transparent;color:var(--mute)}
.filter-dialog .sheet-heading svg{width:18px;height:18px}
.filter-dialog fieldset{margin:16px 0}
.filter-dialog legend{margin-bottom:9px;font-size:12px}
.filter-dialog .filter-options{gap:7px}
.filter-dialog .filter-options label{position:relative;min-height:36px;box-sizing:border-box;padding:8px 10px;border:1px solid #e7e7e7;border-radius:7px;background:#fafafa;font-size:12px;line-height:1.3;cursor:pointer}
.filter-dialog .filter-options input{position:absolute;width:1px;height:1px;opacity:0;margin:0}
.filter-dialog .filter-options label:has(input:checked){border-color:#00a344;background:#edf9f1;color:#087b36}
.filter-dialog .filter-options label:has(input:focus-visible){outline:2px solid #00a344;outline-offset:2px}
.filter-dialog select{width:100%;min-height:40px;box-sizing:border-box;padding:8px 10px;border:1px solid #e7e7e7;border-radius:7px;background:#fff;color:var(--ink);font:400 12px var(--font)}
.filter-dialog .color-filter-note{margin:0 0 10px;color:var(--mute);font-size:11px;line-height:1.5}
.filter-dialog .apply-filters{min-height:40px;border-radius:7px;font-size:12px;letter-spacing:0}
.filter-dialog .reset-filters{min-height:36px;font-size:12px}
.photo-dialog{width:min(760px,100%);max-height:calc(100svh - 30px);padding:14px}
.photo-close{position:absolute;top:10px;right:10px;z-index:2;background:#fff}
.lightbox-track>div{position:relative;aspect-ratio:1;overflow:hidden}
.lightbox-track>div>img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.photo-position{text-align:center;font-size:.8125rem;color:var(--mute);margin:8px 0}
.photo-controls{display:flex;justify-content:center;gap:12px}
.photo-controls button{min-height:44px;min-width:96px;border:1px solid var(--edge)}
.cart-added-dialog{width:min(320px,calc(100% - 32px));max-height:calc(100dvh - 32px);box-sizing:border-box;padding:20px;border:1px solid #e7e7e7;border-radius:14px;box-shadow:0 12px 40px #0002;overflow:auto}
.cart-added-dialog::backdrop{background:#0003}
.cart-added-dialog h2{margin:0 32px 16px 0;font-size:16px;line-height:1.4;font-weight:600}
.cart-added-product{display:flex;gap:10px;align-items:center}
.cart-added-product img{width:48px;height:48px;flex:0 0 48px;object-fit:contain}
.cart-added-product>div{min-width:0}
.cart-added-product strong{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:12px;line-height:1.45;font-weight:500}
.cart-added-product span{display:block;margin-top:4px;color:var(--mute);font-size:11px;line-height:1.4}
.cart-added-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:18px}
.cart-added-dialog .cart-added-actions button{min-height:40px;padding:8px;border-radius:7px;font-size:12px;letter-spacing:0}
.cart-added-close{position:absolute;top:8px;right:8px;width:36px;height:36px;padding:0;border:0;background:transparent;color:var(--mute);font-size:24px;cursor:pointer}
.payment-reason-panel{padding:18px;max-width:460px}
.payment-reason-header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.payment-reason-eyebrow{font-size:.75rem;letter-spacing:.08em;color:var(--mute)}
.payment-reason-header h2{font:600 1.25rem var(--font)}
.payment-reason-close{display:grid;place-items:center;width:36px;height:36px}
.payment-reason-list{display:grid;gap:12px;margin:14px 0}
.payment-reason-list li{display:flex;gap:10px}
.payment-reason-icon{display:grid;place-items:center;flex:none;width:30px;height:30px;border:1px solid var(--edge);border-radius:50%;font-size:.75rem;font-weight:700}
.payment-reason-list p,.payment-reason-intro,.payment-reason-closing{font-size:.875rem;color:var(--ink-2)}

/* ---------- footer ---------- */
.store-footer{display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;margin-top:28px;padding:20px 14px 12px;border-top:1px solid var(--line);color:var(--mute);font-size:.8125rem}
.footer-facts{color:var(--ink);font-weight:500}
.footer-links{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 18px}
.store-footer a,.store-footer button{color:var(--ink);text-decoration:underline;padding:6px 0;font:inherit}

/* ---------- re-skin of kept modules (location picker, invoice popup, notifications, whatsapp) ---------- */
.location-trigger,.location-search-input{border-radius:0!important;border-color:var(--line)!important;background:var(--field)!important;color:var(--ink)!important;font-weight:500}
.location-chev,.location-check{color:var(--ink)!important}
.location-sheet,.invoice-dialog-shell,.order-notification{border-radius:0!important;box-shadow:none}
.invoice-dialog-header span{color:var(--mute)}
.wa-header-link,.wa-help{border-radius:0!important;background:#fff!important;border:1px solid var(--edge)!important;color:var(--ink)!important;font-family:var(--font)!important}

@media(min-width:760px){
  .product-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px 12px}
  .popular-track .product-card{flex-basis:23%}
  .store-shell[data-route=product] .store-content{padding-inline:14px}
  .detail-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:28px;align-items:start}
  .browse-tools{grid-template-columns:1fr 1fr 1fr}
  .browse-tools .all-browse{grid-column:auto}
  .checkout-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:24px;align-items:start}
  .order-summary{margin-top:0;position:sticky;top:12px}
  .cat-nav ul{grid-template-columns:repeat(4,1fr)}
}
@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}

/* browse chrome only on listing routes */
.store-shell:not([data-route=home]):not([data-route=catalog]) :is(.cat-nav,.browse-chrome,.browse-tools){display:none}

/* category page chrome: breadcrumb, two tabs, tools, grid */
.breadcrumb{display:flex;align-items:center;gap:6px;padding:10px 14px 0;font-size:.8125rem;color:var(--mute)}
.breadcrumb[hidden]{display:none}
.breadcrumb button{background:none;border:0;padding:0;color:var(--mute);font:inherit;cursor:pointer;text-decoration:underline}
.breadcrumb [aria-current]{color:var(--ink);font-weight:500}
.browse-chrome{display:none}
.store-shell[data-search=open] .browse-chrome:not([hidden]){display:block}
.promise-bar,.browse-scope,.browse-bar,.browse-tools .all-browse{display:none}
.store-shell[data-route=catalog] .cat-nav{display:block}
.store-shell[data-route=catalog] .cat-nav:not(.is-open) li:not(:has(button[data-cat=six])):not(:has(button[data-cat=two])):not(:has([aria-pressed=true])){display:none}
.store-shell[data-route=catalog] .page-title{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);margin:0}
.store-shell[data-route=catalog] .store-content{padding-top:4px}
