/* ──────────────────────────────────────────────────────────────────
 * ШРИФТЫ САЙТА
 *  Involve — основной (8 начертаний), Advaken Sans — display.
 *  Файлы лежат в smokeshop_site/fonts/.
 * ────────────────────────────────────────────────────────────────── */
@font-face{font-family:'Involve';font-style:normal;font-weight:400;font-display:swap;
  src:url('fonts/Involve-Regular.ttf?v=48a394e7') format('truetype')}
@font-face{font-family:'Involve';font-style:italic;font-weight:400;font-display:swap;
  src:url('fonts/Involve-Oblique.ttf?v=e44ab48b') format('truetype')}
@font-face{font-family:'Involve';font-style:normal;font-weight:500;font-display:swap;
  src:url('fonts/Involve-Medium.ttf?v=9e4c17f7') format('truetype')}
@font-face{font-family:'Involve';font-style:italic;font-weight:500;font-display:swap;
  src:url('fonts/Involve-MediumOblique.ttf?v=f6b4a2e5') format('truetype')}
@font-face{font-family:'Involve';font-style:normal;font-weight:600;font-display:swap;
  src:url('fonts/Involve-SemiBold.ttf?v=072972f2') format('truetype')}
@font-face{font-family:'Involve';font-style:italic;font-weight:600;font-display:swap;
  src:url('fonts/Involve-SemiBoldOblique.ttf?v=1ae528f5') format('truetype')}
@font-face{font-family:'Involve';font-style:normal;font-weight:700;font-display:swap;
  src:url('fonts/Involve-Bold.ttf?v=1f33d257') format('truetype')}
@font-face{font-family:'Involve';font-style:italic;font-weight:700;font-display:swap;
  src:url('fonts/Involve-BoldOblique.ttf?v=63ca3b77') format('truetype')}

@font-face{font-family:'Advaken Sans';font-style:normal;font-weight:400 800;font-display:swap;
  src:url('fonts/Advaken Sans.otf?v=85cec7df') format('opentype')}

/* ──────────────────────────────────────────────────────────────────
 * ДИЗАЙН-ТОКЕНЫ ИЗ FIGMA
 * Чёрный фон + жёлтый акцент #FFCC00, серый текст #636363.
 * ────────────────────────────────────────────────────────────────── */
:root{
  --bg:#000000;
  --card:#202020;
  --text:#F0EFEF;
  --muted:#636363;
  --accent:#FFCC00;
  --accent-text:#000000;
  --border:#FFCC00;
  --divider:#636363;
  --radius:20px;
  --side-pad:19.81px;
}

*{margin:0;padding:0;box-sizing:border-box}
html,body{background:var(--bg);color:var(--text);min-height:100%}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;line-height:20px;
  min-height:100vh;overflow-x:hidden}
a{color:inherit;text-decoration:none}
img{display:block;max-width:100%;height:auto}
button{font-family:inherit}

/* ──────────────────────────────────────────────────────────────────
 *  HEADER  (фиксированная шапка)
 *  лого слева, иконки соц.сетей и КОРЗИНА справа. Корзина в шапке —
 *  больше нет плавающей кнопки внизу.
 * ────────────────────────────────────────────────────────────────── */
header{position:sticky;top:0;z-index:100;background:#000;
  border-bottom:1px solid var(--border)}
.header-inner{max-width:393px;margin:0 auto;padding:10px var(--side-pad);
  display:flex;align-items:center;gap:10px;min-height:61px}
.logo{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:24px;line-height:1;letter-spacing:1.5px;color:var(--accent);
  text-transform:uppercase;display:inline-flex;align-items:center}
.logo-img-wrap{padding:0;display:inline-flex;align-items:center}
.logo-img{height:44px;width:auto;max-width:180px;display:block}

.header-right{margin-left:auto;display:flex;align-items:center;gap:10px}

