
:root{--bg:#060b16;--panel:rgba(18,30,54,.72);--panel2:rgba(8,16,32,.92);--line:rgba(170,205,255,.22);--text:#f4f8ff;--muted:#b6c6dc;--blue:#51c8ff;--violet:#8168ff;--green:#72ffd0;--dark:#07101f}
*{box-sizing:border-box} html{scroll-behavior:smooth;background:var(--bg)} body{margin:0;min-height:100vh;color:var(--text);font-family:Inter,Arial,system-ui,sans-serif;background:radial-gradient(circle at 12% 0%,rgba(64,188,255,.18),transparent 30%),radial-gradient(circle at 88% 0%,rgba(134,94,255,.28),transparent 34%),linear-gradient(180deg,#091527 0%,#060b16 68%,#03060c 100%);overflow-x:hidden}.bg-noise{position:fixed;inset:0;pointer-events:none;opacity:.13;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence baseFrequency='.85' numOctaves='3'/%3E%3C/filter%3E%3Crect width='180' height='180' filter='url(%23n)' opacity='.35'/%3E%3C/svg%3E")}.app-shell{position:relative;max-width:1500px;margin:0 auto;padding:26px 14px 120px}.glass{background:linear-gradient(135deg,rgba(255,255,255,.13),rgba(255,255,255,.05));border:1px solid var(--line);box-shadow:0 24px 70px rgba(0,0,0,.36),inset 0 1px 0 rgba(255,255,255,.16);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.topbar{height:96px;border-radius:26px;padding:14px 18px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}.brand-block{display:flex;align-items:center;gap:12px}.logo-box{width:46px;height:46px;border-radius:15px;background:rgba(0,0,0,.28);display:grid;place-items:center;border:1px solid rgba(255,255,255,.16)}.logo-box img{width:31px;height:31px;object-fit:contain}.brand-block b{display:block;color:var(--blue);letter-spacing:.13em;font-size:14px}.brand-block span{display:block;color:#9eb3c9;font-size:12px;margin-top:4px}.topnav{display:flex;gap:10px;flex-wrap:wrap}.topnav button,.ghost-btn,.tabs button{border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);color:#fff;border-radius:999px;padding:13px 18px;font-weight:950;cursor:pointer;transition:.18s}.topnav button:hover,.ghost-btn:hover,.tabs button:hover{background:rgba(255,255,255,.14);transform:translateY(-1px)}
.hero{position:relative;min-height:505px;border-radius:30px;overflow:hidden;margin-bottom:16px}.hero-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(4,9,18,.94) 0%,rgba(4,9,18,.74) 34%,rgba(4,9,18,.42) 62%,rgba(4,9,18,.22) 100%)}.hero-content{position:relative;z-index:2;padding:42px 28px;max-width:560px}.hero-kicker{display:inline-flex;margin-bottom:20px;color:#6ed8ff;background:rgba(67,188,255,.12);border:1px solid rgba(67,188,255,.28);border-radius:999px;padding:9px 13px;font-size:13px;font-weight:950;letter-spacing:.12em}.brand-mini{color:#62d0ff;font-size:13px;font-weight:950;letter-spacing:.12em;margin-bottom:18px}.hero h1{font-size:clamp(50px,6vw,78px);line-height:.96;letter-spacing:-.06em;margin:0 0 22px;text-shadow:0 18px 40px rgba(0,0,0,.48)}.primary-btn{border:0;border-radius:16px;background:linear-gradient(90deg,#49c7ff,#8169ff);color:white;height:52px;padding:0 24px;font-weight:950;cursor:pointer;box-shadow:0 16px 38px rgba(70,113,255,.3)}.primary-btn.full{width:100%}.hero-features{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px}.hero-features span{min-height:56px;display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:rgba(255,255,255,.07);font-weight:900;font-size:13px;color:#eef6ff}
.tabs{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px;padding:12px;border-radius:22px;margin-bottom:24px}.tabs button{width:100%;min-height:48px;display:grid;place-items:center;text-align:center}.tabs button.active{background:linear-gradient(90deg,rgba(77,196,255,.68),rgba(128,104,255,.68));border-color:rgba(255,255,255,.36)}
.section-head{margin:18px 0}.section-head span{color:var(--blue);font-weight:950;letter-spacing:.14em;font-size:13px}.section-head h2{font-size:36px;line-height:1;margin:8px 0 0;letter-spacing:-.04em}.section-head.compact{margin-top:26px}.category-grid,.product-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;align-items:stretch}.category-card,.product-card{position:relative;overflow:hidden;border-radius:24px;background:linear-gradient(180deg,rgba(12,22,40,.95),rgba(6,13,26,.98));border:1px solid rgba(145,185,255,.2);box-shadow:0 18px 50px rgba(0,0,0,.32);min-width:0}.category-card{min-height:320px;display:flex;flex-direction:column;cursor:pointer}.category-photo{position:relative;height:185px;overflow:hidden}.category-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block}.category-photo::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(5,10,20,.04),rgba(5,10,20,.42))}.badge{height:32px;min-width:62px;display:inline-flex;align-items:center;justify-content:center;padding:0 12px;border-radius:999px;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:11px;font-weight:950;text-transform:uppercase;box-shadow:0 10px 28px rgba(0,0,0,.22);white-space:nowrap}.category-photo .badge{position:absolute;left:14px;top:14px;z-index:2}.category-info{display:flex;flex-direction:column;gap:10px;padding:18px;min-height:134px;flex:1}.category-info h3,.product-info h3{margin:0;font-size:22px;line-height:1.05;letter-spacing:-.03em}.category-info p,.product-info p{margin:0;color:var(--muted);line-height:1.42;font-size:14px}.card-bottom{display:flex;align-items:flex-end;justify-content:space-between;gap:10px;margin-top:auto}.price-stack{font-weight:950}.price-stack small{display:block;color:#d7e5f6;font-size:13px}.price-stack b{display:block;color:var(--green);font-size:20px}.link-more{color:#eaf6ff;font-weight:950;font-size:13px;white-space:nowrap}.hidden{display:none!important}
.product-panel{border-radius:22px;padding:18px 20px;margin:12px 0 16px;display:flex;align-items:center;justify-content:space-between;gap:16px}.product-panel span{color:var(--blue);font-size:12px;font-weight:950;letter-spacing:.12em}.product-panel h3{margin:5px 0 0;font-size:28px}.subfilters{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 14px}.subfilters button{border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.07);color:#fff;border-radius:999px;min-height:40px;padding:0 15px;font-weight:900;cursor:pointer}.subfilters button.active{background:rgba(104,180,255,.24);border-color:rgba(118,240,205,.6)}
.product-card{display:flex;flex-direction:column;min-height:565px}.product-photo{position:relative;height:300px;background:#091323;overflow:hidden}.product-photo img{width:100%;height:100%;object-fit:cover;object-position:center;display:block;filter:none;transform:none}.product-badges{position:absolute;left:12px;right:12px;top:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:10px;z-index:2}.product-badges-left,.product-badges-right{display:flex;gap:8px;flex-wrap:wrap}.product-info{display:flex;flex-direction:column;gap:10px;padding:16px;flex:1}.chips{display:flex;gap:8px;flex-wrap:wrap}.chips span{height:28px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:0 10px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);color:#edf5ff;font-size:12px;font-weight:850;white-space:nowrap}.product-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:auto}.product-actions button{height:46px;border-radius:14px;border:1px solid rgba(255,255,255,.16);font-weight:950;color:#fff;cursor:pointer}.details-btn{background:rgba(255,255,255,.06)}.cart-btn{background:linear-gradient(90deg,#4fc2ff,#8068ff);border:0!important}.product-price{display:flex;align-items:end;justify-content:space-between;gap:10px;margin-top:auto}.product-price small{font-weight:900;color:#aebed2}.product-price b{font-size:20px;color:var(--green);white-space:nowrap}.preorder-card .product-photo{height:320px}.preorder-card .product-photo img{object-fit:cover}.preorder-card .badge.preorder{background:rgba(95,164,255,.22);border-color:rgba(112,197,255,.45)}
.support{border-radius:24px;padding:22px;margin-top:36px}.support-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.support-grid div{border-radius:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:18px}.support-grid b{font-size:18px}.support-grid p{color:var(--muted);line-height:1.5}.cart-float{position:fixed;right:24px;bottom:24px;z-index:60;border-radius:999px;padding:14px 18px;border:1px solid rgba(255,255,255,.18);color:#fff;cursor:pointer}.cart-float b{color:var(--green);margin-left:6px}.cart{position:fixed;right:18px;top:18px;bottom:18px;z-index:80;width:min(420px,calc(100vw - 36px));border-radius:26px;padding:18px;display:flex;flex-direction:column}.cart-head{display:flex;align-items:center;justify-content:space-between}.cart-head span{color:var(--blue);font-weight:950;font-size:12px;letter-spacing:.12em}.cart-head h3{margin:4px 0 0;font-size:28px}.cart-head button{width:42px;height:42px;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.08);color:#fff;font-size:24px}.cart-items{flex:1;overflow:auto;margin:16px 0}.cart-item{display:flex;gap:12px;padding:12px;border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);margin-bottom:10px}.cart-item img{width:70px;height:56px;object-fit:cover;border-radius:10px}.cart-item b{display:block}.cart-item span{color:var(--green);font-weight:900}.cart-total{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}.cart-total b{color:var(--green);font-size:24px}
.modal{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(2,6,12,.76);backdrop-filter:blur(8px)}.modal-card{position:relative;z-index:2;width:min(1480px,calc(100vw - 36px));max-height:calc(100vh - 36px);overflow:hidden;border-radius:28px}.modal-close{position:absolute;right:16px;top:16px;width:46px;height:46px;z-index:10;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(12,22,40,.72);color:#fff;font-size:28px;cursor:pointer}.modal-grid{display:grid;grid-template-columns:minmax(0,66%) minmax(360px,34%);min-height:720px}.modal-gallery{min-width:0;background:#08111e;border-right:1px solid rgba(255,255,255,.09);display:grid;grid-template-rows:minmax(0,1fr) auto}.gallery-main{position:relative;display:grid;place-items:center;min-height:600px;background:#08111e}.gallery-main img{width:100%;height:100%;max-height:calc(100vh - 142px);object-fit:contain;object-position:center;display:block;background:#08111e}.gal-arrow{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:48px;border-radius:999px;border:1px solid rgba(255,255,255,.18);background:rgba(7,14,27,.76);color:#fff;font-size:34px;z-index:4;cursor:pointer}.gal-arrow.left{left:14px}.gal-arrow.right{right:14px}.gal-counter{position:absolute;left:14px;bottom:14px;height:34px;border-radius:999px;padding:0 12px;display:flex;align-items:center;background:rgba(7,14,27,.76);border:1px solid rgba(255,255,255,.14);font-weight:900}.gallery-thumbs{display:flex;gap:10px;padding:12px;overflow-x:auto;background:#0a1322;border-top:1px solid rgba(255,255,255,.08)}.thumb{flex:0 0 96px;height:70px;border-radius:14px;padding:0;border:1px solid rgba(255,255,255,.12);background:#101a2c;overflow:hidden;cursor:pointer}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.active{border-color:var(--green);box-shadow:0 0 0 2px rgba(114,255,208,.18)}.modal-info{display:flex;flex-direction:column;gap:14px;padding:30px 26px;max-height:calc(100vh - 36px);overflow-y:auto}.modal-badge{align-self:flex-start;border-radius:999px;padding:10px 14px;background:rgba(83,178,255,.17);border:1px solid rgba(105,202,255,.32);font-weight:950;letter-spacing:.08em;color:#dff5ff}.modal-info h2{font-size:clamp(34px,4vw,54px);line-height:.98;margin:0;letter-spacing:-.05em}.modal-short{margin:0;color:var(--muted);line-height:1.55}.spec-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.spec-grid div{border-radius:16px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.11);padding:12px}.spec-grid span{display:block;color:#aebed2;font-size:12px;font-weight:900}.spec-grid b{font-size:17px}.long-desc-wrap{border-radius:18px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.11);padding:16px}.long-desc-title{color:var(--green);font-size:12px;font-weight:950;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.long-desc{color:#dce8f7;line-height:1.58;font-size:14px}.long-desc p{margin:0 0 12px}.modal-bottom{position:sticky;bottom:-30px;margin-top:auto;padding-top:16px;background:linear-gradient(180deg,rgba(7,12,22,0),rgba(7,12,22,.98) 42%)}.modal-bottom span{display:block;color:#aebed2;font-size:13px;font-weight:900}.modal-bottom b{display:block;color:var(--green);font-size:42px;letter-spacing:-.05em}.modal-bottom em{display:block;color:#94a8c0;text-decoration:line-through;font-style:normal;font-weight:850;margin:2px 0 12px}
@media (max-width:1200px){.category-grid,.product-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-grid{grid-template-columns:1fr}.modal-card{overflow:auto}.modal-info{max-height:none}.modal-gallery{border-right:0}.gallery-main{min-height:460px}.gallery-main img{max-height:600px}.support-grid{grid-template-columns:1fr 1fr}}@media (max-width:820px){.app-shell{padding:12px 8px 100px}.topbar{height:auto;align-items:flex-start}.topnav{justify-content:flex-end}.hero{min-height:520px}.hero-content{padding:28px 20px}.hero-features{grid-template-columns:1fr}.tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-photo,.preorder-card .product-photo{height:230px}.modal{padding:8px}.modal-card{width:calc(100vw - 16px);max-height:calc(100vh - 16px)}.gallery-main{min-height:340px}.modal-info{padding:22px 18px}.spec-grid{grid-template-columns:1fr}.support-grid{grid-template-columns:1fr}}@media (max-width:560px){.category-grid,.product-grid{grid-template-columns:1fr}.topbar{flex-direction:column}.topnav{width:100%;display:grid;grid-template-columns:1fr 1fr}.hero h1{font-size:44px}.section-head h2{font-size:30px}.modal-info h2{font-size:32px}.modal-bottom b{font-size:34px}}


/* === V118 refinements === */
.product-card{height:100%}
.product-info{padding:18px;gap:12px}
.product-info h3{min-height:46px;display:flex;align-items:flex-start}
.product-info p{min-height:40px}
.product-badges-left,.product-badges-right{align-items:flex-start}
.chips{align-content:flex-start;min-height:64px}
.product-actions button,.subfilters button,.tabs button{transition:.18s ease}

/* Symmetric category/type filter grid */
.subfilters{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0 14px;align-items:stretch}
.subfilters button{width:100%;min-height:52px;padding:10px 16px;display:flex;align-items:center;justify-content:center;text-align:center;line-height:1.2;border-radius:16px}
.subfilters button.active{background:linear-gradient(90deg,rgba(77,196,255,.46),rgba(128,104,255,.40));border-color:rgba(118,240,205,.6)}

/* Better modal gallery fill */
.modal-grid{grid-template-columns:minmax(0,64%) minmax(360px,36%)}
.gallery-main{min-height:680px;overflow:hidden}
.gallery-main img{width:100%;height:100%;max-height:none;object-fit:cover;object-position:center center}
.gallery-thumbs{padding:14px}
.thumb{flex:0 0 104px;height:76px}

/* Better long description typography */
.long-desc-wrap{padding:18px 18px 12px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.045))}
.long-desc{font-size:14px;line-height:1.6}
.ld-lead{font-size:18px;font-weight:800;line-height:1.45;color:#f5fbff;margin:0 0 14px}
.ld-head{margin:16px 0 8px;font-size:15px;line-height:1.3;font-weight:950;letter-spacing:.02em;color:var(--green)}
.ld-p{margin:0 0 10px;color:#dce8f7}
.ld-kv{display:grid;grid-template-columns:minmax(110px,38%) 1fr;gap:10px;align-items:start;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);margin:0 0 8px}
.ld-kv span{color:#a8bdd5;font-weight:850;font-size:13px}
.ld-kv b{color:#f4f8ff;font-size:14px;line-height:1.45}
.ld-list{margin:0 0 10px 0;padding:0;list-style:none;display:grid;gap:8px}
.ld-list li{position:relative;padding-left:18px;color:#dce8f7;line-height:1.5}
.ld-list li::before{content:'';position:absolute;left:0;top:.62em;width:8px;height:8px;border-radius:999px;background:linear-gradient(180deg,var(--blue),var(--green))}

@media (max-width:1200px){
  .subfilters{grid-template-columns:repeat(3,minmax(0,1fr))}
  .gallery-main{min-height:520px}
}
@media (max-width:820px){
  .subfilters{grid-template-columns:repeat(2,minmax(0,1fr))}
  .gallery-main{min-height:420px}
  .gallery-main img{object-fit:cover}
  .product-info h3{min-height:auto}
  .product-info p{min-height:auto}
  .chips{min-height:auto}
}
@media (max-width:560px){
  .subfilters{grid-template-columns:1fr}
  .gallery-main{min-height:360px}
  .ld-kv{grid-template-columns:1fr}
  .thumb{flex-basis:92px;height:68px}
}


/* === V119: возвращаем красивый визуал категорий + симметрия === */

/* Верхние категории-фильтры: ровно 4 + 4, без одинокой кнопки снизу */
.tabs{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  padding:14px !important;
  align-items:stretch !important;
}
.tabs button{
  min-height:58px !important;
  height:58px !important;
  border-radius:22px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1.15 !important;
  padding:0 18px !important;
}

/* Сетка категорий: одинаковые карточки, ровный ритм */
.category-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.category-card{
  position:relative !important;
  height:330px !important;
  min-height:330px !important;
  max-height:330px !important;
  display:block !important;
  overflow:hidden !important;
  border-radius:24px !important;
  background:#07101f !important;
  cursor:pointer !important;
}
.category-photo{
  position:absolute !important;
  inset:0 !important;
  width:100% !important;
  height:100% !important;
  overflow:hidden !important;
}
.category-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
  display:block !important;
  opacity:.94 !important;
  transform:none !important;
}
.category-photo::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:
    linear-gradient(180deg,
      rgba(3,8,16,.08) 0%,
      rgba(3,8,16,.06) 38%,
      rgba(3,8,16,.62) 66%,
      rgba(3,8,16,.94) 100%) !important;
  pointer-events:none !important;
}
.category-photo .badge{
  position:absolute !important;
  left:18px !important;
  top:18px !important;
  z-index:3 !important;
  height:32px !important;
  min-width:74px !important;
  padding:0 12px !important;
  border-radius:999px !important;
}

/* Текст снова поверх фото, как в красивой версии, но строго выровнен */
.category-info{
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  bottom:0 !important;
  z-index:2 !important;
  min-height:136px !important;
  height:136px !important;
  padding:18px 18px 16px !important;
  display:flex !important;
  flex-direction:column !important;
  gap:8px !important;
  background:linear-gradient(180deg,rgba(8,16,31,.18),rgba(6,13,26,.78) 32%,rgba(5,11,22,.96) 100%) !important;
  border-top:1px solid rgba(255,255,255,.07) !important;
}
.category-info h3{
  margin:0 !important;
  font-size:22px !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  min-height:24px !important;
  display:flex !important;
  align-items:flex-start !important;
}
.category-info p{
  margin:0 !important;
  color:rgba(221,233,247,.86) !important;
  line-height:1.35 !important;
  font-size:14px !important;
  min-height:38px !important;
  max-height:38px !important;
  overflow:hidden !important;
}
.card-bottom{
  margin-top:auto !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:space-between !important;
  gap:12px !important;
}
.price-stack small{
  display:block !important;
  height:17px !important;
  line-height:17px !important;
  font-size:13px !important;
}
.price-stack b{
  display:block !important;
  height:23px !important;
  line-height:23px !important;
  font-size:20px !important;
}
.link-more{
  height:23px !important;
  line-height:23px !important;
}

/* Предзаказы в категориях не должны отличаться по размеру */
.category-card[data-cat="preorder"] .category-photo img{
  object-position:center center !important;
}
.category-card[data-cat="preorder"] .category-info{
  height:136px !important;
  min-height:136px !important;
}

/* Популярное и товары: ровные карточки без скачков */
.product-grid{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
}
.product-card{
  height:610px !important;
  min-height:610px !important;
  max-height:610px !important;
}
.product-photo{
  height:315px !important;
  min-height:315px !important;
}
.preorder-card .product-photo{
  height:315px !important;
  min-height:315px !important;
}
.product-info h3{
  min-height:48px !important;
}
.product-info p{
  min-height:42px !important;
  max-height:42px !important;
  overflow:hidden !important;
}
.chips{
  min-height:64px !important;
}

/* Модалка: фото без пустых полос сверху/снизу */
.gallery-main{
  min-height:680px !important;
  height:calc(100vh - 142px) !important;
  overflow:hidden !important;
}
.gallery-main img{
  width:100% !important;
  height:100% !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Адаптив */
@media (max-width:1200px){
  .tabs{grid-template-columns:repeat(4,minmax(0,1fr)) !important;}
  .category-grid,.product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .category-card{height:320px !important;min-height:320px !important;max-height:320px !important;}
  .product-card{height:590px !important;min-height:590px !important;max-height:590px !important;}
}
@media (max-width:900px){
  .tabs{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .category-grid,.product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .category-card{height:310px !important;min-height:310px !important;max-height:310px !important;}
  .gallery-main{min-height:430px !important;height:52vh !important;}
}
@media (max-width:560px){
  .tabs{grid-template-columns:1fr 1fr !important;}
  .tabs button{height:52px !important;min-height:52px !important;border-radius:18px !important;}
  .category-grid,.product-grid{grid-template-columns:1fr !important;}
  .category-card{height:300px !important;min-height:300px !important;max-height:300px !important;}
  .category-info{height:140px !important;min-height:140px !important;}
  .product-card{height:auto !important;min-height:0 !important;max-height:none !important;}
  .product-photo,.preorder-card .product-photo{height:250px !important;min-height:250px !important;}
  .product-info h3,.product-info p,.chips{min-height:auto !important;max-height:none !important;}
}


/* === V120 UX refinements === */
.product-card{min-height:590px !important;max-height:none !important}
.product-photo{height:318px !important;min-height:318px !important}
.product-badges{left:12px;right:12px;top:12px;align-items:flex-start}
.product-badges-right{justify-content:flex-end;max-width:54%}
.product-badges .badge{backdrop-filter:blur(4px)}
.product-badges .badge.preorder{background:rgba(96,171,255,.26);border-color:rgba(136,211,255,.58)}
.product-info{padding:18px !important;gap:12px !important}
.product-copy h3{margin:0;font-size:22px;line-height:1.04;letter-spacing:-.035em;color:#f7fbff}
.product-copy p{margin:0;color:#d6e3f2;line-height:1.45;min-height:40px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.chips{min-height:58px !important;align-content:flex-start}
.chips span{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.14)}
.card-price-block{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin-top:auto;padding-top:2px}
.card-price-block .price-meta small{font-size:13px;color:#a9bdd4;font-weight:900;text-transform:none}
.card-price-block .price-main{display:flex;flex-direction:column;align-items:flex-end}
.card-old-price{display:block;font-style:normal;font-size:13px;line-height:1;color:#90a6bf;text-decoration:line-through;margin-bottom:6px}
.card-price-block b{font-size:18px;line-height:1;color:var(--green);white-space:nowrap;text-shadow:0 1px 0 rgba(0,0,0,.2)}
.product-actions{margin-top:0 !important}
.product-panel{padding:16px 18px !important}
.product-panel h3{font-size:30px !important;letter-spacing:-.03em}
.subfilters{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:10px !important}
.subfilters button{position:relative;overflow:hidden;background:rgba(255,255,255,.065) !important;border-color:rgba(255,255,255,.13) !important}
.subfilters button.active{background:linear-gradient(90deg,rgba(82,180,255,.42),rgba(127,103,255,.38)) !important;color:#fff !important;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}
.modal-info{padding-bottom:168px !important}
.modal-badge{font-size:12px !important;line-height:1 !important}
.modal-short{font-size:16px !important;color:#d8e6f7 !important}
.long-desc-wrap{padding:18px 18px 16px !important;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.045)) !important}
.long-desc-title{margin-bottom:12px !important}
.ld-lead{margin-bottom:14px !important;font-size:17px !important;line-height:1.5 !important;color:#f6fbff !important}
.ld-head{margin-top:18px !important;color:var(--green) !important;font-size:16px !important}
.ld-kv{padding:10px 12px !important;border-radius:14px !important;background:rgba(255,255,255,.05) !important}
.ld-kv span{font-size:12px !important;letter-spacing:.01em !important}
.ld-kv b{font-size:14px !important;line-height:1.45 !important}
.modal-bottom{position:sticky !important;bottom:0 !important;z-index:6 !important;padding:18px 18px 16px !important;margin:12px -4px -8px !important;border-top:1px solid rgba(255,255,255,.08) !important;background:linear-gradient(180deg,rgba(5,10,18,.12),rgba(7,12,22,.92) 18%,rgba(7,12,22,.985) 100%) !important;backdrop-filter:blur(10px)}
.modal-bottom > div{margin-bottom:12px}
.modal-bottom span{font-size:12px !important;letter-spacing:.08em !important;text-transform:uppercase}
.modal-bottom b{font-size:46px !important;line-height:.95 !important;color:var(--green) !important;text-shadow:0 1px 0 rgba(0,0,0,.18)}
.modal-bottom em{display:block !important;font-size:18px !important;color:#a8bbd1 !important;text-decoration:line-through !important;text-decoration-thickness:2px !important;margin:6px 0 0 !important}
.gallery-main{background:#08111e !important}
.gallery-main img{background:#08111e !important}
.category-photo::after{background:linear-gradient(180deg,rgba(3,8,16,.04) 0%,rgba(3,8,16,.04) 36%,rgba(3,8,16,.56) 66%,rgba(3,8,16,.94) 100%) !important}
.category-info h3{text-shadow:0 2px 12px rgba(0,0,0,.22)}
.category-info p{color:rgba(223,236,249,.88) !important}
@media (max-width:1200px){.subfilters{grid-template-columns:repeat(3,minmax(0,1fr)) !important}}
@media (max-width:820px){.product-card{min-height:unset !important}.product-photo{height:250px !important;min-height:250px !important}.modal-info{padding-bottom:152px !important}.modal-bottom b{font-size:38px !important}.subfilters{grid-template-columns:repeat(2,minmax(0,1fr)) !important}}
@media (max-width:560px){.subfilters{grid-template-columns:1fr !important}.modal-info{padding-bottom:144px !important}.modal-bottom{padding:16px 14px 14px !important}.modal-bottom b{font-size:34px !important}}


/* === V121 structure / UI refinements === */
.brand-block{gap:14px !important}
.logo-box{width:54px !important;height:54px !important;flex:0 0 54px !important;border-radius:17px !important;background:linear-gradient(180deg,rgba(255,255,255,.12),rgba(255,255,255,.05)) !important;border-color:rgba(120,206,255,.28) !important;box-shadow:0 10px 28px rgba(0,0,0,.22)}
.logo-box img{width:auto !important;height:auto !important;max-width:28px !important;max-height:28px !important;aspect-ratio:1/1 !important;display:block !important}
.brand-block > div:last-child{display:flex !important;flex-direction:column !important;gap:3px !important}
.brand-block b{font-size:22px !important;line-height:1 !important;letter-spacing:.12em !important;color:#66caff !important;text-shadow:0 0 20px rgba(89,196,255,.12)}
.brand-block span{font-size:13px !important;line-height:1.15 !important;color:#b7c9db !important;margin-top:0 !important}

/* grouped popular on home */
#popularGrid{display:flex !important;flex-direction:column !important;gap:26px !important}
.popular-group{display:flex;flex-direction:column;gap:14px}
.popular-group .section-head{margin:0 !important}
.popular-group .section-head.mini span{font-size:12px !important}
.popular-group .section-head.mini h3{font-size:30px !important;line-height:1 !important;margin-top:6px !important;letter-spacing:-.03em !important}
.grouped-grid{display:grid !important;grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:18px !important}

/* clearer filter dropdown */
.subfilters{display:block !important;margin:10px 0 18px !important}
.subfilter-wrap{border:1px solid rgba(255,255,255,.1);background:linear-gradient(180deg,rgba(17,28,49,.84),rgba(10,18,34,.92));border-radius:22px;padding:12px;box-shadow:0 16px 40px rgba(0,0,0,.18)}
.filter-toggle{width:100%;min-height:56px;border-radius:18px;border:1px solid rgba(255,255,255,.14);background:linear-gradient(90deg,rgba(76,185,255,.18),rgba(122,108,255,.15));display:flex;align-items:center;justify-content:space-between;gap:16px;padding:0 18px;color:#fff;cursor:pointer}
.filter-toggle span{font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;color:#90d8ff}
.filter-toggle b{font-size:18px;letter-spacing:-.02em;color:#f2f8ff;flex:1;text-align:left}
.filter-toggle i{font-style:normal;font-size:24px;line-height:1;color:#dff5ff;width:24px;text-align:center}
.subfilter-list{display:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding-top:12px}
.subfilter-wrap.open .subfilter-list{display:grid}
.subfilter-list button{min-height:48px !important;border-radius:16px !important;white-space:normal !important;padding:10px 14px !important;line-height:1.2 !important}

/* more filled product cards */
.product-card{height:592px !important;min-height:592px !important;max-height:592px !important}
.product-photo,.preorder-card .product-photo{height:332px !important;min-height:332px !important}
.product-info{padding:16px 16px 18px !important;gap:10px !important}
.product-copy h3{font-size:20px !important;min-height:44px !important}
.product-copy p{font-size:14px !important;min-height:38px !important;max-height:38px !important}
.chips{min-height:54px !important;gap:7px !important}
.chips span{height:30px !important;padding:0 11px !important;font-size:11px !important}
.card-price-block{padding-top:4px !important;margin-top:auto !important}
.card-price-block .price-main{min-height:44px;justify-content:flex-end}
.card-old-price{font-size:12px !important;margin-bottom:5px !important}
.card-price-block b{font-size:17px !important}
.product-actions button{height:44px !important}
.product-badges-right{max-width:62% !important}

/* category cards keep photo visible and aligned */
.category-card{height:338px !important;min-height:338px !important;max-height:338px !important}
.category-info{min-height:142px !important;height:142px !important;padding:18px 18px 18px !important}
.category-info p{min-height:40px !important;max-height:40px !important}
.category-card[data-cat="preorder"] .category-photo img{object-position:center 42% !important}

/* modal gallery / text */
.gallery-main{min-height:720px !important;height:calc(100vh - 142px) !important}
.gallery-main img{object-fit:cover !important;object-position:center center !important}
.modal-info{gap:16px !important}
.modal-badge{padding:12px 16px !important}
.long-desc{display:flex;flex-direction:column;gap:10px}
.ld-p{margin:0 !important}
.ld-list{margin:0;padding-left:18px;display:grid;gap:6px}

@media (max-width:1200px){
  .grouped-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .subfilter-list{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:900px){
  .brand-block b{font-size:18px !important}
  .grouped-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .subfilter-list{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media (max-width:560px){
  .brand-block{width:100% !important;justify-content:flex-start !important}
  .brand-block b{font-size:17px !important}
  .brand-block span{font-size:12px !important}
  .grouped-grid{grid-template-columns:1fr !important}
  .subfilter-list{grid-template-columns:1fr !important}
  .product-card{height:auto !important;min-height:0 !important;max-height:none !important}
  .product-photo,.preorder-card .product-photo{height:260px !important;min-height:260px !important}
  .filter-toggle{min-height:52px !important;padding:0 14px !important}
  .filter-toggle b{font-size:16px !important}
}


/* === V122: grouped filters, stronger category mode, card spacing === */

/* Category-mode hard lock: no category cards inside selected category */
#catalog.category-open #categoryGrid,
#categoryGrid.hidden{
  display:none !important;
}
#catalog.category-open #productsArea{
  display:block !important;
}

/* Filter dropdown: grouped, compact, not a wall of buttons */
.subfilters{
  position:relative !important;
  display:block !important;
  margin:10px 0 18px !important;
  z-index:30 !important;
}
.subfilter-wrap{
  position:relative !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,rgba(17,28,49,.84),rgba(8,15,29,.94)) !important;
  border-radius:22px !important;
  padding:10px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
}
.filter-toggle{
  width:100% !important;
  min-height:58px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.16) !important;
  background:linear-gradient(90deg,rgba(76,185,255,.18),rgba(122,108,255,.15)) !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:0 18px !important;
  color:#fff !important;
  cursor:pointer !important;
}
.filter-toggle span{
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  color:#6fd7ff !important;
}
.filter-toggle b{
  flex:1 !important;
  text-align:left !important;
  font-size:19px !important;
  letter-spacing:-.02em !important;
  color:#f4f8ff !important;
}
.filter-toggle i{
  font-style:normal !important;
  width:28px !important;
  text-align:center !important;
  font-size:26px !important;
  line-height:1 !important;
  color:#dff6ff !important;
}
.subfilter-list{
  display:none !important;
  position:absolute !important;
  left:0 !important;
  right:0 !important;
  top:calc(100% + 8px) !important;
  z-index:80 !important;
  max-height:min(58vh,520px) !important;
  overflow:auto !important;
  padding:14px !important;
  border-radius:22px !important;
  background:linear-gradient(180deg,rgba(14,25,44,.98),rgba(6,12,24,.98)) !important;
  border:1px solid rgba(150,190,255,.2) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.48) !important;
}
.subfilter-wrap.open .subfilter-list{
  display:grid !important;
  gap:16px !important;
}
.filter-group{
  display:grid !important;
  gap:9px !important;
}
.filter-group-title{
  color:#64d4ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  padding:0 4px !important;
}
.filter-options{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:9px !important;
}
.filter-options button{
  min-height:44px !important;
  border-radius:15px !important;
  padding:8px 12px !important;
  line-height:1.16 !important;
  text-align:center !important;
  white-space:normal !important;
  background:rgba(255,255,255,.06) !important;
  border:1px solid rgba(255,255,255,.13) !important;
  color:#eef6ff !important;
  font-weight:900 !important;
}
.filter-options button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.58),rgba(127,104,255,.55)) !important;
  border-color:rgba(116,244,209,.58) !important;
  box-shadow:0 10px 26px rgba(80,133,255,.18) !important;
}

/* Product card compactness: less dead space, more image */
.product-card{
  height:560px !important;
  min-height:560px !important;
  max-height:560px !important;
}
.product-photo,
.preorder-card .product-photo{
  height:340px !important;
  min-height:340px !important;
}
.product-info{
  min-height:220px !important;
  padding:14px 16px 16px !important;
  gap:8px !important;
}
.product-copy h3,
.product-info h3{
  min-height:38px !important;
  font-size:20px !important;
  line-height:1.08 !important;
}
.product-copy p,
.product-info p{
  min-height:34px !important;
  max-height:38px !important;
  line-height:1.34 !important;
}
.chips{
  min-height:36px !important;
  gap:7px !important;
}
.chips span{
  height:28px !important;
  padding:0 10px !important;
  font-size:11px !important;
}
.card-price-block{
  margin-top:auto !important;
}
.product-actions{
  margin-top:6px !important;
}
.product-actions button{
  height:43px !important;
}

/* Brand still readable, logo never stretches */
.logo-box img{
  width:auto !important;
  height:auto !important;
  max-width:28px !important;
  max-height:28px !important;
  object-fit:contain !important;
}
.brand-block b{
  font-size:22px !important;
  letter-spacing:.12em !important;
}
.brand-block span{
  font-size:13px !important;
  color:#b9c9dd !important;
}

/* Page rhythm */
.popular-group .section-head.mini h3{
  font-size:30px !important;
}
#popularGrid{
  gap:30px !important;
}

@media (max-width:1200px){
  .filter-options{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
  .product-card{height:550px !important;min-height:550px !important;max-height:550px !important;}
  .product-photo,.preorder-card .product-photo{height:320px !important;min-height:320px !important;}
}
@media (max-width:900px){
  .filter-options{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
}
@media (max-width:560px){
  .filter-options{grid-template-columns:1fr !important;}
  .subfilter-list{
    max-height:64vh !important;
  }
  .product-card{
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
  }
  .product-photo,.preorder-card .product-photo{
    height:260px !important;
    min-height:260px !important;
  }
  .product-info,.product-copy h3,.product-copy p,.chips{
    min-height:auto !important;
    max-height:none !important;
  }
}


/* === V123: card stability, less crop, no black modal === */

/* Product cards: compact, cleaner, no large empty gap under photo */
.product-card{
  height:auto !important;
  min-height:520px !important;
  max-height:none !important;
  display:flex !important;
  flex-direction:column !important;
}
.product-card .product-info{
  padding:14px 15px 15px !important;
  gap:8px !important;
}
.product-card .product-copy{
  display:grid !important;
  gap:8px !important;
}
.product-card .product-info h3{
  min-height:auto !important;
  display:block !important;
  font-size:19px !important;
  line-height:1.08 !important;
}
.product-card .product-info p{
  min-height:auto !important;
  max-height:none !important;
  color:#d0def0 !important;
  line-height:1.38 !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.product-card .chips{
  min-height:0 !important;
  gap:6px !important;
}
.product-card .chips span{
  height:26px !important;
  font-size:11px !important;
  padding:0 9px !important;
}
.product-card .card-price-block{
  margin-top:2px !important;
  padding-top:0 !important;
  align-items:flex-end !important;
}
.product-card .card-price-block .price-meta small{
  line-height:1.1 !important;
}
.product-card .card-price-block .price-main{
  min-height:0 !important;
  gap:4px !important;
}
.product-card .card-price-block b{
  font-size:17px !important;
  line-height:1 !important;
}
.product-card .product-actions{
  margin-top:4px !important;
  gap:9px !important;
}
.product-card .product-actions button{
  height:42px !important;
}

/* Non-switch cards become more rectangular so images crop less */
.product-card:not([data-cat="switch"]) .product-photo,
.product-card.preorder-card:not([data-cat="switch"]) .product-photo{
  height:252px !important;
  min-height:252px !important;
}
.product-card:not([data-cat="switch"]) .product-photo img{
  object-fit:cover !important;
  object-position:center center !important;
}

/* Keep switch cards as they are visually good */
.product-card[data-cat="switch"]{
  min-height:560px !important;
}
.product-card[data-cat="switch"] .product-photo{
  height:330px !important;
  min-height:330px !important;
}
.product-card[data-cat="switch"] .product-info p{
  -webkit-line-clamp:2 !important;
}

/* Category cards a bit cleaner too */
.category-card{
  min-height:300px !important;
}
.category-photo{
  height:175px !important;
}

/* Modal: blurred image background instead of black screen */
.modal-backdrop{
  background:rgba(3,8,16,.46) !important;
  backdrop-filter:blur(10px) !important;
  -webkit-backdrop-filter:blur(10px) !important;
}
.modal-gallery{
  background:#08111e !important;
}
.gallery-main{
  position:relative !important;
  min-height:680px !important;
  height:calc(100vh - 142px) !important;
  overflow:hidden !important;
  background:linear-gradient(180deg,rgba(8,17,30,.92),rgba(8,17,30,.98)) !important;
}
.gallery-main::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background-image:var(--modal-bg) !important;
  background-size:cover !important;
  background-position:center center !important;
  filter:blur(22px) saturate(1.05) !important;
  transform:scale(1.08) !important;
  opacity:.62 !important;
}
.gallery-main::after{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  background:linear-gradient(180deg,rgba(5,10,18,.06),rgba(5,10,18,.24)) !important;
}
.gallery-main img{
  position:relative !important;
  z-index:2 !important;
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  background:transparent !important;
  max-height:none !important;
}

/* Responsive */
@media (max-width:1200px){
  .product-card:not([data-cat="switch"]) .product-photo{height:236px !important; min-height:236px !important;}
}
@media (max-width:820px){
  .product-card{min-height:unset !important;}
  .product-card:not([data-cat="switch"]) .product-photo{height:225px !important; min-height:225px !important;}
  .product-card[data-cat="switch"] .product-photo{height:250px !important; min-height:250px !important;}
  .gallery-main{min-height:420px !important; height:52vh !important;}
}
@media (max-width:560px){
  .product-card .product-info p{-webkit-line-clamp:3 !important;}
  .product-card:not([data-cat="switch"]) .product-photo{height:230px !important; min-height:230px !important;}
  .gallery-main{min-height:360px !important; height:44vh !important;}
}


/* === V124: better grouped filters, tighter cards, visible actions, HQ mode === */

/* Filters: always visible, grouped, clean, no dropdown chaos */
.subfilters{
  display:block !important;
  margin:12px 0 18px !important;
  z-index:20 !important;
}
.subfilter-wrap{
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,rgba(16,27,46,.86),rgba(7,14,27,.95)) !important;
  border-radius:22px !important;
  padding:14px !important;
  box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
}
.filter-toggle.static-head{
  min-height:auto !important;
  padding:0 4px 12px !important;
  background:none !important;
  border:none !important;
  border-radius:0 !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:flex-start !important;
  gap:14px !important;
  cursor:default !important;
}
.filter-toggle.static-head span{
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.12em !important;
  color:#73d8ff !important;
  text-transform:uppercase !important;
}
.filter-toggle.static-head b{
  flex:none !important;
  font-size:18px !important;
  color:#f5f9ff !important;
}
.filter-toggle.static-head i{
  display:none !important;
}
.subfilter-list,
.subfilter-wrap.open .subfilter-list,
.subfilter-list.always-open{
  display:grid !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  max-height:none !important;
  overflow:visible !important;
  padding:0 !important;
  border:none !important;
  background:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  gap:14px !important;
}
.filter-group{
  display:grid !important;
  gap:8px !important;
}
.filter-group-title{
  color:#70d7ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  padding:0 2px !important;
}
.filter-options{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
}
.filter-options button{
  min-height:46px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
  white-space:normal !important;
  line-height:1.15 !important;
  font-weight:900 !important;
  background:rgba(255,255,255,.05) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#eef6ff !important;
}
.filter-options button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.52),rgba(127,104,255,.50)) !important;
  border-color:rgba(116,244,209,.58) !important;
  box-shadow:0 10px 24px rgba(74,138,255,.18) !important;
}

/* Cards: remove dead space and keep actions always visible */
.product-card{
  height:auto !important;
  min-height:492px !important;
  max-height:none !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
}
.product-card .product-info{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
  padding:14px 15px 14px !important;
  gap:8px !important;
}
.product-card .product-copy{
  gap:7px !important;
}
.product-card .product-info h3{
  font-size:18px !important;
  line-height:1.1 !important;
  min-height:0 !important;
}
.product-card .product-info p{
  min-height:0 !important;
  max-height:none !important;
  line-height:1.36 !important;
  font-size:13px !important;
  display:-webkit-box !important;
  -webkit-line-clamp:2 !important;
  -webkit-box-orient:vertical !important;
  overflow:hidden !important;
}
.product-card .chips{
  min-height:0 !important;
  gap:6px !important;
  margin-bottom:2px !important;
}
.product-card .chips span{
  height:26px !important;
  padding:0 9px !important;
  font-size:11px !important;
}
.product-card .card-price-block{
  margin-top:0 !important;
  padding-top:0 !important;
  margin-bottom:2px !important;
}
.product-card .product-actions{
  margin-top:auto !important;
  padding-top:2px !important;
  gap:8px !important;
}
.product-card .product-actions button{
  height:42px !important;
  min-height:42px !important;
}

/* Less crop, more rectangular cards except switches */
.product-card:not([data-cat="switch"]) .product-photo{
  height:228px !important;
  min-height:228px !important;
}
.product-card:not([data-cat="switch"]) .product-photo img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}

/* Tools/modding: especially reduce inner empty area */
.product-card[data-cat="tools"]{
  min-height:470px !important;
}
.product-card[data-cat="tools"] .product-photo{
  height:212px !important;
  min-height:212px !important;
}
.product-card[data-cat="tools"] .product-info p{
  -webkit-line-clamp:2 !important;
}

/* Switch cards stay visually strong */
.product-card[data-cat="switch"]{
  min-height:540px !important;
}
.product-card[data-cat="switch"] .product-photo{
  height:320px !important;
  min-height:320px !important;
}

/* Keep category cards hidden in category-open state */
#catalog.category-open #categoryGrid{
  display:none !important;
}

/* Buttons never clip */
.product-actions,
.product-actions button{
  overflow:visible !important;
}

/* Slightly stronger price presence */
.card-price-block .price-main b{
  font-size:17px !important;
  line-height:1 !important;
}
.card-price-block .price-main .old{
  display:block !important;
  text-decoration:line-through !important;
  opacity:.72 !important;
  font-size:12px !important;
  margin-bottom:2px !important;
}

/* Responsive */
@media (max-width:1200px){
  .filter-options{grid-template-columns:repeat(3,minmax(0,1fr)) !important;}
}
@media (max-width:900px){
  .filter-options{grid-template-columns:repeat(2,minmax(0,1fr)) !important;}
  .product-card:not([data-cat="switch"]) .product-photo{height:215px !important; min-height:215px !important;}
}
@media (max-width:560px){
  .filter-options{grid-template-columns:1fr !important;}
  .product-card{min-height:0 !important;}
  .product-card:not([data-cat="switch"]) .product-photo{height:210px !important; min-height:210px !important;}
  .product-card[data-cat="switch"] .product-photo{height:250px !important; min-height:250px !important;}
}


/* === V125: remove visual category duplicates + modal footer after description === */

/* Remove duplicated visual category cards; keep only text navigation/tabs */
#categoryGrid,
#catalog.no-category-cards #categoryGrid,
#catalog.category-open #categoryGrid{
  display:none !important;
}
#catalog.no-category-cards > .section-head{
  display:none !important;
}
#catalog.no-category-cards{
  padding-top:10px !important;
}
#catalog.no-category-cards + .section-head,
#globalPopularTitle{
  margin-top:14px !important;
}

/* Keep tabs as the main category selector */
.tabs{
  margin-bottom:20px !important;
}

/* Modal: price/cart block should not cover description while scrolling */
.modal-info{
  padding-bottom:26px !important;
  gap:14px !important;
}
.modal-bottom{
  position:static !important;
  bottom:auto !important;
  margin:16px 0 0 !important;
  padding:18px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.045)) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.modal-bottom > div{
  margin-bottom:14px !important;
}
.modal-bottom span{
  color:#9fb4cb !important;
  font-size:12px !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}
.modal-bottom b{
  display:block !important;
  color:var(--green) !important;
  font-size:42px !important;
  line-height:.96 !important;
}
.modal-bottom em{
  display:block !important;
  color:#9cadc2 !important;
  text-decoration:line-through !important;
  text-decoration-thickness:2px !important;
  font-size:17px !important;
  margin-top:5px !important;
}
.modal-bottom .product-actions{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:10px !important;
}
#modalAdd{
  height:50px !important;
  border-radius:15px !important;
}

/* Ensure modal description has its own space and no overlap */
.long-desc-wrap{
  margin-bottom:0 !important;
}
.modal-info::-webkit-scrollbar{
  width:10px;
}
.modal-info::-webkit-scrollbar-thumb{
  background:rgba(255,255,255,.18);
  border-radius:999px;
}

/* Product cards: keep actions visible and reduce bottom overflow */
.product-card{
  min-height:500px !important;
}
.product-card .product-info{
  justify-content:flex-start !important;
}
.product-card .product-actions{
  flex:0 0 auto !important;
}
.product-card .card-price-block{
  flex:0 0 auto !important;
}


/* === V126: compact UX filter panel === */

/* Static filter header: "Выберите фильтр" is status text, not a clickable control */
.subfilters{
  display:block !important;
  margin:10px 0 18px !important;
  z-index:20 !important;
}
.subfilter-wrap.panel-compact{
  padding:14px !important;
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,rgba(15,26,45,.86),rgba(7,14,27,.95)) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
}
.filter-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:14px !important;
  padding:0 2px 12px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
  margin-bottom:12px !important;
}
.filter-head > div{
  display:flex !important;
  align-items:baseline !important;
  gap:12px !important;
  min-width:0 !important;
}
.filter-head span{
  color:#6fd7ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.filter-head b{
  font-size:18px !important;
  line-height:1.1 !important;
  color:#f4f8ff !important;
  letter-spacing:-.02em !important;
  white-space:nowrap !important;
}
.filter-head b.is-placeholder{
  color:#aebfd4 !important;
  font-weight:850 !important;
}
.filter-head b.is-selected{
  color:#74ffd0 !important;
}
.filter-head em{
  color:#8fa7c1 !important;
  font-style:normal !important;
  font-size:12px !important;
  font-weight:800 !important;
  white-space:nowrap !important;
}
.filter-reset{
  height:34px !important;
  min-height:34px !important;
  width:auto !important;
  border-radius:999px !important;
  padding:0 13px !important;
  border:1px solid rgba(116,244,209,.28) !important;
  background:rgba(116,244,209,.08) !important;
  color:#bfffee !important;
  font-weight:900 !important;
  cursor:pointer !important;
}

/* The filters are compact chips, not large grid tiles */
.subfilter-list,
.subfilter-wrap.open .subfilter-list,
.subfilter-list.always-open{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:flex-start !important;
  gap:12px 18px !important;
  position:static !important;
  top:auto !important;
  left:auto !important;
  right:auto !important;
  padding:0 !important;
  max-height:none !important;
  overflow:visible !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}
.filter-group{
  display:flex !important;
  flex-direction:column !important;
  gap:7px !important;
  flex:0 1 auto !important;
  min-width:fit-content !important;
  max-width:100% !important;
  padding:0 !important;
}
.filter-group-title{
  padding:0 !important;
  color:#69d6ff !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.filter-options{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:7px !important;
}
.filter-options button{
  width:auto !important;
  min-width:0 !important;
  min-height:34px !important;
  height:34px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  white-space:nowrap !important;
  line-height:1 !important;
  font-size:12px !important;
  font-weight:900 !important;
  background:rgba(255,255,255,.055) !important;
  border:1px solid rgba(255,255,255,.12) !important;
  color:#eef6ff !important;
}
.filter-options button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.58),rgba(127,104,255,.54)) !important;
  border-color:rgba(116,244,209,.58) !important;
  color:#fff !important;
  box-shadow:0 8px 18px rgba(75,140,255,.17) !important;
}

