:root{
  --ink:#102F27; --muted:#5E7062; --faint:#9AAB94;
  --bg:#F2EBDD; --surface:#EBE1CC; --border:#DED0B0;
  --brand:#185844; --brand-dark:#102F27; --brand-tint:#E6ECE1;
  --brand2:#B08A4F;
  --success:#78947F; --success-tint:#EEF1EA;
  --sale:#A8433A; --sale-tint:#F5E7E4;
  --gold:#B08A4F;
  --lime:#B08A4F; --ink-on-lime:#F2EBDD;
  --glass:rgba(242,235,221,.72);
  --radius:16px; --radius-sm:10px;
  --shadow:0 2px 8px rgba(20,16,60,.06),0 16px 40px rgba(20,16,60,.08);
  --shadow-brand:0 10px 28px rgba(91,79,232,.28);
  font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
}
*{box-sizing:border-box;}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);}
h1,h2,h3,h4,.disp{font-family:'Space Grotesk',sans-serif;letter-spacing:-0.01em;}
img{max-width:100%;display:block;}
a{color:inherit;text-decoration:none;}
button{font-family:inherit;cursor:pointer;}
ul{list-style:none;margin:0;padding:0;}
.container{max-width:1280px;margin:0 auto;padding:0 20px;}
.hide{display:none !important;}
:focus-visible{outline:2px solid var(--brand);outline-offset:2px;}
::selection{background:var(--brand);color:#fff;}

/* ---------- Top bar ---------- */
.topbar{background:var(--ink);color:#AEB2C4;font-size:12.5px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:36px;gap:16px;flex-wrap:wrap;}
.topbar a{color:#AEB2C4;opacity:.95;}
.topbar a:hover{opacity:1;color:var(--lime);}
.topbar-left,.topbar-right{display:flex;gap:18px;align-items:center;}

/* ---------- Header ---------- */
header.site{position:sticky;top:0;z-index:60;background:var(--glass);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);border-bottom:1px solid var(--border);}
.header-main{display:flex;align-items:center;gap:24px;padding:14px 0;}
.logo{font-family:'Playfair Display',serif;font-weight:600;font-size:22px;color:var(--ink);flex-shrink:0;display:flex;align-items:center;gap:8px;letter-spacing:0.02em;}
.logo span{color:var(--ink);}
.search-wrap{flex:1;position:relative;max-width:680px;}
.search-box{display:flex;align-items:center;background:var(--surface);border:1.5px solid transparent;border-radius:999px;padding:4px 6px 4px 18px;transition:.18s;}
.search-box:focus-within{border-color:var(--brand);background:#fff;box-shadow:0 0 0 4px var(--brand-tint);}
.search-box input{flex:1;border:none;background:transparent;font-size:15px;padding:9px 6px;outline:none;color:var(--ink);}
.search-btn{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:none;border-radius:999px;width:38px;height:38px;display:flex;align-items:center;justify-content:center;flex-shrink:0;box-shadow:var(--shadow-brand);}
.search-btn:hover{filter:brightness(1.08);}
.search-drop{position:absolute;top:calc(100% + 10px);left:0;right:0;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px;z-index:70;}
.search-drop .sec-label{font-size:11.5px;color:var(--faint);letter-spacing:.02em;padding:6px 10px 2px;}
.search-drop .row{display:flex;align-items:center;gap:12px;padding:8px 10px;border-radius:var(--radius-sm);}
.search-drop .row:hover{background:var(--surface);}
.search-drop .row img{width:36px;height:36px;object-fit:cover;border-radius:8px;background:var(--surface);}
.search-drop .row .name{font-size:13.5px;flex:1;}
.search-drop .row .price{font-size:13px;color:var(--muted);font-weight:600;}
.search-drop .cat-chip{display:inline-block;font-size:13px;padding:6px 12px;margin:3px;background:var(--surface);border-radius:999px;}
.search-drop .cat-chip:hover{background:var(--brand-tint);color:var(--brand);}

.header-actions{display:flex;align-items:center;gap:4px;flex-shrink:0;}
.icon-btn{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 12px;border:none;background:none;color:var(--muted);border-radius:var(--radius-sm);font-size:11px;transition:.15s;}
.icon-btn:hover{background:var(--surface);color:var(--ink);}
.icon-btn svg{width:22px;height:22px;}
.badge{position:absolute;top:0;right:6px;background:var(--sale);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;box-shadow:0 0 0 2px #fff;}

/* ---------- Megamenu ---------- */
.navbar{border-top:1px solid var(--border);}
.navbar .container{display:flex;align-items:center;gap:2px;height:48px;overflow-x:auto;scrollbar-width:none;}
.navbar .container::-webkit-scrollbar{display:none;}
.nav-item{position:relative;flex-shrink:0;}
.nav-link{display:block;padding:8px 14px;font-size:14px;font-weight:600;white-space:nowrap;border-radius:999px;color:var(--ink);transition:.15s;}
.nav-link:hover{background:var(--brand-tint);color:var(--brand);}
.nav-link.sale{color:var(--sale);}
.nav-link.new{background:var(--ink);color:var(--lime);}
.nav-link.new:hover{background:#000;}
.megamenu{position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--border);box-shadow:var(--shadow);border-radius:var(--radius);padding:18px;display:none;min-width:640px;grid-template-columns:repeat(3,1fr);gap:8px 28px;z-index:65;}
.nav-item:hover .megamenu{display:grid;}
.megamenu .col-title{font-size:13.5px;font-weight:700;margin-bottom:6px;color:var(--ink);}
.megamenu a.sub{display:block;font-size:13px;color:var(--muted);padding:4px 0;}
.megamenu a.sub:hover{color:var(--brand);}

.mobile-tabbar{display:none;}

/* ---------- Buttons ---------- */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;font-size:14.5px;border-radius:999px;padding:12px 22px;border:none;transition:.18s;}
.btn-primary{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;box-shadow:var(--shadow-brand);}
.btn-primary:hover{filter:brightness(1.06);transform:translateY(-1px);}
.btn-outline{background:#fff;color:var(--ink);border:1.5px solid var(--border);}
.btn-outline:hover{border-color:var(--brand);color:var(--brand);}
.btn-block{width:100%;}
.btn-sm{padding:8px 16px;font-size:13.5px;}
.btn:disabled{opacity:.45;cursor:not-allowed;transform:none;box-shadow:none;}
.link-btn{background:none;border:none;color:var(--brand);font-weight:600;font-size:14px;padding:0;}

/* ---------- Home ---------- */
.hero{position:relative;overflow:hidden;border-radius:24px;margin:20px 0;min-height:440px;display:flex;align-items:flex-end;isolation:isolate;box-shadow:var(--shadow);}
.hero-bg{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.hero-scrim{position:absolute;inset:0;background:linear-gradient(0deg,rgba(16,47,39,.82) 0%,rgba(16,47,39,.45) 42%,rgba(16,47,39,.05) 75%);z-index:1;}
.hero-inner{position:relative;z-index:2;padding:44px 44px 40px;max-width:620px;}
@media(max-width:720px){.hero{min-height:520px;}.hero-inner{padding:28px 22px 30px;}}
/* decorative mesh removed — hero now uses real product photography */
@keyframes meshshift{0%{transform:translate(0,0) rotate(0deg);}100%{transform:translate(-3%,3%) rotate(4deg);}}
.hero-text h1{font-family:'Playfair Display',serif;font-size:36px;line-height:1.22;margin:0 0 12px;max-width:560px;color:#fff;font-weight:600;text-shadow:0 2px 16px rgba(0,0,0,.25);}
.hero-text p{color:rgba(255,255,255,.88);margin:0 0 22px;font-size:15.5px;max-width:440px;}
@media(max-width:520px){.hero-text h1{font-size:26px;}}

.section{margin:40px 0;}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px;}
.section-head h2{font-size:21px;margin:0;font-weight:700;}
.section-head .link-btn{font-size:13.5px;}

.cat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px;}
.cat-card{border:1px solid var(--border);border-radius:var(--radius);padding:20px 14px;text-align:center;background:#fff;transition:.18s;}
.cat-card:hover{border-color:var(--brand);box-shadow:var(--shadow-brand);transform:translateY(-3px);}
.cat-card .emoji{font-size:30px;margin-bottom:9px;}
.cat-card .label{font-size:13px;font-weight:600;line-height:1.3;}

.prod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:14px;}
.pcard{border:1px solid var(--border);border-radius:var(--radius);background:#fff;display:flex;flex-direction:column;position:relative;overflow:hidden;transition:.18s;}
.pcard:hover{box-shadow:var(--shadow);border-color:#D8D4F5;transform:translateY(-3px);}
.pcard .pimg{aspect-ratio:1/1;background:radial-gradient(120% 120% at 20% 15%, #F8F1E7 0%, var(--surface) 100%);display:flex;align-items:center;justify-content:center;font-size:46px;position:relative;overflow:hidden;}
.pcard .badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:5px;}
.chip-sale{background:var(--sale);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;}
.chip-new{background:var(--lime);color:var(--ink-on-lime);font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;}
.fav-btn{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:999px;background:#fff;border:1px solid var(--border);display:flex;align-items:center;justify-content:center;transition:.15s;}
.fav-btn.active{color:var(--sale);border-color:var(--sale);background:var(--sale-tint);}
.pcard .pbody{padding:12px 12px 14px;display:flex;flex-direction:column;gap:6px;flex:1;}
.pcard .pname{font-size:13.5px;font-weight:600;line-height:1.35;min-height:36px;}
.pcard .prating{font-size:12px;color:var(--muted);display:flex;align-items:center;gap:4px;}
.stars{color:var(--gold);letter-spacing:1px;font-size:12px;}
.pcard .pprice-row{display:flex;align-items:baseline;gap:8px;margin-top:auto;}
.pcard .pprice{font-size:16.5px;font-weight:800;font-family:'Space Grotesk',sans-serif;}
.pcard .pold{font-size:12.5px;color:var(--faint);text-decoration:line-through;}
.pcard .addbtn{margin-top:8px;}
.instock{font-size:11.5px;color:var(--success);font-weight:600;}
.outstock{font-size:11.5px;color:var(--faint);font-weight:600;}

.brand-row{display:flex;gap:12px;overflow-x:auto;padding-bottom:4px;}
.brand-chip{flex-shrink:0;border:1px solid var(--border);border-radius:var(--radius);padding:16px 26px;font-weight:700;font-size:14px;color:var(--muted);background:#fff;transition:.15s;}
.brand-chip:hover{border-color:var(--brand);color:var(--brand);}

.perks{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;}
.perk{display:flex;gap:12px;align-items:flex-start;background:var(--surface);border-radius:var(--radius);padding:16px;}
.perk .ic{font-size:24px;}
.perk h4{margin:0 0 3px;font-size:14.5px;}
.perk p{margin:0;color:var(--muted);font-size:13px;}

.faq-item{border-bottom:1px solid var(--border);}
.faq-q{padding:14px 4px;font-weight:600;font-size:14.5px;display:flex;justify-content:space-between;cursor:pointer;}
.faq-a{padding:0 4px 14px;color:var(--muted);font-size:13.5px;display:none;}
.faq-item.open .faq-a{display:block;}

footer.site{background:var(--ink);color:#9EA2B8;margin-top:64px;padding:48px 0 22px;font-size:13.5px;}
.footer-grid{display:grid;grid-template-columns:2fr repeat(4,1fr);gap:24px;}
.footer-grid h4{color:#fff;font-size:13.5px;margin:0 0 12px;}
.footer-grid a{display:block;padding:4px 0;color:#9EA2B8;}
.footer-grid a:hover{color:var(--lime);}
.footer-bottom{border-top:1px solid #23263A;margin-top:28px;padding-top:16px;color:#5F6379;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;}
@media(max-width:800px){.footer-grid{grid-template-columns:repeat(2,1fr);}}

/* ---------- Breadcrumbs ---------- */
.crumbs{font-size:13px;color:var(--muted);margin:18px 0;display:flex;gap:6px;flex-wrap:wrap;}
.crumbs a:hover{color:var(--brand);}
.crumbs .sep{color:var(--faint);}

/* ---------- Catalog ---------- */
.catalog-head{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:18px;}
.catalog-head h1{font-size:23px;margin:0;font-weight:700;}
.catalog-count{color:var(--muted);font-size:14px;}
.sort-select{border:1px solid var(--border);border-radius:999px;padding:9px 14px;font-size:13.5px;background:#fff;}
.catalog-layout{display:grid;grid-template-columns:230px 1fr;gap:26px;align-items:start;}
@media(max-width:860px){.catalog-layout{grid-template-columns:1fr;}}
.filters{position:sticky;top:104px;display:flex;flex-direction:column;gap:22px;}
.filter-group h4{font-size:13.5px;margin:0 0 10px;font-weight:700;}
.filter-row{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:4px 0;color:var(--ink);}
.filter-row input{accent-color:var(--brand);}
.price-inputs{display:flex;gap:8px;align-items:center;}
.price-inputs input{width:100%;border:1px solid var(--border);border-radius:8px;padding:7px 8px;font-size:13px;}
.filters-mobile-btn{display:none;}
.pagination{display:flex;justify-content:center;gap:6px;margin-top:26px;}
.pagination button{width:36px;height:36px;border-radius:10px;border:1px solid var(--border);background:#fff;font-weight:600;font-size:13.5px;}
.pagination button.active{background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border-color:transparent;}
.empty-state{text-align:center;padding:60px 20px;color:var(--muted);}
.empty-state .em{font-size:40px;margin-bottom:10px;}

/* ---------- Product page ---------- */
.product-layout{display:grid;grid-template-columns:1fr 1fr 320px;gap:32px;margin:20px 0 50px;align-items:start;}
@media(max-width:980px){.product-layout{grid-template-columns:1fr;}}
.gallery-main{aspect-ratio:1/1;background:radial-gradient(120% 120% at 20% 15%, #F6F5FC 0%, var(--surface) 100%);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:100px;}
.gallery-thumbs{display:flex;gap:8px;margin-top:10px;}
.gallery-thumbs .t{width:56px;height:56px;border-radius:10px;background:var(--surface);border:1.5px solid var(--border);display:flex;align-items:center;justify-content:center;font-size:24px;}
.gallery-thumbs .t.active{border-color:var(--brand);}
.pd-brand{color:var(--brand);font-size:13px;font-weight:700;}
.pd-title{font-size:25px;margin:6px 0 10px;font-weight:700;}
.pd-meta{display:flex;gap:16px;align-items:center;font-size:13.5px;color:var(--muted);margin-bottom:16px;flex-wrap:wrap;}
.pd-price-block{background:var(--surface);border-radius:var(--radius);padding:20px;margin-bottom:16px;}
.pd-price{font-size:29px;font-weight:800;font-family:'Space Grotesk',sans-serif;}
.pd-old{font-size:15px;color:var(--faint);text-decoration:line-through;margin-left:8px;}
.pd-save{display:inline-block;background:var(--sale);color:#fff;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;margin-left:8px;}
.pd-stock{margin:10px 0;font-size:13.5px;}
.pd-actions{display:flex;gap:10px;margin-top:14px;}
.pd-actions .btn-primary{flex:1;}
.pd-oneclick{margin-top:10px;background:var(--ink);color:var(--lime);border:none;}
.pd-oneclick:hover{background:#000;}
.info-card{border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;font-size:13.5px;margin-bottom:10px;display:flex;gap:10px;background:#fff;}
.info-card .ic{font-size:18px;}
.specs-list{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;}
.specs-list .row{display:flex;justify-content:space-between;padding:11px 16px;font-size:13.5px;border-bottom:1px dashed var(--border);}
.specs-list .row:last-child{border-bottom:none;}
.specs-list .row .k{color:var(--muted);}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin:36px 0 18px;}
.tab{padding:10px 4px;margin-right:24px;font-weight:700;font-size:14.5px;color:var(--muted);border-bottom:2px solid transparent;cursor:pointer;}
.tab.active{color:var(--ink);border-color:var(--brand);}
.review{border-bottom:1px solid var(--border);padding:16px 0;}
.review .rhead{display:flex;justify-content:space-between;font-size:13.5px;margin-bottom:6px;}
.review .rname{font-weight:700;}
.review .rdate{color:var(--faint);}
.review p{margin:0;font-size:13.5px;color:var(--ink);}
.sticky-buy{position:fixed;bottom:0;left:0;right:0;background:var(--glass);backdrop-filter:blur(14px);border-top:1px solid var(--border);padding:10px 16px;display:none;align-items:center;gap:10px;z-index:80;box-shadow:0 -8px 24px rgba(20,16,60,.1);}
.sticky-buy .p{font-weight:800;font-size:16px;flex-shrink:0;font-family:'Space Grotesk',sans-serif;}

/* ---------- Cart ---------- */
.cart-layout{display:grid;grid-template-columns:1fr 340px;gap:26px;align-items:start;margin:20px 0 50px;}
@media(max-width:860px){.cart-layout{grid-template-columns:1fr;}}
.cart-item{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--border);}
.cart-item .img{width:80px;height:80px;background:var(--surface);border-radius:12px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:30px;}
.cart-item .info{flex:1;min-width:0;}
.cart-item .name{font-weight:600;font-size:14px;margin-bottom:4px;}
.qty-ctrl{display:flex;align-items:center;border:1px solid var(--border);border-radius:999px;width:fit-content;}
.qty-ctrl button{width:30px;height:30px;background:none;border:none;font-size:16px;font-weight:700;}
.qty-ctrl span{width:32px;text-align:center;font-size:14px;}
.cart-item .price-col{text-align:right;flex-shrink:0;}
.cart-item .remove{color:var(--sale);font-size:12.5px;margin-top:6px;background:none;border:none;padding:0;}
.summary-card{border:1px solid var(--border);border-radius:var(--radius);padding:20px;position:sticky;top:104px;background:#fff;}
.summary-row{display:flex;justify-content:space-between;font-size:13.5px;padding:6px 0;color:var(--muted);}
.summary-row.total{font-size:18px;font-weight:800;color:var(--ink);border-top:1px solid var(--border);margin-top:8px;padding-top:12px;font-family:'Space Grotesk',sans-serif;}
.promo-row{display:flex;gap:8px;margin:14px 0;}
.promo-row input{flex:1;border:1px solid var(--border);border-radius:999px;padding:9px 14px;font-size:13.5px;}
.empty-cart{text-align:center;padding:70px 20px;}
.empty-cart .em{font-size:50px;margin-bottom:14px;}

/* ---------- Checkout ---------- */
.checkout-layout{display:grid;grid-template-columns:1fr 360px;gap:30px;margin:20px 0 60px;align-items:start;}
@media(max-width:900px){.checkout-layout{grid-template-columns:1fr;}}
.form-section{border:1px solid var(--border);border-radius:var(--radius);padding:22px;margin-bottom:16px;background:#fff;}
.form-section h3{font-size:15.5px;margin:0 0 14px;font-weight:700;}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.form-grid.full{grid-template-columns:1fr;}
.field label{display:block;font-size:12.5px;color:var(--muted);margin-bottom:5px;font-weight:600;}
.field input,.field select,.field textarea{width:100%;border:1px solid var(--border);border-radius:10px;padding:10px 12px;font-size:14px;font-family:inherit;}
.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 4px var(--brand-tint);}
.field.error input{border-color:var(--sale);}
.field .err-msg{color:var(--sale);font-size:12px;margin-top:4px;display:none;}
.field.error .err-msg{display:block;}
.method-option{display:flex;align-items:center;gap:10px;border:1.5px solid var(--border);border-radius:12px;padding:12px 14px;margin-bottom:8px;font-size:14px;font-weight:600;cursor:pointer;transition:.15s;}
.method-option.selected{border-color:var(--brand);background:var(--brand-tint);}
.method-option input{accent-color:var(--brand);}

/* modal (1-click) */
.modal-overlay{position:fixed;inset:0;background:rgba(10,12,16,.6);backdrop-filter:blur(3px);display:none;align-items:center;justify-content:center;z-index:100;padding:16px;}
.modal-overlay.open{display:flex;}
.modal{background:#fff;border-radius:20px;padding:26px;width:100%;max-width:380px;box-shadow:0 30px 80px rgba(0,0,0,.35);}
.modal h3{margin:0 0 4px;font-size:19px;font-weight:700;}
.modal p{color:var(--muted);font-size:13.5px;margin:0 0 16px;}
.modal .close{float:right;background:none;border:none;font-size:20px;color:var(--muted);}

/* toast */
#toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:var(--lime);padding:12px 22px;border-radius:999px;font-size:13.5px;font-weight:600;opacity:0;transition:.2s;z-index:200;pointer-events:none;box-shadow:0 12px 30px rgba(0,0,0,.3);}
#toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* success page */
.success-wrap{text-align:center;max-width:480px;margin:60px auto;padding:0 20px;}
.success-icon{width:76px;height:76px;border-radius:999px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;display:flex;align-items:center;justify-content:center;font-size:36px;margin:0 auto 18px;box-shadow:var(--shadow-brand);}

@media(max-width:720px){
  .topbar{display:none;}
  .header-main{gap:10px;padding:10px 0;}
  .logo{font-size:18px;}
  .header-actions .icon-btn span{display:none;}
  .navbar{display:none;}
  body{padding-bottom:60px;}
  .mobile-tabbar{display:flex;position:fixed;bottom:0;left:0;right:0;background:var(--glass);backdrop-filter:blur(14px);border-top:1px solid var(--border);z-index:90;justify-content:space-around;padding:6px 0 8px;}
  .mobile-tabbar .mt-item{display:flex;flex-direction:column;align-items:center;gap:2px;font-size:10.5px;color:var(--muted);position:relative;padding:4px 10px;}
  .mobile-tabbar .mt-item svg{width:22px;height:22px;}
  .filters{position:fixed;top:0;left:0;bottom:0;width:82%;max-width:320px;background:#fff;z-index:110;padding:20px;overflow-y:auto;transform:translateX(-105%);transition:.2s;}
  .filters.open{transform:translateX(0);}
  .filters-scrim{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:105;display:none;}
  .filters-scrim.open{display:block;}
  .filters-mobile-btn{display:flex;margin-bottom:14px;}
}

/* ================= РОЗШИРЕНИЙ КАТАЛОГ / ВИПАДАЮЧІ СПИСКИ ================= */
.navbar .container{overflow:visible;flex-wrap:wrap;height:auto;min-height:48px;padding-top:5px;padding-bottom:5px;row-gap:4px;}
.nav-item.catalog{position:relative;}
.cat-btn{display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,var(--brand),var(--brand2));color:#fff;border:none;border-radius:999px;padding:9px 18px;font-size:14px;font-weight:700;white-space:nowrap;box-shadow:var(--shadow-brand);}
.cat-btn:hover{filter:brightness(1.08);}
.catalog-drop{position:absolute;top:calc(100% + 8px);left:0;display:none;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);z-index:85;width:min(1020px,94vw);grid-template-columns:286px 1fr;overflow:hidden;}
.nav-item.catalog:hover .catalog-drop{display:grid;}
.cd-left{background:var(--surface);padding:10px;max-height:min(72vh,600px);overflow-y:auto;}
.cd-cat{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);font-size:13.4px;font-weight:600;cursor:pointer;line-height:1.25;color:var(--ink);}
.cd-cat .ico{font-size:17px;flex-shrink:0;}
.cd-cat .cnt{margin-left:auto;font-size:11px;color:var(--faint);font-weight:700;flex-shrink:0;}
.cd-cat:hover,.cd-cat.active{background:#fff;color:var(--brand);}
.cd-right{padding:20px 22px;max-height:min(72vh,600px);overflow-y:auto;}
.cd-right h4{margin:0 0 4px;font-size:17px;}
.cd-right .cd-lead{font-size:12.5px;color:var(--muted);margin:0 0 14px;}
.cd-subs{columns:2;column-gap:28px;}
@media(max-width:1080px){.cd-subs{columns:1;}}
.cd-sub{display:block;font-size:13.4px;color:var(--muted);padding:5px 0;break-inside:avoid;cursor:pointer;}
.cd-sub:hover{color:var(--brand);}
.cd-sub .cnt{color:var(--faint);font-size:11.5px;}
.cd-all{display:inline-block;margin-top:16px;font-size:13px;font-weight:700;color:var(--brand);cursor:pointer;}

.megamenu{max-height:min(70vh,520px);overflow-y:auto;grid-template-columns:repeat(2,1fr);min-width:520px;max-width:min(680px,92vw);}
.navbar .nav-item:nth-last-child(-n+4):not(.catalog) .megamenu{left:auto;right:0;}
.megamenu a.sub .cnt{color:var(--faint);font-size:11.5px;}

/* підкатегорії у фільтрах каталогу */
.sub-list{display:flex;flex-direction:column;gap:2px;max-height:320px;overflow-y:auto;padding-right:4px;}
.sub-list a{font-size:13px;color:var(--muted);padding:6px 9px;border-radius:9px;display:flex;justify-content:space-between;gap:10px;cursor:pointer;line-height:1.3;}
.sub-list a:hover{background:var(--surface);color:var(--brand);}
.sub-list a.active{background:var(--brand-tint);color:var(--brand);font-weight:700;}
.sub-list a .n{color:var(--faint);font-size:11.5px;flex-shrink:0;}

/* сітка категорій з підкатегоріями на головній */
.catwall{display:grid;grid-template-columns:repeat(auto-fill,minmax(258px,1fr));gap:14px;}
.catwall .cw{border:1px solid var(--border);border-radius:var(--radius);background:#fff;padding:16px 16px 14px;transition:.18s;}
.catwall .cw:hover{border-color:var(--brand);box-shadow:var(--shadow);}
.catwall .cw h3{margin:0 0 2px;font-size:14.5px;display:flex;align-items:center;gap:8px;cursor:pointer;}
.catwall .cw .cw-n{font-size:11.5px;color:var(--faint);margin-bottom:8px;}
.catwall .cw a.cw-sub{display:block;font-size:12.8px;color:var(--muted);padding:3px 0;cursor:pointer;}
.catwall .cw a.cw-sub:hover{color:var(--brand);}
.catwall .cw a.cw-more{font-size:12.5px;color:var(--brand);font-weight:700;cursor:pointer;display:inline-block;margin-top:7px;}

/* мобільна шухляда каталогу */
.mcat-scrim{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:120;display:none;}
.mcat-scrim.open{display:block;}
.mcat{position:fixed;top:0;left:0;bottom:0;width:88%;max-width:370px;background:#fff;z-index:125;transform:translateX(-105%);transition:.22s;overflow-y:auto;padding:18px 14px 90px;}
.mcat.open{transform:translateX(0);}
.mcat h3{margin:0 0 14px;font-size:17px;}
.mcat .acc{border-bottom:1px solid var(--border);}
.mcat .acc-h{display:flex;align-items:center;gap:9px;padding:12px 4px;font-size:13.8px;font-weight:600;cursor:pointer;}
.mcat .acc-h .cnt{margin-left:auto;font-size:11px;color:var(--faint);font-weight:700;}
.mcat .acc-h .arrow{transition:.2s;color:var(--faint);font-size:16px;}
.mcat .acc.open .acc-h .arrow{transform:rotate(90deg);}
.mcat .acc-b{display:none;padding:0 4px 12px 30px;}
.mcat .acc.open .acc-b{display:block;}
.mcat .acc-b a{display:block;font-size:12.8px;color:var(--muted);padding:6px 0;cursor:pointer;}
.mcat .acc-b a:hover{color:var(--brand);}
.mcat-close{position:absolute;top:14px;right:14px;border:none;background:var(--surface);border-radius:999px;width:32px;height:32px;font-size:19px;line-height:1;color:var(--ink);}