.icon-btn{display:inline-flex;align-items:center;justify-content:center;
  width:40px;height:40px;border-radius:50%;background:var(--accent);
  color:#000;font-family:'Involve',sans-serif;font-weight:700;font-size:14px;
  text-decoration:none;border:none;cursor:pointer;
  transition:transform .15s ease,opacity .15s ease}
.icon-btn:hover{transform:translateY(-1px);opacity:.92}
.icon-btn svg{width:20px;height:20px;display:block}
.icon-btn.cart-btn{position:relative}
.cart-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;
  padding:0 5px;border-radius:9px;background:#F0EFEF;border:1px solid var(--accent);
  color:#000;font-size:10px;font-weight:600;line-height:16px;text-align:center;
  display:none;font-family:'Involve',sans-serif}
.icon-btn.cart-btn.has-items .cart-badge{display:block}

/* Скрываем устаревшие соц-кнопки в шапке если они есть в HTML — теперь
   мы используем только круглые .icon-btn в .header-right. */
.tg-btn-header,.vk-btn-header,.social-btn-header{display:none !important}

/* ──────────────────────────────────────────────────────────────────
 *  PAGE-WRAP — общий контейнер контента (393px макет → max 393px на mob,
 *  на desktop разрешаем шире до 1100px).
 * ────────────────────────────────────────────────────────────────── */
main{display:block;margin:0 auto}
.page{max-width:393px;margin:0 auto;padding:20px var(--side-pad) 40px;position:relative;z-index:1}

/* ────────── ОБЩИЕ ЭЛЕМЕНТЫ ────────── */

.h1{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:40px;line-height:42px;color:var(--text);
  letter-spacing:.5px;margin:0 0 12px;text-transform:none}
.subtitle-yellow{color:var(--accent);font-size:14px;line-height:20px;font-weight:500;margin:0 0 10px}
.subtitle-muted{color:var(--muted);font-size:14px;line-height:20px;font-weight:500;margin:0 0 20px}

/* Лейбл над поиском — приглушённо-серый, чтобы не конкурировал с
   заголовком и не привлекал лишнее внимание. */
.search-label{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--muted);margin:0 0 10px}

/* Поисковая строка — общий стиль */
.search-wrap{position:relative;width:100%;height:50px;margin:0 0 30px}
.search-wrap input{width:100%;height:50px;background:var(--card);border:none;
  border-radius:var(--radius);padding:0 18px 0 48px;
  font-family:'Involve',sans-serif;font-weight:500;font-size:14px;line-height:20px;
  color:var(--text);outline:none}
.search-wrap input::placeholder{color:var(--muted)}
.search-wrap input:focus{box-shadow:0 0 0 1px var(--accent)}
.search-wrap .ico-search{position:absolute;left:14px;top:50%;transform:translateY(-50%);
  width:18px;height:18px;pointer-events:none;color:var(--accent)}

/* Пилл-кнопка (жёлтая активная или прозрачная) */
.pill{display:flex;align-items:center;justify-content:center;gap:10px;
  height:40px;border-radius:var(--radius);padding:0 14px;
  font-family:'Involve',sans-serif;font-weight:600;font-size:14px;line-height:20px;
  text-align:center;cursor:pointer;border:none;background:var(--card);
  color:var(--accent);text-decoration:none;
  transition:transform .15s,opacity .15s,background .15s,color .15s}
.pill:hover{transform:translateY(-1px);opacity:.95}
.pill.is-active{background:var(--accent);color:var(--accent-text)}
.pill-arrow{display:inline-block;width:7px;height:8px;flex-shrink:0}
.pill-back{width:172px;background:var(--card);color:var(--muted);
  display:inline-flex;text-decoration:none}

/* ──────────────────────────────────────────────────────────────────
 *  AGE-GATE — центрированная по вьюпорту страница (стоит на body
 *  напрямую без шапки/футера, поэтому max-width:1100px от base-правила
 *  для main не применяется — фикстим явно width:100% и центр через flex).
 * ────────────────────────────────────────────────────────────────── */