/* Make groups logically closer for desktop widths */
.filter-group:first-child .filter-options button{
  min-width:74px !important;
}
.filter-group:nth-child(2),
.filter-group:nth-child(3),
.filter-group:nth-child(4){
  flex-grow:0 !important;
}

/* Remove old huge dropdown/button behavior completely */
.filter-toggle,
.filter-toggle.static-head{
  display:none !important;
}

/* Small responsive tightening */
@media (max-width:900px){
  .filter-head{
    align-items:flex-start !important;
    flex-direction:column !important;
    gap:8px !important;
  }
  .filter-head > div{
    flex-wrap:wrap !important;
  }
  .filter-head em{
    white-space:normal !important;
  }
  .subfilter-list{
    gap:14px !important;
  }
  .filter-group{
    width:100% !important;
  }
}
@media (max-width:560px){
  .subfilter-wrap.panel-compact{
    padding:12px !important;
  }
  .filter-options button{
    height:32px !important;
    min-height:32px !important;
    font-size:11px !important;
    padding:0 10px !important;
  }
}


/* === V127: home popular is only 4 cards total === */
#popularGrid{
  display:block !important;
}
#popularGrid .home-featured{
  display:block !important;
}
#popularGrid .home-featured .grouped-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:18px !important;
}
#popularGrid .popular-group:not(.home-featured){
  display:none !important;
}
@media (max-width:1200px){
  #popularGrid .home-featured .grouped-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }
}
@media (max-width:820px){
  #popularGrid .home-featured .grouped-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:560px){
  #popularGrid .home-featured .grouped-grid{
    grid-template-columns:1fr !important;
  }
}


