/* Nayamart storefront. Mobile first: base rules = phone, then min-width 640 / 900 / 1200. */
:root{--ink:#14231f;--mut:#5d6f69;--line:#e4eae7;--bg:#f4f7f5;--card:#fff;--r:14px;--r-s:10px;--sh:0 1px 2px rgba(20,35,31,.06),0 4px 14px rgba(20,35,31,.06);
--gut:16px;--tab:64px;--hd:0px;--font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-top:120px}
body{margin:0;font:400 15px/1.5 var(--font);color:var(--ink);background:var(--bg);padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom));-webkit-tap-highlight-color:transparent}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;color:inherit}
h1,h2,h3{line-height:1.25;margin:0;letter-spacing:-.01em}
h1{font-size:22px}h2{font-size:18px}h3{font-size:15px}
p{margin:0 0 8px}
ul{margin:0;padding:0;list-style:none}
.ic{flex:0 0 auto;vertical-align:-.2em}
.wrap{width:100%;max-width:1240px;margin-inline:auto;padding-inline:max(var(--gut),env(safe-area-inset-left))}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.skip{position:absolute;left:8px;top:-60px;background:var(--c-primary);color:#fff;padding:10px 14px;border-radius:8px;z-index:100}
.skip:focus{top:8px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--c-primary) 55%,#fff);outline-offset:2px;border-radius:6px}
.muted{color:var(--mut)}
.page-top{padding-top:16px;padding-bottom:28px}
.narrow{max-width:520px}.narrow-lg{max-width:780px}
.card-flat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:16px;margin-bottom:12px}
.prose h1{margin-bottom:10px}.prose h2,.prose h3,.prose h4{margin:18px 0 8px}.prose p,.prose li{color:#2b3f39}
.prose ul{list-style:disc;padding-left:20px;margin-bottom:10px}.prose a{color:var(--c-primary);text-decoration:underline}

/* buttons */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:0 18px;border:1.5px solid transparent;border-radius:12px;background:#fff;font-weight:600;cursor:pointer;transition:background-color .15s,border-color .15s,transform .05s;text-align:center;line-height:1.2}
.btn:active{transform:scale(.98)}
.btn-primary{background:var(--c-primary);color:#fff}.btn-primary:hover{background:var(--c-primary-d)}
.btn-ghost{border-color:var(--line);background:#fff}.btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary)}
.btn-light{background:#fff;color:var(--c-primary-d)}
.btn-wa{background:#1fa855;color:#fff}.btn-wa:hover{background:#188f48}
.btn-lg{min-height:50px;font-size:16px;padding:0 22px}.btn-sm{min-height:36px;padding:0 12px;font-size:13px;border-radius:10px}
.btn-block{display:flex;width:100%}
.btn[disabled]{opacity:.5;cursor:not-allowed}
.ib{display:inline-grid;place-items:center;width:44px;height:44px;border:0;background:transparent;border-radius:12px;cursor:pointer;position:relative}
.ib:hover{background:var(--c-primary-l)}
.badge{position:absolute;top:2px;right:0;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--c-sale);color:#fff;font:700 11px/18px var(--font);text-align:center;font-style:normal}
.badge[hidden]{display:none}
.lnk{background:none;border:0;padding:0;color:var(--c-primary);font-weight:600;cursor:pointer;text-decoration:underline}

/* promo bar + header */
.promo-bar{background:var(--c-primary-d);color:#fff;font-size:13px;text-align:center;padding:7px var(--gut)}
.promo-bar a,.promo-bar span{display:inline-flex;align-items:center;gap:6px}
.hd{position:sticky;top:0;z-index:40;background:#fff;border-bottom:1px solid var(--line)}
.hd-row{display:grid;grid-template-columns:auto 1fr auto;grid-template-areas:"menu logo act" "srch srch srch";align-items:center;column-gap:4px;row-gap:8px;padding-block:8px}
.hd-menu{grid-area:menu;margin-left:-8px}
.logo{grid-area:logo;display:flex;align-items:center;gap:8px;font-weight:800;font-size:19px;color:var(--c-primary-d);min-width:0}
.logo-img{height:34px;width:auto;max-width:160px;object-fit:contain}
.logo-mark{display:grid;place-items:center;width:36px;height:36px;border-radius:11px;background:var(--c-primary);color:#fff}
.logo-txt{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hd-act{grid-area:act;display:flex;align-items:center;margin-right:-8px}
.hd-ut{display:none}
.srch{grid-area:srch;position:relative;display:flex;align-items:center;background:var(--bg);border:1.5px solid transparent;border-radius:12px;height:44px}
.srch:focus-within{background:#fff;border-color:var(--c-primary)}
.srch-i{position:absolute;left:13px;color:var(--mut);pointer-events:none}
.srch input{flex:1;min-width:0;height:100%;border:0;background:transparent;padding:0 12px 0 40px;font-size:16px;outline:0;-webkit-appearance:none;appearance:none}
.srch input::-webkit-search-cancel-button{display:none}
.srch-b{display:none;height:34px;margin-right:5px;padding:0 16px;border:0;border-radius:9px;background:var(--c-primary);color:#fff;font-weight:600;cursor:pointer}
.sug{position:absolute;left:0;right:0;top:calc(100% + 6px);background:#fff;border:1px solid var(--line);border-radius:var(--r);box-shadow:var(--sh);overflow:hidden;z-index:50}
.sug a{display:flex;align-items:center;gap:12px;padding:10px 12px}.sug a:hover,.sug a.on{background:var(--c-primary-l)}
.sug img{width:44px;height:44px;border-radius:8px;object-fit:cover;background:var(--bg)}
.sug b{display:block;font-size:14px;font-weight:600;line-height:1.3}.sug small{color:var(--mut)}
.hd-nav{display:none}

/* drawer */
.ov{position:fixed;inset:0;background:rgba(10,20,17,.5);z-index:60;opacity:0;transition:opacity .2s}
.ov.show{opacity:1}
.drawer{position:fixed;top:0;bottom:0;left:0;width:min(86vw,340px);background:#fff;z-index:70;transform:translateX(-100%);transition:transform .22s ease;display:flex;flex-direction:column;overscroll-behavior:contain}
.drawer.show{transform:none}
.drawer[hidden],.ov[hidden]{display:none}
.drawer-h{display:flex;align-items:center;justify-content:space-between;padding:8px 8px 8px 16px;border-bottom:1px solid var(--line);font-size:17px}
.drawer-l{overflow:auto;padding:8px 8px calc(16px + env(safe-area-inset-bottom))}
.drawer-l a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:10px;font-weight:600}
.drawer-l a:hover{background:var(--c-primary-l)}
.drawer-l .ic{color:var(--c-primary)}
.dr-row{display:flex;align-items:center}.dr-row a{flex:1}
.dr-row .ib[aria-expanded=true] .ic{transform:rotate(180deg)}
.dr-sub{padding:0 0 6px 44px}.dr-sub a{font-weight:500;padding:9px 12px;color:#2b3f39}

/* sections */
.sec{padding-block:14px 6px}
.sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.sec-h h2{font-size:19px}.sec-h a{color:var(--c-primary);font-weight:600;font-size:14px;white-space:nowrap}

/* hero */
.hero{position:relative;padding-top:12px}
.hero-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:var(--r)}
.hero-track::-webkit-scrollbar{display:none}
.hero-slide{flex:0 0 100%;scroll-snap-align:center;position:relative;min-height:176px;border-radius:var(--r);overflow:hidden;color:#fff;display:flex;align-items:center}
.hero-txt{position:relative;z-index:1;padding:22px 20px;max-width:68%}
.hero-txt h2{font-size:22px;line-height:1.2;margin-bottom:6px}
.hero-txt p{font-size:14px;opacity:.92;margin-bottom:12px}
.hero-img{position:absolute;right:0;bottom:0;height:100%;width:auto;max-width:55%;object-fit:cover;object-position:left center}
.hero-dots{display:flex;justify-content:center;gap:6px;margin-top:10px}
.hero-dots button{width:8px;height:8px;border-radius:99px;border:0;padding:0;background:#c5d0cb;cursor:pointer;transition:width .2s,background-color .2s}
.hero-dots button.on{width:22px;background:var(--c-primary)}

/* category icons */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 6px}
.cat{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center}
.cat-i{display:grid;place-items:center;width:100%;max-width:68px;aspect-ratio:1;border-radius:18px;background:var(--c-primary-l);color:var(--c-primary-d);transition:transform .15s}
.cat:active .cat-i{transform:scale(.94)}
.cat-i img{width:60%;height:60%;object-fit:contain}
.cat-n{font-size:12px;font-weight:600;line-height:1.25;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* product cards */
.rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x proximity;padding-bottom:6px;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none}
.rail::-webkit-scrollbar{display:none}
.rail .pc{flex:0 0 44vw;max-width:210px;scroll-snap-align:start}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.pc{display:flex;flex-direction:column;background:#fff;border:1px solid var(--line);border-radius:var(--r);overflow:hidden;position:relative;min-width:0}
.pc-img{position:relative;display:block;aspect-ratio:1;background:#fff;padding:8px}
.pc-img img{width:100%;height:100%;object-fit:contain}
.pc-badge{position:absolute;top:8px;left:8px;background:var(--c-sale);color:#fff;font:700 11px/1 var(--font);padding:5px 7px;border-radius:7px}
.pc-out{position:absolute;inset:auto 0 8px 0;margin-inline:8px;text-align:center;background:rgba(20,35,31,.78);color:#fff;font-size:12px;font-weight:600;padding:5px;border-radius:7px}
.pc.is-out .pc-img img{opacity:.45}
.pc-b{display:flex;flex-direction:column;gap:2px;padding:4px 10px 10px;flex:1}
.pc-n{font-size:13px;line-height:1.35;font-weight:500;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.pc-u{font-size:12px;color:var(--mut)}
.pc-p{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px 6px;margin:4px 0 8px;min-height:2.5em;align-content:flex-start}
.pc-p b{font-size:15px;font-weight:800}.pc-p b.sale,.sale{color:var(--c-sale)}
.pc-p s{font-size:12px;color:var(--mut)}
.pc-b .btn{margin-top:auto;min-height:38px;padding:0 10px;font-size:14px;border-radius:10px}
.pc-act{margin-top:auto}
.stp{display:flex;align-items:center;justify-content:space-between;height:38px;border:1.5px solid var(--c-primary);border-radius:10px;overflow:hidden}
.stp button{width:40px;height:100%;border:0;background:var(--c-primary-l);color:var(--c-primary-d);cursor:pointer;display:grid;place-items:center}
.stp button:active{background:var(--c-primary);color:#fff}
.stp span{font-weight:700;min-width:24px;text-align:center}

/* listing */
.crumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;font-size:13px;color:var(--mut);margin-bottom:10px}
.crumbs a:hover{color:var(--c-primary)}.crumbs span{color:var(--ink)}
.lst-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:10px}
.chips{display:flex;gap:8px;overflow-x:auto;padding-bottom:8px;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut);scrollbar-width:none}
.chips::-webkit-scrollbar{display:none}
.chip{flex:0 0 auto;padding:8px 14px;border:1px solid var(--line);background:#fff;border-radius:99px;font-size:13px;font-weight:600}
.chip:hover{border-color:var(--c-primary);color:var(--c-primary)}
.tools{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:6px 0 14px}
.sel{position:relative;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 10px;background:#fff;border:1px solid var(--line);border-radius:10px;color:var(--mut)}
.sel select{border:0;background:transparent;font-size:14px;font-weight:600;color:var(--ink);padding-right:4px;outline:0;max-width:44vw}
.tgl input{position:absolute;opacity:0;pointer-events:none}
.tgl span{display:inline-flex;align-items:center;height:38px;padding:0 14px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}
.tgl input:checked+span{background:var(--c-primary-l);border-color:var(--c-primary);color:var(--c-primary-d)}
.tgl input:focus-visible+span{outline:3px solid color-mix(in srgb,var(--c-primary) 55%,#fff)}
.prc summary{list-style:none;display:inline-flex;align-items:center;gap:6px;height:38px;padding:0 12px;background:#fff;border:1px solid var(--line);border-radius:10px;font-size:14px;font-weight:600;cursor:pointer}
.prc summary::-webkit-details-marker{display:none}
.prc{position:relative}
.prc-b{position:absolute;z-index:20;top:44px;left:0;display:flex;align-items:center;gap:6px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px;box-shadow:var(--sh)}
.prc-b input{width:92px;height:38px;border:1px solid var(--line);border-radius:8px;padding:0 8px;font-size:16px}
.reset{font-size:13px;color:var(--c-sale);font-weight:600;padding:0 4px}
.pager{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:22px 0}
.pager a,.pager b,.pager span{display:grid;place-items:center;min-width:40px;height:40px;padding:0 8px;border-radius:10px;border:1px solid var(--line);background:#fff;font-weight:600}
.pager b{background:var(--c-primary);border-color:var(--c-primary);color:#fff}.pager span{border:0;background:none}
.empty{text-align:center;padding:48px 16px;color:var(--mut)}
.empty .ic{color:#b4c2bc;margin:0 auto 10px}.empty h1,.empty h2{color:var(--ink);margin-bottom:6px}.empty .btn{margin:12px 4px 0}
.seo-txt{margin-top:22px}

/* product page */
.pd{display:grid;gap:16px}
.pd-main{position:relative;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;aspect-ratio:1}
.pd-main img{width:100%;height:100%;object-fit:contain}
.pd-th{display:flex;gap:8px;margin-top:8px;overflow-x:auto}
.pd-th button{flex:0 0 64px;height:64px;padding:4px;background:#fff;border:2px solid var(--line);border-radius:10px;cursor:pointer}
.pd-th button.on{border-color:var(--c-primary)}.pd-th img{width:100%;height:100%;object-fit:contain}
.pd-brand{font-size:13px;font-weight:700;color:var(--c-primary);text-transform:uppercase;letter-spacing:.04em}
.pd h1{font-size:22px;margin:2px 0 8px}
.pd-meta{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13px;color:var(--mut);align-items:center}
.pd-meta span{display:inline-flex;align-items:center;gap:5px}
.pd-price{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 10px;margin:14px 0}
.pd-price b{font-size:28px;font-weight:800;letter-spacing:-.02em}.pd-price s{color:var(--mut)}
.pd-price em{font-style:normal;font-size:12px;font-weight:700;color:var(--c-sale);background:#fdecec;padding:3px 8px;border-radius:6px}
.pd-buy{display:grid;grid-template-columns:auto 1fr;gap:10px;margin-bottom:14px}
.pd-buy .qty{grid-row:span 1}
.pd-buy #pd-now{grid-column:auto}
.pd-buy #pd-add{display:none}
.qty{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;height:50px;background:#fff}
.qty button{width:44px;height:100%;border:0;background:none;cursor:pointer;display:grid;place-items:center;color:var(--c-primary-d)}
.qty input{width:44px;height:100%;border:0;text-align:center;font-weight:700;font-size:16px;-moz-appearance:textfield;background:transparent}
.qty input::-webkit-outer-spin-button,.qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.pd-perks{display:grid;gap:8px;padding:14px 0;border-block:1px solid var(--line);margin-bottom:14px;font-size:14px}
.pd-perks li{display:flex;align-items:center;gap:10px}.pd-perks .ic{color:var(--c-primary)}.pd-perks a{text-decoration:underline}
.pd-desc{margin-bottom:14px}.pd-desc h2{margin-bottom:8px}
.tag{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:99px}
.tag-ok{background:#e3f6ec;color:#0a7a47}.tag-low{background:#fff1dc;color:#a35a00}.tag-out{background:#fdecec;color:#b42323}
.buybar{position:fixed;left:0;right:0;bottom:0;z-index:35;display:flex;align-items:center;gap:12px;padding:10px max(var(--gut),env(safe-area-inset-left)) calc(10px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid var(--line);box-shadow:0 -6px 18px rgba(20,35,31,.06)}
.buybar-p{flex:1;line-height:1.2}.buybar-p small{display:block;color:var(--mut)}.buybar-p b{font-size:19px}
.buybar .btn{min-width:150px}
body.pg-product{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
body.pg-product .tabbar{display:none}

/* forms */
.f{display:block;margin-bottom:12px}.f>span{display:block;font-size:13px;font-weight:600;margin-bottom:5px;color:#2b3f39}
.f input,.f textarea,.f select{width:100%;min-height:46px;padding:10px 12px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-size:16px;outline:0}
.f textarea{resize:vertical;min-height:80px}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--c-primary)}
.f input:disabled{background:var(--bg);color:var(--mut)}
.fields{display:grid;gap:0 12px}
.chk{display:flex;align-items:center;gap:8px;font-size:14px;margin-bottom:8px}.chk input{width:18px;height:18px;accent-color:var(--c-primary)}
.err{background:#fdecec;color:#a41d1d;border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:12px}.err[hidden]{display:none}
.note{display:flex;gap:10px;align-items:flex-start;border-radius:12px;padding:12px 14px;font-size:14px;margin-bottom:12px}
.note .ic{margin-top:2px}
.note-warn{background:#fff4e0;color:#8a4a00}.note-ok{background:#e3f6ec;color:#0a6a3c}.note-info{background:#e8f1fb;color:#1c4f86}
.pill{display:inline-block;padding:3px 10px;border-radius:99px;font-size:12px;font-weight:700;color:var(--pc);background:color-mix(in srgb,var(--pc) 12%,#fff)}
.skel{height:84px;border-radius:var(--r);background:linear-gradient(90deg,#eaf0ed 25%,#f4f7f5 50%,#eaf0ed 75%);background-size:200% 100%;animation:sk 1.2s linear infinite;margin-bottom:10px}
@keyframes sk{to{background-position:-200% 0}}

/* cart / checkout */
.cartx,.co{display:grid;gap:14px}
.cart-i{display:grid;grid-template-columns:72px 1fr;gap:12px;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px;margin-bottom:10px;position:relative}
.cart-i img{width:72px;height:72px;object-fit:contain;border-radius:10px;background:#fff}
.cart-i h3{font-size:14px;font-weight:600;padding-right:30px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.cart-i small{color:var(--mut)}
.cart-i .cp{display:flex;align-items:center;justify-content:space-between;margin-top:8px;gap:8px}
.cart-i .cp>div:first-child{display:flex;flex-direction:column;line-height:1.25}
.cart-i .cp b{font-size:15px;white-space:nowrap}.cart-i .cp s{font-size:12px;color:var(--mut)}
.cart-i .rm{position:absolute;top:6px;right:6px;width:36px;height:36px}
.cart-i .stp{width:112px}
.cart-i .warn{grid-column:1/-1;font-size:12px;color:#8a4a00;background:#fff4e0;border-radius:8px;padding:6px 10px}
.sum{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:16px;align-self:start}
.sum h2{margin-bottom:12px}.sum .btn{margin-top:10px}
.sum dl,.tot{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin:0 0 12px}
.sum dt,.tot dt{color:var(--mut)}.sum dd,.tot dd{margin:0;font-weight:600;text-align:right}
.tot .grand{font-size:17px;color:var(--ink);font-weight:800;padding-top:8px;border-top:1px dashed var(--line)}
.tot dd[hidden],.tot dt[hidden]{display:none}
.co-main section h2{display:flex;align-items:center;gap:10px;margin-bottom:12px;font-size:16px}
.num{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:13px}
.opts{display:grid;gap:8px}
.opt{display:flex;gap:12px;align-items:flex-start;padding:12px;border:1.5px solid var(--line);border-radius:12px;cursor:pointer;background:#fff}
.opt:has(input:checked){border-color:var(--c-primary);background:var(--c-primary-l)}
.opt input{margin-top:3px;width:18px;height:18px;accent-color:var(--c-primary);flex:0 0 auto}
.opt b{display:block;font-size:14px}.opt small{display:block;color:var(--mut);font-size:13px;line-height:1.4}
.co-items{display:grid;gap:10px;margin-bottom:12px;max-height:300px;overflow:auto}
.co-items li{display:grid;grid-template-columns:48px 1fr auto;gap:10px;align-items:center;font-size:13px}
.co-items img{width:48px;height:48px;object-fit:contain;border-radius:8px;border:1px solid var(--line);background:#fff}
.co-items small{display:block;color:var(--mut)}
.vch{display:flex;gap:8px;margin-bottom:6px}.vch input{flex:1;min-width:0;height:44px;border:1.5px solid var(--line);border-radius:12px;padding:0 12px;font-size:16px;text-transform:uppercase}
.vch-m{font-size:13px;margin-bottom:8px}.vch-m.ok{color:#0a7a47}.vch-m.bad{color:#b42323}
#co-go{position:sticky;bottom:calc(var(--tab) + 8px + env(safe-area-inset-bottom));box-shadow:0 8px 20px rgba(11,138,95,.3)}

/* auth, account, order */
.auth-wrap{padding-block:24px}
.auth{max-width:420px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px 20px;text-align:center}
.auth-ic{display:grid;place-items:center;width:60px;height:60px;border-radius:18px;background:#e3f6ec;color:#1fa855;margin:0 auto 12px}
.auth h1{margin-bottom:6px}.auth form{text-align:left;margin-top:18px}
.pfx{display:flex;align-items:center;border:1.5px solid var(--line);border-radius:12px;background:#fff;overflow:hidden}
.pfx:focus-within{border-color:var(--c-primary)}
.pfx i{font-style:normal;font-weight:700;padding:0 4px 0 14px;color:var(--mut)}
.pfx input{border:0!important;min-height:46px;flex:1}
.otp{text-align:center;letter-spacing:.5em;font-size:24px!important;font-weight:700}
.fine{font-size:12px;color:var(--mut);margin-top:16px}.fine a{text-decoration:underline}
.dbg{background:#fff4e0;color:#8a4a00;border-radius:8px;padding:8px;font-size:13px}
.tabs{display:flex;gap:6px;overflow-x:auto;margin:10px 0 14px;scrollbar-width:none}
.tabs a{flex:1 0 auto;display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:10px 16px;border-radius:12px;background:#fff;border:1px solid var(--line);font-weight:600}
.tabs a.on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.addr{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}.addr p{margin:2px 0}
.addr-act{display:flex;gap:6px;flex-wrap:wrap;align-items:flex-start}
.ord{display:flex;justify-content:space-between;align-items:center;gap:12px}.ord small{display:block;color:var(--mut)}
.ord-r{text-align:right;display:grid;gap:4px;justify-items:end}
.ord-head{display:grid;grid-template-columns:repeat(3,auto);gap:12px;justify-content:space-between}
.done{text-align:center;background:#fff;border:1px solid var(--line);border-radius:20px;padding:26px 18px;margin-bottom:14px}
.done-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e3f6ec;color:#0a7a47;margin:0 auto 12px}
.done .btn{margin:12px 0 8px}

/* footer, tabbar, floats */
.ft{background:#10231e;color:#c9d6d1;margin-top:28px;padding-top:28px}
.ft a:hover{color:#fff}
.ft-grid{display:grid;gap:22px;padding-bottom:22px}
.ft .logo{color:#fff}.ft p{margin:10px 0}
.ft-ct{display:grid;gap:8px;font-size:14px}.ft-ct li{display:flex;gap:8px;align-items:flex-start}.ft-ct .ic{margin-top:3px;color:var(--c-accent)}
.ft-col h3{color:#fff;margin-bottom:10px}.ft-col li{margin-bottom:8px;font-size:14px}
.ft-copy{border-top:1px solid rgba(255,255,255,.1);padding:14px 0;font-size:13px}
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:45;display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);height:calc(var(--tab) + env(safe-area-inset-bottom))}
.tabbar a,.tabbar button{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;font-size:11px;font-weight:600;color:var(--mut);cursor:pointer}
.tabbar .on{color:var(--c-primary)}
.tabbar .badge{top:6px;right:calc(50% - 22px)}
.wa-float{display:none}
.toast{position:fixed;left:50%;bottom:calc(var(--tab) + 18px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:80;background:#14231f;color:#fff;padding:11px 16px;border-radius:12px;font-size:14px;max-width:90vw;box-shadow:var(--sh)}
.toast[hidden]{display:none}
body.pg-product .toast{bottom:calc(88px + env(safe-area-inset-bottom))}
body.noscroll{overflow:hidden}

/* ---- tablet 640+ ---- */
@media (min-width:640px){
  :root{--gut:24px}
  h1{font-size:26px}
  .grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
  .cats{grid-template-columns:repeat(6,1fr)}
  .hero-slide{min-height:230px}.hero-txt{padding:32px;max-width:55%}.hero-txt h2{font-size:30px}.hero-txt p{font-size:16px}
  .rail{margin-inline:0;padding-inline:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));overflow:visible;gap:14px}
  .rail .pc{max-width:none}
  .rail .pc:nth-child(n+5){display:none}
  .fields{grid-template-columns:1fr 1fr}.f-full{grid-column:1/-1}
  .pd{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:28px;align-items:start}
  .pd-gal{position:sticky;top:130px}
  .pd-buy{grid-template-columns:auto 1fr 1fr}.pd-buy #pd-add{display:inline-flex}
  .buybar{display:none}
  body.pg-product{padding-bottom:calc(var(--tab) + env(safe-area-inset-bottom))}
  body.pg-product .tabbar{display:grid}
  .ft-grid{grid-template-columns:1.4fr 1fr 1fr 1fr}
}
/* ---- desktop 1024+ ---- */
@media (min-width:1024px){
  :root{--tab:0px;--gut:32px}
  body{font-size:15px;padding-bottom:0!important}
  .tabbar,.hd-menu,.ov{display:none!important}
  .hd-row{grid-template-columns:auto minmax(0,1fr) auto;grid-template-areas:"logo srch act";column-gap:28px;padding-block:14px}
  .hd-act{margin-right:0;gap:4px}
  .hd-user{width:auto;padding:0 12px;gap:8px}.hd-ut{display:inline;font-weight:600;font-size:14px}
  .srch{height:46px}.srch-b{display:block}.srch input{font-size:15px}
  .hd-nav{display:block;border-top:1px solid var(--line)}
  .hd-nav .wrap{display:flex;align-items:center;gap:6px;height:46px}
  .hd-nav a{padding:8px 14px;border-radius:10px;font-weight:600;font-size:14px;color:#2b3f39}.hd-nav a:hover{background:var(--c-primary-l);color:var(--c-primary-d)}
  .allcat{display:inline-flex;align-items:center;gap:8px;height:36px;padding:0 16px;margin-right:8px;border:0;border-radius:10px;background:var(--c-primary);color:#fff;font-weight:600;cursor:pointer}
  .grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
  .cats{grid-template-columns:repeat(9,1fr)}
  .cat-i{max-width:76px}
  .rail{grid-template-columns:repeat(5,minmax(0,1fr))}
  .rail .pc:nth-child(n+5){display:flex}.rail .pc:nth-child(n+6){display:none}
  .hero-slide{min-height:300px}.hero-txt{padding:48px 56px;max-width:48%}.hero-txt h2{font-size:38px}
  .cartx,.co{grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}
  .sum{position:sticky;top:130px}
  #co-go{position:static;box-shadow:none}
  .toast{bottom:24px}
  .wa-float{display:grid;place-items:center;position:fixed;right:22px;bottom:22px;z-index:40;width:56px;height:56px;border-radius:50%;background:#1fa855;color:#fff;box-shadow:0 6px 18px rgba(31,168,85,.4)}
  .wa-float:hover{background:#188f48}
  .pc:hover{border-color:var(--c-primary);box-shadow:var(--sh)}
  .usp{grid-template-columns:repeat(4,1fr)!important}
}
@media (min-width:1200px){.grid{grid-template-columns:repeat(5,minmax(0,1fr))}}

/* banners, usp, cta (shared) */
.bnr{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;margin-inline:calc(var(--gut) * -1);padding-inline:var(--gut)}
.bnr::-webkit-scrollbar{display:none}
.bnr-i{position:relative;display:block;flex:0 0 82%;scroll-snap-align:start;border-radius:var(--r);overflow:hidden;min-height:96px}
@media (min-width:640px){.bnr{display:grid;overflow:visible;margin-inline:0;padding-inline:0;grid-template-columns:repeat(var(--n,2),1fr)}.bnr-i{flex:none}}
.bnr-i img{width:100%;height:100%;object-fit:cover;aspect-ratio:2/1}
.bnr-t{position:absolute;left:16px;bottom:14px;right:16px;color:#fff;font-weight:800;font-size:18px;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.bnr-i:not(:has(img)){display:flex;align-items:flex-end;padding:16px;aspect-ratio:2/1}
.bnr-2{--n:2}.bnr-3{--n:3}.bnr-1{--n:1}
.usp{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.usp li{display:flex;gap:10px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:12px}
.usp-i{display:grid;place-items:center;flex:0 0 42px;height:42px;border-radius:12px;background:var(--c-primary-l);color:var(--c-primary-d)}
.usp b{display:block;font-size:13px;line-height:1.25}.usp span:not(.usp-i){display:block;font-size:12px;color:var(--mut);line-height:1.3}
.cta{display:flex;flex-direction:column;gap:14px;align-items:flex-start;color:#fff;border-radius:var(--r);padding:22px}
.cta h2{font-size:21px;margin-bottom:4px}.cta p{margin:0;opacity:.92}
@media (min-width:640px){.cta{flex-direction:row;align-items:center;justify-content:space-between;padding:28px 32px}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@supports not (backdrop-filter:blur(1px)){.sug{background:#fff}}

/* ===== Prime District Market brand layer (navy + yellow from the logo; older/parent users 25-40: bigger text, clearer actions) ===== */
body{font-size:16px;line-height:1.55}
h1{font-size:25px}h2{font-size:20px}
.btn{min-height:48px;font-size:16px;border-radius:12px}
.btn-sm{min-height:40px;font-size:14px}
.btn-primary{background:var(--c-primary);color:#fff}.btn-primary:hover{background:var(--c-primary-d)}
.btn-accent{background:var(--c-accent);color:#07304f;border-color:var(--c-accent)}.btn-accent:hover{background:var(--c-accent-d);color:#fff}
.lead{font-size:16px;margin:-4px 0 14px}
.promo-bar{background:var(--c-primary);font-size:14px;font-weight:600}
.promo-bar svg{color:var(--c-accent)}
/* logo */
.logo{gap:10px;color:var(--c-primary)}
.logo-img{height:44px;width:auto;max-width:200px;object-fit:contain}
.logo-txt{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.logo-txt b{font-size:16px;font-weight:800;letter-spacing:.01em;text-transform:uppercase;color:var(--c-primary);white-space:nowrap}
.logo-txt i{font-style:normal;font-size:13px;font-weight:700;letter-spacing:.32em;text-transform:uppercase;color:var(--c-accent-d)}
.ft .logo-img.on-dark{background:#fff;border-radius:14px;padding:6px 10px;height:56px}
.ft .logo-txt b{color:#fff}.ft .logo-txt i{color:var(--c-accent)}
/* header actions */
.hd-act{gap:2px}
.hd-wa{color:#128c4a}.hd-wa:hover{background:#e3f6ec}
.ib{width:48px;height:48px}
.srch{height:48px;border-radius:14px;background:#eef3f7}
.srch input{font-size:16px}
.badge{background:var(--c-sale)}
/* hero */
.hero-slide{min-height:190px}
.hero-slide.dark{color:#07304f}.hero-slide.dark p{opacity:.9}
.hero-slide.full{display:block;aspect-ratio:5/2;min-height:0;background:#e9eef3}
.hero-slide.full img{width:100%;height:100%;object-fit:cover}
.hero-txt h2{font-size:24px}
.hero-dots button.on{background:var(--c-accent-d)}
/* cards */
.pc-n{font-size:14px;font-weight:600}
.pc-p b{font-size:17px}
.pc-b .btn{min-height:42px;font-size:15px}
.stp{height:42px}.stp button{width:44px}
.stp span{font-size:16px}
.cat-i{background:var(--c-primary-l);color:var(--c-primary)}
.cat-n{font-size:13px}
.sec-h a{color:var(--c-primary);font-size:15px}
.chip:hover{border-color:var(--c-primary);color:var(--c-primary)}
/* floating cart bar (mobile): always shows what is in the basket */
.cartbar{position:fixed;left:12px;right:12px;bottom:calc(var(--tab) + 10px + env(safe-area-inset-bottom));z-index:44;display:flex;align-items:center;gap:12px;padding:12px 16px;border-radius:16px;background:var(--c-primary);color:#fff;box-shadow:0 8px 24px rgba(10,74,124,.35);font-weight:600}
.cartbar[hidden]{display:none}
.cartbar .cb-l{display:flex;align-items:center;gap:8px}.cartbar .cb-t{margin-left:auto;font-size:17px;font-weight:800;color:var(--c-accent)}
.cartbar .cb-g{display:flex;align-items:center;gap:4px;background:var(--c-accent);color:#07304f;border-radius:10px;padding:6px 12px;font-weight:700}
body.has-cartbar{padding-bottom:calc(var(--tab) + 80px + env(safe-area-inset-bottom))}
body.pg-product .cartbar{display:none}
.toast{bottom:calc(var(--tab) + 86px + env(safe-area-inset-bottom))}
.tabbar a,.tabbar button{font-size:12px}
.tabbar .on{color:var(--c-primary)}.tabbar .tb-wa{color:#128c4a}
.buybar .btn-primary{min-width:160px}
/* checkout */
.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#co-go{position:sticky;bottom:calc(var(--tab) + 8px + env(safe-area-inset-bottom));box-shadow:0 8px 20px rgba(31,168,85,.35)}
.num{background:var(--c-primary)}
/* steps + location + social */
.steps-b{display:grid;gap:10px;list-style:none;padding:0;margin:0;counter-reset:s}
.steps-b li{display:flex;gap:14px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px}
.steps-n{display:grid;place-items:center;flex:0 0 40px;height:40px;border-radius:50%;background:var(--c-accent);color:#07304f;font-weight:800;font-size:18px}
.steps-b b{display:block;font-size:16px}.steps-b span:not(.steps-n){display:block;color:var(--mut);font-size:14px}
.loc{display:grid;gap:14px;background:#fff;border:1px solid var(--line);border-radius:20px;padding:18px}
.loc h2{margin-bottom:12px}
.loc-l{display:grid;gap:12px;list-style:none;padding:0;margin:0 0 12px}
.loc-l li{display:flex;gap:12px;align-items:flex-start}.loc-l .ic{color:var(--c-primary);margin-top:2px}
.loc-l b{display:block}.loc-l span,.loc-l a{color:var(--mut)}.loc-l a{text-decoration:underline}
.loc-b{display:grid;gap:10px;margin:14px 0}
.loc-s{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.loc-map{border-radius:16px;overflow:hidden;min-height:240px;background:var(--c-primary-l)}
.loc-map iframe{width:100%;height:100%;min-height:280px;border:0;display:block}
.loc-ph{display:grid;place-items:center;align-content:center;gap:6px;text-align:center;padding:24px;color:var(--c-primary)}
.loc-ph span{color:var(--mut);font-size:14px;max-width:260px}
.soc{display:flex;gap:10px;flex-wrap:wrap}
.soc a{display:grid;place-items:center;width:44px;height:44px;border-radius:50%;background:var(--c-primary-l);color:var(--c-primary)}
.soc a:hover{background:var(--c-primary);color:#fff}
.ft .soc a{background:rgba(255,255,255,.12);color:#fff}.ft .soc a:hover{background:var(--c-accent);color:#07304f}
/* footer */
.ft{background:#082c49}
.ft .ft-ct .ic{color:var(--c-accent)}
.ft-col h3{color:var(--c-accent)}
@media (min-width:640px){.loc-b{display:flex;flex-wrap:wrap}.logo-txt b{font-size:17px}}
@media (min-width:900px){.loc{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr);padding:24px;gap:24px}.loc-map{min-height:340px}}
@media (min-width:1024px){
  .cartbar{display:none!important}
  body.has-cartbar{padding-bottom:0}
  .hd-wa,.hd-cart{display:inline-flex;align-items:center;justify-content:center}
  .hd-wa{width:auto;padding:0 14px;gap:8px;border:1.5px solid #128c4a;border-radius:12px}
  .hd-wa .hd-ut{display:inline;font-weight:700;font-size:14px}
  .hd-cart{width:auto;padding:0 12px;gap:8px}.hd-cart .hd-ut{display:inline;font-weight:700;font-size:14px}
  .hd-cart .badge{top:2px;left:30px;right:auto}
  .logo-img{height:52px}
  .hero-slide{min-height:300px}.hero-slide.full{min-height:0}
  .steps-b{grid-template-columns:repeat(3,1fr)}
  .steps-b li{flex-direction:column;text-align:center;padding:22px}
}

/* ---- dummy photo tile + variant chips ---- */
.ph{display:grid;place-items:center;width:100%;height:100%;border-radius:12px;background:hsl(var(--h,210) 60% 93%);color:hsl(var(--h,210) 55% 30%);font:800 clamp(30px,9vw,46px)/1 var(--font);letter-spacing:.02em}
.ph-lg{font-size:clamp(64px,22vw,120px);border-radius:16px}
.vars{margin:4px 0 14px}.vars>b{display:block;margin-bottom:8px;font-size:15px}
.vars-l{display:flex;flex-wrap:wrap;gap:8px}
.var{display:inline-flex;align-items:center;min-height:42px;padding:0 14px;border:1.5px solid var(--line);border-radius:12px;background:#fff;font-weight:600;font-size:14px}
.var:hover{border-color:var(--c-primary);color:var(--c-primary)}
.var.on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.var.out:not(.on){opacity:.5;text-decoration:line-through}

/* ===== Premium layer v1.2: warmer neutrals, deeper navy, gold accents, roomier spacing. CSS only, no extra requests. ===== */
:root{--bg:#f6f5f1;--line:#e8e4d8;--ink:#0e1d2b;--mut:#5d6b77;--r:20px;--sh:0 1px 2px rgba(14,29,43,.05),0 10px 28px rgba(14,29,43,.07);--sh-s:0 1px 2px rgba(14,29,43,.06);--gut:20px}
body{background:var(--bg);color:var(--ink);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased}
h1,h2,h3{letter-spacing:-.022em;font-weight:800;text-wrap:balance}
h1{font-size:clamp(26px,5.4vw,36px)}h2{font-size:clamp(21px,4.4vw,28px)}
.wrap{padding-inline:max(var(--gut),env(safe-area-inset-left))}
.page-top{padding-top:26px;padding-bottom:56px}
/* promo bar + header */
.promo-bar{background:linear-gradient(90deg,var(--c-primary-d),var(--c-primary) 60%,var(--c-primary-d));padding:9px var(--gut);letter-spacing:.01em}
.hd{background:#fff;border-bottom:1px solid var(--line);box-shadow:0 1px 0 rgba(255,255,255,.8)}
.hd-row{padding-block:12px;row-gap:12px}
.srch{background:#f1efe8;border:1.5px solid transparent;height:50px;border-radius:16px}
.srch:focus-within{background:#fff;border-color:var(--c-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 14%,transparent)}
.hd-nav .wrap{height:52px;gap:8px}
.hd-nav a{position:relative;padding:10px 16px;border-radius:12px;font-weight:600;color:#2a3b49}
.hd-nav a:hover{background:transparent;color:var(--c-primary)}
.hd-nav a::after{content:"";position:absolute;left:16px;right:16px;bottom:4px;height:3px;border-radius:3px;background:var(--c-accent);transform:scaleX(0);transform-origin:left;transition:transform .2s}
.hd-nav a:hover::after{transform:scaleX(1)}
.allcat{border-radius:14px;background:linear-gradient(180deg,var(--c-primary),var(--c-primary-d));box-shadow:0 6px 16px -8px rgba(10,74,124,.7)}
/* buttons */
.btn{border-radius:14px;min-height:50px;padding:0 22px;font-weight:700;letter-spacing:.005em}
.btn-primary{background:linear-gradient(180deg,color-mix(in srgb,var(--c-primary) 90%,#fff),var(--c-primary-d));box-shadow:0 8px 18px -10px rgba(10,74,124,.9),inset 0 1px 0 rgba(255,255,255,.18)}
.btn-primary:hover{filter:brightness(1.06)}
.btn-accent{background:linear-gradient(180deg,var(--c-accent),var(--c-accent-d));border-color:transparent;color:#06263f;box-shadow:0 10px 20px -10px rgba(214,150,0,.9)}
.btn-ghost{background:#fff;border-color:var(--line)}
.btn-wa{background:linear-gradient(180deg,#27b862,#168a47);box-shadow:0 10px 20px -12px rgba(22,138,71,.9)}
.btn-sm{min-height:42px}
/* sections */
.sec{padding-block:30px 8px}
.sec-h{margin-bottom:18px;align-items:flex-end}
.sec-h h2::after{content:"";display:block;width:40px;height:4px;border-radius:4px;margin-top:9px;background:linear-gradient(90deg,var(--c-accent),var(--c-accent-d))}
.sec-h a{font-weight:700;padding:8px 0}
/* hero */
.hero{padding-top:18px}
.hero-track{gap:16px;border-radius:26px}
.hero-slide{position:relative;min-height:230px;border-radius:26px;box-shadow:0 18px 40px -22px rgba(10,74,124,.55)}
.hero-slide:not(.full)::before{content:"";position:absolute;inset:0;pointer-events:none;background:radial-gradient(520px 260px at 88% -10%,rgba(255,255,255,.28),transparent 62%),radial-gradient(360px 220px at -6% 112%,rgba(255,194,14,.26),transparent 60%)}
.hero-txt{padding:30px 26px;max-width:78%}
.hero-txt h2{font-size:clamp(25px,6vw,44px);line-height:1.12;margin-bottom:10px}
.hero-txt p{font-size:clamp(15px,3.3vw,18px);margin-bottom:18px;max-width:34ch}
.hero-dots{margin-top:16px;gap:8px}
.hero-dots button{height:8px;width:8px}.hero-dots button.on{width:26px}
/* categories */
.cats{gap:18px 10px}
.cat-i{border-radius:24px;background:linear-gradient(150deg,#fff 0%,var(--c-primary-l) 100%);border:1px solid var(--line);box-shadow:var(--sh-s);color:var(--c-primary)}
.cat:hover .cat-i{box-shadow:var(--sh);transform:translateY(-3px);transition:transform .18s,box-shadow .18s}
.cat-n{font-size:13px;font-weight:700;color:#1d2f3e}
/* USP + steps */
.usp{gap:14px}.usp li{padding:16px;border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-s)}
.usp-i{flex:0 0 46px;height:46px;border-radius:15px;background:linear-gradient(145deg,var(--c-accent),var(--c-accent-d));color:#06263f}
.steps-b{gap:14px}
.steps-b li{padding:18px 20px;border:1px solid var(--line);border-radius:22px;box-shadow:var(--sh-s)}
.steps-n{flex:none;min-width:48px;width:48px;height:48px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;font-size:19px;background:linear-gradient(145deg,var(--c-accent),var(--c-accent-d));color:#06263f;box-shadow:0 8px 16px -8px rgba(214,150,0,.9)}
/* product cards */
.rail{gap:14px}.grid{gap:14px}
.pc{border:1px solid var(--line);border-radius:20px;box-shadow:var(--sh-s);transition:transform .2s,box-shadow .2s,border-color .2s}
.pc-img{padding:14px 14px 4px}
.pc-b{padding:6px 14px 16px;gap:4px}
.pc-n{font-size:14.5px;line-height:1.4;min-height:2.8em;color:#13202c}
.pc-u{font-size:12.5px}
.pc-p{margin:6px 0 12px}
.pc-p b{font-size:18px;color:var(--c-primary-d)}.pc-p b.sale{color:var(--c-sale)}
.pc-badge{top:12px;left:12px;border-radius:99px;padding:5px 10px;background:linear-gradient(180deg,#ef4c3e,var(--c-sale));box-shadow:0 6px 12px -6px rgba(217,45,32,.8)}
.ph{border-radius:16px}
.stp{border-radius:12px}
/* listing */
.crumbs{margin-bottom:16px}.lst-h{margin-bottom:18px}
.tools{gap:10px;margin:12px 0 24px}
.sel,.tgl span,.prc summary{border-radius:14px;height:44px;box-shadow:var(--sh-s)}
.chips{gap:10px;padding-bottom:12px}.chip{border-radius:99px;padding:10px 18px;box-shadow:var(--sh-s)}
.pager{margin:34px 0 14px}
/* product page */
.pd{gap:24px}
.pd-main{border-radius:26px;padding:20px;box-shadow:var(--sh-s)}
.pd h1{font-size:clamp(24px,5vw,34px)}
.pd-price b{font-size:clamp(30px,6vw,38px);color:var(--c-primary-d)}.pd-price b.sale{color:var(--c-sale)}
.pd-perks{padding:18px 0;margin-bottom:18px}
.var{border-radius:14px;min-height:44px}
/* cards, forms, checkout */
.card-flat{border-radius:22px;padding:22px;margin-bottom:18px;box-shadow:var(--sh-s)}
.sum{border-radius:24px;padding:22px;box-shadow:var(--sh)}
.cartx,.co{gap:20px}
.cart-i{border-radius:20px;padding:14px;gap:14px;margin-bottom:14px;box-shadow:var(--sh-s)}
.f{margin-bottom:16px}
.f input,.f textarea,.f select{border-radius:14px;min-height:50px;padding:12px 14px}
.f input:focus,.f textarea:focus,.f select:focus{border-color:var(--c-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--c-primary) 14%,transparent);outline:0}
.opt{border-radius:16px;padding:14px 16px}
.co-main section h2{margin-bottom:16px}
.num{background:linear-gradient(145deg,var(--c-primary),var(--c-primary-d))}
/* location + cta + footer */
.loc{border-radius:28px;padding:22px;box-shadow:var(--sh);border:1px solid var(--line);gap:20px}
.loc-map{border-radius:20px}
.cta{border-radius:28px;padding:30px 26px;position:relative;overflow:hidden;background-image:radial-gradient(420px 220px at 100% 0,rgba(255,194,14,.28),transparent 62%),linear-gradient(135deg,var(--c-primary),var(--c-primary-d))!important}
.ft{margin-top:56px;padding-top:52px;background:radial-gradient(800px 360px at 100% 0,rgba(255,194,14,.09),transparent 60%),linear-gradient(180deg,#0a2b47,#06192b)}
.ft-grid{gap:34px;padding-bottom:36px}
.ft-col h3{font-size:14px;letter-spacing:.12em;text-transform:uppercase;margin-bottom:14px}
.ft-col li{margin-bottom:11px}
.ft-copy{padding:18px 0}
/* floating bits */
.cartbar{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-d));border-radius:20px;box-shadow:0 14px 30px -12px rgba(10,74,124,.7)}
.tabbar{border-top:1px solid var(--line);box-shadow:0 -8px 24px rgba(14,29,43,.05)}
.tabbar .on{color:var(--c-primary)}
@media (min-width:640px){:root{--gut:28px}.sec{padding-block:40px 10px}.hero-slide{min-height:290px}.hero-txt{padding:40px 40px;max-width:60%}.rail,.grid{gap:18px}.usp{gap:16px}.steps-b{gap:16px}.loc{padding:28px}}
@media (min-width:1024px){:root{--gut:40px}
  .sec{padding-block:56px 14px}
  .sec-h{margin-bottom:26px}
  .hero{padding-top:28px}.hero-slide{min-height:360px;border-radius:30px}.hero-txt{padding:56px 64px;max-width:52%}
  .hd-row{padding-block:18px;column-gap:36px}
  .grid,.rail{gap:22px}
  .pc:hover{transform:translateY(-4px);box-shadow:var(--sh);border-color:color-mix(in srgb,var(--c-primary) 30%,var(--line))}
  .steps-b{gap:22px}.steps-b li{padding:30px 24px}
  .usp li{padding:20px}
  .page-top{padding-top:36px;padding-bottom:72px}
  .pd{gap:48px}
  .loc{padding:36px;gap:36px}
  .cta{padding:44px 52px}
  .ft{padding-top:68px}.ft-grid{gap:48px}
  .sum{top:150px}
}

/* footer bar: copyright left, developer credit right */
.ft-bar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 20px}
.ft-copy{font-size:13px;color:#9fb2c4}
.credit a,.credit span{display:inline-flex;align-items:center;gap:6px;color:#b8c8d8;font-size:12.5px;letter-spacing:.02em}
.credit a:hover{color:#fff}
.credit .heart{display:inline-flex;color:#ff5a6e}
.credit .heart .ic{width:14px;height:14px;fill:currentColor}
@media (max-width:639px){.ft-bar{flex-direction:column;align-items:flex-start;gap:6px}}
/* ===== v1.3 storefront: flat and calm (no gradients on controls), precise gutters, no hover motion, loader, seamless tones ===== */
:root{--bg:#f7f6f2;--line:#e6e2d6;--r:18px;--sh:0 1px 2px rgba(14,29,43,.05),0 8px 24px -12px rgba(14,29,43,.12);--sh-s:none;--gut:20px}
html{overflow-x:clip}body{overflow-x:clip}
/* flat controls */
.promo-bar{background:var(--c-primary-d)}
.btn-primary,.allcat,.cartbar,.num{background:var(--c-primary);box-shadow:none}
.btn-primary:hover{background:var(--c-primary-d);filter:none}
.btn-accent{background:var(--c-accent);box-shadow:none}.btn-accent:hover{background:var(--c-accent-d);color:#06263f}
.btn-wa{background:#1a9a50;box-shadow:none}.btn-wa:hover{background:#15833f}
.btn-ghost{background:#fff;border-color:#d9d4c6}
.pc-badge{background:var(--c-sale);box-shadow:none}
.usp-i,.steps-n{background:var(--c-accent);box-shadow:none;color:#06263f}
.cat-i{background:#fff;border:1px solid var(--line);box-shadow:none}
.hero-slide{box-shadow:none}.hero-slide:not(.full)::before{display:none}
.cta{background-image:none!important}
.ft{background:#0a2b47}
.sec-h h2::after{background:var(--c-accent)}
/* no hover/press motion (touch screens never show it) */
.pc,.pc:hover,.cat-i,.cat:hover .cat-i,.cat:active .cat-i,.btn:active,.hd-nav a::after{transform:none!important;transition:none!important}
.pc:hover{box-shadow:none;border-color:var(--line)}
.hd-nav a:hover::after{transform:none!important}
/* precise gutters: every row starts and ends on the same line */
.wrap{padding-inline:max(var(--gut),env(safe-area-inset-left))}
.rail,.bnr,.chips{scroll-padding-inline:var(--gut)}
.rail{gap:12px;scroll-snap-type:x mandatory}
.rail .pc{flex:0 0 calc((100% - 12px) / 2);max-width:none;scroll-snap-align:start}
.grid{gap:12px}
.bnr-i{flex:0 0 100%}
/* header + logo: nothing clipped on phones */
.hd-row{column-gap:2px}
.hd-menu{margin-left:-8px;width:44px;height:44px}
.hd-act .ib{width:44px;height:44px}
.logo{gap:8px;min-width:0;overflow:visible}
.logo-img{height:40px;max-width:none}
.logo-txt{min-width:0}
.logo-txt b{font-size:clamp(11.5px,3.8vw,15px);letter-spacing:0;overflow:visible}
.logo-txt i{font-size:clamp(10px,3.1vw,12px);letter-spacing:.26em}
@media (max-width:359px){.logo-img{height:34px}.hd-act .hd-wa{display:none}}
@media (min-width:640px){.logo-txt b{font-size:16px}.logo-txt i{font-size:12.5px}}
/* seamless section tones: tint fades in and out vertically, so there is never a hard edge */
.tone{--t:#f0ede4;padding-block:28px;margin-block:-14px;background:linear-gradient(180deg,rgba(255,255,255,0) 0,var(--t) 64px,var(--t) calc(100% - 64px),rgba(255,255,255,0) 100%)}
.tone-cream{--t:#f0ece0}.tone-blue{--t:#e6eef6}.tone-gold{--t:#fbf0cf}.tone-green{--t:#e5f1e9}
.tone .sec:first-child{padding-top:12px}
@media (min-width:1024px){.tone{padding-block:44px;margin-block:-20px}}
/* footer */
.ft{margin-top:56px;padding-top:48px}
.ft-grid{gap:36px}
.ft-brand p{margin:16px 0 20px;max-width:46ch}
.ft-ct{gap:14px}
.ft-ct li{line-height:1.5}
.ft-soc{margin-top:28px}
.ft-soc h3{font-size:13px;letter-spacing:.12em;text-transform:uppercase;color:var(--c-accent);margin-bottom:14px}
.ft .soc{gap:12px}
.ft .soc a{width:44px;height:44px;background:rgba(255,255,255,.1)}
.ft-col h3{margin-bottom:16px}
.ft-copy{padding:20px 0 24px;margin-top:8px}
.ft-bar{flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:8px}
.credit{display:block}
@media (min-width:640px){.ft-bar{flex-direction:row;justify-content:space-between;text-align:left}.ft-grid{gap:40px}.ft-soc{margin-top:30px}}
/* loader: brand logo with a ring, first visit of a session + slow page changes */
.pl{display:none}
html.js .pl{display:grid;position:fixed;inset:0;z-index:999;place-items:center;background:var(--bg);opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}
html.js:not(.pl-skip) .pl:not(.off),html.js .pl.on{opacity:1;visibility:visible}
html.js .pl.on{background:rgba(247,246,242,.88)}
.pl-in{position:relative;display:grid;place-items:center;width:116px;height:116px}
.pl-in img{width:56px;height:auto;animation:plp 1.4s ease-in-out infinite}
.pl-ring{position:absolute;inset:0;border-radius:50%;border:3px solid rgba(10,74,124,.12);border-top-color:var(--c-accent);border-right-color:var(--c-primary);animation:pls .9s linear infinite}
@keyframes pls{to{transform:rotate(360deg)}}
@keyframes plp{50%{opacity:.55}}
/* page changes: cross-fade, header stays put */
@view-transition{navigation:auto}
::view-transition-old(root){animation:vto .14s ease both}
::view-transition-new(root){animation:vti .2s ease both}
@keyframes vto{to{opacity:0}}
@keyframes vti{from{opacity:0}}
.hd{view-transition-name:hd}.tabbar{view-transition-name:tabbar}
::view-transition-group(hd),::view-transition-group(tabbar){animation-duration:0s}
@supports not (view-transition-name:a){main{animation:vti .22s ease both}}
@media (max-width:1023px){.hd-wa{display:none!important}}
@media (min-width:1024px){.hd-act .hd-wa,.hd-act .hd-cart{width:auto;height:48px;padding:0 14px;gap:8px;flex-direction:row}.hd-act{gap:8px}}

/* ===== v1.4 storefront: floating tab bar, dropdown, popup, category catalogue, dots, 2/3-column switch, cart polish ===== */
:root{--tab:78px}
@media (min-width:1024px){:root{--tab:0px}}
/* bottom navigation: floating bar, active item gets a filled pill + bold label */
.tabbar{left:12px;right:12px;bottom:calc(10px + env(safe-area-inset-bottom));height:66px;padding:6px;gap:4px;border:1px solid var(--line);border-radius:24px;background:rgba(255,255,255,.97);box-shadow:0 14px 34px -14px rgba(14,29,43,.38)}
.tabbar a{gap:3px;border-radius:18px;padding:0;font-size:11.5px;font-weight:700;color:#5a6773;justify-content:center}
.tb-i{position:relative;display:grid;place-items:center;width:54px;height:30px;border-radius:15px}
.tabbar .on{color:var(--c-primary)}
.tabbar .on .tb-i{background:var(--c-primary-l)}
.tabbar .on .tb-t{font-weight:800}
.tabbar .tb-wa{color:#128c4a}
.tabbar .badge{top:-5px;right:2px;left:auto}
.cartbar{bottom:calc(var(--tab) + 4px + env(safe-area-inset-bottom))}
/* dots under every slider */
.dots{display:flex;justify-content:center;align-items:center;gap:8px;margin-top:14px}
.dots button,.hero-dots button{width:8px;height:8px;padding:0;border:0;border-radius:99px;background:#cbd4dc;cursor:pointer}
.dots button.on,.hero-dots button.on{width:24px;background:var(--c-primary)}
[data-dots="0"] .dots,[data-dots="0"] .hero-dots{display:none}
/* mouse drag on sliders */
@media (hover:hover) and (pointer:fine){.rail,.bnr,.hero-track,.chips,.ct-tabs,.pd-th{cursor:grab}}
.drag{cursor:grabbing!important;user-select:none;-webkit-user-select:none}
.drag *{pointer-events:none}
.rail img,.bnr img,.hero-track img{-webkit-user-drag:none;user-select:none}
/* categories on the home page: 4 icons on phones */
.cats-all{margin-top:16px}
@media (max-width:639px){.cats{grid-template-columns:repeat(4,minmax(0,1fr))}.cats .cat:nth-child(n+5){display:none}}
@media (min-width:640px){.cats-all{display:none}}
/* listing tools: balanced grid on every phone */
.tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 18px}
.tools-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.tools .sel{grid-column:1/-1;display:flex;align-items:center;gap:10px;width:100%;height:50px;padding:0 14px;border-radius:14px}
.tools .sel .dd{flex:1;min-width:0}
.tgl,.prc{min-width:0}
.tgl span,.prc summary{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:50px;padding:0 10px;border-radius:14px;white-space:nowrap}
.prc-b{left:auto;right:0;flex-wrap:wrap;max-width:calc(100vw - var(--gut) * 2);width:max-content}
.reset{grid-column:1/-1;text-align:center;padding:4px 0}
@media (min-width:1024px){.tools{display:flex;flex-wrap:wrap}.tools .sel{width:auto;min-width:240px}.tgl span,.prc summary{width:auto;padding:0 18px}.prc-b{left:0;right:auto}.reset{text-align:left}}
.view-sw{display:flex;align-items:center;justify-content:flex-end;gap:8px;margin:0 0 12px;color:var(--mut);font-size:14px;font-weight:600}
.view-sw span{margin-right:2px}
.view-sw button{display:grid;place-items:center;width:42px;height:42px;border:1.5px solid var(--line);background:#fff;border-radius:12px;color:#9aa6b2;cursor:pointer;padding:0}
.view-sw button[aria-pressed=true]{border-color:var(--c-primary);background:var(--c-primary-l);color:var(--c-primary)}
@media (min-width:640px){.view-sw{display:none}}
@media (max-width:639px){
  .grid.c3{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
  .grid.c3 .pc{border-radius:14px}
  .grid.c3 .pc-img{padding:6px 6px 2px}.grid.c3 .pc-b{padding:4px 8px 10px;gap:1px}
  .grid.c3 .pc-n{font-size:12px;min-height:2.7em}.grid.c3 .pc-u{font-size:11px}
  .grid.c3 .pc-p{margin:4px 0 8px;min-height:2.4em}.grid.c3 .pc-p b{font-size:13px}.grid.c3 .pc-p s{font-size:10.5px}
  .grid.c3 .pc-badge{top:6px;left:6px;font-size:10px;padding:3px 6px}
  .grid.c3 .pc-b .btn{min-height:36px;padding:0;font-size:0;gap:0}
  .grid.c3 .stp{height:36px}.grid.c3 .stp button{width:28px}.grid.c3 .stp span{min-width:18px;font-size:14px}
}
/* custom dropdown (same look everywhere, instead of the browser's native list) */
.dd{position:relative;display:block;min-width:0}
.dd-n{position:absolute;left:0;bottom:0;width:1px;height:1px;opacity:0;pointer-events:none}
.dd-b{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;height:44px;padding:0;border:0;background:transparent;font:700 15px/1 var(--font);color:var(--ink);cursor:pointer;text-align:left}
.dd-l{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dd-b svg{flex:none;color:var(--mut)}
.dd-m{position:fixed;z-index:200;margin:0;padding:6px;list-style:none;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 20px 48px -18px rgba(14,29,43,.4);overflow:auto;max-height:min(320px,60vh);overscroll-behavior:contain}
.dd-m[hidden]{display:none}
.dd-m li{padding:13px 14px;border-radius:11px;font-weight:600;font-size:15px;line-height:1.2;color:var(--ink);cursor:pointer}
.dd-m li.hi{background:#f2efe6}
.dd-m li[aria-selected=true]{background:var(--c-primary-l);color:var(--c-primary);font-weight:800}
/* popup: rounded card, blurred backdrop */
.pp{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:20px;background:rgba(10,24,38,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;transition:opacity .25s}
.pp[hidden]{display:none}
.pp.show{opacity:1}
.pp-box{position:relative;width:min(420px,100%);max-height:calc(100vh - 40px);overflow:auto;background:#fff;border-radius:26px;box-shadow:0 40px 90px -30px rgba(0,0,0,.55);transform:translateY(14px) scale(.97);transition:transform .25s}
.pp.show .pp-box{transform:none}
.pp-x{position:absolute;top:10px;right:10px;z-index:2;display:grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.95);color:#0e1d2b;cursor:pointer;box-shadow:0 2px 10px rgba(0,0,0,.25)}
.pp-img{display:block}.pp-img img{display:block;width:100%;height:auto}
.pp-t{padding:20px 22px 22px}.pp-t h2{font-size:22px;margin-bottom:6px}.pp-t p{color:var(--mut);margin:0 0 14px}
/* category catalogue */
.ct-tabs{position:sticky;top:var(--hd-h,112px);z-index:20;display:flex;gap:8px;overflow-x:auto;margin:6px calc(var(--gut) * -1) 4px;padding:10px var(--gut);background:var(--bg);border-bottom:1px solid var(--line);scrollbar-width:none}
.ct-tabs::-webkit-scrollbar{display:none}
.ct-tabs a{flex:none;padding:10px 16px;border-radius:99px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:14px;color:#2a3b49}
.ct-tabs a.on{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.ct-s{padding-top:24px;scroll-margin-top:calc(var(--hd-h,112px) + 70px)}
.ct-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin-bottom:12px}
.ct-h h2{font-size:19px}.ct-h a{display:inline-flex;align-items:center;gap:2px;color:var(--c-primary);font-weight:700;font-size:14px;white-space:nowrap}
.ct-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.ct{display:flex;flex-direction:column;justify-content:space-between;min-height:120px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:16px;overflow:hidden}
.ct-n{font-size:13px;font-weight:700;line-height:1.3;color:#24313d;overflow-wrap:anywhere}
.ct-i{align-self:flex-end;display:grid;place-items:center;width:50px;height:50px;margin-top:8px;border-radius:16px;background:var(--c-primary-l);color:var(--c-primary)}
.ct-all{background:var(--c-primary);border-color:var(--c-primary)}.ct-all .ct-n{color:#fff}.ct-all .ct-i{background:rgba(255,255,255,.16);color:var(--c-accent)}
@media (min-width:640px){.ct-g{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.ct-tabs{margin-inline:0;padding-inline:0}.ct-n{font-size:14px}}
@media (min-width:1024px){.ct-g{grid-template-columns:repeat(6,minmax(0,1fr))}.ct-tabs{top:var(--hd-h,130px)}}
/* cart + order summary: clear spacing, aligned rows */
.page-top>h1{margin-bottom:18px}
.lead{margin:-8px 0 20px}
.cart-i{grid-template-columns:84px minmax(0,1fr);gap:8px 14px;padding:16px}
.cart-i img{width:84px;height:84px}
.cart-i h3{font-size:15px;line-height:1.4;padding-right:38px}
.cart-i .cp{margin-top:12px}
.cart-i .rm{top:8px;right:8px}
.sum{padding:20px}
.sum h2{font-size:18px;padding-bottom:14px;margin-bottom:14px;border-bottom:1px solid var(--line)}
.sum dl{gap:10px 12px;margin:0 0 14px}
.sum .muted{font-size:14px}
.co-items{gap:0;max-height:none;margin:0 0 14px}
.co-items li{grid-template-columns:52px minmax(0,1fr) auto;gap:12px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.co-items li:first-child{padding-top:0}.co-items li:last-child{border-bottom:0}
.co-items img,.co-items .ph{width:52px;height:52px}
.vch{margin:2px 0 10px}
.vch .btn{min-height:44px;padding:0 16px}
.tot{margin:6px 0 16px;padding-top:14px;border-top:1px solid var(--line);row-gap:10px}
.tot .grand{margin-top:2px;padding-top:12px;border-top:1px dashed var(--line);font-size:18px}
.sum .note{margin:0 0 12px}
.dd-l{line-height:1.35;padding-block:2px}

/* ===== v1.5 storefront ===== */
/* "Semua Kategori" button: white text, no underline */
.hd-nav a.allcat{color:#fff;font-weight:700}
.hd-nav a.allcat::after{display:none}
.hd-nav a.allcat:hover{background:var(--c-primary-d);color:#fff}
/* bottom nav: the whole active item (icon + label) is filled */
.tabbar a{border-radius:18px}
.tabbar a.on{background:color-mix(in srgb,var(--c-primary) 12%,#fff);color:var(--c-primary)}
.tabbar .on .tb-i{background:none}
.tb-i{width:auto;height:28px}
/* pagination: arrows at the edges, numbers on a single row */
.pager{display:flex;flex-wrap:nowrap;align-items:center;justify-content:space-between;gap:10px;margin:28px 0 12px}
.pager .pg-nav{flex:none;display:grid;place-items:center;width:52px;height:48px;padding:0;border:1.5px solid var(--c-primary);border-radius:14px;background:var(--c-primary);color:#fff}
.pager .pg-nav.off{background:#fff;border-color:var(--line);color:#c0c8d0}
.pager .pg-nums{flex:1;min-width:0;display:flex;align-items:center;justify-content:center;gap:6px}
.pager .pg-nums a,.pager .pg-nums b,.pager .pg-nums .gap{display:grid;place-items:center;min-width:40px;height:44px;padding:0 6px;border-radius:12px;border:1px solid var(--line);background:#fff;font-weight:700;font-size:15px}
.pager .pg-nums b{background:var(--c-primary-l);border-color:var(--c-primary);color:var(--c-primary)}
.pager .pg-nums .gap{border:0;background:none;min-width:20px;padding:0;color:var(--mut)}
@media (max-width:479px){.pager .x-sm{display:none!important}}
@media (max-width:639px){.pager .x-md{display:none}}
@media (min-width:640px){.pager{justify-content:center}.pager .pg-nums{flex:none}}@media (max-width:479px){.pager .pg-nums .x-sm{display:none!important}}
@media (max-width:639px){.pager .pg-nums .x-md{display:none!important}}

/* ===== v1.6 Dubai edition: language switch, brand block (name + tagline, sizes from Settings) ===== */
.promo-bar{padding:0}
.pb-in{max-width:1240px;margin:0 auto;padding:7px max(var(--gut),env(safe-area-inset-left));display:flex;align-items:center;justify-content:space-between;gap:12px}
.pb-t{flex:1;min-width:0;text-align:center;font-size:13.5px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pb-t a,.pb-t>span{display:inline-flex;align-items:center;gap:6px;max-width:100%}
.langsw{flex:none;display:inline-flex;padding:2px;border-radius:99px;background:rgba(255,255,255,.16)}
.langsw a{display:grid;place-items:center;min-width:36px;height:28px;padding:0 10px;border-radius:99px;font-size:12.5px;font-weight:800;letter-spacing:.05em;color:#fff;opacity:.9}
.langsw a.on{background:#fff;color:var(--c-primary-d);opacity:1}
.dr-lang{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:8px 16px calc(16px + env(safe-area-inset-bottom));padding:12px 14px;border:1px solid var(--line);border-radius:14px;font-weight:700}
.dr-lang .langsw{background:#eef2f6}.dr-lang .langsw a{color:var(--ink)}.dr-lang .langsw a.on{background:var(--c-primary);color:#fff}
/* brand: name + tagline, proportional on every width */
.logo{align-items:center}
.logo-txt{display:flex;flex-direction:column;justify-content:center;min-width:0;max-width:min(330px,56vw)}
.logo-txt b{font-size:calc(var(--bn) * .8);font-weight:800;letter-spacing:.015em;line-height:1.1;text-transform:uppercase;white-space:normal;overflow-wrap:anywhere}
.logo-txt i{font-style:normal;font-size:calc(var(--bt) * .82);font-weight:700;letter-spacing:.035em;line-height:1.25;text-transform:uppercase;color:var(--c-accent-d);white-space:normal;margin-top:3px;max-width:30ch}
@media (min-width:640px){.logo-txt b{font-size:calc(var(--bn) * .92)}.logo-txt i{font-size:calc(var(--bt) * .95);max-width:34ch}}
@media (min-width:1024px){.logo-txt b{font-size:var(--bn)}.logo-txt i{font-size:var(--bt);max-width:none;white-space:nowrap}.logo-txt{max-width:360px}}
.ft .logo-txt i{color:var(--c-accent)}
@media (max-width:359px){.pb-t{font-size:12px}.langsw a{min-width:32px;padding:0 8px}}
@media (max-width:479px){.pb-t{white-space:normal;text-align:left;font-size:12.5px;line-height:1.25}.pb-t a,.pb-t>span{align-items:flex-start}.pb-t .ic{margin-top:2px}.langsw a{min-width:30px;height:26px;padding:0 8px;font-size:12px}}
@media (min-width:640px){.logo-txt{max-width:none}.logo-txt i{white-space:nowrap;max-width:none}}

/* voucher row: input and button share one height and baseline */
.vch{display:flex;align-items:stretch;gap:10px;margin:2px 0 10px}
.vch input{flex:1;min-width:0;height:50px;min-height:50px;margin:0;padding:0 14px;box-sizing:border-box}
.vch .btn{flex:none;height:50px;min-height:50px;margin:0;padding:0 20px;box-sizing:border-box}

/* ===== v1.7 desktop header: breathing room between logo and search ===== */
@media (min-width:1024px){
  .hd-row{column-gap:clamp(40px,5vw,72px)}
  .hd-row .logo{padding-right:8px}
  .srch{max-width:760px;justify-self:stretch}
}
@media (min-width:1024px) and (max-width:1199px){
  .logo-txt i{white-space:normal;max-width:30ch}
  .hd-row{column-gap:32px}
}