.age-page{min-height:100vh;width:100%;max-width:none;
  display:flex;align-items:center;justify-content:center;
  padding:24px;text-align:center;margin:0 auto}
.age-box{max-width:393px;width:100%;margin:0 auto}
.age-logo{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:48px;line-height:1.05;color:var(--accent);letter-spacing:2px;
  margin-bottom:14px;text-transform:uppercase}
.age-sub{font-size:12px;letter-spacing:2px;color:var(--muted);
  text-transform:uppercase;margin-bottom:30px}
.age-icon{font-size:64px;margin-bottom:18px;display:block}
.age-title{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:28px;line-height:32px;color:var(--text);margin-bottom:14px}
.age-desc{font-size:14px;color:var(--muted);line-height:20px;margin-bottom:30px;
  font-weight:500}
.age-btns{display:flex;flex-direction:column;gap:14px;align-items:stretch}
.age-yes{display:flex;align-items:center;justify-content:center;height:50px;
  background:var(--accent);color:#000;font-family:'Involve',sans-serif;
  font-weight:600;font-size:14px;letter-spacing:1px;border-radius:var(--radius);
  text-decoration:none}
.age-yes:hover{opacity:.9}
.age-no{display:flex;align-items:center;justify-content:center;height:50px;
  background:var(--card);color:var(--muted);font-family:'Involve',sans-serif;
  font-weight:600;font-size:14px;border-radius:var(--radius);text-decoration:none}
.age-no:hover{color:var(--text)}

/* ──────────────────────────────────────────────────────────────────
 *  ГЛАВНАЯ
 * ────────────────────────────────────────────────────────────────── */
.home-hero{padding-top:20px}
.home-subtitle{font-size:14px;line-height:20px;color:var(--text);font-weight:500;
  margin:0 0 30px;max-width:296px}
.home-title{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:40px;line-height:42px;color:var(--text);margin:0 0 30px}

/* Сетка категорий: 2 колонки на мобиле, растягиваются по ширине */
.cat-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin-bottom:40px}
.cat-card{position:relative;width:100%;aspect-ratio:1/1;background:var(--card);
  border:1px solid transparent;border-radius:var(--radius);
  padding:14px;color:inherit;overflow:hidden;
  display:flex;flex-direction:column;
  transition:border-color .15s ease,transform .15s ease}
.cat-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.cat-card .cat-name{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:20px;line-height:24px;color:var(--text);
  display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
  flex:0 0 auto}
.cat-card .cat-count-badge{display:block;flex:0 0 auto;
  font-family:'Involve',sans-serif;font-weight:500;font-size:11px;line-height:14px;
  color:var(--muted);margin-top:6px}
/* Иконка занимает ВСЁ оставшееся пространство под текстом и тянется по
   высоте до низа карточки, ширина auto (object-fit:contain сохраняет
   пропорции). Выравнивание — в правый нижний угол. */
.cat-card .cat-icon-wrap{flex:1 1 auto;display:flex;align-items:flex-end;
  justify-content:flex-end;overflow:hidden;margin-top:6px;min-height:0;
  pointer-events:none}
.cat-card .cat-icon{height:100%;width:auto;max-width:100%;object-fit:contain;
  object-position:right bottom;display:block}
.cat-card .cat-emoji{align-self:flex-end;font-size:64px;line-height:1;
  opacity:.95;margin-top:auto;
  filter:grayscale(0.05) brightness(1.05)}
.cat-card.cat-card-first{border:1px solid var(--accent)}

/* Заголовки секций главной */
.section-title{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:40px;line-height:42px;color:var(--text);margin:30px 0 20px}

/* Магазины (новый стиль) */
.stores-list{display:flex;flex-direction:column;gap:0;margin-bottom:40px}
.store-row{display:flex;align-items:center;gap:19px;padding:18px 0;
  border-top:1px solid var(--divider)}