/* === V128: clickable filter launcher + tighter layout === */
.subfilters{display:block !important; margin:10px 0 18px !important;}
.subfilter-wrap.panel-compact{padding:14px !important; border-radius:22px !important; border:1px solid rgba(255,255,255,.12) !important; background:linear-gradient(180deg,rgba(15,26,45,.86),rgba(7,14,27,.95)) !important; box-shadow:0 18px 46px rgba(0,0,0,.22) !important;}
.filter-head{display:flex !important; align-items:flex-start !important; justify-content:space-between !important; gap:14px !important; padding:0 2px 10px !important; margin-bottom:8px !important; border-bottom:1px solid rgba(255,255,255,.08) !important;}
.filter-head>div{display:flex !important; align-items:flex-start !important; gap:12px !important; min-width:0 !important; flex-wrap:wrap !important;}
.filter-head span{color:#6fd7ff !important; font-size:12px !important; font-weight:950 !important; letter-spacing:.13em !important; text-transform:uppercase !important; white-space:nowrap !important; padding-top:10px !important;}
.filter-launch{display:inline-flex !important; align-items:center !important; gap:12px !important; min-height:44px !important; padding:0 14px !important; border-radius:14px !important; border:1px solid rgba(255,255,255,.14) !important; background:rgba(255,255,255,.04) !important; cursor:pointer !important;}
.filter-launch b{font-size:18px !important; line-height:1.1 !important; letter-spacing:-.02em !important;}
.filter-launch i{display:inline-flex !important; align-items:center !important; justify-content:center !important; width:20px !important; height:20px !important; border-radius:50% !important; background:rgba(255,255,255,.08) !important; color:#fff !important; font-style:normal !important; font-size:16px !important; font-weight:900 !important;}
.filter-launch.is-placeholder b{color:#aebfd4 !important;}
.filter-launch.is-selected{border-color:rgba(116,244,209,.28) !important; background:rgba(116,244,209,.08) !important;}
.filter-launch.is-selected b{color:#74ffd0 !important;}
.filter-head em{color:#8fa7c1 !important; font-style:normal !important; font-size:12px !important; font-weight:800 !important; white-space:nowrap !important; padding-top:12px !important;}
.filter-reset{height:36px !important; min-height:36px !important; width:auto !important; border-radius:999px !important; padding:0 13px !important; border:1px solid rgba(116,244,209,.28) !important; background:rgba(116,244,209,.08) !important; color:#bfffee !important; font-weight:900 !important; cursor:pointer !important; margin-top:4px !important;}
.subfilter-list{transition:all .22s ease !important;}
.subfilter-list.collapsed{display:none !important;}
.subfilter-list.open{display:grid !important; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)) !important; gap:12px !important; padding-top:2px !important;}
.filter-group{display:flex !important; flex-direction:column !important; gap:8px !important; min-width:0 !important;}
.filter-group-title{color:#69d6ff !important; font-size:11px !important; font-weight:950 !important; letter-spacing:.13em !important; text-transform:uppercase !important; white-space:nowrap !important;}
.filter-options{display:flex !important; flex-wrap:wrap !important; gap:7px !important; align-items:center !important;}
.filter-options button{width:auto !important; min-width:0 !important; min-height:34px !important; height:34px !important; padding:0 12px !important; border-radius:12px !important; white-space:nowrap !important; line-height:1 !important; font-size:12px !important; font-weight:900 !important; background:rgba(255,255,255,.055) !important; border:1px solid rgba(255,255,255,.12) !important; color:#eef6ff !important;}
.filter-options button.active{background:linear-gradient(90deg,rgba(75,190,255,.58),rgba(127,104,255,.54)) !important; border-color:rgba(116,244,209,.58) !important; color:#fff !important; box-shadow:0 8px 18px rgba(75,140,255,.17) !important;}
@media (max-width:900px){.filter-head{flex-direction:column !important;}.subfilter-list.open{grid-template-columns:1fr !important;}}


/* === V129: category popular hidden + accordion UX filters + stronger section dividers === */

/* Temporary remove homepage popular categories completely */
#popular,
.popular-section{
  display:none !important;
}
.topnav [data-scroll="popular"]{
  display:none !important;
}

/* Category pages: make headings separate blocks so sections do not visually merge */
#productsArea .section-head.compact{
  margin:28px 0 16px !important;
  padding:18px 20px !important;
  border-radius:22px !important;
  border:1px solid rgba(117,196,255,.16) !important;
  background:
    linear-gradient(90deg,rgba(73,195,255,.12),rgba(128,104,255,.08) 45%,rgba(5,12,24,.72)) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.18) !important;
}
#productsArea .section-head.compact span{
  display:block !important;
  margin-bottom:8px !important;
  color:#5bd5ff !important;
  letter-spacing:.16em !important;
}
#productsArea .section-head.compact h2{
  margin:0 !important;
  font-size:34px !important;
  line-height:1 !important;
}
#productsArea .product-grid{
  margin-bottom:30px !important;
}

/* Accordion filter panel: each group opens symmetrically */
.subfilters{
  display:block !important;
  margin:12px 0 20px !important;
  position:relative !important;
  z-index:25 !important;
}
.subfilter-wrap.panel-accordion{
  border-radius:22px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:linear-gradient(180deg,rgba(15,26,45,.88),rgba(7,14,27,.96)) !important;
  box-shadow:0 18px 46px rgba(0,0,0,.22) !important;
  padding:12px !important;
}
.filter-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:12px !important;
  padding:0 !important;
  margin:0 !important;
  border-bottom:none !important;
}
.filter-main{
  width:100% !important;
  min-height:52px !important;
  border-radius:17px !important;
  border:1px solid rgba(255,255,255,.14) !important;
  background:linear-gradient(90deg,rgba(75,190,255,.12),rgba(127,104,255,.10)) !important;
  color:#fff !important;
  padding:0 16px !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto !important;
  align-items:center !important;
  gap:14px !important;
  cursor:pointer !important;
  text-align:left !important;
}
.filter-main span{
  color:#6bd8ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.filter-main b{
  font-size:18px !important;
  line-height:1.1 !important;
  letter-spacing:-.02em !important;
  color:#aebfd4 !important;
}
.filter-main.is-selected b{
  color:#74ffd0 !important;
}
.filter-main i{
  width:24px !important;
  height:24px !important;
  border-radius:50% !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-style:normal !important;
  font-weight:950 !important;
  font-size:17px !important;
}
.filter-reset{
  flex:0 0 auto !important;
  height:42px !important;
  min-height:42px !important;
  width:auto !important;
  border-radius:999px !important;
  padding:0 15px !important;
  border:1px solid rgba(116,244,209,.28) !important;
  background:rgba(116,244,209,.08) !important;
  color:#bfffee !important;
  font-weight:950 !important;
  cursor:pointer !important;
}
.filter-group-tabs{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(156px,1fr)) !important;
  gap:9px !important;
  margin-top:12px !important;
}
.filter-group-tabs button{
  height:42px !important;
  border-radius:15px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.045) !important;
  color:#eaf4ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.02em !important;
  cursor:pointer !important;
}
.filter-group-tabs button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.48),rgba(127,104,255,.44)) !important;
  border-color:rgba(116,244,209,.45) !important;
  color:#fff !important;
}
.filter-options-panel{
  margin-top:10px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:rgba(255,255,255,.035) !important;
  padding:12px !important;
}
.filter-options-panel .filter-group-title{
  color:#67d7ff !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.13em !important;
  text-transform:uppercase !important;
  margin:0 0 8px !important;
}
.filter-options-panel .filter-options{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px !important;
}
.filter-options-panel .filter-options button{
  width:auto !important;
  height:34px !important;
  min-height:34px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.06) !important;
  color:#eef6ff !important;
  font-size:12px !important;
  font-weight:900 !important;
  white-space:nowrap !important;
}
.filter-options-panel .filter-options button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.58),rgba(127,104,255,.54)) !important;
  border-color:rgba(116,244,209,.58) !important;
}

/* Disable older always-open filter list styles */
.subfilter-list,
.subfilter-list.open,
.subfilter-list.always-open,
.filter-options:not(.filter-options-panel .filter-options){
  max-height:none !important;
}

/* Category cards / products a little more separated from headers */
.product-panel{
  margin-bottom:14px !important;
}

/* Small screens */
@media (max-width:700px){
  .filter-main{
    grid-template-columns:1fr auto !important;
    gap:8px !important;
  }
  .filter-main span{
    grid-column:1 / -1 !important;
  }
  .filter-group-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  #productsArea .section-head.compact h2{
    font-size:28px !important;
  }
}


/* === V130: remove in-category popular section + improve product card typography and spacing === */
#popularCategoryTitle,
#categoryPopularGrid,
#popularCategoryTitle + #categoryPopularGrid,
main .section-head.compact:has(#popularCategoryTitle),
#productsArea .section-head.compact:first-of-type{
  display:none !important;
}

.product-grid{
  align-items:start !important;
}
.product-card{
  display:flex !important;
  flex-direction:column !important;
}
.product-photo{
  height:300px !important;
}
.product-info{
  display:grid !important;
  grid-template-rows:auto auto auto auto !important;
  align-content:start !important;
  gap:10px !important;
  padding:18px 18px 16px !important;
}
.product-copy{
  gap:9px !important;
}
.product-card .product-info h3{
  font-size:30px !important;
  line-height:1.02 !important;
  letter-spacing:-.04em !important;
}
.product-card .product-info p{
  font-size:16px !important;
  line-height:1.42 !important;
  color:#dbe7f4 !important;
  -webkit-line-clamp:3 !important;
}
.product-card .chips{
  gap:7px !important;
  margin-top:2px !important;
}
.product-card .chips span{
  height:30px !important;
  padding:0 11px !important;
  font-size:12px !important;
  font-weight:900 !important;
}
.product-price,
.product-card .card-price-block{
  margin-top:2px !important;
  padding-top:0 !important;
  align-items:end !important;
}
.product-price small,
.product-card .price-meta small{
  font-size:15px !important;
  line-height:1.1 !important;
  font-weight:950 !important;
}
.product-card .price-main{
  display:flex !important;
  flex-direction:column !important;
  gap:4px !important;
  align-items:flex-end !important;
}
.product-card .card-old-price{
  font-size:14px !important;
  opacity:.82 !important;
}
.product-card .card-price-block b,
.product-price b{
  font-size:30px !important;
  line-height:1 !important;
}
.product-actions{
  margin-top:0 !important;
  gap:10px !important;
}
.product-actions button{
  height:48px !important;
  font-size:15px !important;
}