.store-row:first-child{border-top:none;padding-top:0}
.store-row-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:16px}
.store-row-name{font-family:'Involve',sans-serif;font-weight:500;font-size:20px;
  line-height:28px;color:var(--text)}
.store-row-phone{font-family:'Involve',sans-serif;font-weight:500;font-size:20px;
  line-height:20px;color:var(--accent);text-decoration:none}
.store-row-phone:hover{opacity:.85}
.store-row .icon-btn{flex-shrink:0}

/* Блок «Связь с менеджером» */
.contact-section{margin:30px 0 40px}
.contact-text{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--text);margin-bottom:20px}
.contact-social{display:flex;gap:10px;justify-content:center;margin-top:20px}
.contact-social .icon-btn{width:40px;height:40px}

/* Carousel-блок магазина (для случая когда есть фото) — legacy скрыт */
.store-carousel,.store-no-photo,.store-card,.stores-grid,.store-body,
.store-name,.store-address,.store-map-btn{display:none}

/* ──────────────────────────────────────────────────────────────────
 *  КАТЕГОРИЯ
 * ────────────────────────────────────────────────────────────────── */
.cat-page{max-width:393px;margin:0 auto;padding:20px var(--side-pad) 40px;position:relative;z-index:1}

.cat-page h1{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:40px;line-height:42px;color:var(--text);margin:0 0 20px;
  letter-spacing:0;text-transform:none}
.cat-page h1 .cat-title-icon{width:44px;height:44px;object-fit:contain;
  vertical-align:-8px;margin-right:10px}
.cat-page h1 .cat-title-emoji{margin-right:10px}
.cat-page h1 span{color:var(--text)}
.cat-page .sub{display:none}
.cat-counter{color:var(--accent);font-weight:500;font-size:14px;line-height:20px;
  margin-bottom:10px}

.back-btn-main{display:none}
.cat-back-wrap{margin-bottom:20px}
.cat-back-wrap .pill-back{display:inline-flex;justify-content:center;align-items:center;
  width:172px;height:40px;background:var(--card);border-radius:var(--radius);
  color:var(--muted);text-decoration:none;font-weight:600;font-size:14px;gap:10px}
.cat-back-wrap .pill-back:hover{opacity:.9}
.cat-back-wrap .pill-back svg{width:7px;height:8px;color:var(--muted)}

/* Поиск на категории — повторно используем .search-wrap */
.cat-search-wrap{margin:0 0 30px}
.cat-search-empty{display:none;margin-top:14px;padding:18px;background:var(--card);
  border-radius:var(--radius);text-align:center;color:var(--muted);font-size:14px}

/* Раздел подкатегорий — крупные пилюли как «Бренды» */
.subcats-section{margin-bottom:30px}
.subcats-title{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:40px;line-height:42px;color:var(--text);
  margin:0 0 20px;text-transform:none;letter-spacing:0}
.subcat-grid{display:flex;flex-direction:column;gap:10px;align-items:stretch}
.subcat-card{display:flex;align-items:center;justify-content:center;
  width:100%;min-height:50px;padding:14px 20px;
  background:transparent;border:1px solid var(--accent);border-radius:var(--radius);
  color:var(--text);
  font-family:'Involve',sans-serif;font-weight:500;font-size:14px;line-height:20px;
  text-decoration:none;text-align:center;
  transition:background .15s,color .15s,transform .15s}