/* Better separation between category sections when scrolling */
#productsArea .section-head.compact{
  margin:24px 0 18px !important;
  padding:18px 20px !important;
}
#productsArea .section-head.compact h2{
  font-size:36px !important;
  line-height:1.02 !important;
}

@media (max-width: 1280px){
  .product-card .product-info h3{font-size:26px !important;}
  .product-card .product-info p{font-size:15px !important;}
  .product-card .card-price-block b,.product-price b{font-size:26px !important;}
}
@media (max-width: 900px){
  .product-card .product-info h3{font-size:22px !important;}
  .product-card .product-info p{font-size:14px !important;}
  .product-card .chips span{font-size:11px !important;}
  .product-card .card-price-block b,.product-price b{font-size:23px !important;}
  .product-actions button{font-size:14px !important;}
}


/* === V131: fix category products + fill home natively === */

/* Main page native content: not a duplicated category grid */
.home-native{
  display:block;
  margin:20px 0 34px;
  padding:22px;
  border-radius:26px;
  border:1px solid rgba(125,195,255,.18);
  background:
    radial-gradient(circle at 15% 0%,rgba(80,197,255,.12),transparent 34%),
    linear-gradient(180deg,rgba(12,23,43,.78),rgba(7,14,27,.92));
  box-shadow:0 20px 60px rgba(0,0,0,.22);
}
.native-head{
  max-width:760px;
  margin-bottom:18px;
}
.native-head span{
  color:#5bd5ff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.15em;
}
.native-head h2{
  margin:8px 0 8px;
  font-size:34px;
  line-height:1;
  letter-spacing:-.04em;
}
.native-head p{
  margin:0;
  color:#b9cadc;
  font-size:16px;
  line-height:1.45;
}
.native-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.native-card{
  min-height:142px;
  padding:20px;
  border-radius:22px;
  border:1px solid rgba(255,255,255,.13);
  background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.04));
  color:#fff;
  text-align:left;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.native-card b{
  font-size:22px;
  line-height:1.05;
}
.native-card span{
  color:#c9d8e8;
  line-height:1.42;
  font-size:15px;
}
.native-card i{
  margin-top:auto;
  color:var(--green);
  font-style:normal;
  font-weight:950;
  font-size:16px;
}

/* When category is opened, product area must be visible */
#catalog.category-open #productsArea{
  display:block !important;
}
#catalog.category-open #productGrid{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
}
#catalog.category-open #homeNative{
  display:none !important;
}
#catalog.no-category-cards #homeNative{
  display:block !important;
}

/* Remove duplicated visual category grid but not actual product lists */
#categoryGrid{
  display:none !important;
}

/* Product list heading tighter and clearer */
#productsArea .section-head.compact{
  display:block !important;
  margin:24px 0 18px !important;
  padding:18px 20px !important;
}

/* Product cards: keep visible, stronger text, less empty space */
.product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:18px;
  align-items:start;
}
.product-card{
  min-height:0 !important;
  height:auto !important;
}
.product-info{
  padding:18px !important;
  gap:10px !important;
}
.product-card .product-info h3{
  font-size:26px !important;
}
.product-card .product-info p{
  font-size:15px !important;
}
.product-card .card-price-block{
  margin-top:4px !important;
}
.product-card .product-actions{
  margin-top:4px !important;
}

@media (max-width:1100px){
  .native-grid{grid-template-columns:1fr;}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:820px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .native-head h2{font-size:28px;}
}
@media (max-width:560px){
  .product-grid{grid-template-columns:1fr;}
}