.subcat-card:hover{background:var(--accent);color:#000;transform:translateY(-1px)}
.subcat-card .subcat-emoji,.subcat-card .subcat-icon{display:none}
.subcat-card.active{background:var(--accent);color:#000}

/* Сортировка — большая плашка с двумя колонками по 3 кнопки */
.sort-wrap{border:1px solid var(--accent);border-radius:var(--radius);padding:14px;
  margin-bottom:30px}
.sort-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.sort-bar{display:contents}
.sort-bar-label{display:none}
.filter-bar{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;margin-bottom:18px;
  border-bottom:1px solid var(--divider)}
.filter-bar-label{font-size:12px;color:var(--muted);letter-spacing:.5px;
  font-weight:600;margin-right:6px;align-self:center}
.filter-empty{padding:48px 0;text-align:center;color:var(--muted);
  background:var(--card);border-radius:var(--radius);font-size:15px;margin-top:20px}

.sort-section{display:none;scroll-margin-top:80px}
.sort-section:target{display:block}

/* Кнопки сортировки внутри плашки */
.sort-btn{display:flex;align-items:center;justify-content:center;gap:8px;
  height:40px;border-radius:var(--radius);background:var(--card);
  font-family:'Involve',sans-serif;font-weight:600;font-size:14px;line-height:20px;
  color:var(--accent);border:none;text-decoration:none;cursor:pointer;
  transition:background .15s,color .15s,transform .15s}
.sort-btn:hover{transform:translateY(-1px);opacity:.95}
.sort-btn.active{background:var(--accent);color:#000}

/* Карточки товара в категории */
.prod-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;
  margin-top:0}
.prod-card{display:flex;flex-direction:column;background:var(--card);
  border:1px solid transparent;border-radius:var(--radius);overflow:hidden;
  width:100%;color:inherit;text-decoration:none;
  transition:border-color .15s,transform .15s}
.prod-card:hover{border-color:var(--accent);transform:translateY(-1px)}
.prod-img{width:100%;aspect-ratio:1/1;background:var(--card);
  border-radius:var(--radius);
  display:flex;align-items:center;justify-content:center;overflow:hidden;
  position:relative}
.prod-img img{width:100%;height:100%;object-fit:cover;padding:0;
  display:block}
.prod-img.no-image::before{content:'📦';font-size:56px;opacity:.35;color:var(--muted)}
.stock-badge{display:none}
.prod-body{padding:10px 14px 14px;display:flex;flex-direction:column;gap:10px}
.prod-brand{font-family:'Involve',sans-serif;font-weight:500;font-size:12px;
  line-height:20px;color:var(--accent)}
.prod-name{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:16px;line-height:18px;color:var(--text);min-height:36px;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.prod-meta{font-family:'Involve',sans-serif;font-weight:500;font-size:12px;
  line-height:20px;color:var(--muted)}
.prod-footer{display:flex;flex-direction:column;gap:8px}
.prod-price,.prod-clarify-hint{display:none}
.buy-btn{display:flex;align-items:center;justify-content:center;
  height:40px;border-radius:var(--radius);background:var(--accent);color:#000;
  font-family:'Involve',sans-serif;font-weight:600;font-size:14px;line-height:20px;
  letter-spacing:0;text-decoration:none;width:100%}
.buy-btn:hover{opacity:.9}

/* ──────────────────────────────────────────────────────────────────
 *  СТРАНИЦА ТОВАРА — большая картинка, артикул, фирма, название,
 *  список вариантов с ЧЕКБОКСАМИ, одна кнопка «В корзину».
 * ────────────────────────────────────────────────────────────────── */
.detail-wrap{max-width:393px;margin:0 auto;padding:20px var(--side-pad) 40px;
  position:relative;z-index:1}
.detail-wrap .back-btn-main{display:none}

.detail-grid{display:flex;flex-direction:column;gap:30px}
.detail-img{width:100%;max-width:none;aspect-ratio:1/1;background:var(--card);
  border-radius:var(--radius);overflow:hidden;display:flex;align-items:center;
  justify-content:center;padding:0;margin:0}
.detail-img img{width:100%;height:100%;object-fit:cover;display:block}
.detail-img.no-image::before{content:'📦';font-size:120px;opacity:.35;color:var(--muted)}

.detail-info{display:flex;flex-direction:column;gap:10px}
.detail-info .sku-line{font-family:'Involve',sans-serif;font-weight:500;
  font-size:14px;line-height:20px;color:var(--muted);
  background:none;border:none;padding:0;margin:0;display:block}
.detail-info .sku-line b{color:var(--muted);font-weight:500;letter-spacing:0}
.detail-info .brand{font-family:'Involve',sans-serif;font-weight:500;
  font-size:14px;line-height:20px;color:var(--accent);text-transform:none;
  letter-spacing:0;margin:0;padding:0}
.detail-info h1{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:24px;line-height:28px;color:var(--text);margin:0;letter-spacing:0;
  text-transform:none}
.detail-info .stock-line,.detail-info .price-range,.detail-info .price-hidden{display:none}
.detail-description{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--muted);background:none;border:none;padding:0;margin:10px 0 0;
  white-space:pre-wrap}

.var-section-title{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:24px;line-height:28px;color:var(--text);text-transform:none;
  letter-spacing:0;margin:30px 0 0}

.var-box{border:1px solid var(--accent);border-radius:var(--radius);padding:20px;
  margin-top:10px}
.var-list{display:flex;flex-direction:column;gap:10px;max-height:none;overflow:visible;
  padding-right:0;list-style:none}
.var-row{display:flex;align-items:center;gap:20px;background:none;border:none;
  border-radius:0;padding:0;font-size:14px;color:var(--text)}
.var-row:hover{border-color:transparent}
.var-choice{display:flex;align-items:center;gap:20px;flex:1;min-width:0;cursor:pointer}
.var-row .var-name{flex:1;color:var(--text);line-height:20px;font-weight:500;
  font-family:'Involve',sans-serif;font-size:14px}
.var-row .var-price{font-family:'Involve',sans-serif;font-weight:600;
  font-size:14px;color:var(--accent);margin-left:0;flex-shrink:0}
.var-row .var-price.hidden{display:none}

/* Чекбоксы (вместо radio) */
.var-row input[type="checkbox"]{appearance:none;-webkit-appearance:none;
  width:20px;height:20px;border:2px solid var(--muted);border-radius:0;
  background:transparent;flex-shrink:0;margin:0;cursor:pointer;
  transition:border-color .15s,background .15s;position:relative}
.var-row input[type="checkbox"]:checked{border-color:var(--accent);background:var(--accent)}
.var-row input[type="checkbox"]:checked::after{content:'';position:absolute;
  left:4px;top:0;width:6px;height:11px;border:solid #000;border-width:0 2px 2px 0;
  transform:rotate(45deg)}
.var-row-selectable{cursor:pointer;border:none;background:transparent;padding:0}
.var-row-selectable:has(input:checked){background:transparent;border:none}

/* Старая «В корзину»-кнопка у каждого варианта — скрыта (теперь одна общая) */
.var-cart-btn{display:none !important}

/* Одна общая кнопка «В корзину» под списком */
.detail-add{display:flex;align-items:center;justify-content:center;
  width:100%;height:40px;background:var(--accent);color:#000;
  font-family:'Involve',sans-serif;font-weight:600;font-size:14px;line-height:20px;
  border-radius:var(--radius);border:none;cursor:pointer;text-decoration:none;
  margin-top:30px}
.detail-add:hover{opacity:.92}
.detail-add.in-cart{background:#2bb673;color:#fff}

.detail-hint{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--accent);margin-top:20px}

/* Скрываем устаревший блок «Скопировать сообщение» на странице товара
   (он переехал в корзину) */
.copy-block,.detail-buy,.detail-buy-clarify{display:none !important}

/* ──────────────────────────────────────────────────────────────────
 *  КОРЗИНА — новый вид: список выбранных + блок «Текст для отправки»
 * ────────────────────────────────────────────────────────────────── */
.cart-page{max-width:393px;margin:0 auto;padding:20px var(--side-pad) 40px;
  position:relative;z-index:1}
.cart-page .back-btn-main{display:none}

.cart-page h1{font-family:'Advaken Sans','Involve',sans-serif;font-weight:400;
  font-size:24px;line-height:28px;color:var(--text);margin:0 0 20px;
  letter-spacing:0;text-transform:none}
.cart-sub{display:none}
.cart-empty{padding:42px 20px;text-align:center;background:var(--card);
  border-radius:var(--radius);color:var(--muted);margin-bottom:20px}
.cart-list{display:flex;flex-direction:column;gap:10px;margin-bottom:30px}
.cart-item{display:flex;align-items:center;gap:10px;background:transparent;
  border:none;border-radius:0;padding:0;min-height:20px}
.cart-item-info{flex:1;min-width:0;display:flex;align-items:center;gap:10px}
.cart-item-name{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--text);flex:1;min-width:0}
.cart-item-qty{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--text);text-align:right;white-space:nowrap}
.cart-item-meta{display:none}
.cart-remove{width:24px;height:24px;border-radius:6px;border:1px solid var(--divider);
  background:transparent;color:var(--muted);font-size:16px;cursor:pointer;
  display:inline-flex;align-items:center;justify-content:center;
  transition:color .15s,border-color .15s,background .15s;flex-shrink:0}