/* === V132 UX improvements === */
#catalog.no-category-cards #homeSelling{display:block !important}
#catalog.category-open #homeSelling{display:none !important}
.home-selling{margin:0 0 28px;padding:20px 22px;border-radius:26px}
.selling-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.selling-card{padding:18px;border-radius:18px;border:1px solid rgba(255,255,255,.12);background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.035));min-height:120px}
.selling-card b{display:block;font-size:18px;margin-bottom:8px}
.selling-card p{margin:0;color:#bfd0e2;font-size:14px;line-height:1.45}

.filter-board{padding:18px 18px 20px;border-radius:26px;border:1px solid rgba(126,196,255,.16);background:linear-gradient(135deg,rgba(56,120,165,.12),rgba(124,97,255,.12));box-shadow:0 18px 48px rgba(0,0,0,.18)}
.filter-board-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:14px}
.filter-board-head span{color:#dbe8f7;font-size:20px;font-weight:950}
.filter-board-actions{display:flex;align-items:center;gap:10px}
.filter-count{height:40px;display:inline-flex;align-items:center;padding:0 14px;border-radius:14px;border:1px solid rgba(108,244,204,.25);background:rgba(108,244,204,.08);color:#6cf4cc;font-size:14px}
.filter-cards-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.filter-card{border:1px solid rgba(110,190,255,.25);border-radius:22px;background:linear-gradient(90deg,rgba(76,157,207,.13),rgba(122,98,255,.12));overflow:hidden}
.filter-card-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border:0;background:transparent;color:#fff;cursor:pointer;text-align:left}
.filter-card-copy span{display:block;color:#bdd0e6;font-size:13px;font-weight:800;margin-bottom:6px}
.filter-card-copy b{display:block;font-size:20px;line-height:1.05}
.filter-card-head i{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);font-style:normal}
.filter-card-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:0 16px 16px}
.filter-card-options button{min-height:54px;border-radius:16px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.06);color:#fff;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 14px;font-weight:900;cursor:pointer;text-align:left}
.filter-card-options button.active{background:linear-gradient(90deg,rgba(77,196,255,.38),rgba(129,100,255,.34));border-color:rgba(118,240,205,.58)}
.filter-card-options button span{font-size:14px}
.filter-card-options button em{font-style:normal;font-size:12px;color:#d2dfef;opacity:.9}

.featured-area{display:block;margin-top:18px}
.featured-area.hidden{display:none !important}
.featured-grid{margin-top:0}
#productsArea .section-head.compact{padding:18px 20px;border-radius:24px;border:1px solid rgba(126,196,255,.16);background:linear-gradient(90deg,rgba(53,114,160,.12),rgba(123,98,255,.12));}

.product-grid{align-items:start !important}
.product-card{min-height:620px !important;height:auto !important}
.product-card .product-info{padding:18px !important;gap:12px !important}
.product-card .product-info h3{font-size:32px !important;line-height:1.02 !important;min-height:auto !important}
.product-card .product-info p{font-size:16px !important;line-height:1.45 !important;min-height:auto !important;color:#c9d6e5 !important}
.product-card .chips span{font-size:12px !important}
.card-utility{border:1px solid rgba(255,255,255,.1);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.035),rgba(255,255,255,.02));padding:10px 12px}
.utility-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.utility-top span{color:#d7e4f2;font-size:13px;font-weight:950;letter-spacing:.06em;text-transform:uppercase}
.typing-row{display:flex;align-items:center;gap:10px}
.typing-play{width:30px;height:30px;border-radius:999px;border:1px solid rgba(124,190,255,.3);background:linear-gradient(90deg,#4fbeff,#8068ff);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-size:11px;cursor:default}
.typing-track{flex:1;display:flex;align-items:center;gap:10px;min-height:34px;padding:0 10px;border-radius:12px;border:1px solid rgba(255,255,255,.08);background:rgba(4,12,25,.24)}
.typing-track b{font-size:13px;color:#eef5ff}
.typing-track i{display:block;width:10px;height:10px;border-radius:50%;background:#7bb8ff;box-shadow:0 0 0 4px rgba(123,184,255,.14)}
.typing-track em{margin-left:auto;display:flex;gap:3px;width:54px;height:14px;align-items:flex-end;justify-content:flex-end}
.typing-track em::before,.typing-track em::after{content:''}
.typing-track em,.typing-track em::before,.typing-track em::after{background:linear-gradient(180deg,rgba(79,194,255,.85),rgba(128,104,255,.85));-webkit-mask:linear-gradient(#000 0 0)}
.typing-track em{position:relative;background:none}
.typing-track em::before{width:4px;height:8px;display:block;border-radius:3px;box-shadow:8px 0 0 rgba(79,194,255,.85),16px -3px 0 rgba(79,194,255,.85),24px -6px 0 rgba(79,194,255,.85),32px -2px 0 rgba(79,194,255,.85),40px -8px 0 rgba(79,194,255,.85)}
.meta-inline{display:flex;flex-wrap:wrap;gap:8px}
.meta-inline span{height:28px;display:inline-flex;align-items:center;padding:0 10px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);font-size:12px;font-weight:850}
.product-card .card-price-block{margin-top:4px !important;padding-top:0 !important}
.product-card .product-actions{margin-top:0 !important}
.product-card .product-actions button{height:48px !important;font-size:15px !important}

#popular{margin-top:10px}
#popular .section-head{margin-bottom:12px}

@media (max-width:1300px){
  .selling-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-grid{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
}
@media (max-width:980px){
  .filter-cards-grid{grid-template-columns:1fr}
  .filter-card-options{grid-template-columns:1fr 1fr}
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
  .product-card .product-info h3{font-size:24px !important}
}
@media (max-width:640px){
  .selling-grid,.filter-card-options{grid-template-columns:1fr}
  .product-grid{grid-template-columns:1fr !important}
}


/* === V133: filter popover + solution cards === */

/* Solution cards on home: visually different from category tabs */
.home-solutions{
  margin:18px 0 28px !important;
  padding:24px !important;
  border-radius:28px !important;
  border:1px solid rgba(126,196,255,.18) !important;
  background:
    radial-gradient(circle at 10% 5%,rgba(75,190,255,.16),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(129,99,255,.18),transparent 34%),
    linear-gradient(180deg,rgba(10,22,42,.86),rgba(6,13,27,.96)) !important;
}
.home-solutions .native-head{
  max-width:880px !important;
  margin-bottom:20px !important;
}
.home-solutions .native-head span{
  color:#5bd5ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.16em !important;
}
.home-solutions .native-head h2{
  margin:8px 0 8px !important;
  font-size:38px !important;
  line-height:1 !important;
  letter-spacing:-.045em !important;
}
.home-solutions .native-head p{
  margin:0 !important;
  color:#c1d1e3 !important;
  font-size:16px !important;
  line-height:1.45 !important;
}
.solutions-grid{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:14px !important;
}
.solution-card{
  position:relative !important;
  min-height:184px !important;
  padding:20px !important;
  border-radius:24px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035)) !important;
  overflow:hidden !important;
}
.solution-card::before{
  content:"" !important;
  position:absolute !important;
  inset:auto -25% -45% 35% !important;
  height:120px !important;
  background:radial-gradient(circle,rgba(95,196,255,.20),transparent 62%) !important;
  pointer-events:none !important;
}
.solution-card em{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:32px !important;
  margin-bottom:18px !important;
  border-radius:999px !important;
  background:rgba(100,210,255,.12) !important;
  border:1px solid rgba(100,210,255,.22) !important;
  color:#6be6ff !important;
  font-style:normal !important;
  font-weight:950 !important;
}
.solution-card b{
  position:relative !important;
  display:block !important;
  font-size:23px !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
  margin-bottom:10px !important;
}
.solution-card span{
  position:relative !important;
  display:block !important;
  color:#c8d8e9 !important;
  font-size:14px !important;
  line-height:1.45 !important;
}
.solution-card i{
  position:relative !important;
  margin-top:auto !important;
  color:var(--green) !important;
  font-style:normal !important;
  font-weight:950 !important;
  font-size:15px !important;
}

/* Filter header: compact and clickable */
.subfilters{
  position:relative !important;
  display:block !important;
  margin:12px 0 18px !important;
  z-index:80 !important;
}
.filter-shell{
  position:relative !important;
  padding:10px !important;
  border-radius:24px !important;
  border:1px solid rgba(126,196,255,.16) !important;
  background:linear-gradient(180deg,rgba(12,24,43,.88),rgba(6,13,26,.96)) !important;
  box-shadow:0 18px 48px rgba(0,0,0,.20) !important;
}
.filter-trigger{
  width:100% !important;
  height:58px !important;
  border-radius:18px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:linear-gradient(90deg,rgba(75,190,255,.10),rgba(128,104,255,.10)) !important;
  color:#fff !important;
  display:grid !important;
  grid-template-columns:auto 1fr auto auto !important;
  align-items:center !important;
  gap:14px !important;
  padding:0 16px !important;
  text-align:left !important;
  cursor:pointer !important;
}
.filter-trigger span{
  color:#65d9ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
}
.filter-trigger b{
  color:#b8c8da !important;
  font-size:20px !important;
  line-height:1 !important;
  letter-spacing:-.025em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.filter-trigger.is-selected b{
  color:#74ffd0 !important;
}
.filter-trigger small{
  height:32px !important;
  display:inline-flex !important;
  align-items:center !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:rgba(116,244,209,.08) !important;
  border:1px solid rgba(116,244,209,.20) !important;
  color:#7effd4 !important;
  font-weight:950 !important;
}
.filter-trigger i{
  width:28px !important;
  height:28px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:50% !important;
  background:rgba(255,255,255,.08) !important;
  color:#fff !important;
  font-style:normal !important;
  font-weight:950 !important;
  font-size:18px !important;
}

/* Desktop popover: does not reserve huge empty space */
.filter-popover{
  position:absolute !important;
  left:10px !important;
  top:calc(100% + 8px) !important;
  width:min(860px,calc(100vw - 80px)) !important;
  display:grid !important;
  grid-template-columns:220px minmax(260px,1fr) !important;
  gap:12px !important;
  padding:14px !important;
  border-radius:22px !important;
  border:1px solid rgba(126,196,255,.22) !important;
  background:linear-gradient(135deg,rgba(13,27,49,.98),rgba(28,28,61,.98)) !important;
  box-shadow:0 28px 90px rgba(0,0,0,.48) !important;
  z-index:120 !important;
}
.filter-popover-tabs{
  display:grid !important;
  gap:8px !important;
  align-content:start !important;
}
.filter-popover-tabs button{
  min-height:40px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.045) !important;
  color:#edf7ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  text-align:left !important;
  padding:0 13px !important;
  cursor:pointer !important;
}
.filter-popover-tabs button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.36),rgba(128,104,255,.32)) !important;
  border-color:rgba(116,244,209,.42) !important;
}
.filter-popover-options{
  min-width:0 !important;
  align-self:start !important;
}
.filter-options-title{
  color:#67d7ff !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  margin:2px 0 10px !important;
}
.filter-options-list{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:8px !important;
}
.filter-options-list button{
  height:38px !important;
  min-width:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  gap:9px !important;
  padding:0 12px !important;
  border-radius:13px !important;
  border:1px solid rgba(255,255,255,.13) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:12px !important;
  font-weight:900 !important;
  cursor:pointer !important;
  white-space:nowrap !important;
}
.filter-options-list button.active{
  background:linear-gradient(90deg,rgba(75,190,255,.52),rgba(128,104,255,.48)) !important;
  border-color:rgba(116,244,209,.58) !important;
}
.filter-options-list em{
  font-style:normal !important;
  min-width:20px !important;
  height:20px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:rgba(255,255,255,.10) !important;
  color:#dce9f7 !important;
  font-size:11px !important;
}
.filter-clear{
  grid-column:1 / -1 !important;
  height:38px !important;
  border-radius:14px !important;
  border:1px solid rgba(116,244,209,.22) !important;
  background:rgba(116,244,209,.08) !important;
  color:#bfffee !important;
  font-weight:950 !important;
  cursor:pointer !important;
}

/* Make category content not look swallowed by filter overlay */
.featured-area,
#productsArea .section-head.compact{
  position:relative !important;
  z-index:1 !important;
}

/* Mobile/tablet: popover becomes inline full width for usability */
@media (max-width:900px){
  .solutions-grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .filter-trigger{
    height:auto !important;
    min-height:58px !important;
    grid-template-columns:1fr auto !important;
    gap:8px !important;
  }
  .filter-trigger span,
  .filter-trigger b{
    grid-column:1 / 2 !important;
  }
  .filter-trigger small{
    display:none !important;
  }
  .filter-trigger i{
    grid-row:1 / 3 !important;
    grid-column:2 !important;
  }
  .filter-popover{
    position:static !important;
    width:100% !important;
    margin-top:10px !important;
    grid-template-columns:1fr !important;
    box-shadow:none !important;
  }
  .filter-popover-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media (max-width:560px){
  .home-solutions{
    padding:18px !important;
  }
  .home-solutions .native-head h2{
    font-size:30px !important;
  }
  .solutions-grid{
    grid-template-columns:1fr !important;
  }
  .solution-card{
    min-height:156px !important;
  }
  .filter-popover-tabs{
    grid-template-columns:1fr !important;
  }
  .filter-options-list button{
    height:36px !important;
    font-size:11px !important;
  }
}


/* === V134: remove duplicated card text and duplicated product lists === */

/* Non-keyboard/switch cards no longer get the extra repeated meta block */
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .product-info{
  gap:10px !important;
}
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .chips{
  margin-bottom:4px !important;
}
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]){
  min-height:540px !important;
}

/* Keyboard and switches keep typing/sound block */
.product-card[data-cat="keyboard"] .card-utility,
.product-card[data-cat="switch"] .card-utility{
  display:block !important;
}

/* Featured and remainder separation */
#featuredArea + .section-head.compact{
  margin-top:28px !important;
}
#filteredTitle:empty{
  display:none !important;
}
#productsArea .section-head.compact:has(#filteredTitle:empty){
  display:none !important;
}

/* If there is no remainder after the first 4, do not leave visual dead blocks */
#productGrid[style*="display: none"]{
  margin:0 !important;
}

/* Make the 'Остальные товары' header less aggressive than main featured header */
#filteredTitle{
  font-size:30px !important;
  color:#f4f8ff !important;
}

/* Slightly reduce card height after removing repeated text */
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .product-actions{
  margin-top:auto !important;
}


/* === V135: clickable audio track in cards === */
.typing-utility{
  cursor:pointer !important;
  transition:transform .18s ease, border-color .18s ease, background .18s ease !important;
}
.typing-utility:hover{
  transform:translateY(-1px) !important;
  border-color:rgba(115,218,255,.34) !important;
  background:linear-gradient(180deg,rgba(91,180,255,.07),rgba(255,255,255,.025)) !important;
}
.typing-utility .utility-top{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:10px !important;
}
.typing-utility .utility-top small{
  color:#8fa8c4 !important;
  font-size:11px !important;
  font-weight:850 !important;
}
.typing-row{
  align-items:center !important;
}
.typing-play{
  width:34px !important;
  height:34px !important;
  flex:0 0 34px !important;
  border-radius:999px !important;
  border:1px solid rgba(124,190,255,.34) !important;
  background:linear-gradient(90deg,#4fbeff,#8068ff) !important;
  color:#fff !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:12px !important;
  cursor:pointer !important;
  box-shadow:0 8px 22px rgba(84,139,255,.22) !important;
}
.typing-track{
  position:relative !important;
  overflow:hidden !important;
  min-height:40px !important;
  padding:0 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(255,255,255,.10) !important;
  background:linear-gradient(90deg,rgba(4,12,25,.32),rgba(24,35,58,.36)) !important;
}
.typing-track::before{
  content:"" !important;
  position:absolute !important;
  left:0 !important;
  top:0 !important;
  bottom:0 !important;
  width:0% !important;
  background:linear-gradient(90deg,rgba(80,190,255,.20),rgba(128,104,255,.18)) !important;
  opacity:0 !important;
}
.typing-utility.playing .typing-track::before{
  animation:uxTrackProgress .85s ease forwards !important;
  opacity:1 !important;
}
.typing-track b{
  position:relative !important;
  z-index:2 !important;
  font-size:13px !important;
  color:#eef7ff !important;
}
.typing-track i{
  position:relative !important;
  z-index:2 !important;
}
.wave-line{
  position:relative !important;
  z-index:2 !important;
  margin-left:auto !important;
  display:flex !important;
  align-items:flex-end !important;
  gap:3px !important;
  height:22px !important;
}
.wave-line span{
  width:3px !important;
  height:8px !important;
  border-radius:4px !important;
  background:linear-gradient(180deg,#5bd5ff,#8068ff) !important;
  opacity:.8 !important;
}
.wave-line span:nth-child(2){height:13px !important}
.wave-line span:nth-child(3){height:18px !important}
.wave-line span:nth-child(4){height:10px !important}
.wave-line span:nth-child(5){height:20px !important}
.wave-line span:nth-child(6){height:14px !important}
.wave-line span:nth-child(7){height:9px !important}
.wave-line span:nth-child(8){height:16px !important}
.typing-utility.playing .wave-line span{
  animation:uxWave .45s ease-in-out infinite alternate !important;
}
.typing-utility.playing .wave-line span:nth-child(2){animation-delay:.05s !important}
.typing-utility.playing .wave-line span:nth-child(3){animation-delay:.1s !important}
.typing-utility.playing .wave-line span:nth-child(4){animation-delay:.15s !important}
.typing-utility.playing .wave-line span:nth-child(5){animation-delay:.2s !important}
.typing-utility.playing .wave-line span:nth-child(6){animation-delay:.25s !important}
.typing-utility.playing .wave-line span:nth-child(7){animation-delay:.3s !important}
.typing-utility.playing .wave-line span:nth-child(8){animation-delay:.35s !important}
@keyframes uxWave{
  from{transform:scaleY(.55);opacity:.55}
  to{transform:scaleY(1.22);opacity:1}
}
@keyframes uxTrackProgress{
  from{width:0%}
  to{width:100%}
}

/* Prevent sound click from feeling like opening details */
.typing-utility:active{
  transform:translateY(0) scale(.995) !important;
}


/* === V136: remove duplicate chips/meta and hide lower duplicate list === */

/* No duplicated tag text for categories without a sound track */
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .chips,
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .card-utility{
  display:none !important;
}

/* Non-audio categories become cleaner and lower, without empty holes */
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]){
  min-height:500px !important;
}
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .product-info{
  gap:12px !important;
}
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .product-copy{
  margin-bottom:2px !important;
}
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .card-price-block{
  margin-top:auto !important;
}
.product-card:not([data-cat="keyboard"]):not([data-cat="switch"]) .product-actions{
  margin-top:4px !important;
}