.cart-remove:hover{color:#ef4444;border-color:#ef4444;background:rgba(239,68,68,.08)}

/* Блок «Текст для отправки» */
.cart-msg-block{background:var(--card);border-radius:var(--radius);padding:20px;
  display:flex;flex-direction:column;gap:10px;margin-bottom:20px;min-height:80px}
.cart-msg-label{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--muted)}
.cart-message{width:100%;min-height:60px;padding:0;background:transparent;
  border:none;color:var(--text);font:inherit;line-height:20px;resize:vertical;
  outline:none}
.cart-msg-hint{font-family:'Involve',sans-serif;font-weight:500;font-size:14px;
  line-height:20px;color:var(--muted);margin-bottom:20px}

.cart-actions{display:flex;flex-direction:column;gap:10px;margin-top:0;flex-wrap:nowrap}
.cart-copy-btn,.cart-manager-btn,.cart-clear-btn{display:flex;align-items:center;
  justify-content:center;width:100%;height:50px;border-radius:var(--radius);
  font-family:'Involve',sans-serif;font-weight:600;font-size:14px;line-height:20px;
  letter-spacing:0;border:none;cursor:pointer;text-decoration:none;
  transition:transform .15s,opacity .15s}
.cart-copy-btn{background:#F0EFEF;color:#000}
.cart-manager-btn{background:var(--accent);color:#000;flex:none}
.cart-clear-btn{background:transparent;color:var(--muted);border:1px solid var(--divider)}
.cart-copy-btn:hover,.cart-manager-btn:hover,.cart-clear-btn:hover{
  transform:translateY(-1px);opacity:.92}
.cart-copy-btn:disabled,.cart-copy-btn.disabled{cursor:not-allowed;opacity:.45;transform:none}
.cart-copy-btn.copied{background:#2bb673;color:#fff}
.cart-manager-btn.disabled{pointer-events:none;opacity:.45}

/* ──────────────────────────────────────────────────────────────────
 *  ФУТЕР — кредиты + ИП реквизиты
 * ────────────────────────────────────────────────────────────────── */
footer{position:relative;z-index:1;max-width:393px;margin:0 auto;
  padding:20px var(--side-pad) 80px;color:var(--muted);
  font-family:'Involve',sans-serif;font-weight:400;font-size:14px;line-height:19px}
.footer-divider{height:1px;background:var(--divider);margin:0 0 20px}
.footer-warn{color:var(--muted);font-size:14px;line-height:19px;margin-bottom:20px}
.footer-divider-2{height:1px;background:var(--divider);margin:20px 0}
.footer-credits{display:flex;flex-direction:column;gap:10px;margin-bottom:20px}
.footer-credit{color:var(--accent);font-family:'Involve',sans-serif;
  font-weight:400;font-size:14px;line-height:19px;text-decoration:none}
.footer-credit:hover{opacity:.85}
.footer-ip{margin-top:20px;color:var(--muted);font-size:13px;line-height:18px;
  display:flex;flex-direction:column;gap:6px}
.footer-ip strong{color:var(--text);font-weight:600}
.footer-ip a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.footer-ip a:hover{color:var(--text)}
.footer-spacer{height:80px}

/* ──────────────────────────────────────────────────────────────────
 *  ГЛОБАЛЬНЫЙ ПОИСК на главной (выпадающий список результатов)
 * ────────────────────────────────────────────────────────────────── */
.global-search-results{display:none;position:absolute;top:calc(100% + 6px);
  left:0;right:0;background:var(--card);border:1px solid var(--divider);
  border-radius:var(--radius);box-shadow:0 16px 48px rgba(0,0,0,.4);
  z-index:100;max-height:480px;overflow-y:auto}
.gsr-item{display:flex;align-items:center;gap:12px;padding:12px 16px;
  text-decoration:none;border-bottom:1px solid var(--divider);transition:background .15s}
.gsr-item:last-child{border-bottom:none}
.gsr-item:hover{background:#181818}
.gsr-thumb{width:40px;height:40px;object-fit:cover;border-radius:6px;flex-shrink:0;
  background:var(--bg)}
.gsr-thumb-placeholder{width:40px;height:40px;border-radius:6px;background:#333;
  display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.gsr-info{flex:1;min-width:0}
.gsr-name{font-weight:700;font-size:14px;color:var(--text);white-space:nowrap;
  overflow:hidden;text-overflow:ellipsis}
.gsr-meta{font-size:12px;color:var(--muted);margin-top:2px}
.gsr-sku{font-family:monospace;font-size:11px;color:var(--accent);margin-top:1px}
.gsr-empty{padding:20px;text-align:center;color:var(--muted);font-size:14px}

/* ──────────────────────────────────────────────────────────────────
 *  Совместимость с устаревшими классами (чтобы старые HTML не ломались)
 * ────────────────────────────────────────────────────────────────── */
.hero,.tg-banner,.tg-banner-icon,.tg-banner-text,.tg-banner-btn,.vk-banner-btn,
.tg-banner-btns,.global-search-icon{display:none !important}
.floating-cart{display:none !important}

/* ──────────────────────────────────────────────────────────────────
 *  РЕСПОНСИВ — для desktop расширяем максимум до 1100px и делаем
 *  больше колонок в сетках.
 * ────────────────────────────────────────────────────────────────── */
@media (min-width:768px){
  main, .page, .cat-page, .detail-wrap, .cart-page, footer, .header-inner{
    max-width:1100px;margin-left:auto;margin-right:auto}
  /* Age-gate должен растягиваться на 100vw и центрировать .age-box —
     перезаписываем max-width:1100px которое выше */
  main.age-page{max-width:none;width:100%}
  .header-inner{padding:14px 32px}
  .logo{font-size:30px}
  .icon-btn{width:44px;height:44px}
  .home-title,.section-title,.cat-page h1{font-size:48px;line-height:50px}
  .h1{font-size:48px;line-height:50px}
  .subcats-title{font-size:48px;line-height:50px}
  /* На десктопе плитки растягиваются по ширине — фиксированную ширину
     убираем, тянем колонки до auto-fit с минимумом 180-200px. */
  .cat-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:18px}
  .prod-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:18px}
  .cat-card,.prod-card{width:100%}
  .detail-grid{flex-direction:row;align-items:flex-start;gap:40px}
  .detail-img{width:480px;height:480px;aspect-ratio:1/1;flex-shrink:0}
  .detail-info{flex:1}
  .detail-add{max-width:360px}
  .stores-list,.cart-list{max-width:600px}
}

/* Текст без свечения. */
body,body *{text-shadow:none !important}

/* Динамический default-sort = popular (см. settings.default_sort) */
#s-popular-pall{display:block}
.sort-section:target ~ #s-popular-pall{display:none}