/* Keyboard and switches keep their chips + clickable sound track */
.product-card[data-cat="keyboard"] .chips,
.product-card[data-cat="switch"] .chips,
.product-card[data-cat="keyboard"] .typing-utility,
.product-card[data-cat="switch"] .typing-utility{
  display:flex !important;
}
.product-card[data-cat="keyboard"] .typing-utility,
.product-card[data-cat="switch"] .typing-utility{
  flex-direction:column !important;
}

/* When there is no selected filter, only the 4 featured cards are shown */
#productGrid[style*="display: none"]{
  margin:0 !important;
  padding:0 !important;
}
#productsArea .section-head.compact[style*="display: none"]{
  margin:0 !important;
  padding:0 !important;
}

/* Featured section spacing */
#featuredArea{
  margin-bottom:26px !important;
}
#featuredArea + .section-head.compact{
  margin-top:0 !important;
}

/* Make the UI text less repetitive */
#featuredTitle{
  font-size:34px !important;
}


/* === V137 improved category filters and multi-select UX === */
#featuredArea{display:none !important;}
#productGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;}
#productsArea.hidden{display:none !important;}
#productGrid .empty-results{grid-column:1/-1;padding:28px;border-radius:24px;}
#productsArea .section-head.compact{margin:18px 0 14px;padding:18px 22px;border-radius:24px;background:linear-gradient(135deg,rgba(33,54,82,.92),rgba(17,25,49,.88));border:1px solid rgba(130,182,255,.16)}
#productsArea .section-head.compact span{font-size:14px;letter-spacing:.14em;color:#61d1ff}
#productsArea .section-head.compact h2{font-size:28px;line-height:1.1;margin-top:4px}
.product-copy h3{font-size:20px !important;line-height:1.1}
.product-copy p{font-size:16px !important;line-height:1.45;color:#d4deea}
.chips span{font-size:14px !important;padding:8px 12px !important}
.product-price .price-meta small{font-size:14px !important}
.product-price .price-main b{font-size:18px !important}
.product-actions .details-btn,.product-actions .cart-btn{font-size:15px !important}

.filter-shell{padding:14px 16px 16px;border-radius:24px;background:linear-gradient(135deg,rgba(23,36,57,.92),rgba(14,21,42,.9));border:1px solid rgba(125,170,255,.18);margin:14px 0 22px}
.filter-master{width:100%;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.03);border:1px solid rgba(152,193,255,.14);border-radius:20px;padding:16px 18px;cursor:pointer}
.filter-master-text{display:flex;align-items:baseline;gap:14px;flex-wrap:wrap;text-align:left}
.filter-master-title{font-size:18px;font-weight:900;letter-spacing:.1em;color:#62d6ff}
.filter-master-subtitle{font-size:14px;font-weight:700;color:#ecf4ff;opacity:.86}
.filter-master-side{display:flex;align-items:center;gap:10px}
.filter-active-badge{min-width:28px;height:28px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#53c8ff,#8368ff);font-weight:800;color:#fff;font-size:14px;padding:0 8px}
.filter-master-icon{width:34px;height:34px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);font-size:22px;color:#fff}
.filter-panel{padding-top:14px}
.filter-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.filter-toolbar p{margin:0;color:#b6c6dc;font-size:14px;line-height:1.45}
.ghost-btn.small{padding:10px 16px;font-size:14px}
.filter-groups-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.filter-group-card{border:1px solid rgba(123,171,255,.18);border-radius:22px;background:linear-gradient(135deg,rgba(88,143,197,.12),rgba(117,89,206,.14));overflow:hidden}
.filter-group-head{width:100%;display:flex;align-items:center;justify-content:space-between;padding:16px 18px;background:none;border:0;cursor:pointer;color:#fff;text-align:left}
.filter-head-copy{display:flex;flex-direction:column;gap:4px}
.filter-head-copy span{font-size:13px;color:#7ed8ff;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
.filter-head-copy b{font-size:22px;line-height:1.05}
.filter-group-head i{font-style:normal;font-size:18px;opacity:.82}
.filter-group-body{padding:0 16px 16px}
.filter-pills{display:flex;flex-wrap:wrap;gap:10px}
.filter-pill{display:inline-flex;align-items:center;gap:8px;padding:11px 14px;border-radius:999px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.12);color:#e7f0ff;font-size:14px;font-weight:700;cursor:pointer}
.filter-pill small{font-size:12px;color:#9ed9ff;background:rgba(255,255,255,.06);border-radius:999px;padding:2px 6px;line-height:1}
.filter-pill.active{background:linear-gradient(135deg,rgba(83,200,255,.42),rgba(132,106,255,.46));border-color:rgba(145,207,255,.55);box-shadow:0 0 0 1px rgba(255,255,255,.06) inset}

.meta-utility{display:flex;flex-direction:column;gap:10px;padding:14px 14px 12px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:linear-gradient(135deg,rgba(18,32,58,.86),rgba(8,17,34,.88))}
.utility-top{display:flex;justify-content:space-between;gap:8px;align-items:center}
.utility-top span{font-size:14px;font-weight:900;color:#eff7ff;text-transform:uppercase;letter-spacing:.08em}
.utility-top small{font-size:12px;color:#9eb1c7}
.meta-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.meta-tile{padding:12px 12px 10px;border-radius:14px;background:rgba(255,255,255,.035);border:1px solid rgba(255,255,255,.08)}
.meta-tile small{display:block;color:#91a5bf;font-size:12px;margin-bottom:4px}
.meta-tile b{display:block;font-size:14px;line-height:1.25;color:#fff}

.typing-utility{display:flex !important;flex-direction:column;gap:10px;padding:14px 14px 12px;border:1px solid rgba(116,182,255,.16);border-radius:18px;background:linear-gradient(135deg,rgba(19,31,59,.88),rgba(9,16,34,.92));cursor:pointer;transition:.2s transform,.2s box-shadow}
.typing-utility.playing{transform:translateY(-1px);box-shadow:0 0 0 1px rgba(108,205,255,.18) inset,0 18px 34px rgba(16,46,92,.35)}
.typing-row{display:flex;align-items:center;gap:12px}
.typing-play{width:34px;height:34px;border-radius:999px;border:1px solid rgba(126,204,255,.25);background:linear-gradient(135deg,#63b3ff,#7d6cff);color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer}
.typing-track{flex:1;display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08)}
.typing-track i{display:block;width:10px;height:10px;border-radius:999px;background:#74dfff;box-shadow:0 0 0 6px rgba(116,223,255,.08)}
.typing-track b{font-size:14px;color:#fff;min-width:90px}
.wave-line{margin-left:auto;display:flex;align-items:flex-end;gap:4px;height:22px}
.wave-line span{display:block;width:3px;border-radius:99px;background:linear-gradient(180deg,#63d4ff,#7c6cff);animation:wavePulse 1.05s ease-in-out infinite}
.wave-line span:nth-child(1){height:7px}.wave-line span:nth-child(2){height:12px}.wave-line span:nth-child(3){height:9px}.wave-line span:nth-child(4){height:16px}.wave-line span:nth-child(5){height:10px}.wave-line span:nth-child(6){height:18px}.wave-line span:nth-child(7){height:8px}.wave-line span:nth-child(8){height:13px}
.wave-line span:nth-child(2n){animation-delay:.15s}.wave-line span:nth-child(3n){animation-delay:.28s}
@keyframes wavePulse{0%,100%{transform:scaleY(.7);opacity:.6}50%{transform:scaleY(1);opacity:1}}

.product-card[data-cat="custom"] .chips,
.product-card[data-cat="keycaps"] .chips,
.product-card[data-cat="base"] .chips,
.product-card[data-cat="tools"] .chips,
.product-card[data-cat="preorder"] .chips{display:none !important}

@media (max-width: 1200px){
  #productGrid{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width: 900px){
  .filter-groups-grid{grid-template-columns:1fr}
  #productGrid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .meta-grid{grid-template-columns:1fr 1fr}
  .filter-head-copy b{font-size:20px}
}
@media (max-width: 640px){
  .filter-shell{padding:12px}
  .filter-master{padding:14px 14px}
  .filter-master-text{gap:8px;align-items:flex-start;flex-direction:column}
  .filter-master-title{font-size:16px}
  .filter-master-subtitle{font-size:13px}
  .filter-toolbar{flex-direction:column;align-items:flex-start}
  #productGrid{grid-template-columns:1fr;gap:14px}
  .meta-grid{grid-template-columns:1fr}
  #productsArea .section-head.compact{padding:16px 16px}
  #productsArea .section-head.compact h2{font-size:24px}
}


/* === V138: faster modal image feel === */
.gallery-main.image-loading::after{
  content:"";
  position:absolute;
  inset:0;
  border-radius:24px;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent, rgba(255,255,255,.10), transparent),
    rgba(4,12,25,.22);
  background-size:220% 100%;
  animation:modalImageShimmer .75s linear infinite;
}
@keyframes modalImageShimmer{
  from{background-position:120% 0, 0 0}
  to{background-position:-120% 0, 0 0}
}
#modalImage{
  transition:opacity .18s ease, filter .18s ease;
}
.gallery-main.image-loading #modalImage{
  opacity:.82;
}
.product-card img,
#modalImage,
.gallery-thumbs img{
  image-rendering:auto;
}


/* === V139: ровные карточки в строке === */

/* Ряд карточек теперь растягивается по самой высокой карточке, без "прыжков" по низу */
.product-grid,
#productGrid,
#popularGrid,
.featured-grid,
.grouped-grid{
  align-items:stretch !important;
}

.product-grid > .product-card,
#productGrid > .product-card,
#popularGrid > .product-card,
.featured-grid > .product-card,
.grouped-grid > .product-card{
  height:100% !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}

/* Внутренности карточки: низ всегда прижат к одному уровню */
.product-card .product-info{
  flex:1 1 auto !important;
  min-height:0 !important;
  display:flex !important;
  flex-direction:column !important;
}

.product-card .product-copy{
  flex:0 0 auto !important;
}

/* Чтобы карточки не прыгали из-за двухстрочного названия */
.product-card .product-copy h3{
  min-height:52px !important;
  display:flex !important;
  align-items:flex-start !important;
}

.product-card[data-cat="switch"] .product-copy h3,
.product-card[data-cat="keyboard"] .product-copy h3{
  min-height:64px !important;
}

/* Описание и чипы имеют стабильную высоту */
.product-card .product-copy p{
  min-height:44px !important;
}

.product-card .chips{
  min-height:34px !important;
  align-content:flex-start !important;
}

/* Дорожка звука одного размера во всех карточках */
.product-card[data-cat="switch"] .typing-utility,
.product-card[data-cat="keyboard"] .typing-utility{
  min-height:104px !important;
  flex:0 0 auto !important;
}

/* Цена и кнопки всегда у нижнего края карточки */
.product-card .card-price-block,
.product-card .product-price{
  margin-top:auto !important;
  flex:0 0 auto !important;
}

.product-card .product-actions{
  flex:0 0 auto !important;
  margin-top:10px !important;
}

/* Для свитчей чуть более стабильная высота изображения и контента */
.product-card[data-cat="switch"] .product-photo{
  height:255px !important;
  min-height:255px !important;
}

.product-card[data-cat="switch"] .product-info{
  padding-bottom:16px !important;
}

/* На мобильных не держим лишние фиксированные высоты */
@media (max-width:640px){
  .product-card .product-copy h3,
  .product-card[data-cat="switch"] .product-copy h3,
  .product-card[data-cat="keyboard"] .product-copy h3{
    min-height:0 !important;
  }
  .product-card .product-copy p{
    min-height:0 !important;
  }
  .product-card[data-cat="switch"] .typing-utility,
  .product-card[data-cat="keyboard"] .typing-utility{
    min-height:0 !important;
  }
}


/* === V140: add-to-cart fly animation + cart redesign === */

.fly-to-cart{
  position:fixed;
  z-index:9999;
  pointer-events:none;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.22);
  box-shadow:0 26px 70px rgba(0,0,0,.42), 0 0 34px rgba(92,202,255,.25);
  background:#07101f;
}
.fly-to-cart img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.cart-float{
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}
.cart-float.cart-bump{
  animation:cartBump .64s ease;
  border-color:rgba(116,244,209,.55) !important;
  box-shadow:0 0 0 8px rgba(116,244,209,.08), 0 18px 46px rgba(0,0,0,.28) !important;
}
@keyframes cartBump{
  0%{transform:scale(1)}
  38%{transform:scale(1.12) translateY(-2px)}
  72%{transform:scale(.97)}
  100%{transform:scale(1)}
}

/* Cart panel */
.cart{
  width:min(480px,calc(100vw - 28px)) !important;
  right:14px !important;
  top:14px !important;
  bottom:14px !important;
  padding:0 !important;
  overflow:hidden !important;
  background:
    radial-gradient(circle at 20% 0%,rgba(76,194,255,.16),transparent 34%),
    linear-gradient(180deg,rgba(15,27,48,.96),rgba(6,13,27,.98)) !important;
  border:1px solid rgba(128,188,255,.20) !important;
  box-shadow:0 26px 90px rgba(0,0,0,.48) !important;
}
.cart-head{
  padding:20px 20px 14px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.cart-head p{
  margin:6px 0 0;
  color:#aebfd4;
  font-size:13px;
  line-height:1.35;
}
.cart-head button{
  cursor:pointer !important;
  transition:.18s ease !important;
}
.cart-head button:hover{
  background:rgba(255,255,255,.14) !important;
}
.cart-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  padding:14px 20px 0;
}
.cart-summary div{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  border-radius:16px;
  padding:12px;
}
.cart-summary span{
  display:block;
  color:#8fa7c1;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cart-summary b{
  display:block;
  color:#f5f9ff;
  font-size:22px;
  margin-top:3px;
}
.cart-items{
  flex:1 !important;
  overflow:auto !important;
  margin:0 !important;
  padding:16px 20px !important;
}
.cart-item.pro{
  display:grid !important;
  grid-template-columns:86px 1fr !important;
  gap:12px !important;
  padding:12px !important;
  border-radius:18px !important;
  background:linear-gradient(180deg,rgba(255,255,255,.065),rgba(255,255,255,.035)) !important;
  border:1px solid rgba(255,255,255,.10) !important;
  margin-bottom:10px !important;
}
.cart-item.pro img{
  width:86px !important;
  height:76px !important;
  border-radius:14px !important;
  object-fit:cover !important;
}
.cart-item-main{
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:7px;
}
.cart-item-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
.cart-item-top b{
  color:#fff;
  font-size:15px;
  line-height:1.15;
}
.cart-remove{
  width:28px;
  height:28px;
  border-radius:999px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.06);
  color:#dce8f8;
  cursor:pointer;
  font-size:18px;
  line-height:1;
}
.cart-item-main > span{
  color:#8fa7c1 !important;
  font-size:12px;
  font-weight:800;
}
.cart-item-bottom{
  margin-top:auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.cart-item-bottom strong{
  color:var(--green);
  font-size:16px;
  white-space:nowrap;
}
.qty-control{
  display:flex;
  align-items:center;
  gap:7px;
  padding:4px;
  border-radius:999px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.10);
}
.qty-control button{
  width:28px;
  height:28px;
  border-radius:999px;
  border:0;
  background:rgba(255,255,255,.09);
  color:#fff;
  font-size:17px;
  font-weight:950;
  cursor:pointer;
}
.qty-control em{
  min-width:20px;
  text-align:center;
  font-style:normal;
  color:#fff;
  font-weight:950;
}
.cart-footer{
  padding:16px 20px 20px;
  border-top:1px solid rgba(255,255,255,.08);
  background:linear-gradient(180deg,rgba(255,255,255,.025),rgba(255,255,255,.055));
}
.cart-total{
  margin:0 0 14px !important;
  padding:0 !important;
}
.cart-total span{
  color:#9fb1c8;
  font-weight:900;
}
.cart-total b{
  font-size:30px !important;
}
.cart-clear{
  width:100%;
  height:42px;
  margin-top:10px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(255,255,255,.045);
  color:#cbd8e8;
  font-weight:900;
  cursor:pointer;
}
.cart-empty{
  min-height:250px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  gap:10px;
  padding:24px;
  border-radius:22px;
  border:1px dashed rgba(255,255,255,.14);
  background:rgba(255,255,255,.025);
}
.cart-empty b{
  font-size:24px;
  color:#fff;
}
.cart-empty p{
  margin:0;
  max-width:300px;
  color:#aebfd4;
  line-height:1.45;
}
.cart-empty button{
  height:42px;
  padding:0 16px;
  border-radius:14px;
  border:1px solid rgba(116,244,209,.24);
  background:rgba(116,244,209,.08);
  color:#bfffee;
  font-weight:950;
  cursor:pointer;
}

/* Mobile cart */
@media (max-width:640px){
  .cart{
    inset:auto 8px 8px 8px !important;
    width:auto !important;
    max-height:88vh !important;
    border-radius:24px !important;
  }
  .cart-item.pro{
    grid-template-columns:74px 1fr !important;
  }
  .cart-item.pro img{
    width:74px !important;
    height:68px !important;
  }
  .cart-total b{
    font-size:26px !important;
  }
}


/* === V141: centered checkout cart === */

body.cart-open{
  overflow:hidden;
}

.cart-modal{
  position:fixed !important;
  inset:0 !important;
  z-index:4000 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  padding:22px !important;
}
.cart-modal.hidden{
  display:none !important;
}
.cart-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(3,8,16,.64);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
.cart-dialog{
  position:relative;
  width:min(1180px, calc(100vw - 44px)) !important;
  max-height:calc(100vh - 44px) !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden !important;
  border-radius:30px !important;
  background:
    radial-gradient(circle at 16% 0%,rgba(76,194,255,.16),transparent 34%),
    radial-gradient(circle at 92% 6%,rgba(126,96,255,.20),transparent 36%),
    linear-gradient(180deg,rgba(15,27,48,.97),rgba(6,13,27,.985)) !important;
  border:1px solid rgba(128,188,255,.22) !important;
  box-shadow:0 34px 110px rgba(0,0,0,.62) !important;
}
.cart-dialog .cart-head{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  padding:22px 24px 18px !important;
  border-bottom:1px solid rgba(255,255,255,.08) !important;
}
.cart-dialog .cart-head span{
  color:#62d6ff !important;
  font-size:12px !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
}
.cart-dialog .cart-head h3{
  margin:7px 0 0 !important;
  color:#fff !important;
  font-size:32px !important;
  line-height:1 !important;
}
.cart-dialog .cart-head p{
  margin:8px 0 0 !important;
  color:#aebfd4 !important;
  font-size:14px !important;
}
.cart-dialog .cart-head button{
  width:46px !important;
  height:46px !important;
  border-radius:999px !important;
  border:1px solid rgba(255,255,255,.12) !important;
  background:rgba(255,255,255,.06) !important;
  color:#fff !important;
  font-size:28px !important;
  cursor:pointer !important;
}

.cart-checkout-layout{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(0, 1.15fr) minmax(360px, .85fr);
  gap:18px;
  padding:20px 24px 24px;
  overflow:auto;
}
.cart-left{
  min-width:0;
  display:flex;
  flex-direction:column;
  min-height:0;
}
.cart-left .cart-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:0 !important;
  margin-bottom:14px;
}
.cart-left .cart-summary div{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
  border-radius:18px;
  padding:14px;
}
.cart-left .cart-summary span{
  display:block;
  color:#8fa7c1;
  font-size:11px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.cart-left .cart-summary b{
  display:block;
  color:#f5f9ff;
  font-size:24px;
  margin-top:3px;
}

.cart-left .cart-items{
  flex:1 1 auto !important;
  min-height:320px;
  max-height:56vh;
  overflow:auto !important;
  padding:0 4px 0 0 !important;
  margin:0 !important;
}
.cart-item.pro{
  grid-template-columns:92px 1fr !important;
  border-radius:20px !important;
}
.cart-item.pro img{
  width:92px !important;
  height:82px !important;
}

.checkout-form{
  align-self:start;
  position:sticky;
  top:0;
  display:flex;
  flex-direction:column;
  gap:13px;
  padding:18px;
  border-radius:24px;
  border:1px solid rgba(255,255,255,.12);
  background:
    linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));
}
.checkout-form-head span{
  color:#6cf4cc;
  font-size:12px;
  font-weight:950;
  letter-spacing:.13em;
  text-transform:uppercase;
}
.checkout-form-head h4{
  margin:7px 0 6px;
  color:#fff;
  font-size:26px;
  line-height:1.05;
}
.checkout-form-head p{
  margin:0;
  color:#9fb1c8;
  font-size:13px;
  line-height:1.4;
}
.checkout-field{
  display:flex;
  flex-direction:column;
  gap:7px;
}
.checkout-field span{
  color:#dce8f8;
  font-size:13px;
  font-weight:900;
}
.checkout-field span b{
  color:#74ffd0;
}
.checkout-field input,
.checkout-field select,
.checkout-field textarea{
  width:100%;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.13);
  background:rgba(3,10,20,.36);
  color:#fff;
  outline:none;
  font:inherit;
  font-size:15px;
  padding:14px 14px;
  transition:border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.checkout-field select{
  appearance:auto;
}
.checkout-field textarea{
  resize:vertical;
  min-height:98px;
}
.checkout-field input:focus,
.checkout-field select:focus,
.checkout-field textarea:focus{
  border-color:rgba(116,244,209,.52);
  box-shadow:0 0 0 4px rgba(116,244,209,.08);
  background:rgba(3,10,20,.52);
}
.checkout-form .cart-total{
  margin:4px 0 0 !important;
  padding:14px !important;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background:rgba(255,255,255,.045);
}
.checkout-form .cart-total span{
  color:#9fb1c8;
  font-size:12px;
  font-weight:900;
  text-transform:uppercase;
  letter-spacing:.08em;
}
.checkout-form .cart-total b{
  display:block;
  margin-top:4px;
  color:var(--green);
  font-size:34px !important;
  line-height:1;
}
#cartCheckout{
  height:54px !important;
}
#cartCheckout:disabled{
  opacity:.48;
  cursor:not-allowed;
  filter:saturate(.75);
}
#cartCheckout.done{
  background:linear-gradient(90deg,#64ffc8,#4fc3ff) !important;
  color:#06111f !important;
}
.checkout-form .cart-clear{
  height:42px;
  border-radius:14px;
}

/* Old right drawer cart rules neutralized */
.cart{
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  width:auto !important;
}

/* Mobile layout */
@media (max-width:900px){
  .cart-modal{
    padding:10px !important;
    align-items:flex-end !important;
  }
  .cart-dialog{
    width:100% !important;
    max-height:94vh !important;
    border-radius:26px !important;
  }
  .cart-dialog .cart-head{
    padding:18px 18px 14px !important;
  }
  .cart-dialog .cart-head h3{
    font-size:25px !important;
  }
  .cart-checkout-layout{
    grid-template-columns:1fr;
    gap:16px;
    padding:16px 18px 18px;
  }
  .cart-left .cart-items{
    min-height:190px;
    max-height:34vh;
  }
  .checkout-form{
    position:static;
  }
}
@media (max-width:560px){
  .cart-left .cart-summary{
    grid-template-columns:1fr 1fr;
  }
  .cart-item.pro{
    grid-template-columns:76px 1fr !important;
    padding:10px !important;
  }
  .cart-item.pro img{
    width:76px !important;
    height:70px !important;
  }
  .checkout-form{
    padding:14px;
  }
  .checkout-form-head h4{
    font-size:22px;
  }
  .checkout-form .cart-total b{
    font-size:28px !important;
  }
}


/* === V142: Telegram bot checkout states === */
#cartCheckout.loading{
  background:linear-gradient(90deg,#4fc3ff,#7b6cff) !important;
  color:#fff !important;
  opacity:.88 !important;
  cursor:wait !important;
}
#cartCheckout.done{
  background:linear-gradient(90deg,#64ffc8,#4fc3ff) !important;
  color:#06111f !important;
}
#cartCheckout.error{
  background:linear-gradient(90deg,#ffb45f,#ff6f91) !important;
  color:#170b0d !important;
}


/* === V143: full-window desktop / Telegram Mini App mode === */

html,
body{
  width:100% !important;
  min-width:0 !important;
}

body.window-fullscreen-mode{
  min-height:var(--app-window-height, 100dvh) !important;
  width:100vw !important;
}

body.window-fullscreen-mode .app-shell{
  width:100% !important;
  max-width:none !important;
  min-height:var(--app-window-height, 100dvh) !important;
  margin:0 !important;
  padding:
    max(14px, env(safe-area-inset-top))
    clamp(14px, 2vw, 36px)
    max(110px, env(safe-area-inset-bottom))
    clamp(14px, 2vw, 36px) !important;
}

body.window-fullscreen-mode .topbar,
body.window-fullscreen-mode .hero,
body.window-fullscreen-mode .tabs,
body.window-fullscreen-mode .catalog,
body.window-fullscreen-mode .popular-section,
body.window-fullscreen-mode .support{
  width:100% !important;
}

body.window-fullscreen-mode .hero{
  min-height:clamp(500px, 66vh, 760px) !important;
}

body.window-fullscreen-mode .hero-content{
  padding:clamp(34px, 4vw, 70px) clamp(24px, 3vw, 58px) !important;
  max-width:660px !important;
}

body.window-fullscreen-mode .hero-content h1{
  font-size:clamp(56px, 5.8vw, 108px) !important;
  line-height:.86 !important;
}

body.window-fullscreen-mode .category-grid{
  grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)) !important;
}

body.window-fullscreen-mode #productGrid,
body.window-fullscreen-mode #popularGrid,
body.window-fullscreen-mode .product-grid,
body.window-fullscreen-mode .featured-grid{
  grid-template-columns:repeat(auto-fit, minmax(280px, 1fr)) !important;
}

body.window-fullscreen-mode .cart-modal{
  min-height:var(--app-window-height, 100dvh) !important;
}

/* Telegram desktop/window: use the full viewport without side dead zones */
body.telegram-webapp-mode{
  overscroll-behavior:none !important;
}

body.telegram-webapp-mode .app-shell{
  padding-left:max(14px, env(safe-area-inset-left)) !important;
  padding-right:max(14px, env(safe-area-inset-right)) !important;
}

@media (min-width:1600px){
  body.window-fullscreen-mode #productGrid,
  body.window-fullscreen-mode #popularGrid,
  body.window-fullscreen-mode .product-grid{
    grid-template-columns:repeat(auto-fit, minmax(300px, 1fr)) !important;
  }
}

@media (max-width:900px){
  body.window-fullscreen-mode .app-shell{
    padding:12px 10px 100px !important;
  }
  body.window-fullscreen-mode .hero{
    min-height:520px !important;
  }
  body.window-fullscreen-mode .hero-content h1{
    font-size:56px !important;
  }
}

@media (max-width:640px){
  body.window-fullscreen-mode #productGrid,
  body.window-fullscreen-mode #popularGrid,
  body.window-fullscreen-mode .product-grid{
    grid-template-columns:1fr !important;
  }
}
