/* WOV.BY — витрина, Этап 1. Мобильный-first, тёмная «вейп»-эстетика, без фреймворков. */
/* Шрифт Manrope (OFL) — self-hosted, latin + cyrillic, файлы в /assets/fonts/ */
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-400-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:400;font-display:swap;src:url(/assets/fonts/manrope-400-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-500-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:500;font-display:swap;src:url(/assets/fonts/manrope-500-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-600-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:600;font-display:swap;src:url(/assets/fonts/manrope-600-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-700-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:700;font-display:swap;src:url(/assets/fonts/manrope-700-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-800-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Manrope';font-style:normal;font-weight:800;font-display:swap;src:url(/assets/fonts/manrope-800-cyrillic.woff2) format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
/* Графический знак белорусского рубля — официальный иконочный шрифт НБРБ (nbrb.by) */
@font-face{font-family:'nbrb';font-style:normal;font-weight:normal;font-display:swap;src:url(/assets/fonts/nbrb.woff2) format('woff2'),url(/assets/fonts/nbrb.ttf) format('truetype'),url(/assets/fonts/nbrb.woff) format('woff');unicode-range:U+E901,U+42,U+59,U+4E}
:root{
  --bg:#0E0E10; --bg2:#141417; --card:#1C1C20; --line:#2A2A2E; --accent-hover:#FF8F4A;
  --text:#FFFFFF; --muted:#9A9AA0; --accent:#FF7A2D; --accent2:#FF7A2D;
  --ok:#4caf50; --bad:#e05c5c;
  --radius:12px;
}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--text);font:15px/1.55 'Manrope',-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
.container{max-width:1120px;margin:0 auto;padding:0 14px}
@media (min-width:1600px){.container{max-width:1280px}}
h1{font-size:22px;margin:14px 0} h2.sec-title{font-size:19px;margin:26px 0 12px}
.btn{display:inline-block;border:0;border-radius:10px;padding:10px 18px;font-size:14px;font-weight:600;cursor:pointer;text-align:center}
.btn-primary{background:var(--accent);color:#fff}
.btn-ghost{background:transparent;border:1px solid var(--line);color:var(--muted)}
.btn-lg{padding:14px 30px;font-size:16px}
.link-btn{background:none;border:0;color:var(--accent);cursor:pointer;font-size:inherit;padding:0;text-decoration:underline}

/* 18+ gate */
.age-gate{position:fixed;inset:0;z-index:100;background:rgba(8,8,10,.92);display:flex;align-items:center;justify-content:center;padding:16px}
.age-gate[hidden]{display:none}
.age-gate-box{background:var(--bg2);border:1px solid var(--line);border-radius:16px;max-width:380px;width:100%;padding:28px;text-align:center}
.age-gate-logo{font-size:30px;font-weight:800}.age-gate-logo span{color:var(--accent)}
.age-gate-actions{display:flex;gap:10px;justify-content:center;margin-top:18px;flex-wrap:wrap}

/* Шапка */
.header{background:var(--bg2);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:50}
.header-in{display:flex;align-items:center;gap:10px;padding:10px 14px;flex-wrap:wrap}
.logo{font-size:22px;font-weight:800;letter-spacing:.5px}
.logo span{color:var(--accent)}
.search{flex:1;display:flex;min-width:180px}
.search input{flex:1;background:var(--card);border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;padding:9px 12px;color:var(--text);font-size:14px}
.search button{background:var(--card);border:1px solid var(--line);border-radius:0 10px 10px 0;padding:0 14px;color:var(--accent);font-size:18px;cursor:pointer}
.header-side{display:flex;align-items:center;gap:12px}
.header-phone{display:none;flex-direction:column;line-height:1.2}
.header-phone b{font-size:16px}.header-phone span{font-size:11px;color:var(--muted)}
.header-icon{position:relative;background:none;border:1px solid var(--line);border-radius:10px;padding:7px 10px;color:var(--text);cursor:pointer;font-size:15px}
.header-icon-label{font-size:11px;margin-left:4px}
.cart-badge{position:absolute;top:-6px;right:-6px;background:var(--accent);color:#fff;border-radius:999px;font-size:10px;min-width:16px;height:16px;line-height:16px;text-align:center}
/* Мини-корзина (предпросмотр по наведению на иконку корзины) */
.header-cart{position:relative}
/* невидимый мостик между иконкой и панелью: курсор не «пропадает» в зазоре.
   На .header-cart, а не на .mini-cart — у панели overflow:hidden обрезал бы ::before */
.header-cart::after{content:'';position:absolute;top:100%;right:0;height:12px;width:430px;max-width:calc(100vw - 24px)}
.mini-cart{position:absolute;right:0;top:calc(100% + 8px);width:430px;max-width:calc(100vw - 24px);background:var(--bg2);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 50px rgba(0,0,0,.45);z-index:80;overflow:hidden}
.mc-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px;font-size:15px;border-bottom:1px solid var(--line)}
.mc-head b{color:var(--accent)}
.mc-clear{background:none;border:0;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline}
.mc-clear:hover{color:var(--bad)}
.mc-items{max-height:320px;overflow-y:auto}
.mc-item{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line)}
.mc-item:last-child{border-bottom:0}
.mc-img{width:48px;height:48px;object-fit:contain;background:#fff;border-radius:8px;flex:0 0 auto}
.mc-info{flex:1;min-width:0}
.mc-name{display:block;font-size:13px;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-name:hover{color:var(--accent)}
.mc-opts{font-size:11px;color:var(--muted)}
.mc-price{font-size:13px;font-weight:700;color:var(--accent2)}
.mc-qty{display:flex;align-items:center;gap:6px}
.mc-qty button{width:26px;height:26px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--text);cursor:pointer;font-size:15px;line-height:1}
.mc-qty button:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}
.mc-qty button:disabled{opacity:.35;cursor:not-allowed}
.mc-qty span{min-width:20px;text-align:center;font-size:13px;font-weight:700}
.mc-del{background:none;border:0;cursor:pointer;font-size:15px;opacity:.6;padding:4px}
.mc-del:hover{opacity:1}
.mc-empty{padding:26px 16px;text-align:center;color:var(--muted);font-size:14px}
.mc-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-top:1px solid var(--line);background:var(--card)}
.mc-total{font-size:15px}
.mc-checkout{text-decoration:none;white-space:nowrap}
/* превью товара в корзине и сводке чекаута */
.cart-thumb{width:56px;height:56px;object-fit:contain;background:#fff;border-radius:8px;vertical-align:middle;margin-right:10px}
a.cart-name{vertical-align:middle}
.co-thumb{width:40px;height:40px;object-fit:contain;background:#fff;border-radius:8px;flex:0 0 auto}

.burger{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:8px 7px;cursor:pointer;flex-direction:column;gap:4px}
.burger span{display:block;width:18px;height:2px;background:var(--text)}

/* Меню каталога */
.catnav{border-top:1px solid var(--line)}
.catnav-in{display:flex;gap:2px;overflow:visible;padding:0 14px}
.catnav-item{position:relative;flex:0 0 auto}
.catnav-top{display:block;padding:11px 12px;font-size:14px;color:var(--muted);white-space:nowrap;border-bottom:2px solid transparent}
.catnav-item:hover .catnav-top,.catnav-top:hover{color:var(--text);border-bottom-color:var(--accent)}
.catnav-drop{display:none;position:absolute;top:100%;left:0;min-width:230px;background:var(--bg2);border:1px solid var(--line);border-radius:0 0 12px 12px;padding:8px;z-index:60}
.catnav-item:hover .catnav-drop{display:block}
.catnav-drop a{display:block;padding:8px 10px;border-radius:8px;font-size:13px;color:var(--muted)}
.catnav-drop a:hover{background:var(--card);color:var(--text)}
.catnav-blog,.catnav-contacts{color:var(--accent)!important}

/* Хлебные крошки */
.breadcrumbs{padding-top:12px;font-size:13px;color:var(--muted)}
.breadcrumbs a{color:var(--muted)}.breadcrumbs .sep{margin:0 6px;color:var(--line)}
.breadcrumbs a:hover{color:var(--accent)}

.main{padding-bottom:40px;min-height:60vh}

/* Главная hero */
.hero{background:#141417;border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;margin-top:16px}
.hero h1{margin:0 0 8px;font-size:24px}
.hero p{margin:0;color:var(--muted)}

/* Листинг (запись 41, макет владельца): вертикальный стек тёмных строк-товаров на всю ширину.
   Мобиле: строка вертикальная (фото сверху), с 768px — горизонтальная: фото 240px слева. */
.grid{display:flex;flex-direction:column;gap:16px}
.prow{display:flex;flex-direction:column;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px;transition:border-color .2s}
.prow:hover{border-color:var(--accent)}
.prow-img{display:block;width:100%;max-width:340px;margin:0 auto;aspect-ratio:1/1;background:#fff;border-radius:12px;overflow:hidden;flex:0 0 auto}
.prow-img img{width:100%;height:100%;object-fit:contain}
.prow-body{display:flex;flex-direction:column;gap:10px;flex:1;min-width:0}
.prow-name{font-size:17px;font-weight:700;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.prow-name:hover{color:var(--accent)}
.product-stickers{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 12px}
.product-stickers .card-badge{position:static;font-size:10.5px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px;color:#fff;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.3)}
/* Группа моделей (HPM): переключатель цветов-ссылок */
.p-model-links{gap:8px}
.p-model-link{position:relative;display:inline-flex;align-items:center;justify-content:center;min-width:40px;height:40px;padding:3px;border:1.5px solid var(--line2);border-radius:10px;overflow:hidden;cursor:pointer;flex:0 0 auto;transition:border-color .2s,transform .2s,box-shadow .2s}
.p-model-link:hover{border-color:var(--accent)}
.p-model-link img{display:block;width:32px;height:32px;object-fit:cover;border-radius:7px}
.p-model-link span{font-size:11.5px;font-weight:600;padding:0 8px;text-align:center}
.p-models.flash{outline:2px solid var(--accent);outline-offset:4px;border-radius:10px;transition:outline-color .3s}
.product-hint{font-size:12px;color:var(--muted);margin:6px 0 0}
/* HPM: кружок-иконка цвета и форма иконок */
.p-model-link-icon{width:32px;height:32px;object-fit:cover;border-radius:50%!important}
.p-model-links.shape-circle .p-model-link{border-radius:50%}
.p-model-links.shape-circle .p-model-link img{border-radius:50%}
.p-model-stock{list-style:none;margin:0;padding:0}
.p-model-stock li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(128,128,128,.12)}
.p-model-stock li:last-child{border-bottom:0}
.p-model-stock-name{display:flex;align-items:center;gap:10px;min-width:0;color:var(--text);font-size:13.5px}
.p-model-stock-name:hover{color:var(--accent)}
.p-model-stock-name span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-model-stock-ico{width:22px;height:22px;border-radius:50%;object-fit:cover;flex-shrink:0}
.p-model-stock b.in{color:#3fa860}
.p-model-stock b.out{color:#8a8f98}
/* HPM (записи 36, 41): кружки цветов в строках листинга — ВСЕ цвета, включая нулевые (серые).
   Текущий цвет — заметное акцентное кольцо + лёгкое увеличение (запись 42), не ссылка. */
.prow-mlabel{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:800;color:var(--text);letter-spacing:.02em}
.prow-mlabel::before{content:'';width:16px;height:16px;border-radius:50%;flex:0 0 auto;background:conic-gradient(#e05c5c,#FF7A2D,#ffeb3b,#4caf50,#03a9f4,#3f51b5,#e05c5c);box-shadow:0 0 0 2px var(--line)}
.card-models{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.cm-dot{display:inline-flex;width:28px;height:28px;border-radius:50%;border:1.5px solid var(--line2);overflow:hidden;flex:0 0 auto;transition:border-color .2s,opacity .2s,transform .2s}
.cm-dot img{display:block;width:100%;height:100%;object-fit:cover}
.cm-dot:hover{border-color:var(--accent)}
.cm-dot.off{opacity:.45}
.cm-dot.on{border-color:var(--accent);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent),0 2px 10px rgba(255,106,58,.45);transform:scale(1.15);cursor:default}
.cm-more{display:inline-flex;align-items:center;color:var(--muted);font-size:13px;font-weight:600;padding:0 4px;transition:color .2s}
.cm-more:hover{color:var(--accent)}
/* Цена и кнопка (запись 41): цена крупная оранжевая + приподнятый маленький знак; кнопка — оранжевая градиентная */
.price-ask{color:var(--muted);font-size:15px;font-weight:600}
.prow-buy{display:flex;align-items:center;gap:12px}
.prow-price{flex:1;min-width:0;display:flex;align-items:baseline;gap:4px;flex-wrap:wrap}
.price-cur{font-size:13px;font-weight:700;color:var(--accent2);transform:translateY(-6px)}
.prow-btn{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;height:44px;padding:0 24px;border:0;border-radius:12px;background:var(--accent);color:#fff;font:700 14px/1 'Manrope',sans-serif;cursor:pointer;white-space:nowrap;text-decoration:none;transition:filter .2s}
.prow-btn:hover{filter:brightness(1.12)}
.prow-ban{flex:0 0 auto;font-size:11px;color:var(--muted);border:1px dashed var(--line2);border-radius:999px;padding:5px 12px;white-space:nowrap}
/* Нижний стрип строки: ячейки Самовывоз / Доставка (информационные, не кликабельны) */
.prow-strip{display:flex;gap:12px;background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-top:auto}
.ps-cell{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
.ps-cell.off{opacity:.45}
.ps-ico{display:inline-flex;color:var(--muted);flex:0 0 auto}
.ps-t{display:flex;flex-direction:column;gap:1px;min-width:0}
.ps-t b{font-size:13px;font-weight:700;color:var(--text)}
.ps-t i{font-style:normal;font-size:11.5px;color:var(--muted)}
.prow-hint{margin:0;font-size:11.5px;color:var(--muted);line-height:1.5}
/* Табы карточки товара: Описание / Характеристики / Производитель */
.p-tabs-nav{display:flex;gap:4px;border-bottom:1.5px solid var(--line);margin:0 0 18px;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none}
.p-tabs-nav::-webkit-scrollbar{display:none}
.p-tab{background:none;border:0;border-bottom:2px solid transparent;color:var(--muted);font:inherit;font-size:15px;font-weight:600;padding:10px 16px;cursor:pointer;white-space:nowrap;margin-bottom:-1.5px}
.p-tab:hover{color:var(--text)}
.p-tab.on{color:var(--text);border-bottom-color:var(--accent)}
.p-tab-pane{display:none}
.p-tab-pane.on{display:block}
.p-tab-pane .attrs-table{margin-top:0}
.product-completeness{margin:18px 0 0;padding:12px 16px;border:1px dashed var(--line);border-radius:10px;color:var(--muted);font-size:13.5px}
/* Логотип-вордмарк SVG в шапке/дровере: белые буквы + оранжевые вставки, контры чистые */
.logo-img{display:block;width:150px;height:34px;object-fit:contain}
/* логотип бренда на карточке товара (светлая плашка на тёмном фоне) */
.p-brand-logo{display:inline-flex;align-items:center;background:#fff;border-radius:8px;padding:5px 12px;vertical-align:middle;line-height:0}
.p-brand-logo img{height:30px;width:auto;max-width:150px;object-fit:contain;display:block}
/* страница 404 */
.nf-page{text-align:center;padding:30px 0 50px}
.nf-code{font-size:110px;font-weight:800;line-height:1;letter-spacing:6px;color:transparent;-webkit-text-stroke:2px var(--accent);opacity:.9}
.nf-title{font-size:26px;margin:12px 0 10px}
.nf-text{color:var(--muted);font-size:14.5px;line-height:1.6;margin:0 0 22px}
.nf-actions{display:flex;gap:12px;justify-content:center;margin:0 0 40px;flex-wrap:wrap}
.nf-popular{text-align:left}
.price-old{font-size:13px;color:var(--muted);text-decoration:line-through;margin-left:8px}
.price-now{font-size:26px;font-weight:800;color:var(--accent2)}

/* Категория */
.cat-layout{display:flex;gap:20px;align-items:flex-start;margin-top:8px}
.filters{flex:0 0 250px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;position:sticky;top:110px}
.filters-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.filters-head h3{margin:0;font-size:16px}
.filters-reset{font-size:12px;color:var(--accent)}
.f-group{border-top:1px solid var(--line);padding:10px 0}
.f-title{font-size:13px;font-weight:700;margin-bottom:8px;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.f-check{display:flex;align-items:center;gap:8px;font-size:13px;padding:4px 0;cursor:pointer;color:var(--text)}
.f-check input{accent-color:var(--accent)}
.f-check .f-cnt{margin-left:auto;font-style:normal;font-size:11px;color:var(--muted2)}
.f-check.f-zero{color:var(--muted2)}
.f-check.f-zero .f-cnt{opacity:.7}
.f-price{display:flex;gap:8px}
.f-price input{width:50%;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:7px 9px;color:var(--text);font-size:13px}
.f-apply{width:100%;margin-top:10px}
.cat-main{flex:1;min-width:0}
.cat-desc{color:var(--muted);font-size:14px;margin-bottom:14px}
.cat-desc table{width:100%!important}
.subcats{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px;margin-bottom:16px}
.subcat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:10px;text-align:center;font-size:13px}
.subcat img{aspect-ratio:1;object-fit:contain;background:#fff;border-radius:8px;margin-bottom:6px}
.subcat:hover{border-color:var(--accent)}
.cat-toolbar{display:flex;justify-content:space-between;align-items:center;margin:6px 0 14px;gap:10px}
.cat-count{color:var(--muted);font-size:13px}
.cat-toolbar select,.filters select{background:var(--bg);border:1px solid var(--line);color:var(--text);border-radius:8px;padding:7px 9px;font-size:13px}
.empty{color:var(--muted);padding:24px 0}

/* Пагинация */
.pagination{display:flex;gap:6px;margin:22px 0;flex-wrap:wrap}
.pagination a{padding:8px 13px;border:1px solid var(--line);border-radius:8px;font-size:13px;color:var(--muted)}
.pagination a.cur{background:var(--accent);border-color:var(--accent);color:#fff}
.pagination a:hover{border-color:var(--accent);color:var(--text)}

/* Карточка товара */
.product{display:grid;grid-template-columns:minmax(0,0.85fr) minmax(0,1.15fr);gap:24px;margin-top:10px}
.gallery-main{background:#fff;border-radius:var(--radius);overflow:hidden;aspect-ratio:1}
.gallery-main img{width:100%;height:100%;object-fit:contain}
@media (max-width:640px){.gallery-main{aspect-ratio:2/3}}
/* CTA-карточка виртуального родителя: «выберите цвет, чтобы купить» */
.p-model-cta{display:flex;align-items:center;gap:13px;width:100%;margin:16px 0 0;padding:14px 16px;border:1px dashed rgba(255,106,58,.5);border-radius:14px;background:rgba(255,122,45,.08);color:var(--text);cursor:pointer;font-family:'Manrope',sans-serif;text-align:left;transition:border-color .2s,transform .15s}
.p-model-cta:hover{border-color:var(--accent);transform:translateY(-1px)}
.p-model-cta-ic{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:rgba(255,106,58,.16);color:var(--accent)}
.p-model-cta-ic svg{width:26px;height:26px}
.p-model-cta-t{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.p-model-cta-t b{font-size:15px;font-weight:800}
.p-model-cta-t small{font-size:12.5px;color:var(--muted);line-height:1.45}
.p-model-cta-arr{flex:0 0 auto;font-size:18px;color:var(--accent);animation:p-cta-bounce 1.6s ease-in-out infinite}
@keyframes p-cta-bounce{0%,100%{transform:translateY(2px)}50%{transform:translateY(-3px)}}
.gallery-thumbs{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.g-thumb{width:64px;height:64px;background:#fff;border:2px solid var(--line);border-radius:8px;padding:0;cursor:pointer;overflow:hidden}
.g-thumb.cur{border-color:var(--accent)}
.g-thumb img{width:100%;height:100%;object-fit:contain}
.product-info h1{margin-top:0}
.product-brand{color:var(--muted);font-size:14px;margin-bottom:12px}
.product-brand a{color:var(--accent)}
.price-big{font-size:54px;font-weight:800;letter-spacing:-.01em;line-height:1.1}
.price-big .byn{font-size:.72em}
.product-stock{margin:10px 0;font-size:14px}
.product-stock.in{color:var(--ok)}.product-stock.out{color:var(--bad)}
.p-opt{margin:14px 0}
.p-opt-name{font-size:14px;margin-bottom:8px}
/* фирменный заголовок выбора цвета: палитра-градиент + акцент */
.p-models .p-opt-name{display:flex;align-items:center;gap:9px;font-size:15px;font-weight:800;color:var(--text);letter-spacing:.02em;margin-bottom:10px}
.p-models .p-opt-name::before{content:'';width:16px;height:16px;border-radius:50%;flex:0 0 auto;background:conic-gradient(#e05c5c,#FF7A2D,#ffeb3b,#4caf50,#03a9f4,#3f51b5,#e05c5c);box-shadow:0 0 0 2px var(--line)}
.req{color:var(--bad)}
.p-opt-vals{display:flex;flex-wrap:wrap;gap:8px}
.p-opt-val{position:relative}
.p-opt-val input{position:absolute;opacity:0;pointer-events:none}
.p-opt-val span{display:inline-block;border:1px solid var(--line);border-radius:8px;padding:7px 12px;font-size:13px;cursor:pointer;background:var(--card)}
.p-opt-val span i{font-style:normal;color:var(--bad);font-size:11px}
.p-opt-val input:checked + span{border-color:var(--accent);background:rgba(255,106,58,.12)}
.p-opt-val.off span{opacity:.45;cursor:not-allowed}
.product-actions{margin:18px 0 8px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
/* Панель покупки: цена | степпер кол-ва | «В корзину» (одна строка-панель) */
.buy-panel{margin:20px 0 6px;display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.buy-panel.buy-banned{background:#fff8f8;border-color:#ffd9d9}
.buy-banned .banned-note{width:100%;background:#fff3f3;border:1px solid #ffd0d0;border-radius:8px;padding:10px 14px;color:#a33;font-size:14px}
.buy-price{display:flex;flex-direction:column;line-height:1.05;min-width:0}
.buy-price .price-big{font-size:34px}
.buy-price .price-old{font-size:16px}
.buy-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.qty-step{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--bg)}
.qty-step button{width:38px;border:0;background:transparent;color:var(--text);font-size:20px;cursor:pointer;line-height:1;transition:background .15s}
.qty-step button:hover:not(:disabled){background:rgba(255,106,58,.15);color:var(--accent)}
.qty-step button:disabled{opacity:.35;cursor:not-allowed}
.qty-step input{width:48px;border:0;background:transparent;color:var(--text);text-align:center;font-size:15px;font-weight:700;-moz-appearance:textfield;appearance:textfield}
.qty-step input::-webkit-outer-spin-button,.qty-step input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.qty-step input:disabled{opacity:.5}
.buy-note{color:var(--muted);font-size:12px;margin:6px 2px 0}
.product-min{color:var(--muted);font-size:12px}
.product-price-total{font-size:15px;margin-bottom:14px}
.product-price-total b{color:var(--accent2);font-size:18px}
.product-shops{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.product-shops ul{list-style:none;margin:0;padding:0}
.product-shops li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;font-size:13px;border-bottom:1px dashed var(--line)}
.product-shops li:last-child{border-bottom:0}
.product-shops b.in{color:var(--ok)}.product-shops b.out{color:var(--muted)}
.product-full{grid-column:1 / -1}
.attrs-table{width:100%;border-collapse:collapse;font-size:14px;margin-bottom:10px}
.attrs-table td{padding:7px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.attrs-table td:first-child{color:var(--muted);width:40%}
.attr-group{font-size:15px;margin:16px 0 6px}
.product-desc{color:var(--muted);font-size:14px}
.product-desc img{max-width:100%;height:auto}
.brand-logo{max-width:200px;background:#fff;border-radius:8px;padding:8px;margin-bottom:14px}

/* Инфо-страницы, блог */
.info-page{max-width:900px}
.info-body{color:var(--muted);font-size:15px}
.info-body img{max-width:100%;height:auto}
.info-body a{color:var(--accent)}
.blog-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.blog-item{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden}
.blog-item:hover{border-color:var(--accent)}
.blog-item img{aspect-ratio:16/9;object-fit:cover;width:100%}
.blog-item-body{padding:12px 14px}
.blog-item h3{margin:0 0 6px;font-size:16px}
.blog-item p{margin:0 0 8px;font-size:13px;color:var(--muted)}
.blog-date{font-size:12px;color:var(--muted)}
.blog-hero{border-radius:var(--radius);margin-bottom:14px;max-height:340px;object-fit:cover;width:100%}

/* Контакты */
.contacts-lead{color:var(--muted);margin-bottom:18px}
.contacts-lead a{color:var(--accent)}
.contacts-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.contact-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.contact-card h3{margin:0 0 10px;font-size:16px}
.contact-card p{margin:6px 0;font-size:14px;color:var(--muted)}
.contact-card a{color:var(--text)}
.contact-card .btn{margin-top:10px}

/* Футер */
.footer{border-top:1px solid var(--line);background:var(--bg2);margin-top:30px}
.footer-grid{display:grid;grid-template-columns:1fr;gap:24px;padding:28px 14px}
.footer-col h4{margin:0 0 12px;font-size:14px;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.footer-about p{font-size:13px;color:var(--muted)}
.footer-phones a{color:var(--text);font-weight:700}
.footer-stores{list-style:none;margin:0;padding:0;columns:1}
.footer-stores li{font-size:13px;color:var(--muted);margin-bottom:10px;break-inside:avoid}
.footer-stores b{display:block;color:var(--text)}
.footer-links{list-style:none;margin:0;padding:0}
.footer-links li{margin-bottom:8px;font-size:13px}
.footer-links a{color:var(--muted)}.footer-links a:hover{color:var(--accent)}
.footer-bottom{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;border-top:1px solid var(--line);padding:14px;font-size:12px;color:var(--muted)}

/* Toast */
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%);background:var(--bg2);border:1px solid var(--accent);border-radius:10px;padding:12px 20px;font-size:14px;z-index:200;box-shadow:0 8px 30px rgba(0,0,0,.5)}

.notfound{text-align:center;padding:60px 0}
.notfound h1{font-size:60px;margin:0;color:var(--accent)}

/* Планшет и десктоп: строка горизонтальная — белый квадрат 240px слева, правая колонка на остаток */
@media (min-width:768px){
  .prow{flex-direction:row;gap:20px;padding:16px}
  .prow-img{flex:0 0 240px;width:240px;height:240px;max-width:none;margin:0;aspect-ratio:auto}
  .prow-name{font-size:18px}
  .footer-grid{grid-template-columns:1fr 1.4fr 1fr}
  .header-phone{display:flex}
  h1{font-size:26px}
  .filters-toggle{display:none}
}
/* Мобильные доработки */
@media (max-width:767px){
  .burger{display:flex}
  .catnav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--bg2);border-bottom:1px solid var(--line)}
  .catnav.open{display:block}
  .catnav-in{flex-direction:column;padding:8px 14px 14px}
  .catnav-drop{display:block;position:static;border:0;padding:0 0 6px 12px}
  .catnav-drop a{padding:5px 8px}
  .header{position:relative}
  .cat-layout{flex-direction:column}
  .filters{position:static;flex:none;width:100%}
  .product{grid-template-columns:1fr}
  .header-icon-label{display:none}
}

/* ---------- Этап 2: корзина и чекаут ---------- */
.page-title{font-size:24px;margin:18px 0}
.cart-empty{text-align:center;padding:60px 0;color:var(--muted)}
.cart-empty h1{font-size:22px;margin-bottom:10px}
.cart-table{width:100%;border-collapse:collapse;background:var(--card);border-radius:12px;overflow:hidden}
.cart-table th,.cart-table td{padding:10px 12px;border-bottom:1px solid var(--line);text-align:left;font-size:14px;vertical-align:middle}
.cart-table th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
.cart-name{color:var(--text);text-decoration:none;font-weight:600}
.cart-name:hover{color:var(--accent)}
.cart-opts{font-size:12px;color:var(--muted);margin-top:2px}
.cart-qty{width:64px;background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:6px 8px;color:var(--text)}
.cart-foot{display:flex;justify-content:space-between;align-items:center;margin-top:14px;gap:12px;flex-wrap:wrap}
.cart-total{font-size:18px}
.cart-actions{display:flex;gap:14px;align-items:center;margin-top:18px;flex-wrap:wrap}
.co-grid{display:grid;grid-template-columns:1fr 340px;gap:28px;align-items:start}
@media(max-width:900px){.co-grid{grid-template-columns:1fr}}
.co-field{display:block;margin-bottom:12px}
.co-field>span{display:block;font-size:12px;color:var(--muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.04em}
.co-field input,.co-field select,.co-field textarea{width:100%;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px;font-family:inherit}
.co-field input:focus,.co-field select:focus,.co-field textarea:focus{border-color:var(--accent);outline:none}
.co-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.co-choices{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}
.co-choice input{position:absolute;opacity:0;pointer-events:none}
.co-choice span{display:inline-block;padding:9px 16px;border:1px solid var(--line);border-radius:999px;cursor:pointer;font-size:14px;background:var(--card)}
.co-choice input:checked+span{border-color:var(--accent);background:rgba(255,106,58,.12)}
.co-block{margin-bottom:8px}
.co-store-info{font-size:12px;color:var(--muted);margin:-6px 0 12px}
.co-note{font-size:12px;color:var(--muted);margin:6px 0 12px}
.co-summary{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;position:sticky;top:12px}
.co-items{list-style:none;margin:0 0 12px;padding:0}
.co-items li{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline}
.co-item-name{flex:1}
.co-item-name small{display:block;color:var(--muted);font-size:12px}
.co-item-qty{color:var(--muted);white-space:nowrap}
.co-total{font-size:20px;margin-bottom:14px}
.co-submit{width:100%}
.form-errors{background:rgba(255,80,80,.1);border:1px solid #ff5050;border-radius:10px;padding:12px 16px;margin-bottom:16px;font-size:14px}
.form-errors ul{margin:6px 0 0;padding-left:18px}
.order-result{max-width:560px;margin:40px auto;text-align:center;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:36px 28px}
.order-result-icon{font-size:44px;margin-bottom:12px}
.order-result h1{font-size:22px;margin-bottom:12px}
.order-result p{margin:10px 0;line-height:1.5}
.erip-table{width:100%;border-collapse:collapse;margin:14px 0;text-align:left}
.erip-table td{padding:8px 10px;border-bottom:1px solid var(--line);font-size:15px}
.erip-instr{text-align:left;background:var(--bg);border-radius:10px;padding:14px 18px;margin:12px 0}
.erip-instr h3{margin:0 0 8px;font-size:15px}
.erip-instr ol{margin:0;padding-left:20px}
.erip-instr li{margin:4px 0;font-size:14px}
.oneclick{display:flex;gap:10px;margin-top:10px;max-width:420px}
.oneclick input{flex:1;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 12px;color:var(--text);font-size:14px}
.oneclick-result{margin-top:10px;font-size:14px;padding:10px 14px;border-radius:10px;max-width:420px}
.oneclick-result.ok{background:rgba(60,200,120,.12);border:1px solid #3cc878}
.oneclick-result.err{background:rgba(255,80,80,.1);border:1px solid #ff5050}
.qty-input{width:70px;background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:10px 8px;color:var(--text);text-align:center;font-size:15px}
.product-actions{display:flex;gap:10px;align-items:stretch}

/* ---------- Этап 3: личный кабинет ---------- */
.login-box{max-width:420px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:22px;margin:10px 0 30px}
.login-msg{margin-top:12px;padding:10px 14px;border-radius:10px;font-size:14px}
.login-msg.ok{background:rgba(60,200,120,.12);border:1px solid #3cc878}
.login-msg.err{background:rgba(255,80,80,.1);border:1px solid #ff5050}
.account-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:26px;align-items:start;margin-bottom:30px}
@media(max-width:900px){.account-grid{grid-template-columns:1fr}}
.acc-order{background:var(--card);border:1px solid var(--line);border-radius:12px;margin-bottom:10px}
.acc-order summary{display:flex;gap:14px;align-items:baseline;padding:12px 16px;cursor:pointer;list-style:none;flex-wrap:wrap}
.acc-order summary::-webkit-details-marker{display:none}
.acc-order-num{font-weight:700}
.acc-order-date,.acc-order-receipt{color:var(--muted);font-size:13px}
.acc-order-status{margin-left:auto;font-size:12px;font-weight:700;padding:3px 10px;border-radius:999px;text-transform:uppercase}
.acc-order-status.st-paid{background:rgba(60,200,120,.15);color:#3cc878}
.acc-order-status.st-pending{background:rgba(255,180,60,.15);color:#ffb43c}
.acc-order-status.st-failed{background:rgba(255,80,80,.12);color:#ff5050}
.acc-order-body{border-top:1px solid var(--line);padding:10px 16px;font-size:14px}
.acc-order-body .acc-pay{margin:10px 0 4px}
.acc-order-body ul{margin:0 0 8px;padding-left:18px}
.acc-order-body li{margin:4px 0}
.acc-order-body small{color:var(--muted)}
.acc-block{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:16px}
.acc-discount{font-size:34px;font-weight:800;color:var(--accent);margin:4px 0 8px}


/* ---------- Лончер мессенджеров (референс владельца) ---------- */
/* ============================================================
   Редизайн 2026: glass-шапка, hero, тайлы, marquee, новые карточки
   ============================================================ */

/* Кинематографичные свечения фона (под контентом) */
body::before{
  content:'';position:fixed;inset:0;z-index:-1;pointer-events:none;
  background:
    radial-gradient(600px 400px at 12% -5%, rgba(255,106,58,.10), transparent 60%),
    radial-gradient(700px 500px at 95% 15%, rgba(255,152,0,.07), transparent 60%),
    radial-gradient(800px 600px at 50% 110%, rgba(124,58,237,.06), transparent 60%);
}

/* ---------- Шапка: sticky glass ---------- */
.header{
  background:rgba(22,22,27,.78);
  -webkit-backdrop-filter:blur(14px) saturate(1.4);
  backdrop-filter:blur(14px) saturate(1.4);
  border-bottom:1px solid rgba(255,255,255,.06);
  box-shadow:0 6px 24px rgba(0,0,0,.25);
  /* дропдауны каталога выпадают ниже шапки — клипать их нельзя.
     (backdrop-filter делает шапку containing block'ом для fixed-потомков,
     но НЕ клипает absolute-потомков; overflow оставляем видимым явно) */
  overflow:visible;
}
@supports not ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){
  .header{background:rgba(22,22,27,.97)}
}
.header-in{padding:10px 14px;gap:14px}
.logo{font-size:24px;font-weight:800;letter-spacing:.6px;text-shadow:0 2px 12px rgba(255,106,58,.35)}

/* Поиск — pill с иконкой и кнопкой-градиентом */
.search{align-items:center;background:var(--card);border:1px solid var(--line);border-radius:999px;overflow:hidden;transition:border-color .2s, box-shadow .2s}
.search:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,106,58,.15)}
.search-ic{width:17px;height:17px;margin-left:13px;color:var(--muted);flex-shrink:0}
.search input{flex:1;background:transparent;border:0;padding:10px 10px;color:var(--text);font-size:14px;min-width:0}
.search input:focus{outline:none}
.search button{border:0;background:var(--accent);color:#fff;font-size:13px;font-weight:700;padding:0 18px;align-self:stretch;cursor:pointer;transition:filter .15s}
.search button:hover{filter:brightness(1.1)}

/* Иконки шапки */
.header-icon{display:flex;align-items:center;gap:6px;border-radius:12px;transition:border-color .2s, background .2s}
.header-icon:hover{border-color:var(--accent);background:rgba(255,106,58,.08)}
.header-icon svg{width:20px;height:20px}
.cart-badge{background:var(--accent);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.header-phone b{font-size:17px;letter-spacing:.03em}

/* ---------- Меню каталога: pill-пункты + градиентное подчёркивание ---------- */
.catnav{border-top:0;background:rgba(15,15,18,.4);overflow:visible}
/* КРИТИЧНО: overflow-x:auto здесь превращает строку в scroll-контейнер по ОБЕИМ осям
   (overflow-y вычисляется в auto) — клипает дропдауны высотой строки меню и рисует
   вертикальный скроллбар от высоких дропдаунов. На десктопе переполнения нет —
   только overflow:visible. */
.catnav-in{gap:4px;padding:0 14px;overflow:visible}
.catnav-top{
  position:relative;padding:11px 14px;font-size:13.5px;font-weight:600;color:var(--muted);
  white-space:nowrap;border-bottom:0;border-radius:10px 10px 0 0;transition:color .15s;
}
.catnav-top::after{
  content:'';position:absolute;left:12px;right:12px;bottom:6px;height:2px;border-radius:2px;
  background:var(--accent);
  transform:scaleX(0);transform-origin:left;transition:transform .25s ease;
}
.catnav-item:hover .catnav-top,.catnav-top:hover{color:var(--text);border-bottom-color:transparent}
.catnav-item:hover .catnav-top::after,.catnav-top:hover::after{transform:scaleX(1)}

/* Дропдаун: glass, колонки, мини-фото.
   Показ — строго через display:none -> block на hover: скрытый дропдаун НЕ рендерится
   вообще (иначе visibility:hidden + backdrop-filter дают «висячий» скроллбар в Chrome). */
.catnav-drop{
  display:none;position:absolute;top:100%;left:0;min-width:420px;max-width:560px;
  max-width:calc(100vw - 24px);
  background:rgba(27,27,33,.96);
  -webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);
  border:1px solid var(--line);border-radius:0 14px 14px 14px;padding:12px;z-index:70;
  box-shadow:0 24px 50px rgba(0,0,0,.5);
  /* длинные списки — грациозный внутренний скролл ТОЛЬКО у открытой панели */
  max-height:min(72vh, 640px);overflow-y:auto;scrollbar-width:thin;scrollbar-color:#2A2A2E transparent;
}
.catnav-item:hover .catnav-drop,.catnav-item:focus-within .catnav-drop{
  display:block;animation:catnav-drop-in .18s ease;
}
/* компактные пункты на средних ширинах: без overflow-скролла (он клипает дропдауны),
   меню должно помещаться в строку */
@media (max-width:1380px){
  .catnav-top{padding:10px 11px;font-size:13px}
  .catnav-in{gap:2px}
}
@keyframes catnav-drop-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.catnav-drop::-webkit-scrollbar{width:8px}
.catnav-drop::-webkit-scrollbar-thumb{background:#2A2A2E;border-radius:8px}
.catnav-drop-cols{display:flex;gap:4px}
.catnav-col{flex:1;min-width:0}
.catnav-col a{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:9px;font-size:13px;color:var(--muted)}
.catnav-col a img{width:40px;height:40px;border-radius:8px;object-fit:cover;background:#fff;flex-shrink:0}
.catnav-col a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.catnav-col a:hover{background:rgba(255,106,58,.1);color:var(--text)}
.catnav-all{display:block;margin-top:8px;padding:8px 10px;font-size:12.5px;font-weight:700;color:var(--accent);border-top:1px solid var(--line)}

/* ---------- Мобильный drawer ---------- */
.drawer-overlay{position:fixed;inset:0;background:rgba(5,5,8,.6);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:94;opacity:0;transition:opacity .25s}
.drawer-overlay.show{opacity:1}
.drawer{position:fixed;top:0;left:0;bottom:0;width:300px;max-width:85vw;background:var(--bg2);border-right:1px solid var(--line);z-index:95;transform:translateX(-105%);transition:transform .28s cubic-bezier(.32,.72,.35,1);display:flex;flex-direction:column;box-shadow:20px 0 60px rgba(0,0,0,.4)}
.drawer.open{transform:translateX(0)}
.drawer-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line)}
.drawer-x{background:none;border:1px solid var(--line);border-radius:8px;color:var(--muted);width:32px;height:32px;cursor:pointer;font-size:14px}
.drawer-body{overflow-y:auto;padding:10px 12px 24px;flex:1}
.drawer-link{display:block;padding:12px 10px;border-radius:10px;font-size:14.5px;font-weight:600;color:var(--text)}
.drawer-link:hover{background:var(--card)}
.drawer-group{border-bottom:1px solid rgba(255,255,255,.04)}
.drawer-group-top{width:100%;display:flex;justify-content:space-between;align-items:center;background:none;border:0;padding:13px 10px;font-size:14.5px;font-weight:600;color:var(--text);cursor:pointer;font-family:inherit;text-align:left}
.drawer-group-top .arr{color:var(--muted);transition:transform .2s}
.drawer-group.open .drawer-group-top .arr{transform:rotate(180deg)}
.drawer-sub{display:none;padding:0 8px 8px}
.drawer-group.open .drawer-sub{display:block}
.drawer-sub a{display:block;padding:9px 12px;font-size:13.5px;color:var(--muted);border-radius:8px}
.drawer-sub a:hover{background:var(--card);color:var(--text)}
.drawer-sub-all{color:var(--accent)!important;font-weight:700}

/* ---------- Хлебные крошки ---------- */
.breadcrumbs{padding-top:14px;font-size:12.5px}
.breadcrumbs a{color:var(--muted);transition:color .15s}

/* ---------- Hero-слайдер: center-mode (центральный баннер + края соседних, как у monkeyvape) ---------- */
.hero-slider{position:relative;margin-top:16px}
.hero-viewport{
  overflow:hidden;border-radius:20px;
}
.hero-track{display:flex;align-items:stretch;transition:transform .65s cubic-bezier(.22,.61,.36,1);will-change:transform}
.hero-slide{
  position:relative;flex:0 0 100%;width:100%;height:430px;border-radius:20px;overflow:hidden;
  background-size:cover;background-position:center;
  border:1px solid var(--line);box-shadow:0 20px 60px rgba(0,0,0,.35);
}
.hero-slide.active{filter:none}
.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,14,.92) 15%,rgba(10,10,14,.55) 55%,rgba(10,10,14,.15))}
.hero-content{position:relative;z-index:2;max-width:600px}
.hero-title{margin:0 0 12px;font-size:clamp(26px,4.5vw,44px);font-weight:800;line-height:1.08;letter-spacing:-.01em;color:#fff;text-shadow:0 4px 30px rgba(0,0,0,.5)}
.hero-sub{margin:0 0 22px;font-size:clamp(14px,1.6vw,17px);color:rgba(255,255,255,.85);max-width:440px}
.hero-cta{display:inline-block;box-shadow:0 8px 26px rgba(255,106,58,.4)}
.hero-dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:3}
.hero-dot{width:26px;height:4px;border-radius:4px;border:0;background:rgba(255,255,255,.3);cursor:pointer;transition:background .2s,width .2s;padding:0}
.hero-dot.active{background:var(--accent);width:38px}
.hero-arrow{position:absolute;top:50%;transform:translateY(-50%);z-index:4;width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:rgba(16,17,22,.55);color:#fff;font-size:20px;line-height:1;cursor:pointer;backdrop-filter:blur(6px);opacity:0;transition:opacity .2s,background .2s}
.hero-slider:hover .hero-arrow{opacity:1}
.hero-arrow:hover{background:rgba(255,106,58,.85)}
.hero-arrow.prev{left:14px}
.hero-arrow.next{right:14px}

/* ---------- Преимущества ---------- */
.perks{margin-top:22px}
.perks-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.perk{
  background:#1d1d24;border:1px solid var(--line);border-radius:16px;padding:16px 18px;
  display:flex;flex-direction:column;gap:5px;
  transition:transform .2s, border-color .2s, box-shadow .2s;
}
.perk:hover{transform:translateY(-3px);border-color:rgba(255,106,58,.5);box-shadow:0 12px 30px rgba(255,106,58,.12)}
.perk svg{width:26px;height:26px;color:var(--accent);margin-bottom:4px}
.perk b{font-size:13.5px;line-height:1.3}
.perk span{font-size:12px;color:var(--muted)}

/* ---------- Заголовки секций ---------- */
.sec{margin-top:38px}
.sec-title{
  font-size:clamp(24px,3vw,34px);font-weight:800;letter-spacing:-.01em;margin:0 0 18px;
  display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;
}
.sec-title .grad{background:none;color:var(--accent)}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;flex-wrap:wrap}
.sec-more{font-size:13px;font-weight:600;color:var(--muted);white-space:nowrap;transition:color .15s}
.sec-more:hover{color:var(--accent)}

/* ---------- Категории-тайлы ---------- */
.cat-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.cat-tile{
  position:relative;display:block;height:170px;border-radius:18px;overflow:hidden;
  border:1px solid var(--line);
  background:linear-gradient(135deg,#1d1d24,#181820);
  transition:transform .25s ease, border-color .25s, box-shadow .25s;
}
.cat-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.cat-tile-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,14,.05) 30%,rgba(10,10,14,.88))}
.cat-tile-name{position:absolute;left:16px;bottom:13px;right:16px;color:#fff;font-size:17px;font-weight:800;letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.cat-tile:hover{transform:translateY(-4px);border-color:rgba(255,106,58,.55);box-shadow:0 16px 40px rgba(255,106,58,.15)}
.cat-tile:hover img{transform:scale(1.08)}

/* ---------- Промо-плитки ---------- */
.promo-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.promo-tile{position:relative;display:block;height:150px;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:linear-gradient(135deg,#201a20,#17171e);transition:transform .25s ease, border-color .25s, box-shadow .25s}
.promo-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:.85;transition:transform .5s ease}
.promo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,14,.9) 25%,rgba(10,10,14,.35))}
.promo-txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:18px;z-index:2}
.promo-txt b{color:#fff;font-size:18px;font-weight:800}
.promo-txt span{color:rgba(255,255,255,.75);font-size:12.5px}
.promo-txt i{color:var(--accent);font-style:normal;font-size:12.5px;font-weight:700;margin-top:6px}
.promo-tile:hover{transform:translateY(-4px);border-color:rgba(255,106,58,.55);box-shadow:0 16px 40px rgba(255,106,58,.15)}
.promo-tile:hover img{transform:scale(1.07)}

/* ---------- Бренды: marquee ---------- */
.brands-marquee{overflow:hidden;position:relative;margin-top:6px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent)}
.brands-track{display:flex;gap:14px;width:max-content;animation:brands-scroll 36s linear infinite;padding:4px 0}
.brands-marquee:hover .brands-track{animation-play-state:paused}
@keyframes brands-scroll{to{transform:translateX(-50%)}}
.brand-item{display:flex;align-items:center;justify-content:center;height:64px;padding:0 20px;background:var(--card);border:1px solid var(--line);border-radius:14px;transition:border-color .2s, transform .2s;flex-shrink:0}
.brand-item:hover{border-color:var(--accent);transform:translateY(-2px)}
.brand-item img{max-width:120px;max-height:44px;object-fit:contain;filter:grayscale(35%);transition:filter .2s}
.brand-item:hover img{filter:grayscale(0)}

/* ---------- SEO-блок ---------- */
.seo-block{background:rgba(27,27,33,.6);border:1px solid var(--line);border-radius:16px;padding:18px 20px}
.seo-block summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:14px;font-size:15px}
.seo-block summary::-webkit-details-marker{display:none}
.seo-block summary b{font-size:15.5px}
.seo-more{color:var(--accent);font-size:13px;font-weight:700;white-space:nowrap}
.seo-block[open] .seo-more{display:none}
.seo-text{margin-top:12px}
.seo-text p{font-size:13.5px;color:var(--muted);line-height:1.65;margin:0 0 10px}

/* ---------- Строки листинга 2026 ---------- */
.prow{transition:transform .22s ease, border-color .22s, box-shadow .22s}
.prow:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(0,0,0,.45), 0 6px 22px rgba(255,106,58,.14)}
.prow-img img{transition:transform .35s ease}
.prow:hover .prow-img img{transform:scale(1.05)}

/* ---------- Футер 2026 ---------- */
.footer{position:relative;border-top:0;background:#101014;margin-top:44px}
.footer-glow{height:2px;background:var(--accent);opacity:.55}
.footer-grid{grid-template-columns:1.4fr 1fr 1fr 1.2fr;gap:28px;padding:34px 14px}
.footer-social{display:flex;gap:10px;margin:12px 0}
.footer-social a{width:36px;height:36px;border-radius:50%;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;color:var(--muted);transition:all .2s}
.footer-social a:hover{border-color:var(--accent);color:#fff;background:var(--accent);transform:translateY(-2px)}
.footer-social svg{width:17px;height:17px}
.footer-stores{columns:1}
.footer-stores li{margin-bottom:8px}
.footer-stores b{font-size:12.5px}

/* ---------- Reveal-анимации при скролле ---------- */
.reveal{opacity:0;transform:translateY(22px);transition:opacity .5s ease, transform .5s ease}
.reveal.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){
  .reveal{opacity:1;transform:none;transition:none}
  .brands-track{animation:none}
  .hero-slide{transition:none}
  .hero-track{transition:none}
  *{scroll-behavior:auto}
}

/* ---------- Адаптив ---------- */
@media (max-width:1024px){
  .perks-grid{grid-template-columns:repeat(2,1fr)}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:900px){
  .cat-tiles{grid-template-columns:repeat(2,1fr)}
  .promo-tiles{grid-template-columns:repeat(2,1fr)}
  .header-phone{display:none}
}
@media (max-width:768px){
  .burger{display:flex}
  .catnav{display:none}
  .header-icon-label{display:none}
  .hero-slide{height:280px;background-position:center}
  .hero-viewport{-webkit-mask-image:none;mask-image:none}
  .hero-shade{background:linear-gradient(180deg,rgba(10,10,14,.55) 0%,rgba(10,10,14,.9) 90%)}
  .hero-content{align-self:flex-end;padding-bottom:34px}
  .hero-arrow{display:none}
}
@media (max-width:640px){
  .cat-tiles{grid-template-columns:repeat(2,1fr);gap:10px}
  .cat-tile{height:130px}
  .cat-tile-name{font-size:14px;left:12px;bottom:10px}
  .promo-tiles{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:6px}
  .promo-tile{flex:0 0 82%;scroll-snap-align:start;height:140px}
  .perks-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .perk{padding:12px 14px}
  .perk b{font-size:12.5px}
  .perk span{font-size:11px}
  .search button{padding:0 13px}
  .footer-grid{grid-template-columns:1fr;gap:20px;padding:26px 14px}
}
@media (max-width:400px){
  .perks-grid{grid-template-columns:1fr 1fr}
  .hero-slide{height:250px}
}

/* ============================================================
   Пакет №2: фикс горизонтального скролла, hero по центру,
   единый стиль внутренних страниц, премиум /contacts
   ============================================================ */

/* ---------- Горизонтальный скролл: страховка + коренные фиксы ---------- */
html, body { overflow-x: hidden; } /* фолбэк для старых браузеров */
@supports (overflow-x: clip) {
  html, body { overflow-x: clip; } /* clip — sticky-шапка продолжает работать */
}
/* виновник №1 устранён у источника (display:none у скрытых дропдаунов) —
   здесь остаётся только прижатие правых дропдаунов к правому краю их пункта */
.catnav-item:nth-last-child(-n+4) .catnav-drop { left: auto; right: 0; border-radius: 14px 0 14px 14px; }
/* остальные широкие элементы — контроль ширины */
.brands-marquee, .hero-slider, .promo-tiles { max-width: 100%; }
.brands-track { width: max-content; } /* внутри overflow:hidden — не влияет на скролл страницы */
.hero-slide { max-width: 100%; }
.drawer { width: 300px; max-width: 85vw; }
img, svg, video { max-width: 100%; }
/* sticky-шапка не должна дёргаться при любом скролле */
.header { left: 0; right: 0; }

/* ---------- Hero: изображение строго по центру ---------- */
.hero-slide { background-position: center center; }
.hero-dots { justify-content: center; }

/* ---------- Единый стиль внутренних страниц ---------- */
/* Заголовки — типографика как на главной */
.main h1, .page-title {
  font-size: clamp(24px, 3vw, 32px);
  font-weight: 800;
  letter-spacing: -.01em;
  margin: 6px 0 16px;
  line-height: 1.15;
}
.main h2, .main .sec-title { letter-spacing: -.01em; }

/* Панели-«стекло» для блоков всех внутренних страниц */
.co-block, .acc-block, .login-box, .info-page, .cart-form, .order-result, .contacts-panel {
  background: rgba(27,27,33,.72);
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 20px;
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  box-shadow: 0 10px 30px rgba(0,0,0,.25);
}
.main section, .co-block, .acc-block { margin-bottom: 18px; }

/* Формы: единый тёмный pill-стиль (только контентная область) */
.main input[type="text"], .main input[type="tel"], .main input[type="email"],
.main input[type="number"], .main input[type="password"], .main input[type="search"],
.main select, .main textarea {
  background: #0E0E10;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--text);
  padding: 10px 14px;
  font-size: 14px;
  font-family: inherit;
  outline: none;
  transition: border-color .15s, box-shadow .15s;
  max-width: 100%;
}
.main input:focus, .main select:focus, .main textarea:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px rgba(255,106,58,.15);
}
.main input::placeholder, .main textarea::placeholder { color: var(--muted); opacity: .75; }
.main label { font-size: 12.5px; font-weight: 600; color: var(--muted); }
.co-field { display: flex; flex-direction: column; gap: 5px; margin-bottom: 12px; }
.form-errors { background: rgba(224,92,92,.12); border: 1px solid rgba(224,92,92,.4); color: #e88; padding: 10px 14px; border-radius: 12px; font-size: 13px; margin-bottom: 14px; }

/* Чекаут: выбор способов — карточки-опции */
.co-choice {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  padding: 12px 14px;
  cursor: pointer;
  transition: border-color .15s, background .15s;
}
.co-choice:hover { border-color: rgba(255,106,58,.5); }
.co-choice:has(input:checked) { border-color: var(--accent); background: rgba(255,106,58,.07); box-shadow: 0 0 0 1px var(--accent); }
.co-note { font-size: 12px; color: var(--muted); }
.co-total, .cart-total { font-size: 17px; font-weight: 800; color: var(--accent); }

/* Таблицы корзины и ЕРИП — аккуратные строки */
.cart-table, .erip-table { width: 100%; border-collapse: collapse; font-size: 13.5px; }
.cart-table th, .erip-table th { text-align: left; font-size: 11.5px; text-transform: uppercase; letter-spacing: .05em; color: var(--muted); padding: 8px 10px; border-bottom: 1px solid var(--line); }
.cart-table td, .erip-table td { padding: 10px; border-bottom: 1px solid rgba(255,255,255,.04); vertical-align: middle; }
.cart-table tr:hover td, .erip-table tr:hover td { background: rgba(255,106,58,.04); }
.cart-qty { width: 62px; text-align: center; }
.cart-qty input { width: 56px; padding: 6px 4px; text-align: center; }
.cart-name { font-weight: 600; }
.cart-opts { font-size: 12px; color: var(--muted); }
.cart-foot { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 14px; }

/* Кабинет: заказы — карточки строк */
.acc-order {
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 12px;
  margin-bottom: 10px;
  overflow: hidden;
  transition: border-color .15s;
}
.acc-order:hover { border-color: rgba(255,106,58,.4); }
.acc-order summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 12px; flex-wrap: wrap; padding: 13px 16px; font-size: 13.5px; }
.acc-order summary::-webkit-details-marker { display: none; }
.acc-order-num { font-weight: 800; color: var(--accent); }
.acc-order-date, .acc-order-receipt { color: var(--muted); font-size: 12.5px; }
.acc-order-status { margin-left: auto; font-size: 11.5px; font-weight: 700; padding: 3px 10px; border-radius: 999px; background: rgba(154,154,166,.15); color: var(--muted); }
.acc-order-status.st-paid { background: rgba(76,175,80,.15); color: var(--ok); }
.acc-order-status.st-fail, .acc-order-status.st-canceled { background: rgba(224,92,92,.15); color: var(--bad); }
.acc-order-body { padding: 4px 16px 16px; font-size: 13px; color: var(--muted); border-top: 1px solid var(--line); }
.acc-discount { font-size: 34px; font-weight: 800; background: var(--accent); -webkit-background-clip: text; background-clip: text; color: transparent; }

/* Info-страницы, блог, поиск, бренд, 404 */
.info-body { font-size: 14.5px; line-height: 1.7; color: var(--text); }
.info-body h2, .info-body h3 { letter-spacing: -.01em; margin-top: 22px; }
.info-body img { border-radius: 12px; }
.info-body a { color: var(--accent); }
.empty, .cart-empty, .login-msg { text-align: center; color: var(--muted); padding: 26px 10px; font-size: 14px; }
.login-msg.ok { color: var(--ok); }
.notfound { text-align: center; padding: 60px 16px; }
.notfound h1 { font-size: clamp(40px, 8vw, 72px); margin: 0; background: var(--accent); -webkit-background-clip: text; background-clip: text; color: transparent; }
.cat-toolbar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin: 14px 0; }
.order-result-icon { width: 64px; height: 64px; margin: 0 auto 14px; display: flex; align-items: center; justify-content: center; border-radius: 50%; font-size: 30px; background: rgba(76,175,80,.15); color: var(--ok); }
.order-result.order-fail .order-result-icon { background: rgba(224,92,92,.15); color: var(--bad); }
.erip-instr { background: var(--card); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; font-size: 13px; }

/* ---------- /contacts: премиум-карточки магазинов ---------- */
.stores-hero { text-align: center; padding: 30px 0 8px; }
.stores-hero h1 { margin-bottom: 8px; }
.stores-hero p { color: var(--muted); margin: 0; font-size: 14.5px; }
.stores-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 24px; }
.store-card {
  position: relative;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 18px;
  overflow: hidden;
  display: flex; flex-direction: column;
  transition: transform .22s ease, border-color .22s, box-shadow .22s;
}
.store-card:hover {
  transform: translateY(-4px);
  border-color: rgba(255,106,58,.55);
  box-shadow: 0 16px 40px rgba(0,0,0,.45), 0 6px 22px rgba(255,106,58,.14);
}
.store-cover {
  position: relative; height: 108px;
  display: flex; align-items: flex-end; padding: 14px 16px;
  background: linear-gradient(120deg, #241a20 0%, #1a1a22 55%, #161620 100%);
  overflow: hidden;
}
.store-cover::before {
  content: ''; position: absolute; inset: 0;
  background:
    radial-gradient(220px 130px at 85% 0%, rgba(255,106,58,.28), transparent 65%),
    radial-gradient(180px 120px at 10% 110%, rgba(255,152,0,.16), transparent 60%);
}
.store-cover::after { content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px; background: var(--accent); }
.store-cover b { position: relative; color: #fff; font-size: 19px; font-weight: 800; letter-spacing: .01em; text-shadow: 0 2px 10px rgba(0,0,0,.5); }
.store-cover .metro-ic { position: relative; margin-left: auto; width: 34px; height: 34px; border-radius: 10px; background: rgba(255,255,255,.08); display: flex; align-items: center; justify-content: center; }
.store-cover .metro-ic svg { width: 18px; height: 18px; color: #ff5a5a; }
.store-body { padding: 14px 16px 16px; display: flex; flex-direction: column; gap: 8px; flex: 1; }
.store-line { display: flex; gap: 8px; font-size: 13px; color: var(--muted); align-items: baseline; }
.store-line b { color: var(--text); font-weight: 600; }
.metro-chip {
  display: inline-flex; align-items: center; gap: 5px;
  font-size: 11.5px; font-weight: 700; color: #ff8a8a;
  background: rgba(255,90,90,.1); border: 1px solid rgba(255,90,90,.3);
  padding: 3px 10px; border-radius: 999px; width: fit-content;
}
.store-actions { display: flex; gap: 8px; margin-top: auto; padding-top: 10px; flex-wrap: wrap; }
.store-actions .btn { flex: 1; min-width: 120px; padding: 9px 12px; font-size: 12.5px; }
.contacts-online {
  margin-top: 30px;
  background: rgba(27,27,33,.72);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 24px;
  display: flex; align-items: center; gap: 22px; flex-wrap: wrap;
  -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
}
.contacts-online-txt { flex: 1; min-width: 220px; }
.contacts-online-txt h2 { margin: 0 0 6px; font-size: 20px; }
.contacts-online-txt p { margin: 0 0 4px; color: var(--muted); font-size: 13.5px; }
.contacts-online-btns { display: flex; gap: 10px; flex-wrap: wrap; }

@media (max-width: 1024px) { .stores-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 640px) {
  .stores-grid { grid-template-columns: 1fr; }
  .contacts-online { flex-direction: column; align-items: stretch; text-align: center; }
  .cart-table th:nth-child(2), .cart-table td:nth-child(2) { display: none; } /* компактная корзина */
}

/* ---------- Карточка товара: Самовывоз / Доставка + бронирование ---------- */
.p-get{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 0}
/* родительская (виртуальная) карточка: призрачные панели до выбора цвета */
.p-get-off .p-get-btn{opacity:.45;filter:grayscale(.75)}
.p-get-off .p-get-btn:hover{opacity:.9;filter:none;border-color:var(--accent)}
.oneclick-off{opacity:.45}
.oneclick-off input,.oneclick-off button{cursor:not-allowed}
.p-off-hint{margin:12px 2px 0;color:var(--muted);font-size:13px;line-height:1.45;text-align:left}
.p-lv-hint{font-size:12.5px;color:var(--muted2);padding:8px 2px}
/* диапазон цен HPM: одна строка, знак валюты по базовой линии рядом с цифрами */
.price-now.price-range{white-space:nowrap}
.price-big.price-range{font-size:32px}
.buy-price.range{display:flex;align-items:baseline;gap:8px;white-space:nowrap}
.buy-price.range .price-cur{flex:0 0 auto}
.p-get-btn{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);color:var(--text);cursor:pointer;font:600 15px/1.2 'Manrope',sans-serif;text-align:left;transition:border-color .2s,background .2s}
.p-get-btn .pg-ic{font-size:18px}
.p-get-btn .pg-t{font-weight:800;font-size:16px}
.p-get-btn small{color:var(--muted);font-size:12px;font-weight:500}
.p-get-btn:hover{border-color:var(--accent)}
.p-get-btn.on{border-color:var(--accent);background:rgba(255,106,58,.08);box-shadow:0 0 0 1px var(--accent) inset}
.p-get-head{font-size:15px;font-weight:800;margin:0 34px 10px 0}
.p-get-head b{color:var(--accent)}
.pg-title{margin:0 0 10px;font-size:13.5px;color:var(--muted)}
.pg-empty{margin:0;font-size:13.5px;color:var(--muted)}
.pg-stores{display:flex;flex-direction:column;gap:8px}
.pg-store{border:1px solid var(--line);border-radius:10px;overflow:hidden}
.pg-store.open{border-color:var(--accent)}
.pg-store-top{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;padding:11px 13px;background:none;border:0;color:var(--text);cursor:pointer;font:600 14px/1.3 'Manrope',sans-serif;text-align:left}
.pg-store-top:hover{background:rgba(255,255,255,.03)}
.pg-store-name em{font-style:normal;color:var(--muted);font-size:12px;font-weight:500}
.pg-store-qty{white-space:nowrap;font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:20px;background:rgba(63,185,80,.14);color:#4fce5d}
.pg-store-detail{border-top:1px solid var(--line);padding:11px 13px}
.pg-store-detail ul{list-style:none;margin:0 0 10px;padding:0;font-size:13.5px;color:var(--muted)}
.pg-store-detail li{margin:3px 0}
.pg-store-detail b{color:var(--text);font-weight:600}
.pg-store-actions{display:flex;gap:8px;flex-wrap:wrap}
.pg-dlv-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;margin-bottom:8px}
.pg-dlv-info b{display:block;font-size:14.5px}
.pg-dlv-info small{color:var(--muted);font-size:12.5px}
.pg-dlv-row.ok{border-color:rgba(63,185,80,.4)}
.pg-dlv-row.off{opacity:.62}
.pg-dlv-row.off .pg-dlv-info b{color:var(--muted)}
.pg-warn{margin:10px 0 12px;padding:10px 12px;border-radius:10px;background:rgba(255,152,0,.1);border:1px solid rgba(255,152,0,.35);color:#f0a44a;font-size:12.5px;line-height:1.45}
.pg-dlv-checkout{width:100%}
.pg-modal{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:16px}
.pg-modal-overlay{position:absolute;inset:0;background:rgba(8,8,10,.72)}
.pg-modal-box{position:relative;width:100%;max-width:440px;max-height:90vh;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:22px 22px 20px;box-shadow:0 20px 60px rgba(0,0,0,.5)}
.pg-modal-box h3{margin:0 0 14px;font-size:18px}
.pg-modal-x{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;font-size:15px;line-height:1}
.pg-modal-x:hover{color:var(--text);border-color:var(--accent)}
.pg-book-product{display:flex;flex-direction:column;gap:3px;padding:11px 13px;border:1px dashed var(--line);border-radius:10px;margin-bottom:14px;font-size:13.5px}
.pg-book-product b{font-size:14.5px}
.pg-book-product span{color:var(--muted);font-size:12.5px}
#pg-book-form label{display:block;margin:0 0 11px;font-size:13px;font-weight:600;color:var(--muted)}
#pg-book-form input[type="text"],#pg-book-form input[type="tel"],#pg-book-form input[type="email"],#pg-book-form textarea{display:block;width:100%;box-sizing:border-box;margin-top:5px;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:var(--bg);color:var(--text);font:500 14px/1.4 'Manrope',sans-serif}
#pg-book-form input:focus,#pg-book-form textarea:focus{outline:0;border-color:var(--accent)}
#pg-book-form textarea{resize:vertical}
.pg-agree{display:flex!important;align-items:flex-start;gap:9px;font-weight:500!important;cursor:pointer}
.pg-agree input{width:17px;height:17px;margin-top:1px;accent-color:var(--accent);flex:0 0 auto}
#pg-book-form .btn{width:100%;margin-top:4px}
#pg-book-form .oneclick-result{margin-top:10px}
.pg-scheme-body img{display:block;width:100%;height:auto;border-radius:10px;background:#fff}
.pg-scheme-body hr{border:0;border-top:1px dashed var(--line);margin:12px 0}
@media (max-width:640px){
  .p-get{grid-template-columns:1fr}
  .p-get-btn{flex-direction:row;align-items:center;gap:10px}
  .pg-dlv-row{flex-direction:column;align-items:flex-start}
}
.pg-modal[hidden]{display:none}
.pg-modal-wide{max-width:560px}
/* Текущий цвет на карточке товара — единый look со строками листинга (запись 42) */
.p-model-link.on{border-color:var(--accent);box-shadow:0 0 0 2px #fff,0 0 0 4px var(--accent),0 2px 10px rgba(255,106,58,.4);transform:scale(1.06);cursor:default}
.p-model-link.on:hover{border-color:var(--accent)}
/* официальный графический знак белорусского рубля (НБРБ) */
.nbrb-icon{font-family:'nbrb'!important;speak:none;font-style:normal;font-weight:normal;font-variant:normal;text-transform:none;line-height:1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:normal;font-feature-settings:'liga';font-variant-ligatures:discretionary-ligatures}
.byn{display:inline-block;margin-left:.14em;font-size:.92em;line-height:1}

/* AJAX-смена цвета: состояние загрузки блока товара */
.product-loading{opacity:.45;pointer-events:none;transition:opacity .15s ease}

/* ===================== Отзывы: плашка + модалка ===================== */
.rv-note-ok{background:rgba(63,185,80,.12);border:1px solid rgba(63,185,80,.4);color:#7ed492;padding:12px 16px;border-radius:10px;margin:0 0 16px;font-size:14px}
.rv-summary{margin:0 0 16px;font-size:15px;display:flex;align-items:center;gap:8px}
.rv-stars-view{color:#f5a623;font-size:19px;letter-spacing:2px}
.rv-item{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin:0 0 12px;background:var(--card)}
.rv-item-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:8px;margin:0 0 6px}
.rv-item-head .rv-stars-view{font-size:14px}
.rv-item-date{color:var(--muted);font-size:12px;margin-left:auto}
.rv-item-pros{color:var(--accent);font-size:13px;margin:0 0 6px}
.rv-plate{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:var(--bg2)}
.rv-plate>span{font-size:14.5px;line-height:1.5;color:var(--text)}
.rv-plate .btn{flex:0 0 auto;background:var(--accent);color:#fff;font-weight:700;padding:12px 26px;border-radius:10px}
.rv-plate .btn:hover{filter:brightness(1.1)}
.rv-modal{position:fixed;inset:0;z-index:210;display:flex;align-items:center;justify-content:center;padding:16px}
.rv-modal::before{content:"";position:absolute;inset:0;background:rgba(8,8,10,.75)}
.rv-modal-box{position:relative;width:100%;max-width:480px;max-height:92vh;overflow:auto;background:var(--bg2);border:1px solid var(--line);border-radius:16px;padding:24px 24px 20px;box-shadow:0 20px 60px rgba(0,0,0,.55)}
.rv-modal[hidden]{display:none}
.rv-modal-close{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--muted);cursor:pointer;font-size:17px;line-height:1}
.rv-modal-close:hover{color:var(--text);border-color:var(--accent)}
.rv-modal-title{font-size:21px;font-weight:800;text-align:center;margin:0 0 8px}
.rv-modal-sub{text-align:center;color:var(--muted);font-size:13.5px;line-height:1.5;margin:0 0 18px}
.rv-field{margin:0 0 12px}
.rv-field input,.rv-field textarea{display:block;width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font:500 14px/1.4 'Manrope',sans-serif}
.rv-field input:focus,.rv-field textarea:focus{outline:0;border-color:var(--accent)}
.rv-field textarea{resize:vertical;min-height:96px}
.rv-rate{margin:0 0 14px}
.rv-rate-label{font-size:13px;font-weight:700;margin:0 0 8px}
.rv-stars{display:flex;gap:4px}
.rv-star{background:none;border:0;padding:0 2px;font-size:30px;color:#3a3a46;cursor:pointer;line-height:1;transition:color .12s ease,transform .12s ease}
.rv-star:hover{transform:scale(1.12)}
.rv-star.on{color:#f5a623}
.rv-chips{display:flex;flex-wrap:wrap;gap:8px}
.rv-chip input{position:absolute;opacity:0;pointer-events:none}
.rv-chip span{display:inline-block;padding:7px 14px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted);cursor:pointer;transition:all .12s ease;background:var(--card)}
.rv-chip span:hover{border-color:var(--accent);color:var(--text)}
.rv-chip input:checked+span{background:rgba(255,106,58,.15);border-color:var(--accent);color:var(--text)}
.rv-agree{display:flex;align-items:flex-start;gap:9px;font-size:13px;color:var(--muted);cursor:pointer;margin:0 0 16px}
.rv-agree input{width:17px;height:17px;margin-top:1px;accent-color:var(--accent);flex:0 0 auto}
.rv-submit{width:100%;background:var(--accent);color:#fff;font-weight:700;padding:13px;border-radius:10px;font-size:15px}
.rv-submit:hover{filter:brightness(1.1)}
@media (max-width:640px){
  .rv-plate{flex-direction:column;align-items:stretch;text-align:center}
}

/* ===================== «Вы смотрели» ===================== */
#viewed-section[hidden]{display:none}

/* ===================== Блог: мини-лента с табами ===================== */
.blog-mini{margin:26px 0 0}
.bm-head{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between}
.bm-head .sec-title{margin:0}
.bm-tabs{display:flex;gap:6px;flex-wrap:wrap}
.bm-tab{border:1px solid var(--line);background:var(--card);color:var(--muted);padding:8px 16px;border-radius:999px;font:600 13.5px 'Manrope',sans-serif;cursor:pointer;transition:all .12s ease}
.bm-tab:hover{color:var(--text);border-color:var(--accent)}
.bm-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}
.bm-list{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-top:14px}
.bm-item{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--card);transition:border-color .15s ease,transform .15s ease}
.bm-item:hover{border-color:var(--accent);transform:translateY(-2px)}
.bm-item[hidden]{display:none}
.bm-img{position:relative;aspect-ratio:400/220;background:var(--bg2)}
.bm-img img{width:100%;height:100%;object-fit:cover;display:block}
.bm-badge{position:absolute;top:10px;left:10px;padding:4px 10px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.4px;text-transform:uppercase;background:rgba(15,15,18,.8);backdrop-filter:blur(4px);color:var(--text)}
.bm-badge-promo{background:var(--accent);color:#fff}
.bm-badge-news{background:#2f6fed;color:#fff}
.bm-body{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;flex:1}
.bm-name{font-size:14px;font-weight:700;line-height:1.35}
.bm-prev{color:var(--muted);font-size:12.5px;line-height:1.45}
.bm-date{color:var(--muted);font-size:11.5px;margin-top:auto}
.bm-more{margin-top:14px;text-align:right}
.bm-more a{color:var(--accent);font-size:14px;font-weight:600}
.bm-more a:hover{text-decoration:underline}
@media (max-width:1024px){.bm-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:520px){.bm-list{grid-template-columns:1fr}}

/* ===================== Подписка на рассылку ===================== */
.subscribe-block{position:relative;display:flex;align-items:center;gap:24px;margin:30px 0 0;padding:26px 28px;border:1px solid var(--line);border-radius:16px;background:var(--bg2);overflow:hidden}
.sb-text{flex:1;min-width:0}
.sb-text .sec-title{margin:0 0 8px}
.sb-text p{color:var(--muted);font-size:14px;line-height:1.55;margin:0 0 16px;max-width:520px}
.sb-form{margin:0}
.sb-row{display:flex;gap:0;max-width:420px}
.sb-row input{flex:1;min-width:0;padding:12px 16px;border:1px solid var(--line);border-right:0;border-radius:10px 0 0 10px;background:var(--bg);color:var(--text);font:500 14px 'Manrope',sans-serif}
.sb-row input:focus{outline:0;border-color:var(--accent)}
.sb-btn{flex:0 0 auto;display:flex;align-items:center;justify-content:center;width:54px;border:0;border-radius:0 10px 10px 0;background:var(--accent);color:#fff;cursor:pointer;transition:filter .12s ease}
.sb-btn:hover{filter:brightness(1.12)}
.sb-agree{margin:12px 0 0}
.sb-planes{flex:0 0 auto;width:230px;max-width:34%}
@media (max-width:720px){
  .subscribe-block{flex-direction:column;align-items:stretch;padding:20px}
  .sb-planes{display:none}
}


/* ============================================================
   Пакет №3: Awwwards-полировка — детали, микроанимации, состояния
   (добавлено поверх Редизайна 2026, палитра и ДНК сохранены)
   ============================================================ */

/* ---------- Шапка: состояние скролла + прогресс-бар ---------- */
.header{transition:box-shadow .25s ease, background .25s ease}
.header.scrolled{background:rgba(18,18,23,.9);box-shadow:0 12px 38px rgba(0,0,0,.5)}
.scroll-progress{position:absolute;top:0;left:0;right:0;height:2px;z-index:60;pointer-events:none}
.scroll-progress i{display:block;height:100%;width:0;background:var(--accent);box-shadow:0 0 12px rgba(255,106,58,.65);transition:width .1s linear}
.logo-img{transition:filter .2s}
.header-phone{transition:color .15s}
.header-phone:hover b{color:var(--accent)}

/* ---------- Кнопки: подъём, свечение, микро-отклик клика ---------- */
.btn{position:relative;transition:transform .15s ease, box-shadow .2s ease, filter .15s ease, background .2s ease, color .2s ease, border-color .2s ease}
.btn-primary{box-shadow:0 6px 20px rgba(255,106,58,.25)}
.btn-primary:hover{transform:translateY(-1px);box-shadow:0 10px 30px rgba(255,106,58,.42);filter:brightness(1.06)}
.btn-primary:active{transform:scale(.97);box-shadow:0 3px 12px rgba(255,106,58,.3)}
.btn-ghost:hover{border-color:rgba(255,106,58,.55);color:var(--text);background:rgba(255,106,58,.07)}
.btn:active{transform:scale(.97)}
.btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}

/* Кольца фокуса для интерактива */
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid rgba(255,106,58,.75);outline-offset:2px}

/* ---------- Хлебные крошки: появление, домик-иконка, активный пункт ---------- */
.breadcrumbs{display:flex;flex-wrap:wrap;align-items:center;gap:4px;animation:crumbs-in .4s ease both}
.breadcrumbs a{display:inline-flex;align-items:center;gap:5px;border-radius:6px}
.breadcrumbs a:first-child svg{width:13px;height:13px;flex:0 0 auto}
.breadcrumbs .sep{margin:0 2px;color:var(--line);font-style:normal}
.breadcrumbs span{color:var(--text);font-weight:600}
@keyframes crumbs-in{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}

/* ---------- Строки листинга: staggered-появление ---------- */
@keyframes card-in{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.grid>.prow{animation:card-in .45s ease backwards}
.grid>.prow:nth-child(6n+2){animation-delay:.06s}
.grid>.prow:nth-child(6n+3){animation-delay:.12s}
.grid>.prow:nth-child(6n+4){animation-delay:.18s}
.grid>.prow:nth-child(6n+5){animation-delay:.24s}
.grid>.prow:nth-child(6n+6){animation-delay:.3s}
.blog-list>.blog-item{animation:card-in .45s ease backwards}
.blog-list>.blog-item:nth-child(3n+2){animation-delay:.07s}
.blog-list>.blog-item:nth-child(3n+3){animation-delay:.14s}

/* ---------- Бейдж корзины: pop при изменении ---------- */
.cart-badge{transition:transform .15s ease}
.cart-badge.pop{animation:badge-pop .38s cubic-bezier(.2,.9,.3,1.3)}
@keyframes badge-pop{0%{transform:scale(.6)}45%{transform:scale(1.4)}100%{transform:scale(1)}}

/* ---------- Тост: slide-in ---------- */
.toast[hidden]{display:none}
.toast{animation:toast-in .32s cubic-bezier(.2,.9,.3,1.15) both}
@keyframes toast-in{from{opacity:0;transform:translateX(-50%) translateY(14px) scale(.96)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}

/* ---------- Скелетоны (shimmer) для AJAX/ленивых блоков ---------- */
.skeleton{position:relative;overflow:hidden;background:var(--card);border-radius:var(--radius);min-height:1em;pointer-events:none}
.skeleton::after{content:'';position:absolute;inset:0;background:linear-gradient(100deg,transparent 30%,rgba(255,255,255,.07) 50%,transparent 70%);transform:translateX(-100%);animation:skl-shimmer 1.4s ease infinite}
@keyframes skl-shimmer{to{transform:translateX(100%)}}

/* ---------- Футер: подчёркивание ссылок, полировка ---------- */
.footer-links a{position:relative;display:inline-block;transition:color .15s}
.footer-links a::after{content:'';position:absolute;left:0;bottom:-2px;height:1px;width:100%;background:var(--accent);transform:scaleX(0);transform-origin:left;transition:transform .25s ease}
.footer-links a:hover::after{transform:scaleX(1)}
.footer-phones a{transition:color .15s}
.footer-phones a:hover{color:var(--accent)}
.footer-stores li{transition:transform .15s ease}
.footer-stores li:hover{transform:translateX(3px)}

/* ---------- Пагинация, сабкатегории, фильтры ---------- */
.pagination a{transition:border-color .15s ease, color .15s ease, background .15s ease, transform .15s ease}
.pagination a:hover{transform:translateY(-1px)}
.pagination a.cur{box-shadow:0 4px 14px rgba(255,106,58,.35)}
.subcat{transition:transform .2s ease, border-color .2s ease}
.subcat:hover{transform:translateY(-2px)}
.f-check{transition:color .15s}
.f-check:hover{color:var(--accent)}
.cat-toolbar select{transition:border-color .15s, box-shadow .15s}
.cat-toolbar select:focus{border-color:var(--accent);box-shadow:0 0 0 3px rgba(255,106,58,.15)}

/* ---------- Пустые состояния ---------- */
.empty,.cart-empty,.mc-empty{animation:card-in .4s ease both}
.empty b,.cart-empty b{color:var(--text)}

/* ---------- 18+ gate: появление ---------- */
.age-gate-box{animation:gate-in .35s cubic-bezier(.2,.9,.3,1.1) both}
@keyframes gate-in{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}

/* ---------- Скроллбар в стиле темы ---------- */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg)}
::-webkit-scrollbar-thumb{background:#2e2e38;border-radius:8px;border:2px solid var(--bg)}
::-webkit-scrollbar-thumb:hover{background:rgba(255,106,58,.55)}
html{scrollbar-width:thin;scrollbar-color:#2e2e38 var(--bg)}

/* ---------- Выделение текста ---------- */
::selection{background:rgba(255,106,58,.4);color:#fff}

/* ---------- Плавный скролл ---------- */
html{scroll-behavior:smooth}
/* во время загрузки и смены цвета — без анимации (иначе браузер «проезжает» страницу снизу вверх) */
html[data-wov-boot]{scroll-behavior:auto!important}
html.wov-swap{scroll-behavior:auto!important}

/* ---------- Reduced motion: гасим всё новое ---------- */
@media (prefers-reduced-motion:reduce){
  .grid>.prow,.blog-list>.blog-item,.breadcrumbs,.empty,.cart-empty,.mc-empty,.toast,.age-gate-box{animation:none!important}
  .skeleton::after{animation:none;display:none}
  .scroll-progress i{transition:none}
  html{scroll-behavior:auto}
}

/* ===================== FAQ: аккордеон + карточка «Задать вопрос» ===================== */
.faq-wrap{margin:26px 0 0}
.faq-cols{display:flex;gap:22px;align-items:flex-start}
.faq-list{flex:1;min-width:0}
.faq-item{border:1px solid var(--line);border-radius:12px;background:var(--card);margin:0 0 10px;overflow:hidden;transition:border-color .15s ease}
.faq-item.open{border-color:var(--accent)}
.faq-item.faq-collapsed{display:none}
.faq-q{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;padding:15px 18px;border:0;background:none;color:var(--text);font:700 14.5px/1.4 'Manrope',sans-serif;text-align:left;cursor:pointer}
.faq-q:hover{color:var(--accent)}
.faq-ic{flex:0 0 auto;width:22px;height:22px;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:400;color:var(--muted);transition:transform .2s ease,color .2s ease;line-height:1}
.faq-item.open .faq-ic{transform:rotate(45deg);color:var(--accent)}
.faq-a{display:grid;grid-template-rows:0fr;transition:grid-template-rows .35s cubic-bezier(.4,0,.2,1)}
.faq-item.open .faq-a{grid-template-rows:1fr}
.faq-a-in{overflow:hidden;min-height:0;opacity:0;transform:translateY(-4px);transition:opacity .25s ease,transform .25s ease}
.faq-item.open .faq-a-in{opacity:1;transform:none;transition-delay:.1s}
.faq-a-in p{margin:0;padding:0 18px 14px;color:var(--muted);font-size:13.5px;line-height:1.6}
.faq-more{display:inline-flex;align-items:center;gap:6px;border:0;background:none;color:var(--accent);font:600 14px 'Manrope',sans-serif;cursor:pointer;padding:6px 2px;border-bottom:1px dashed var(--accent)}
.faq-more:hover{filter:brightness(1.15)}
.faq-more[hidden]{display:none}
@keyframes faqItemIn{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.faq-item.faq-in{animation:faqItemIn .3s ease both}
.faq-item.faq-out{opacity:0;transform:translateY(-6px);transition:opacity .18s ease,transform .18s ease}
.faq-side{flex:0 0 300px;align-self:stretch}
.faq-ask{position:relative;display:flex;flex-direction:column;height:100%;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--bg2);padding:20px 22px}
.faq-ask::after{content:"?";position:absolute;right:-14px;bottom:-52px;font:800 190px/1 'Manrope',sans-serif;color:var(--accent);opacity:.07;pointer-events:none;user-select:none}
.faq-ask-in{margin:auto 0}
.faq-ask-title{font-size:16px;font-weight:800;margin:0 0 8px}
.faq-ask p{color:var(--muted);font-size:13.5px;line-height:1.55;margin:0 0 16px}
.faq-ask-btn{width:100%;background:var(--accent);color:#fff;font-weight:700;padding:12px;border-radius:10px}
.faq-ask-btn:hover{filter:brightness(1.1)}
.faq-ok{margin:14px 0 0;font-size:13px}
@media (max-width:860px){
  .faq-cols{flex-direction:column}
  .faq-side{width:100%;flex:1 1 auto;align-self:auto}
  .faq-ask{height:auto}
  .faq-ask-in{margin:0}
  .faq-ask::after{display:none}
}

/* ===================== Отзывы: две колонки со сводкой ===================== */
.rv-cols{display:flex;gap:20px;align-items:flex-start}
.rv-list{flex:1;min-width:0}
.rv-sum-card{flex:0 0 300px;position:sticky;top:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);padding:18px 20px}
.rv-sum-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 14px}
.rv-sum-stars{color:#f5a623;font-size:22px;letter-spacing:2px}
.rv-sum-num{font-size:30px;font-weight:800;line-height:1}
.rv-bars{margin:0 0 14px}
.rv-bar{display:flex;align-items:center;gap:8px;margin:0 0 7px;font-size:12px;color:var(--muted)}
.rv-bar-label{flex:0 0 52px}
.rv-bar-track{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden}
.rv-bar-fill{display:block;height:100%;border-radius:999px;background:var(--accent);min-width:0}
.rv-bar-count{flex:0 0 20px;text-align:right;color:var(--text);font-weight:700}
.rv-sum-text{color:var(--muted);font-size:12.5px;line-height:1.5;margin:0 0 14px}
.rv-sum-btn{width:100%;background:var(--accent);color:#fff;font-weight:700;padding:12px;border-radius:10px}
.rv-sum-btn:hover{filter:brightness(1.1)}
@media (max-width:860px){
  .rv-cols{flex-direction:column}
  .rv-sum-card{width:100%;flex:1 1 auto;position:static}
}

/* ===================== Отзывы: полоса-сводка во всю ширину ===================== */
.rv-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px 22px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);padding:16px 20px;margin:0 0 14px}
.rv-top-score{display:flex;align-items:center;gap:10px}
.rv-top-num{font-size:32px;font-weight:800;line-height:1}
.rv-top-score .rv-stars-view{font-size:19px}
.rv-top-count{color:var(--muted);font-size:13px}
.rv-top-bars{flex:1;min-width:220px;max-width:440px}
.rv-top-bars .rv-bar{margin:0 0 5px}
.rv-top-bars .rv-bar:last-child{margin-bottom:0}
.rv-top-bars .rv-bar-label{flex:0 0 34px}
.rv-top-btn{flex:0 0 auto;background:var(--accent);color:#fff;font-weight:700;padding:12px 22px;border-radius:10px}
.rv-top-btn:hover{filter:brightness(1.1)}

/* ===================== «Вы смотрели»: одна строка ===================== */
#viewed-grid{display:flex;flex-wrap:nowrap;gap:14px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin}
/* Виджет «Вы смотрели»: те же строки, но узкие вертикальные мини-карточки в горизонтальной ленте */
#viewed-grid .prow{flex:0 0 240px;width:240px;margin:0;flex-direction:column;padding:10px;gap:8px}
#viewed-grid .prow-img{flex:0 0 auto;width:100%;height:auto;max-width:none;margin:0;aspect-ratio:1/1}
#viewed-grid .prow-name{font-size:13px;white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#viewed-grid .prow-strip,#viewed-grid .prow-hint{display:none}
#viewed-grid .prow-buy{flex-wrap:wrap;gap:8px}
#viewed-grid .price-now{font-size:16px}
#viewed-grid .prow-btn{height:34px;padding:0 14px;font-size:12px}
#viewed-grid .cm-dot{width:24px;height:24px}
#viewed-grid::-webkit-scrollbar{height:6px}
#viewed-grid::-webkit-scrollbar-thumb{background:var(--line);border-radius:999px}

/* FAQ: иконка кнопки при раскрытии */
.faq-more svg{transition:transform .2s ease}
.faq-more.on svg{transform:rotate(180deg)}

/* ===================== Подписка: полоса во всю ширину экрана ===================== */
.subscribe-block{
  width:auto;
  margin:34px calc(50% - 50vw) 0;
  padding-left:calc(50vw - 50% + 28px);
  padding-right:calc(50vw - 50% + 28px);
  border-radius:0;
  border-left:0;
  border-right:0;
}

/* Блок «Задать вопрос»: компактная карточка вверху колонки, без липучки */

/* Блок «Полезно почитать»: статьи, привязанные к товару */
.p-articles{margin:26px 0}
.p-articles-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.p-article-card{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px;text-decoration:none;color:inherit;transition:border-color .15s,box-shadow .15s}
.p-article-card:hover{border-color:var(--brand,#2f6bff);box-shadow:0 4px 14px rgba(20,40,90,.08)}
.pa-kind{flex:0 0 auto;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#fff;background:var(--brand,#2f6bff);border-radius:6px;padding:3px 8px}
.pa-name{flex:1;font-size:14px;line-height:1.35}
.pa-go{flex:0 0 auto;color:var(--brand,#2f6bff);font-size:18px}
@media(max-width:640px){.p-articles-list{grid-template-columns:1fr}}

/* ===== Блоки описания товара (.pd-*) — переиспользуемая стилистика витрины ===== */
.pd{font-size:15px;line-height:1.7;color:var(--text)}
.pd p{margin:0 0 12px;color:#c6c6cf}
.pd p img{max-width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line);display:block;margin:12px 0}
.pd strong{color:var(--text)}
.pd-head{display:flex;flex-wrap:wrap;gap:14px;align-items:flex-start;justify-content:space-between;margin:4px 0 16px}
.pd-head-main{max-width:70%;min-width:260px}
.pd-label{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent);margin-bottom:4px}
.pd-title{font-size:24px;font-weight:800;letter-spacing:.02em;text-transform:uppercase;line-height:1.2}
.pd-sub{margin-top:6px;font-size:14px;color:var(--muted)}
.pd-stamp{text-align:right;min-width:200px}
.pd-stamp-main{font-size:13px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--accent2)}
.pd-stamp-sub{font-size:12px;color:var(--muted)}
.pd-hero{margin:14px 0 18px}
.pd-hero img{width:100%;height:auto;border-radius:var(--radius);border:1px solid var(--line)}
.pd-note{margin:16px 0 20px;padding:14px 16px;border-radius:var(--radius);background:rgba(255,106,58,.07);border:1px solid rgba(255,106,58,.28)}
.pd-note-t{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);margin-bottom:6px}
.pd-note p{margin:0;font-size:14px;color:var(--text)}
.pd-sec{margin-top:26px}
.pd-sec-t{display:flex;align-items:center;gap:10px;font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;margin-bottom:10px;color:var(--text)}
.pd-sec-t::before{content:"";flex:0 0 4px;width:4px;height:18px;border-radius:2px;background:linear-gradient(180deg,var(--accent),var(--accent2))}
.pd-specs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.pd-spec{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:12px}
.pd-spec-m{font-size:16px;font-weight:800;color:var(--accent);margin-bottom:4px}
.pd-spec-s{font-size:12.5px;line-height:1.45;color:var(--muted)}
.pd-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:12px}
.pd-card{background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column}
.pd-card-img{aspect-ratio:16/9;overflow:hidden;border-bottom:1px solid var(--line)}
.pd-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.pd-card-b{padding:14px 16px 16px}
.pd-card-t{font-size:15px;font-weight:700;margin-bottom:6px}
.pd-card-x{font-size:14px;line-height:1.6;color:#c6c6cf}
.pd-list{list-style:none;padding:0;margin:0 0 10px}
.pd-list li{position:relative;margin-bottom:8px;padding-left:24px;font-size:15px;color:#c6c6cf}
.pd-list li::before{content:"✓";position:absolute;left:0;top:1px;color:var(--ok);font-weight:800}
.pd-aud{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:10px}
.pd-aud-c{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius);padding:12px;font-size:13px;line-height:1.5;color:var(--muted)}
.pd-duo{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.pd-duo-c{background:var(--card);border:1px solid rgba(255,106,58,.28);border-radius:var(--radius);padding:14px;font-size:14px;color:#c6c6cf}
.pd-duo-c strong{display:block;margin-bottom:8px}
.pd-duo-c ul{list-style:none;padding:0;margin:0}
.pd-duo-c li{position:relative;margin-bottom:6px;padding-left:18px}
.pd-duo-c li::before{content:"•";position:absolute;left:0;color:var(--accent);font-size:18px;line-height:1.2}
.pd-warn{margin-top:26px;padding:12px 16px;border-radius:var(--radius);background:rgba(224,92,92,.08);border:1px solid rgba(224,92,92,.32);font-size:13px;line-height:1.5;color:#e8a8a8}
@media(max-width:980px){
  .pd-specs{grid-template-columns:repeat(2,minmax(0,1fr))}
  .pd-cards,.pd-duo{grid-template-columns:minmax(0,1fr)}
  .pd-aud{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .pd-head{flex-direction:column}
  .pd-head-main{max-width:100%}
  .pd-stamp{text-align:left}
  .pd-title{font-size:20px}
  .pd-aud{grid-template-columns:minmax(0,1fr)}
}

/* Карта сайта (/sitemap) */
.smap h1{font-size:26px;font-weight:800;margin:6px 0 14px}
.smap-cats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.smap-cat{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px 16px}
.smap-cat-name{display:block;font-weight:800;font-size:15px;color:var(--text);margin-bottom:8px}
.smap-cat a:hover{color:var(--accent)}
.smap-sub{margin:6px 0 0 10px;font-size:14px}
.smap-sub a{color:#c6c6cf}
.smap-sub2{margin:4px 0 0 12px;font-size:13px}
.smap-sub2 a{color:var(--muted)}
.smap-group{border:1px solid var(--line);border-radius:var(--radius);background:var(--card);margin-bottom:10px;overflow:hidden}
.smap-group summary{cursor:pointer;padding:12px 16px;font-weight:700;list-style:none;user-select:none}
.smap-group summary::-webkit-details-marker{display:none}
.smap-group summary::before{content:"+";display:inline-block;width:20px;color:var(--accent);font-weight:800}
.smap-group[open] summary::before{content:"–"}
.smap-group summary span{color:var(--muted);font-weight:400;margin-left:6px;font-size:13px}
.smap-prod-links{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px 18px;padding:4px 16px 14px 36px}
.smap-prod-links a{font-size:13.5px;color:#c6c6cf;line-height:1.5}
.smap-prod-links a:hover{color:var(--accent)}
.smap-links{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px 18px;margin-bottom:8px}
.smap-links a{font-size:14px;color:#c6c6cf}
.smap-links a:hover{color:var(--accent)}
@media(max-width:980px){
  .smap-cats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .smap-prod-links{grid-template-columns:repeat(2,minmax(0,1fr))}
  .smap-links{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:640px){
  .smap-cats{grid-template-columns:minmax(0,1fr)}
  .smap-prod-links{grid-template-columns:minmax(0,1fr)}
  .smap-links{grid-template-columns:minmax(0,1fr)}
}

/* ---------- Кабинет: лояльность (.loy-*) ---------- */
.loy-head{display:flex;align-items:center;gap:12px;margin:4px 0 8px}
.loy-big{font-size:40px;font-weight:800;line-height:1;background:var(--accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.loy-pill{display:inline-block;font-size:11.5px;font-weight:700;padding:4px 12px;border-radius:999px;background:rgba(255,106,58,.14);color:var(--accent);border:1px solid rgba(255,106,58,.35);white-space:nowrap}
.loy-discs{display:flex;flex-wrap:wrap;gap:6px;margin:8px 0}
.loy-disc{font-size:11.5px;font-weight:600;padding:3px 10px;border-radius:999px;background:var(--card);border:1px solid var(--line);color:var(--text)}
.loy-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid var(--line);overflow:hidden;margin:12px 0 8px}
.loy-bar-i{display:block;height:100%;border-radius:999px;background:var(--accent);transition:width .4s}
.loy-card-btn{margin-top:14px;width:100%}
.loy-demands{list-style:none;padding:0;margin:0 0 8px}
.loy-demands li{display:flex;align-items:baseline;gap:10px;padding:8px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px}
.loy-demands li:last-child{border-bottom:0}
.loy-demands-date{color:var(--muted);white-space:nowrap}
.loy-demands-store{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.loy-demands-num{color:var(--muted);font-size:12.5px;white-space:nowrap}
.loy-demands-sum{white-space:nowrap}

/* ---------- «Моя карта» (.wallet-*) ---------- */
.wallet-grid{display:grid;grid-template-columns:minmax(0,460px) minmax(0,1fr);gap:26px;align-items:start;margin-bottom:30px}
@media(max-width:900px){.wallet-grid{grid-template-columns:1fr}}
.wallet-card{position:relative;overflow:hidden;max-width:420px;border-radius:20px;padding:22px;
  background:linear-gradient(135deg,#1C1C20,#101014);
  border:1px solid rgba(255,106,58,.25);
  box-shadow:0 18px 44px rgba(0,0,0,.45)}
.wallet-card::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:repeating-linear-gradient(45deg,rgba(255,106,58,.14) 0 12px,rgba(255,106,58,0) 12px 40px);
  -webkit-mask-image:linear-gradient(115deg,#000 25%,transparent 72%);
  mask-image:linear-gradient(115deg,#000 25%,transparent 72%)}
.wallet-card>*{position:relative}
.wallet-card-top{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:26px}
.wallet-logo{width:90px;height:auto}
.wallet-percent{font-size:54px;font-weight:800;line-height:1;color:#fff}
.wallet-percent small{font-size:24px;font-weight:800;color:var(--accent)}
.wallet-caption{font-size:12.5px;color:var(--muted);margin-top:4px}
.wallet-card-bottom{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:34px}
.wallet-label{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-bottom:3px}
.wallet-holder b,.wallet-phone b{font-size:14.5px;color:var(--text)}
.wallet-phone{text-align:right}
.wallet-code{background:#fff;border-radius:12px;padding:12px;max-width:420px;margin-top:12px}
.wallet-barcode{display:block;width:100%;height:auto}
.wallet-code-note{margin:8px 0 0;text-align:center}
.wallet-install{margin-top:18px}
.wallet-install-hint{margin-top:10px;background:rgba(255,255,255,.04);border:1px solid var(--line);border-radius:12px;padding:10px 14px}
.wallet-back{margin-top:18px}
.wallet-back a{color:var(--accent)}

/* ---------- Сертификаты (.cert-*) ---------- */
.cert-info{background:rgba(255,106,58,.08);border:1px solid rgba(255,106,58,.3);color:#f0a586;border-radius:12px;padding:10px 14px;font-size:13px;margin-bottom:12px}
.cert-form{display:flex;gap:10px;align-items:flex-end;margin:10px 0 14px}
.cert-field{flex:1;margin-bottom:0}
.cert-list{list-style:none;padding:0;margin:0}
.cert-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:13.5px}
.cert-list li:last-child{border-bottom:0}
.cert-list code{color:var(--text);font-weight:700;font-size:13.5px}
.cert-status{font-size:11.5px;font-weight:700;padding:3px 10px;border-radius:999px;background:rgba(154,154,166,.15);color:var(--muted);white-space:nowrap}

/* ---------- Кабинет/карта: мобильные ---------- */
@media(max-width:640px){
  .loy-big{font-size:34px}
  .wallet-card{padding:18px;border-radius:18px}
  .wallet-card-top{margin-bottom:20px}
  .wallet-logo{width:76px}
  .wallet-percent{font-size:44px}
  .wallet-card-bottom{flex-direction:column;align-items:flex-start;gap:10px;margin-top:26px}
  .wallet-phone{text-align:left}
  .cert-form{flex-direction:column;align-items:stretch}
  .cert-form .btn{width:100%}
}


/* ===== Лояльность кабинета: скидка и покупки из МойСклад ===== */
.loy-head{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.loy-big{font-size:44px;font-weight:800;letter-spacing:-.02em;line-height:1;background:linear-gradient(120deg,#ff8a52,#FF7A2D);-webkit-background-clip:text;background-clip:text;color:transparent}
.loy-bar{height:8px;border-radius:999px;background:rgba(255,255,255,.07);overflow:hidden;margin:12px 0 8px}
.loy-bar-i{display:block;height:100%;border-radius:999px;background:linear-gradient(90deg,#ff8a52,#FF7A2D);transition:width .5s ease}
.loy-sub{margin:-6px 0 12px;font-size:12px}
.loy-refresh-note{opacity:.8}
.loy-card-btn{margin-top:14px}
/* список чеков */
.loy-demands{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}
.loy-check{list-style:none}
.loy-check details{margin:0}
.loy-check summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);transition:border-color .15s,background .15s}
.loy-check summary::-webkit-details-marker{display:none}
.loy-check summary:hover{border-color:rgba(255,106,58,.5)}
.loy-check details[open] summary{border-color:rgba(255,106,58,.5);background:rgba(255,106,58,.04);border-radius:12px 12px 0 0}
.loy-check summary::before{content:"+";flex:0 0 20px;width:20px;height:20px;border-radius:50%;background:rgba(255,106,58,.14);color:var(--accent);font-size:14px;font-weight:700;display:inline-flex;align-items:center;justify-content:center}
.loy-check details[open] summary::before{content:"–"}
.loy-check-hint{margin-left:auto;font-size:11.5px;color:var(--muted2)}
.loy-check-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:11px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card)}
.loy-demands-date{font-variant-numeric:tabular-nums;color:var(--text);font-weight:600}
.loy-demands-store{color:var(--muted)}
.loy-demands-num{color:var(--muted2);font-size:12px}
.loy-demands-sum{margin-left:auto;font-size:15px;white-space:nowrap}
.loy-kind{font-size:10.5px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(96,165,250,.12);color:#7db4f5;border:1px solid rgba(96,165,250,.3);white-space:nowrap}
/* состав чека */
.loy-check-body{margin-top:-1px;padding:6px 14px 14px;border:1px solid rgba(255,106,58,.5);border-top:0;border-radius:0 0 12px 12px;background:var(--card);overflow-x:auto}
.loy-items{width:100%;min-width:520px;border-collapse:collapse;font-size:13.5px}
.loy-items th{text-align:left;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding:10px 10px 8px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:700}
.loy-items td{padding:10px;vertical-align:top;border-bottom:1px solid var(--line2)}
.loy-items td.loy-num{white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}
.loy-items th.loy-num{text-align:right}
.loy-items td a{font-weight:600}
.loy-items tbody tr:last-child td{border-bottom:0}
.loy-items tfoot td{font-weight:700;border-top:1px solid var(--line);border-bottom:0}
.loy-disc-badge{display:inline-block;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;background:rgba(255,106,58,.14);color:var(--accent);border:1px solid rgba(255,106,58,.35);white-space:nowrap}
@media (max-width:640px){
  .loy-big{font-size:36px}
  .loy-check-body{padding:6px 10px 12px}
  .loy-items{min-width:480px;font-size:13px}
}

/* ==== Виды отображения листинга (запись 44) ==== */
/* Переключатель видов: иконки рядом с сортировкой */
.view-switch{display:flex;gap:6px;flex:0 0 auto}
.view-switch a{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);border-radius:10px;color:var(--muted);transition:border-color .2s,color .2s,background .2s}
.view-switch a:hover{border-color:var(--accent);color:var(--accent)}
.view-switch a.on{border-color:var(--accent);color:var(--accent);background:rgba(255,106,58,.1)}
.view-switch svg{width:18px;height:18px}
/* GRID: компактная плитка */
.grid--grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}
@media (min-width:768px){.grid--grid{grid-template-columns:repeat(3,1fr)}}
@media (min-width:1024px){.grid--grid{grid-template-columns:repeat(4,1fr)}}
.pcard{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:14px;overflow:hidden;transition:border-color .2s,transform .2s,box-shadow .2s}
.pcard:hover{border-color:var(--accent);transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.4)}
.pcard-img{position:relative;display:block;aspect-ratio:1/1;background:#fff}
.pcard-img img{width:100%;height:100%;object-fit:contain;transition:transform .35s ease}
.pcard:hover .pcard-img img{transform:scale(1.05)}
.pcard-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;align-items:flex-start;gap:4px;z-index:2;max-width:80%}
.pcard-badge{font-size:9.5px;font-weight:700;text-transform:uppercase;padding:2px 8px;border-radius:999px;color:#fff;white-space:nowrap;box-shadow:0 4px 12px rgba(0,0,0,.25)}
.pcard-badge-sale{background:#e5484d}
.pcard-badge-new{background:var(--accent)}
.pcard-badge-out{background:#8a8f98}
.pcard-body{padding:10px 12px 12px;display:flex;flex-direction:column;gap:7px;flex:1}
.card-rate{display:flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.cr-star{color:#f5b301;font-size:13px;line-height:1}
.card-rate b{color:var(--text);font-weight:700}
.pcard-name{font-size:13px;font-weight:600;line-height:1.35;color:var(--text);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.pcard-name:hover{color:var(--accent)}
.pcard-foot{display:flex;align-items:center;gap:8px;margin-top:auto}
.pcard-price{flex:1;min-width:0;display:flex;align-items:baseline;gap:3px;flex-wrap:wrap}
.pcard .price-now{font-size:16px}
.pcard .price-cur{font-size:10px;transform:translateY(-4px)}
.pcard .price-old{font-size:11px;margin-left:4px}
.pcard-buy{flex:0 0 auto;display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:0;background:var(--accent);color:#fff;cursor:pointer;transition:filter .2s}
.pcard-buy svg{width:17px;height:17px}
.pcard-buy:hover{filter:brightness(1.12)}
.pcard-pick{flex:0 0 auto;display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:11.5px;font-weight:700;white-space:nowrap;text-decoration:none;transition:filter .2s}
.pcard-pick:hover{filter:brightness(1.12)}
.pcard-ban{flex:0 0 auto;font-size:9.5px;color:var(--muted);border:1px dashed var(--line2);border-radius:999px;padding:3px 8px;white-space:nowrap}
/* LIST: компактный список */
.grid--list{gap:8px}
.plrow{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:8px 12px;transition:border-color .2s}
.plrow:hover{border-color:var(--accent)}
.plrow-img{display:block;flex:0 0 80px;width:80px;height:80px;background:#fff;border-radius:10px;overflow:hidden}
.plrow-img img{width:100%;height:100%;object-fit:contain}
.plrow-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:5px}
.plrow-name{font-size:13.5px;font-weight:600;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.plrow-name:hover{color:var(--accent)}
.plrow .cm-dot{width:20px;height:20px}
.plrow .cm-more{font-size:11.5px}
.plrow-side{flex:0 0 auto;display:flex;align-items:center;gap:10px}
.plrow-price{display:flex;align-items:baseline;gap:3px;flex-wrap:wrap;justify-content:flex-end}
.plrow .price-now{font-size:15px}
.plrow .price-cur{font-size:10px;transform:translateY(-4px)}
.plrow .price-old{font-size:11px;margin-left:3px}
.plrow-btn{display:inline-flex;align-items:center;justify-content:center;height:34px;padding:0 16px;border:0;border-radius:10px;background:var(--accent);color:#fff;font:700 12px/1 'Manrope',sans-serif;cursor:pointer;white-space:nowrap;transition:filter .2s}
.plrow-btn:hover{filter:brightness(1.12)}
.plrow-pick{display:inline-flex;align-items:center;height:30px;padding:0 12px;border-radius:999px;background:var(--accent);color:#fff;font-size:11px;font-weight:700;white-space:nowrap;text-decoration:none}
.plrow-ban{font-size:9.5px;color:var(--muted);border:1px dashed var(--line2);border-radius:999px;padding:3px 8px;white-space:nowrap}
@media (max-width:560px){
  .plrow-side{flex-direction:column;align-items:flex-end;gap:6px}
}

/* «Показать ещё» в списке покупок */
.loy-more-hidden{display:none}
.loy-more-btn{margin-top:10px;width:100%;justify-content:center}

/* HPM: текстовые чипы характеристик и двухуровневый переключатель (вместо цветных иконок) */
.p-model-chip.spec{position:relative;display:inline-flex;align-items:center;justify-content:center;min-height:40px;padding:8px 16px;border:1.5px solid var(--line2);border-radius:10px;background:var(--card);cursor:pointer;flex:0 0 auto;transition:border-color .2s,background .2s,color .2s;font-size:13.5px;font-weight:600;color:var(--text);line-height:1.2;text-align:center;white-space:nowrap}
.p-model-chip.spec:hover{border-color:var(--accent);color:var(--accent)}
.p-model-chip.spec.on{border-color:var(--accent);background:rgba(255,106,58,.1);color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.p-model-p1 .p1.on{border-color:var(--accent);background:rgba(255,106,58,.1);color:var(--accent);box-shadow:0 0 0 1px var(--accent) inset}
.p-model-p1 .p1.cur::after{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-left:8px}
.p-model-p1{display:flex;flex-wrap:wrap;gap:8px}
.p-lv-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted2);margin:12px 0 6px}
.p-lv2{margin-bottom:4px}
.p-lv2 .p-opt-vals{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:640px){
  .p-model-chip.spec{min-height:38px;padding:7px 13px;font-size:13px}
}

/* HPM: иконка у подписи и вид селекторов по режимам */
/* палитра — только для цветов; для характеристик/двухуровнего — нейтральные «ползунки» */
.p-models.mod-spec .p-opt-name::before,.p-models.mod-2lv .p-opt-name::before{background:transparent;box-shadow:none;border-radius:0;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FF7A2D' stroke-width='2.2' stroke-linecap='round'%3E%3Cpath d='M4 7h9M19 7h1M4 17h3M13 17h7'/%3E%3Ccircle cx='16' cy='7' r='2.4'/%3E%3Ccircle cx='10' cy='17' r='2.4'/%3E%3C/svg%3E");
  background-size:contain;background-repeat:no-repeat;background-position:center}
/* уровень 1 — сегмент-контрол: единая плашка, активный сегмент залит акцентом */
.p-model-p1{display:flex;flex-wrap:wrap;gap:4px;background:rgba(255,255,255,.045);border:1px solid var(--line);padding:4px;border-radius:12px;width:fit-content;max-width:100%}
.p-model-p1 .p1{border:0;background:transparent;border-radius:9px;min-height:36px;padding:7px 20px;color:var(--muted);font-weight:700;font-size:13.5px;box-shadow:none}
.p-model-p1 .p1:hover{color:var(--text)}
.p-model-p1 .p1.on{background:var(--accent);color:#fff;box-shadow:0 2px 10px rgba(255,106,58,.35)}
.p-model-p1 .p1.on::after{display:none}
@media (max-width:640px){
  .p-model-p1{width:100%}
  .p-model-p1 .p1{flex:1 1 auto;text-align:center;padding:7px 12px}
}

/* HPM в рядах/списках: текстовые чипы характеристик вместо одинаковых фото-точек */
.prow-mchips{display:flex;flex-wrap:wrap;gap:6px;margin-top:2px}
.prow-mchip{display:inline-flex;align-items:center;min-height:30px;padding:4px 13px;border:1.5px solid var(--line2);border-radius:9px;background:var(--card);font-size:12.5px;font-weight:600;color:var(--text);transition:border-color .15s,color .15s}
a.prow-mchip:hover{border-color:var(--accent);color:var(--accent)}
.prow-mchip.on{border-color:var(--accent);background:rgba(255,106,58,.1);color:var(--accent)}

/* Лояльность: заметная информационная плашка (режим обновления карты) */
.loy-info{display:flex;gap:11px;align-items:flex-start;background:rgba(255,106,58,.09);border:1px solid rgba(255,106,58,.32);border-left:3px solid var(--accent);border-radius:10px;padding:11px 14px;margin:12px 0 0;font-size:13px;line-height:1.55;color:var(--text)}
.loy-info svg{width:17px;height:17px;color:var(--accent);flex:0 0 auto;margin-top:1px}
.loy-info b{color:var(--head)}

/* ---------- Restricted-товары (п. 3 ст. 30, п. 3 ст. 17 Закона «О рекламе») ---------- */
/* жёсткий блюр фото: основное + миниатюры + кружки цветов в листингах */
.g-blur{filter:blur(26px) saturate(.55) brightness(.8);transform:scale(1.18)}
.pimg-blur{filter:blur(12px) saturate(.65)}
.gallery-main.g-restricted{position:relative;overflow:hidden}
.gallery-main.g-restricted img{cursor:default}
/* юридическая плашка поверх главного фото */
.legal-over{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(10,10,14,.28)}
.legal-box{background:rgba(15,16,21,.94);border:1px solid #2c2c36;border-radius:14px;padding:16px 18px;max-width:430px;text-align:center;font:13px/1.6 system-ui;color:#b9b9c4;box-shadow:0 14px 40px rgba(0,0,0,.5)}
.legal-box .legal-law{color:#e6e6ec;margin:0 0 10px}
.legal-box .legal-how{margin:0}
.legal-box a{color:var(--accent);text-decoration:none;font-weight:600}
.legal-box a:hover{text-decoration:underline}
.legal-box .legal-chat{white-space:nowrap}
/* панель вместо описания под карточкой */
.legal-panel{margin:0 0 18px}
.legal-panel .legal-box{max-width:none;text-align:left;display:flex;gap:18px;align-items:center;flex-wrap:wrap}
.legal-panel .legal-box .legal-law{margin:0;flex:1 1 340px}
.legal-panel .legal-box .legal-how{flex:1 1 220px}
@media(max-width:640px){.legal-over{padding:10px}.legal-box{padding:12px 14px;font-size:12px;line-height:1.5}}

/* Блюр текста для restricted: названия товаров, H1, хлебные крошки (текст остаётся в DOM для SEO) */
.txt-blur{filter:blur(7px);user-select:none}

/* ============================================================
   ЭТАП 1 РЕДИЗАЙН v2.1 — токены, мегаменю, город, живой поиск,
   нижнее моб. меню, 18+/cookie рескин, скелетоны, тосты.
   ============================================================ */
:root{
  --bg:#0B0B0D; --bg2:#15151A; --card:#17171C; --line:#232329;
  --text:#FFFFFF; --muted:#9C9CA3;
  --accent:#FF6B1A; --accent2:#FF8F4A;
  --ok:#34c759; --warn:#FFC107; --bad:#ff453a;
  --radius:12px; --radius-lg:16px;
}
}
  --shadow:0 8px 30px rgba(0,0,0,.45);
}
.btn-primary{background:linear-gradient(135deg,var(--accent2),var(--accent))}
.btn{border-radius:var(--radius)}

/* ---------- Скелетоны shimmer ---------- */
.skel{position:relative;overflow:hidden;background:var(--card);border-radius:8px}
.skel::after{content:'';position:absolute;inset:0;transform:translateX(-100%);
  background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);
  animation:wov-shimmer 1.4s infinite}
@keyframes wov-shimmer{to{transform:translateX(100%)}}

/* ---------- Тосты: десктоп справа внизу, моб. сверху (3с в JS) ---------- */
.toast{left:auto;right:20px;transform:none;bottom:20px;border-color:var(--line);border-left:3px solid var(--accent);border-radius:12px}
.toast[hidden]{display:none}
@keyframes toast-in{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:768px){.toast{left:12px;right:12px;bottom:auto;top:12px;text-align:center}}

/* ---------- Шапка: кнопка «Каталог», город ---------- */
.cat-btn{display:none;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  color:var(--text);font:600 14px/1 Manrope,sans-serif;padding:10px 14px;cursor:pointer;white-space:nowrap;transition:border-color .15s}
.cat-btn:hover{border-color:var(--accent)}
.cat-btn svg{width:16px;height:16px}
.header-city{display:none;align-items:center;gap:5px;background:none;border:1px solid var(--line);border-radius:var(--radius);
  color:var(--muted);font:600 12.5px/1 Manrope,sans-serif;padding:9px 11px;cursor:pointer;white-space:nowrap;transition:border-color .15s,color .15s}
.header-city:hover{border-color:var(--accent);color:var(--text)}
.header-city svg{width:13px;height:13px;color:var(--accent)}
@media(min-width:1024px){.cat-btn{display:inline-flex}.header-city{display:inline-flex}}

/* ---------- Мегаменю (полноширинная панель) ---------- */
.megapanel{display:none;position:absolute;left:0;right:0;top:100%;background:var(--bg2);border-bottom:1px solid var(--line);
  box-shadow:0 30px 60px rgba(0,0,0,.55);z-index:70}
.megapanel.open{display:block}
.megapanel-in{display:grid;grid-template-columns:1fr 260px;gap:26px;padding:22px 14px 26px}
.mega-cols{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:6px 26px;align-content:start}
.mega-col h5{margin:0 0 8px;font:700 13px/1.2 Manrope,sans-serif;color:var(--text)}
.mega-col h5 a:hover{color:var(--accent)}
.mega-col a.mega-sub{display:block;padding:4px 0;font-size:13px;color:var(--muted)}
.mega-col a.mega-sub:hover{color:var(--text)}
.mega-side{display:flex;flex-direction:column;gap:16px;border-left:1px solid var(--line);padding-left:26px}
.mega-promo{display:block;border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;background:linear-gradient(135deg,#241a12,#1a1a20)}
.mega-promo b{display:block;font-size:15px;color:var(--accent)}
.mega-promo span{display:block;margin-top:5px;font-size:12px;color:var(--muted);line-height:1.45}
.mega-brands b{display:block;font:700 12px/1 Manrope,sans-serif;color:var(--muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.05em}
.mega-brands-row{display:flex;flex-wrap:wrap;gap:8px}
.mega-brands-row a{width:52px;height:34px;display:flex;align-items:center;justify-content:center;background:var(--card);border:1px solid var(--line);border-radius:8px;overflow:hidden;transition:border-color .15s}
.mega-brands-row a:hover{border-color:var(--accent)}
.mega-brands-row img{max-width:44px;max-height:26px;object-fit:contain}
@media(max-width:1023px){.megapanel{display:none!important}}

/* ---------- Живой поиск: панель ---------- */
.search{position:relative}
.ss-panel{display:none;position:absolute;top:calc(100% + 6px);left:0;right:0;background:var(--bg2);border:1px solid var(--line);
  border-radius:var(--radius-lg);box-shadow:0 26px 60px rgba(0,0,0,.6);z-index:90;overflow:hidden}
.ss-panel.open{display:block}
.ss-head{display:flex;gap:2px;border-bottom:1px solid var(--line);padding:8px 10px 0}
.ss-tab{background:none;border:0;color:var(--muted);font:600 13px/1 Manrope,sans-serif;padding:9px 12px;cursor:pointer;border-bottom:2px solid transparent}
.ss-tab.on{color:var(--accent);border-bottom-color:var(--accent)}
.ss-body{max-height:min(480px,70vh);overflow-y:auto;padding:8px}
.ss-label{margin:10px 6px 6px;font:700 10.5px/1 Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase;color:var(--muted)}
.ss-item{display:flex;align-items:center;gap:12px;padding:8px;border-radius:10px;cursor:pointer}
.ss-item:hover{background:var(--card)}
.ss-item img{width:44px;height:44px;object-fit:contain;background:#fff;border-radius:8px;flex:0 0 auto}
.ss-item .ss-nm{flex:1;min-width:0;font-size:13.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-item .ss-nm mark{background:none;color:var(--accent);font-weight:700}
.ss-item .ss-pr{font-size:13px;font-weight:700;color:var(--accent);white-space:nowrap}
.ss-item.ss-cat .ss-nm{color:var(--muted)}
.ss-item.ss-cat:hover .ss-nm{color:var(--text)}
.ss-chips{display:flex;flex-wrap:wrap;gap:8px;padding:4px 8px 10px}
.ss-chip{border:1px solid var(--line);background:var(--card);color:var(--text);border-radius:999px;padding:7px 13px;font:600 12.5px/1 Manrope,sans-serif;cursor:pointer}
.ss-chip:hover{border-color:var(--accent)}
.ss-clear{margin:4px 8px 10px;background:none;border:0;color:var(--muted);font-size:12px;cursor:pointer;text-decoration:underline}
.ss-clear:hover{color:var(--bad)}
.ss-empty{padding:26px;text-align:center;color:var(--muted);font-size:13.5px}
.ss-rec{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:4px 8px 10px}
.ss-rec a{display:block;border:1px solid var(--line);border-radius:10px;padding:8px;text-align:center}
.ss-rec a:hover{border-color:var(--accent)}
.ss-rec img{width:64px;height:64px;object-fit:contain;margin:0 auto 6px}
.ss-rec span{display:block;font-size:11.5px;color:var(--text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ss-rec b{display:block;font-size:12px;color:var(--accent);margin-top:3px}
@media(max-width:768px){
  .ss-panel{position:fixed;top:64px;left:8px;right:8px;z-index:95}
  .ss-rec{grid-template-columns:repeat(2,1fr)}
}

/* ---------- Выбор города: модалка / bottom sheet ---------- */
.city-modal{position:fixed;inset:0;z-index:96;display:none;align-items:flex-end;justify-content:center;background:rgba(0,0,0,.7)}
.city-modal.open{display:flex}
.city-box{background:var(--bg2);border:1px solid var(--line);border-radius:18px 18px 0 0;width:100%;max-width:460px;
  padding:10px 20px 24px;box-shadow:0 -18px 60px rgba(0,0,0,.5)}
.city-grip{width:44px;height:4px;border-radius:2px;background:var(--line);margin:4px auto 14px}
.city-box h3{margin:0 0 4px;font-size:19px}
.city-auto{display:none;margin:10px 0;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);
  font-size:13.5px;color:var(--muted)}
.city-auto.on{display:flex;align-items:center;justify-content:space-between;gap:10px}
.city-auto b{color:var(--text)}
.city-auto button{background:var(--accent);border:0;color:#fff;border-radius:9px;padding:8px 14px;font:700 12.5px/1 Manrope,sans-serif;cursor:pointer}
.city-list{display:flex;flex-direction:column;gap:8px;margin-top:12px}
.city-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--card);border:1px solid var(--line);
  border-radius:12px;padding:13px 15px;cursor:pointer;color:var(--text);font:600 14px/1.2 Manrope,sans-serif;text-align:left;transition:border-color .15s}
.city-opt:hover{border-color:var(--accent)}
.city-opt.cur{border-color:var(--accent)}
.city-opt.cur::after{content:'✓';color:var(--accent);font-weight:800}
@media(min-width:768px){.city-modal{align-items:center;padding:16px}.city-box{border-radius:18px;max-width:420px}.city-grip{display:none}}

/* ---------- Нижнее мобильное меню ---------- */
.bmenu{display:none;position:fixed;left:0;right:0;bottom:0;z-index:85;background:var(--bg2);border-top:1px solid var(--line);
  padding:6px 4px calc(6px + env(safe-area-inset-bottom))}
.bmenu-in{display:grid;grid-template-columns:repeat(5,1fr);max-width:560px;margin:0 auto}
.bmenu a,.bmenu button{display:flex;flex-direction:column;align-items:center;gap:3px;background:none;border:0;
  color:var(--muted);font:600 10.5px/1 Manrope,sans-serif;padding:7px 2px;cursor:pointer;position:relative;border-radius:10px}
.bmenu svg{width:22px;height:22px}
.bmenu .on,.bmenu a:hover,.bmenu button:hover{color:var(--accent)}
.bmenu-badge{position:absolute;top:2px;right:calc(50% - 20px);background:var(--accent);color:#fff;border-radius:999px;
  font-size:9px;min-width:15px;height:15px;line-height:15px;text-align:center;font-weight:800}
@media(max-width:768px){.bmenu{display:block}body{padding-bottom:64px}}

/* ---------- 18+ gate v2 ---------- */
.age-gate-box{max-width:400px;padding:32px 28px}
.age-gate-ico{width:64px;height:64px;margin:0 auto 14px;color:var(--accent)}
.age-gate-box p{font-size:14.5px;line-height:1.55;color:var(--muted)}
.age-gate-legal{margin-top:14px;font-size:11px;color:var(--muted);opacity:.75}

/* ---------- Футер: оплаты + 18+ ---------- */
.footer-pay{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:14px;border-top:1px solid var(--line)}
.footer-pay span{border:1px solid var(--line);border-radius:8px;padding:5px 11px;font:700 11.5px/1 Manrope,sans-serif;color:var(--muted)}
.footer-age{border:1px solid var(--bad);color:var(--bad);border-radius:8px;padding:5px 10px;font:800 11.5px/1 Manrope,sans-serif}


/* ============================================================
   ЭТАП 2 / AGENT-A — главная (§3.2), /catalog (§3.3), бренды (§3.21)
   ============================================================ */

/* ---------- Главная: чипы-скролл категорий (моб., М-03) ---------- */
.chips-scroll{display:none}
@media(max-width:768px){
  .chips-scroll{display:flex;gap:8px;overflow-x:auto;margin:0 -14px;padding:12px 14px 4px;
    scrollbar-width:none;-ms-overflow-style:none}
  .chips-scroll::-webkit-scrollbar{display:none}
  .chips-scroll .chip{flex:0 0 auto;display:inline-flex;align-items:center;min-height:36px;
    padding:8px 15px;border-radius:999px;background:var(--card);border:1px solid var(--line);
    color:var(--text);font:600 13px/1 Manrope,sans-serif;white-space:nowrap}
  .chips-scroll .chip.on{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border-color:transparent}
  .chips-scroll .chip:active{border-color:var(--accent)}
  .chips-scroll .chip-promo{color:var(--accent);border-color:rgba(255,106,43,.45)}
}

/* ---------- Главная: ряд тайлов категорий + «Акции» ---------- */
.catrow{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.catrow-tile{position:relative;display:block;height:150px;border-radius:16px;overflow:hidden;
  border:1px solid var(--line);background:linear-gradient(135deg,#1d1d24,#181820);
  transition:transform .25s ease,border-color .25s,box-shadow .25s}
.catrow-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.catrow-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,14,.05) 30%,rgba(10,10,14,.88))}
.catrow-name{position:absolute;left:13px;bottom:11px;right:13px;color:#fff;font-size:14.5px;font-weight:800;
  letter-spacing:.01em;text-shadow:0 2px 12px rgba(0,0,0,.6)}
.catrow-tile.noimg .catrow-name{font-size:14px;top:50%;bottom:auto;transform:translateY(-50%);text-align:center;left:10px;right:10px}
.catrow-tile:hover{transform:translateY(-3px);border-color:rgba(255,106,43,.55);box-shadow:0 14px 36px rgba(255,106,43,.14)}
.catrow-tile:hover img{transform:scale(1.07)}
.catrow-tile--promo{background:linear-gradient(135deg,#2a180d,#1c1410);border-color:rgba(255,106,43,.5);
  display:flex;flex-direction:column;justify-content:center;gap:6px;padding:14px}
.catrow-tile--promo .catrow-promo-ico{width:38px;height:38px;border-radius:12px;display:flex;align-items:center;justify-content:center;
  background:rgba(255,106,43,.14);color:var(--accent)}
.catrow-tile--promo .catrow-promo-ico svg{width:22px;height:22px}
.catrow-tile--promo .catrow-name{position:static;transform:none;text-shadow:none;color:var(--accent)}
.catrow-tile--promo .catrow-sub{position:static;font-size:11.5px;color:var(--muted)}
@media(max-width:1023px){.catrow{grid-template-columns:repeat(3,1fr)}}
@media(max-width:768px){
  .catrow{display:flex;overflow-x:auto;margin:0 -14px;padding:0 14px 6px;scrollbar-width:none;-ms-overflow-style:none}
  .catrow::-webkit-scrollbar{display:none}
  .catrow-tile{flex:0 0 auto;width:150px;height:130px}
}

/* ---------- Главная: карусель «Хиты продаж» ---------- */
.car-head{display:flex;align-items:center;gap:14px}
.car-nav{display:inline-flex;gap:6px}
.car-nav button{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--card);
  color:var(--text);font-size:19px;line-height:1;cursor:pointer;transition:border-color .15s,color .15s}
.car-nav button:hover{border-color:var(--accent);color:var(--accent)}
.grid.car-track{scrollbar-width:none;-ms-overflow-style:none;scroll-snap-type:x proximity;padding-bottom:4px}
.grid.car-track::-webkit-scrollbar{display:none}
@media(min-width:768px){
  .grid.car-track{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:calc(25% - 11px);overflow-x:auto}
}
@media(max-width:767px){
  .grid.car-track{grid-auto-flow:column;grid-template-columns:none;grid-auto-columns:min(58%,250px);overflow-x:auto;
    scroll-snap-type:x mandatory;margin:0 -14px;padding:0 14px 4px}
  .grid.car-track>.pcard{scroll-snap-align:start}
}

/* ---------- /catalog: поиск, плитки категорий, бренды-скролл (М-04) ---------- */
.cat-search{display:flex;align-items:stretch;background:var(--card);border:1px solid var(--line);
  border-radius:14px;overflow:hidden;margin:4px 0 18px}
.cat-search>svg{width:18px;height:18px;color:var(--muted);flex:0 0 auto;margin:14px 0 14px 14px}
.cat-search input{flex:1;min-width:0;background:none;border:0;padding:13px 12px;color:var(--text);
  font:500 15px/1.2 Manrope,sans-serif;outline:none}
.cat-search input::placeholder{color:var(--muted)}
.cat-search button{background:linear-gradient(135deg,var(--accent2),var(--accent));border:0;color:#fff;
  padding:0 22px;font:700 14px/1 Manrope,sans-serif;cursor:pointer}
.cat-page-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.cat-page-tile{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);
  border-radius:14px;padding:13px 14px;min-height:74px;
  transition:transform .18s ease,border-color .18s,box-shadow .18s}
.cat-page-tile:hover{transform:translateY(-2px);border-color:var(--accent);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.cpt-ico{width:48px;height:48px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  border-radius:12px;background:rgba(255,106,43,.1);color:var(--accent)}
.cpt-ico svg{width:26px;height:26px}
.cpt-ico img{width:48px;height:48px;object-fit:cover;border-radius:12px}
.cpt-body{min-width:0}
.cpt-body b{display:block;font-size:14px;line-height:1.25;color:var(--text)}
.cpt-body i{display:block;font-style:normal;font-size:12px;color:var(--muted);margin-top:3px}
@media(min-width:768px){.cat-page-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(min-width:1024px){.cat-page-grid{grid-template-columns:repeat(4,1fr)}}
.brands-strip{display:flex;gap:10px;overflow-x:auto;padding:4px 0 8px;scrollbar-width:none;-ms-overflow-style:none}
.brands-strip::-webkit-scrollbar{display:none}
.brands-strip .brand-item{flex:0 0 auto}

/* ---------- /brands: поиск, алфавит, сетка карточек (Д-27/М-33) ---------- */
.brands-search{margin-top:2px}
.brands-qnote{margin:-8px 0 12px;font-size:13px;color:var(--muted)}
.brands-qnote a{color:var(--accent);text-decoration:underline}
.brands-alpha{display:flex;gap:6px;flex-wrap:wrap;margin:14px 0 20px}
.brands-alpha a,.brands-alpha span{min-width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  border-radius:10px;border:1px solid var(--line);background:var(--card);
  font:700 13px/1 Manrope,sans-serif;color:var(--text)}
.brands-alpha a:hover{border-color:var(--accent);color:var(--accent)}
.brands-alpha a.on{background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border-color:transparent}
.brands-alpha span.off{opacity:.32}
.brands-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.brand-card{display:flex;flex-direction:column;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:16px;padding:16px;min-height:148px;
  transition:transform .18s ease,border-color .18s,box-shadow .18s}
.brand-card:hover{transform:translateY(-3px);border-color:var(--accent);box-shadow:0 14px 34px rgba(0,0,0,.4)}
.brand-card-logo{flex:1;display:flex;align-items:center;justify-content:center;min-height:56px}
.brand-card-logo img{max-width:100%;max-height:72px;object-fit:contain;filter:grayscale(30%);transition:filter .2s}
.brand-card:hover .brand-card-logo img{filter:grayscale(0)}
.brand-card-fallback{font-size:38px;font-weight:800;color:var(--accent)}
.brand-card-name{font-size:14.5px;font-weight:700;color:var(--text);line-height:1.25}
.brand-card-cnt{font-size:12.5px;color:var(--muted)}
@media(min-width:768px){.brands-grid{grid-template-columns:repeat(3,1fr);gap:14px}}
@media(min-width:1024px){.brands-grid{grid-template-columns:repeat(4,1fr)}}
.brands-hint{display:none}
@media(min-width:1024px){
  .brands-hint{display:flex;flex-direction:column;gap:10px;background:linear-gradient(135deg,#231409,#1a1310);
    border:1px solid rgba(255,106,43,.45);border-radius:16px;padding:20px;order:-1}
  .brands-hint svg{width:30px;height:30px;color:var(--accent)}
  .brands-hint b{font-size:15px;color:var(--text)}
  .brands-hint p{margin:0;font-size:12.5px;line-height:1.55;color:var(--muted)}
  .brands-hint .btn{align-self:flex-start;margin-top:auto}
}
@media(max-width:1023px){
  /* на мобиле/планшете — плашка-преимущество внизу сетки (М-33) */
  .brands-hint{display:flex;align-items:center;gap:12px;grid-column:1/-1;order:99;
    background:var(--card);border:1px solid var(--line);border-radius:14px;padding:14px 16px}
  .brands-hint svg{width:26px;height:26px;color:var(--accent);flex:0 0 auto}
  .brands-hint b{display:block;font-size:13.5px;color:var(--text)}
  .brands-hint p{margin:2px 0 0;font-size:12px;line-height:1.5;color:var(--muted)}
  .brands-hint .btn{display:none}
}
.brands-more{display:flex;justify-content:center;margin:24px 0 6px}
.brands-more .btn{display:inline-flex;align-items:center;gap:8px}
.brands-more .btn svg{width:16px;height:16px}

/* ---------- Страница бренда: шапка с лого (рескин §3.21) ---------- */
.brand-head{display:flex;align-items:center;gap:18px;flex-wrap:wrap;background:var(--card);
  border:1px solid var(--line);border-radius:16px;padding:18px 22px;margin:4px 0 16px}
.brand-head-logo{width:132px;height:76px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;
  background:#fff;border-radius:12px;padding:8px}
.brand-head-logo img{max-width:100%;max-height:100%;object-fit:contain}
.brand-head-info h1{margin:0 0 4px}
.brand-head-cnt{font-size:13.5px;color:var(--muted)}

/* ============================================================
   ЭТАП 2 РЕДИЗАЙН v2.1 — AGENT-C: карточка товара (рассрочка,
   out-of-stock + «Похожие», Q&A-вкладка, сердце/колокольчик,
   моб. липкая панель), отзывы (фото, ответ, «Полезно», /reviews)
   ============================================================ */

/* ---------- Плашка рассрочки под панелью покупки ---------- */
.p-installment{display:flex;align-items:center;gap:9px;margin-top:12px;padding:11px 14px;border:1px solid var(--line);
  border-radius:12px;background:var(--card);font-size:13.5px;color:var(--muted)}
.p-installment .pi-ic{font-size:16px;line-height:1}
.p-installment .pi-t b{color:var(--text)}

/* ---------- Сердце (избранное) + колокольчик у кнопок покупки ---------- */
.p-icon-btn{display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;flex:0 0 auto;
  background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--muted);cursor:pointer;
  transition:border-color .15s,color .15s}
.p-icon-btn:hover{border-color:var(--accent);color:var(--accent)}
.p-icon-btn.on{color:var(--accent);border-color:var(--accent)}

/* ---------- Out-of-stock (Д-06/М-09): плашка статуса, серая цена, серая таблица наличия ---------- */
.p-stock-plate{display:inline-block;padding:7px 13px;border-radius:10px;background:#26262d;border:1px solid var(--line);
  color:var(--muted);font:700 13px/1.2 Manrope,sans-serif}
.price-grey{color:var(--muted)!important}
.p-oos-shops{width:100%;margin-top:12px;border-collapse:collapse;font-size:13.5px;color:var(--muted)}
.p-oos-shops td{padding:9px 4px;border-bottom:1px solid var(--line)}
.p-oos-shops td em{font-style:normal;color:var(--muted);opacity:.8;font-size:12px}
.p-oos-shops .p-oos-qty{text-align:right;white-space:nowrap;color:var(--muted);opacity:.75}
.p-oos-shops .p-oos-qty.in{color:var(--ok);opacity:1}
/* кнопка «Сообщить о поступлении» — оранжевая (собирается JS-инициализацией в shop.js) */
.stock-notify{margin-top:12px}
.stock-notify .btn-ghost,.stock-notify .btn{background:var(--accent);border:0;color:#fff}
.stock-notify .btn-ghost:hover{filter:brightness(1.06)}
.stock-notify .oneclick{display:flex;gap:8px}

/* ---------- Бейдж «Есть в вашем городе» в панели самовывоза ---------- */
.pg-city-badge{display:inline-block;margin-left:8px;padding:3px 9px;border-radius:999px;background:var(--accent);
  color:#fff;font:700 10.5px/1.3 Manrope,sans-serif;vertical-align:middle}

/* ---------- Q&A: вкладка «Вопросы и ответы» (М-12) ---------- */
.qa-item{padding:14px 0;border-bottom:1px solid var(--line)}
.qa-item:last-child{border-bottom:0}
.qa-q-head{display:flex;align-items:baseline;gap:10px;margin-bottom:4px;font-size:13.5px}
.qa-date{color:var(--muted);font-size:12px}
.qa-q{margin-bottom:10px;font-size:14px;line-height:1.55}
.qa-a{position:relative;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);
  font-size:13.5px;line-height:1.55;color:var(--muted)}
.qa-badge{display:inline-block;margin-bottom:6px;padding:3px 9px;border-radius:999px;background:var(--accent);
  color:#fff;font:700 10.5px/1.3 Manrope,sans-serif;letter-spacing:.03em}
.qa-useful{margin-top:10px;background:none;border:1px solid var(--line);border-radius:999px;color:var(--muted);
  padding:6px 13px;font:600 12px/1 Manrope,sans-serif;cursor:pointer;transition:border-color .15s,color .15s}
.qa-useful:hover{border-color:var(--accent);color:var(--accent)}
.qa-empty{padding:18px 0;color:var(--muted);font-size:14px}
.qa-form{margin-top:18px;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--bg2);
  display:flex;flex-direction:column;gap:10px}
.qa-form-title{font:700 15px/1.2 Manrope,sans-serif}
.qa-form input[type=text],.qa-form textarea{background:var(--card);border:1px solid var(--line);border-radius:10px;
  padding:10px 12px;color:var(--text);font:14px/1.4 Manrope,sans-serif;width:100%}
.qa-form input:focus,.qa-form textarea:focus{outline:none;border-color:var(--accent)}
.qa-form .btn{align-self:flex-start}

/* ---------- Отзывы: проверенная покупка, фото, ответ магазина, мотиватор, счётчик, тумблер ---------- */
.rv-verified{display:inline-block;padding:3px 9px;border-radius:999px;border:1px solid var(--ok);color:var(--ok);
  font:700 10.5px/1.3 Manrope,sans-serif;white-space:nowrap}
.rv-photos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.rv-photos a{display:block;width:96px;height:96px;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.rv-photos a:hover{border-color:var(--accent)}
.rv-photos img{width:100%;height:100%;object-fit:cover}
.rv-answer{margin-top:12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;background:var(--card);
  font-size:13.5px;line-height:1.55;color:var(--muted)}
.rv-answer .qa-date{margin-top:6px;display:block}
.rv-motiv{margin:10px 0;padding:11px 14px;border:1px dashed var(--accent);border-radius:12px;color:var(--accent);
  font:600 13px/1.4 Manrope,sans-serif;background:rgba(255,106,58,.06)}
.rv-counter{margin-top:4px;text-align:right;color:var(--muted);font-size:11.5px}
.rv-photo-hint{margin-top:6px;color:var(--muted);font-size:12px;line-height:1.45}
.rv-photo-prev{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.rv-photo-prev span{position:relative;display:block;width:64px;height:64px;border:1px solid var(--line);border-radius:10px;
  overflow:hidden;background-size:cover;background-position:center}
.rv-photo-prev span i{position:absolute;top:2px;right:2px;width:18px;height:18px;border-radius:50%;background:rgba(0,0,0,.65);
  color:#fff;font:700 11px/18px Manrope,sans-serif;text-align:center;cursor:pointer;font-style:normal}
/* тумблер «Рекомендую» */
.rv-recommend{display:flex;align-items:center;gap:10px;margin:12px 0;cursor:pointer;font-size:13.5px}
.rv-recommend input{position:absolute;opacity:0;pointer-events:none}
.rv-recommend .rr-track{position:relative;width:42px;height:24px;flex:0 0 auto;border-radius:999px;background:var(--line);transition:background .15s}
.rv-recommend .rr-track::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .15s}
.rv-recommend input:checked+.rr-track{background:var(--accent)}
.rv-recommend input:checked+.rr-track::after{left:21px}

/* ---------- Моб. липкая панель «В корзину» + «Гарантия 12 мес» (над нижним меню) ---------- */
.p-sticky-bar{display:none}
@media(max-width:768px){
  .p-sticky-bar{display:flex;align-items:center;justify-content:space-between;gap:12px;position:fixed;left:0;right:0;
    bottom:64px;z-index:84;background:var(--bg2);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 30px rgba(0,0,0,.4)}
  .p-sticky-bar[hidden]{display:none}
  .psb-info{display:flex;flex-direction:column;line-height:1.25;min-width:0}
  .psb-price{font:800 17px/1.2 Manrope,sans-serif;color:var(--accent);white-space:nowrap}
  .psb-warranty{font-size:11px;color:var(--muted)}
  .psb-add{flex:1;max-width:220px}
}

/* ---------- Страница «Отзывы о магазине» /reviews ---------- */
.srv-page h1{font-size:26px;margin:16px 0}
.srv-summary{display:grid;grid-template-columns:auto 1fr auto;gap:26px;align-items:center;padding:20px;
  border:1px solid var(--line);border-radius:16px;background:var(--bg2);margin-bottom:18px}
.srv-score{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:110px}
.srv-num{font:800 44px/1 Manrope,sans-serif;color:var(--accent)}
.srv-count{color:var(--muted);font-size:12.5px;text-align:center}
.srv-bars{display:flex;flex-direction:column;gap:6px;max-width:420px;width:100%}
.srv-cta{display:flex;flex-direction:column;gap:10px;align-items:stretch;min-width:200px}
.srv-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:6px 0 14px}
.srv-filters{display:flex;gap:8px;flex-wrap:wrap}
.srv-chip{padding:8px 15px;border:1px solid var(--line);border-radius:999px;color:var(--muted);
  font:600 13px/1 Manrope,sans-serif;background:var(--card)}
.srv-chip.on{border-color:var(--accent);color:var(--accent)}
.srv-sort{display:flex;gap:12px;align-items:center;color:var(--muted);font-size:13px}
.srv-sort a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.srv-sort a.on{color:var(--accent);font-weight:700;text-decoration:none}
.srv-rec{margin-left:auto;padding:3px 9px;border-radius:999px;font:700 10.5px/1.3 Manrope,sans-serif;white-space:nowrap}
.srv-rec.yes{border:1px solid var(--ok);color:var(--ok)}
.srv-rec.no{border:1px solid var(--bad);color:var(--bad)}
@media(max-width:768px){
  .srv-summary{grid-template-columns:1fr;gap:16px;text-align:center}
  .srv-bars{margin:0 auto}
  .srv-rec{margin-left:0}
}


/* ==================================================================
   ЭТАП 2 / AGENT-B — категория (§3.4), сравнение (§3.8, §5.2),
   избранное/сравнение в карточках (§5.1–5.2), рассрочка-шит (§3.6)
   ================================================================== */

/* ---------- Карточки: сердце избранного + «В сравнение» ---------- */
.card-acts{display:flex;align-items:center;gap:8px}
.ci-act{display:inline-flex;align-items:center;justify-content:center;width:38px;height:38px;flex:0 0 auto;
  background:var(--bg2);border:1px solid var(--line);border-radius:10px;color:var(--muted);cursor:pointer;transition:.15s}
.ci-act svg{width:18px;height:18px}
.ci-act:hover{border-color:var(--accent);color:var(--accent)}
.ci-act.on{color:var(--accent);border-color:var(--accent);background:rgba(255,106,58,.1)}
.ci-wish.on svg{fill:var(--accent)}
.plrow-side .card-acts{justify-content:flex-end}

/* ---------- Категория: чипы активных фильтров ---------- */
.fchips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.fchip{display:inline-flex;align-items:center;gap:7px;padding:7px 12px;border-radius:999px;
  background:var(--card);border:1px solid var(--accent);color:var(--text);font:600 12.5px/1.2 Manrope,sans-serif;transition:.15s}
.fchip i{font-style:normal;color:var(--accent);font-size:11px}
.fchip:hover{background:rgba(255,106,58,.12)}
.fchip-reset{border-color:var(--line);color:var(--muted);border-style:dashed}
.fchip-reset:hover{border-color:var(--bad);color:var(--bad);background:none}

/* ---------- Категория: пагинация + «Показано X–Y из N» ---------- */
.cat-pager{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:18px 0 8px}
.cat-shown{font-size:13px;color:var(--muted)}

/* ---------- Категория: моб. кнопка «Фильтры» + bottom sheet ---------- */
.f-open-btn{display:none;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);
  border-radius:10px;color:var(--text);font:600 13px/1 Manrope,sans-serif;padding:10px 14px;cursor:pointer;transition:.15s}
.f-open-btn svg{width:16px;height:16px}
.f-open-btn:hover{border-color:var(--accent)}
.fsheet{position:fixed;inset:0;z-index:95}
.fsheet[hidden]{display:none}
.fsheet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.fsheet-box{position:absolute;left:0;right:0;bottom:0;max-height:88dvh;display:flex;flex-direction:column;
  background:var(--bg2);border:1px solid var(--line);border-radius:18px 18px 0 0;box-shadow:0 -18px 60px rgba(0,0,0,.5)}
.fsheet-grip{width:44px;height:4px;border-radius:2px;background:var(--line);margin:10px auto 4px;flex:0 0 auto}
.fsheet-head{display:flex;align-items:center;justify-content:space-between;padding:8px 18px 12px;border-bottom:1px solid var(--line);flex:0 0 auto}
.fsheet-head b{font-size:17px}
.fsheet-x{background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:6px}
.fsheet-body{overflow-y:auto;padding:14px 18px calc(18px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch}
.fsheet-body .filters-head{display:none}
.fsheet-body .f-group{border-bottom:1px solid var(--line);padding:12px 0;margin:0}
.fsheet-body .f-apply{width:100%;margin-top:16px;padding:14px;font-size:15px}
.fsheet-open{overflow:hidden}
@media(max-width:1023px){
  .f-open-btn{display:inline-flex}
  body.fsheet-js .cat-layout>.filters{display:none}
}

/* ---------- Категория: слайдер цены «от/до» ---------- */
.f-slider{position:relative;margin:12px 2px 4px;height:26px}
.f-slider-track{position:absolute;left:0;right:0;top:11px;height:4px;border-radius:2px;background:var(--line)}
.f-slider-track i{position:absolute;top:0;bottom:0;background:var(--accent);border-radius:2px}
.f-slider-pin{position:absolute;top:50%;width:16px;height:16px;border-radius:50%;background:var(--bg2);
  border:2px solid var(--accent);transform:translate(-50%,-50%);pointer-events:none}
.f-slider input[type=range]{position:absolute;left:0;right:0;top:0;width:100%;height:26px;margin:0;
  -webkit-appearance:none;appearance:none;background:none;pointer-events:none;outline:none}
.f-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;
  border-radius:50%;background:var(--bg2);border:2px solid var(--accent);cursor:grab;pointer-events:auto}
.f-slider input[type=range]::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:var(--bg2);
  border:2px solid var(--accent);cursor:grab;pointer-events:auto}

/* ---------- Категория: тумблер «В наличии» ---------- */
.f-switch{cursor:pointer}
.f-switch input{position:absolute;opacity:0;pointer-events:none}
.f-switch .fswitch{position:relative;flex:0 0 auto;width:38px;height:22px;border-radius:999px;background:var(--line);transition:.15s}
.f-switch .fswitch i{position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:var(--muted);transition:.15s}
.f-switch input:checked+.fswitch{background:rgba(255,106,58,.35)}
.f-switch input:checked+.fswitch i{left:19px;background:var(--accent)}

/* ---------- Категория: бейдж «Есть в вашем городе» ---------- */
.city-badge{display:inline-flex;align-items:center;gap:6px;width:max-content;max-width:100%;
  padding:4px 10px;border-radius:999px;background:rgba(255,106,58,.12);border:1px solid rgba(255,106,58,.4);
  color:var(--accent);font:700 11px/1.2 Manrope,sans-serif}
.city-badge i{width:6px;height:6px;border-radius:50%;background:var(--accent);flex:0 0 auto}

/* ---------- Сравнение (/compare) ---------- */
.cmp-empty{text-align:center;padding:50px 14px;color:var(--muted);display:flex;flex-direction:column;align-items:center;gap:12px}
.cmp-empty>svg{width:64px;height:64px;opacity:.5}
.cmp-empty p{margin:0;font-size:15px}
.cmp-empty-hint{font-size:13px}
.cmp-empty-hint svg{width:15px;height:15px;vertical-align:-3px;color:var(--accent)}
.cmp-bar{display:flex;align-items:center;gap:14px;margin:4px 0 14px;flex-wrap:wrap}
.cmp-count{font-size:13px;color:var(--muted)}
.cmp-toggle{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font:600 13.5px/1 Manrope,sans-serif}
.cmp-toggle input{position:absolute;opacity:0;pointer-events:none}
.cmp-toggle .ctgl{position:relative;flex:0 0 auto;width:40px;height:23px;border-radius:999px;background:var(--line);transition:.15s}
.cmp-toggle .ctgl::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:var(--muted);transition:.15s}
.cmp-toggle input:checked+.ctgl{background:rgba(255,106,58,.35)}
.cmp-toggle input:checked+.ctgl::after{left:20px;background:var(--accent)}
.cmp-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;border:1px solid var(--line);border-radius:14px;background:var(--card)}
.cmp-table{width:100%;min-width:640px;border-collapse:collapse}
.cmp-table th,.cmp-table td{padding:10px 12px;border-bottom:1px solid var(--line);border-right:1px solid var(--line);
  text-align:left;font-size:13.5px;vertical-align:top}
.cmp-table th:last-child,.cmp-table td:last-child{border-right:0}
.cmp-rowhead{position:sticky;left:0;z-index:2;background:var(--bg2);color:var(--muted);font-weight:600;
  white-space:nowrap;min-width:130px;max-width:170px}
td.cmp-rowhead{border-right:1px solid var(--line)}
.cmp-col{min-width:190px;vertical-align:top}
.cmp-col .cmp-x{float:right;width:28px;height:28px;border-radius:8px;background:var(--bg2);border:1px solid var(--line);
  color:var(--muted);cursor:pointer;font-size:13px;transition:.15s}
.cmp-col .cmp-x:hover{border-color:var(--bad);color:var(--bad)}
.cmp-img{display:block;width:110px;margin:2px auto 8px}
.cmp-name{display:block;text-align:center;font-weight:600;color:var(--text);font-size:13.5px;line-height:1.35;margin-bottom:8px}
.cmp-name:hover{color:var(--accent)}
.cmp-price{text-align:center;font:800 16px/1.2 Manrope,sans-serif;color:var(--accent)}
.cmp-price .price-old{display:block;font:500 12px/1.4 Manrope,sans-serif;color:var(--muted)}
.cmp-stock{text-align:center;font-size:12px;color:var(--ok);margin-top:5px}
.cmp-stock.off{color:var(--muted)}
.cmp-actions{text-align:center;margin-top:9px}
.btn.sm{padding:8px 14px;font-size:13px;border-radius:9px}
.cmp-cell{color:var(--text)}
.cmp-cell.diff{color:var(--accent);font-weight:600}
.cmp-tr.has-diff .cmp-rowhead{color:var(--text)}
.cmp-table tr.cmp-hide{display:none}
@media(max-width:767px){
  .cmp-rowhead{min-width:104px;max-width:130px;font-size:12px}
  .cmp-col{min-width:158px}
  .cmp-scroll{border-radius:12px}
}

/* ---------- Шит рассрочки «Халва» (карточка товара) ---------- */
.inst-sheet{position:fixed;inset:0;z-index:96}
.inst-sheet[hidden]{display:none}
.inst-sheet-overlay{position:absolute;inset:0;background:rgba(0,0,0,.7)}
.inst-sheet-box{position:absolute;left:0;right:0;bottom:0;max-width:480px;margin:0 auto;max-height:88dvh;overflow-y:auto;
  background:var(--bg2);border:1px solid var(--line);border-radius:18px 18px 0 0;padding:10px 20px calc(20px + env(safe-area-inset-bottom))}
.inst-sheet-grip{width:44px;height:4px;border-radius:2px;background:var(--line);margin:2px auto 12px}
.inst-sheet-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.inst-sheet-head b{font-size:18px}
.inst-sheet-x{background:none;border:0;color:var(--muted);font-size:18px;cursor:pointer;padding:4px}
.inst-price{font:800 26px/1.2 Manrope,sans-serif;color:var(--text);margin-bottom:14px}
.inst-price .nbrb-icon{font-size:19px}
.inst-term{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;font-size:14px;color:var(--muted)}
.inst-term-opts{display:flex;gap:8px}
.inst-term-opts label{position:relative;cursor:pointer}
.inst-term-opts input{position:absolute;opacity:0;pointer-events:none}
.inst-term-opts span{display:inline-block;padding:9px 16px;border-radius:10px;background:var(--card);border:1px solid var(--line);
  color:var(--text);font:600 13.5px/1 Manrope,sans-serif;transition:.15s}
.inst-term-opts input:checked+span{border-color:var(--accent);background:rgba(255,106,58,.12)}
.inst-pay{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:13px 15px;border-radius:12px;
  background:var(--card);border:1px solid var(--line);margin-bottom:10px;font-size:14px;color:var(--muted)}
.inst-pay b{font:800 19px/1.2 Manrope,sans-serif;color:var(--accent)}
.inst-zero{display:inline-block;padding:5px 11px;border-radius:8px;background:rgba(76,175,80,.14);border:1px solid rgba(76,175,80,.4);
  color:var(--ok);font:700 12.5px/1.2 Manrope,sans-serif;margin-bottom:12px}
.inst-note{font-size:12.5px;line-height:1.55;color:var(--muted);margin:0 0 16px}
.inst-cta{display:block;width:100%}
.inst-sheet-open{overflow:hidden}
@media(min-width:768px){
  .inst-sheet{display:flex;align-items:center;justify-content:center;padding:16px}
  .inst-sheet-box{border-radius:18px;position:relative;max-height:86dvh}
  .inst-sheet-grip{display:none}
}

/* ---------- Тарифы доставки в модалке «Доставка» карточки (ТЗ v2.1 §0/§3.6) ---------- */
.pg-tariffs{margin-top:12px;border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:8px}
.pg-tariff-row{display:flex;flex-direction:column;gap:2px;font-size:13px}
.pg-tariff-row b{color:var(--text)}
.pg-tariff-row span{color:var(--muted);line-height:1.5}
.pg-tariffs small{color:var(--muted);opacity:.75;font-size:11.5px;line-height:1.45}

/* ---------- Карточка grid: строка самовывода «в N из 6 магазинов» (§3.4, AGENT-B) ---------- */
.pcard-pickup{font-size:11.5px;color:var(--muted)}


/* ============================================================
   ЭТАП 3 / AGENT-D — корзина, чекаут, результаты (§3.9–3.11 ТЗ v2.1),
   слоты получения (v1 §5.7), тарифы доставки (§0), скидка лояльности (§5.17)
   ============================================================ */

/* ---------- Общее: заголовок со счётчиком, флеш, пустые состояния ---------- */
.w3-title-count{display:inline-block;vertical-align:middle;margin-left:8px;padding:3px 11px;border:1px solid var(--line);
  border-radius:999px;background:var(--card);color:var(--accent);font:700 14px/1.2 Manrope,sans-serif}
.w3-flash{border-radius:var(--radius);padding:12px 16px;margin:0 0 16px;font-size:14px;line-height:1.5}
.w3-flash-ok{background:rgba(52,199,89,.09);border:1px solid rgba(52,199,89,.4);color:#7ddb9a}
.w3-flash-err{background:rgba(255,69,58,.08);border:1px solid rgba(255,69,58,.45);color:#ff9d97}
.w3-flash-err ul{margin:6px 0 0;padding-left:18px}
.w3-note{font-size:12.5px;color:var(--muted);line-height:1.5}
.w3-muted{color:var(--muted);font-size:12.5px}
.w3-empty{max-width:520px;margin:40px auto;text-align:center;padding:44px 24px;background:var(--bg2);
  border:1px solid var(--line);border-radius:var(--radius-lg)}
.w3-empty-ico{display:flex;justify-content:center;color:var(--accent);opacity:.85;margin-bottom:14px}
.w3-empty h1{font-size:24px;margin:0 0 10px}
.w3-empty p{color:var(--muted);line-height:1.55;margin:0 0 18px}

/* ---------- Липкая мобильная панель итога (над нижним меню .bmenu) ---------- */
.w3-mbar{display:none}
@media(max-width:768px){
  .w3-mbar{display:flex;align-items:center;gap:14px;position:fixed;left:0;right:0;bottom:64px;z-index:84;
    background:var(--bg2);border-top:1px solid var(--line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));
    box-shadow:0 -10px 30px rgba(0,0,0,.4)}
  .w3-mbar-total{display:flex;flex-direction:column;line-height:1.25;min-width:0}
  .w3-mbar-total small{color:var(--muted);font-size:11px}
  .w3-mbar-total b{font:800 17px/1.2 Manrope,sans-serif;color:var(--text);white-space:nowrap}
  .w3-mbar-cta{flex:1;max-width:240px;margin-left:auto}
}

/* ---------- Корзина ---------- */
.w3-cart-grid{display:grid;grid-template-columns:1fr 380px;gap:24px;align-items:start}
.w3-lines{display:flex;flex-direction:column;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden}
.w3-line{display:grid;grid-template-columns:96px 1fr auto;gap:16px;padding:16px;border-bottom:1px solid var(--line);align-items:center}
.w3-line:last-of-type{border-bottom:0}
.w3-line-img{width:96px;height:96px;display:flex;align-items:center;justify-content:center;background:var(--card);
  border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;flex:none}
.w3-line-img img{max-width:88px;max-height:88px;object-fit:contain}
.w3-line-name{display:block;font-weight:700;font-size:15px;line-height:1.35;color:var(--text)}
.w3-line-name:hover{color:var(--accent)}
.w3-line-opts{font-size:12.5px;color:var(--muted);margin-top:3px}
.w3-line-unit{font-size:13px;color:var(--muted);margin-top:6px}
.w3-line-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.w3-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden}
.w3-qty button{width:38px;height:40px;border:0;background:none;color:var(--text);font-size:19px;cursor:pointer;transition:background .15s,color .15s}
.w3-qty button:hover{background:var(--bg2);color:var(--accent)}
.w3-qty input{width:52px;height:40px;border:0;border-left:1px solid var(--line);border-right:1px solid var(--line);
  background:none;color:var(--text);text-align:center;font:700 15px/1 Manrope,sans-serif;-moz-appearance:textfield}
.w3-qty input::-webkit-outer-spin-button,.w3-qty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.w3-line-sum{font:800 16px/1 Manrope,sans-serif;color:var(--text);white-space:nowrap}
.w3-line-rm{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border:1px solid var(--line);
  border-radius:10px;background:none;color:var(--muted);cursor:pointer;transition:color .15s,border-color .15s}
.w3-line-rm:hover{color:var(--bad);border-color:var(--bad)}
.w3-lines-foot{display:flex;align-items:center;gap:14px;padding:14px 16px;border-top:1px solid var(--line);background:var(--card)}
@media(max-width:1024px){.w3-cart-grid{grid-template-columns:1fr}}
@media(max-width:768px){
  .w3-line{grid-template-columns:72px 1fr;gap:12px;padding:14px 12px}
  .w3-line-img{width:72px;height:72px}
  .w3-line-img img{max-width:64px;max-height:64px}
  .w3-line-side{grid-column:1/-1;flex-direction:row;align-items:center;justify-content:space-between}
}

/* ---------- Панель «Ваш заказ» (корзина + чекаут) ---------- */
.w3-aside{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;
  display:flex;flex-direction:column;gap:12px}
.w3-aside-title{margin:0;font:800 18px/1.2 Manrope,sans-serif}
.w3-sum-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:14px;color:var(--muted)}
.w3-sum-row b{color:var(--text);font-weight:700;white-space:nowrap}
.w3-sum-disc b{color:var(--ok)}
.w3-sum-total{padding-top:12px;border-top:1px solid var(--line);font-size:15px;color:var(--text)}
.w3-sum-total b{font:800 22px/1 Manrope,sans-serif;color:var(--accent)}
.w3-aside-cta{display:flex;justify-content:center;text-decoration:none}
.w3-inst{display:flex;align-items:center;gap:10px;border:1px dashed rgba(255,106,43,.5);border-radius:var(--radius);
  background:rgba(255,106,43,.07);padding:10px 12px;font-size:13px;color:var(--text)}
.w3-inst b{color:var(--accent);white-space:nowrap}
.w3-inst-ico{font-size:16px;line-height:1}
.w3-cpn{display:flex;flex-direction:column;gap:8px}
.w3-cpn-form{display:flex;gap:8px}
.w3-cpn-form input{flex:1;min-width:0;background:var(--card);border:1px solid var(--line);border-radius:var(--radius);
  color:var(--text);padding:10px 12px;font:600 14px/1.2 Manrope,sans-serif;text-transform:uppercase;outline:none;transition:border-color .15s}
.w3-cpn-form input:focus{border-color:var(--accent)}
.w3-cpn-form input::placeholder{color:var(--muted);text-transform:none}
.w3-cpn-on{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;
  border:1px solid rgba(52,199,89,.45);background:rgba(52,199,89,.08);border-radius:var(--radius);padding:10px 12px;font-size:13.5px}
.w3-cpn-on b{color:var(--ok)}
.w3-cpn-state{display:block;font-size:12.5px;margin-top:6px}
.w3-cpn-state.ok{color:var(--ok)}
.w3-cpn-state.err{color:var(--bad)}
.w3-clear{text-align:center}

/* ---------- Чекаут: сетка и шаги ---------- */
.w3-co-grid{display:grid;grid-template-columns:1fr 400px;gap:24px;align-items:start}
.w3-co-main{display:flex;flex-direction:column;gap:16px;min-width:0}
.w3-step{background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px}
.w3-step-title{display:flex;align-items:center;gap:10px;margin:0 0 16px;font:800 17px/1.2 Manrope,sans-serif}
.w3-step-num{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:999px;
  background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;font:800 13px/1 Manrope,sans-serif;flex:none}
.w3-field{display:flex;flex-direction:column;gap:6px;margin-bottom:14px;min-width:0}
.w3-field:last-child{margin-bottom:0}
.w3-field>span:first-child{font-size:12.5px;color:var(--muted);font-weight:600}
.w3-field input[type="text"],.w3-field input[type="tel"],.w3-field input[type="email"],.w3-field textarea{
  background:var(--card);border:1px solid var(--line);border-radius:var(--radius);color:var(--text);
  padding:11px 13px;font:500 14.5px/1.3 Manrope,sans-serif;outline:none;transition:border-color .15s;width:100%}
.w3-field input:focus,.w3-field textarea:focus{border-color:var(--accent)}
.w3-field input[readonly]{opacity:.75}
.w3-field textarea{resize:vertical}
.w3-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.w3-field-row-sm{grid-template-columns:1fr 2fr}
@media(max-width:640px){.w3-field-row,.w3-field-row-sm{grid-template-columns:1fr}}
.w3-phone{display:flex;align-items:stretch;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);overflow:hidden;transition:border-color .15s}
.w3-phone:focus-within{border-color:var(--accent)}
.w3-phone-prefix{display:inline-flex;align-items:center;gap:7px;padding:0 12px;border-right:1px solid var(--line);
  color:var(--muted);font:700 13.5px/1 Manrope,sans-serif;white-space:nowrap;background:var(--bg2)}
.w3-phone-prefix i{font-style:normal;font-size:10px;letter-spacing:.08em;border:1px solid var(--line);border-radius:4px;padding:2px 4px;color:var(--accent)}
.w3-phone input{flex:1;min-width:0;border:0;background:none;color:var(--text);padding:11px 13px;font:600 15px/1.2 Manrope,sans-serif;outline:none}

/* ---------- Карточки-радио (получение / оплата) ---------- */
.w3-rcards{display:flex;flex-direction:column;gap:10px}
.w3-rcard{position:relative;display:block;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
  padding:14px 16px;cursor:pointer;transition:border-color .15s,background .15s}
.w3-rcard input{position:absolute;opacity:0;pointer-events:none}
.w3-rcard input:focus-visible~.w3-rcard-body{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.w3-rcard:hover{border-color:rgba(255,106,43,.55)}
.w3-rcard.on{border-color:var(--accent);background:rgba(255,106,43,.06);box-shadow:0 0 0 1px var(--accent) inset}
.w3-rcard-body{display:flex;flex-direction:column;gap:6px}
.w3-rcard-title{display:flex;align-items:center;justify-content:space-between;gap:10px;font:700 15px/1.25 Manrope,sans-serif;color:var(--text);flex-wrap:wrap}
.w3-rcard-badge{font:700 11.5px/1 Manrope,sans-serif;color:var(--ok);border:1px solid rgba(52,199,89,.5);
  border-radius:999px;padding:4px 9px;white-space:nowrap}
.w3-rcard-desc{font-size:12.5px;line-height:1.5;color:var(--muted)}

/* ---------- Детали получения ---------- */
.w3-detail{margin-top:16px;border-top:1px solid var(--line);padding-top:16px}
.w3-detail-title{margin:0 0 12px;font:700 14px/1.2 Manrope,sans-serif;color:var(--text)}
.w3-detail .w3-note{margin:10px 0 0}

/* Магазины самовывоза: сетка карточек; на моб. — bottom sheet (М-15) */
.w3-stores{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.w3-store{position:relative;display:block;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
  padding:13px 14px;cursor:pointer;transition:border-color .15s,background .15s}
.w3-store input{position:absolute;opacity:0;pointer-events:none}
.w3-store input:focus-visible~.w3-store-body{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}
.w3-store:hover{border-color:rgba(255,106,43,.55)}
.w3-store.on{border-color:var(--accent);background:rgba(255,106,43,.06);box-shadow:0 0 0 1px var(--accent) inset}
.w3-store-body{display:flex;flex-direction:column;gap:4px}
.w3-store-name{font:700 14px/1.25 Manrope,sans-serif;color:var(--text)}
.w3-store-addr{font-size:12.5px;color:var(--muted);line-height:1.4}
.w3-store-meta{font-size:12px;color:var(--muted)}
.w3-store-badge{display:inline-flex;align-self:flex-start;margin-top:5px;border-radius:999px;padding:4px 9px;font:700 11px/1.2 Manrope,sans-serif}
.w3-store-badge.full{border:1px solid rgba(52,199,89,.5);color:var(--ok)}
.w3-store-badge.part{border:1px solid rgba(255,214,10,.5);color:var(--warn)}
.w3-store-badge.none{border:1px solid var(--line);color:var(--muted)}
.w3-stores-open{display:none}
.w3-stores-ovl{display:none}
.w3-sheet-grip{display:none}
.w3-stores-head{display:none}
.w3-stores-done{display:none}
@media(max-width:768px){
  .w3-stores{grid-template-columns:1fr}
  .w3-stores-open{display:inline-flex;align-items:center;justify-content:center;width:100%;padding:12px;border:1px solid var(--line);
    border-radius:var(--radius);background:var(--card);color:var(--text);font:700 14px/1 Manrope,sans-serif;cursor:pointer}
  .w3-stores-wrap{position:fixed;left:0;right:0;bottom:0;z-index:96;background:var(--bg2);border:1px solid var(--line);
    border-bottom:0;border-radius:18px 18px 0 0;padding:8px 14px calc(14px + env(safe-area-inset-bottom));max-height:82dvh;
    display:flex;flex-direction:column;transform:translateY(103%);transition:transform .3s cubic-bezier(.32,.72,.35,1);box-shadow:0 -20px 60px rgba(0,0,0,.55)}
  .w3-stores-wrap.open{transform:translateY(0)}
  .w3-sheet-grip{display:block;width:44px;height:4px;border-radius:999px;background:var(--line);margin:4px auto 10px}
  .w3-stores-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
  .w3-stores-head b{font:800 16px/1 Manrope,sans-serif}
  .w3-sheet-x{width:34px;height:34px;border:1px solid var(--line);border-radius:10px;background:none;color:var(--muted);cursor:pointer;font-size:15px}
  .w3-stores{overflow-y:auto;flex:1}
  .w3-stores-done{display:flex;justify-content:center;margin-top:12px}
  .w3-stores-ovl{display:block;position:fixed;inset:0;z-index:95;background:rgba(0,0,0,.7);opacity:0;transition:opacity .25s}
  .w3-stores-ovl.show{opacity:1}
}

/* ---------- Слоты получения ---------- */
.w3-slots{display:flex;flex-direction:column;gap:10px}
.w3-chips{display:flex;gap:8px;flex-wrap:wrap}
.w3-chip{display:inline-flex;flex-direction:column;align-items:center;gap:2px;min-height:44px;justify-content:center;
  padding:8px 16px;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
  color:var(--text);font:600 13.5px/1.2 Manrope,sans-serif;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
.w3-chip small{font-size:10.5px;color:var(--muted);font-weight:600}
.w3-chip:hover{border-color:rgba(255,106,43,.55)}
.w3-chip.on{border-color:var(--accent);background:rgba(255,106,43,.1);color:var(--accent)}
.w3-chip.on small{color:var(--accent);opacity:.8}
.w3-slots-clear{align-self:flex-start;background:none;border:0;color:var(--muted);font:600 12.5px/1 Manrope,sans-serif;
  cursor:pointer;text-decoration:underline;text-underline-offset:3px;padding:4px 0}
.w3-slots-clear:hover{color:var(--text)}

/* ---------- Состав заказа в панели ---------- */
.w3-sum-items{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:10px;max-height:300px;overflow-y:auto}
.w3-sum-items li{display:grid;grid-template-columns:44px 1fr auto auto;gap:10px;align-items:center}
.w3-sum-thumb{width:44px;height:44px;object-fit:contain;border:1px solid var(--line);border-radius:8px;background:var(--card)}
.w3-sum-name{display:flex;flex-direction:column;font-size:13px;line-height:1.3;color:var(--text);min-width:0}
.w3-sum-name small{color:var(--muted);font-size:11.5px}
.w3-badge-akc{font-style:normal;align-self:flex-start;margin-top:3px;border:1px solid rgba(255,106,43,.55);color:var(--accent);
  border-radius:6px;padding:1px 6px;font:700 10px/1.5 Manrope,sans-serif}
.w3-sum-qty{color:var(--muted);font-size:12.5px;white-space:nowrap}
.w3-sum-items b{font-size:13.5px;white-space:nowrap}

/* ---------- Страницы результатов (М-17/М-18) ---------- */
.w3-result{max-width:620px;margin:36px auto;background:var(--bg2);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:34px 30px;text-align:center}
.w3-result-ico{display:flex;justify-content:center;margin-bottom:14px}
.w3-result-ok .w3-result-ico{color:var(--ok)}
.w3-result-err .w3-result-ico{color:var(--bad)}
.w3-result-warn .w3-result-ico{color:var(--warn)}
.w3-result h1{font-size:24px;margin:0 0 8px}
.w3-result-body{color:var(--muted);line-height:1.6;font-size:14.5px}
.w3-result-body p{margin:0 0 12px}
.w3-result-body a{color:var(--accent)}
.w3-result-sub{font-size:14px;color:var(--muted)}
.w3-result-sub b{color:var(--text)}
.w3-result-box{margin:16px 0;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);
  padding:6px 16px;text-align:left}
.w3-res-row{display:flex;justify-content:space-between;gap:14px;padding:9px 0;border-bottom:1px solid var(--line);
  font-size:13.5px;color:var(--muted)}
.w3-res-row:last-child{border-bottom:0}
.w3-res-row b{color:var(--text);text-align:right;font-weight:600}
.w3-res-total b{color:var(--accent);font:800 18px/1.2 Manrope,sans-serif}
.w3-track{list-style:none;margin:18px 0;padding:0;display:flex;counter-reset:w3step}
.w3-track li{flex:1;display:flex;flex-direction:column;align-items:center;gap:7px;font-size:11px;color:var(--muted);position:relative}
.w3-track li::before{counter-increment:w3step;content:'';width:14px;height:14px;border-radius:999px;background:var(--card);
  border:2px solid var(--line);z-index:1}
.w3-track li::after{content:'';position:absolute;top:6px;left:calc(50% + 9px);right:calc(-50% + 9px);height:2px;background:var(--line)}
.w3-track li:last-child::after{display:none}
.w3-track li.on{color:var(--text);font-weight:700}
.w3-track li.on::before{border-color:var(--accent);background:var(--accent);box-shadow:0 0 0 4px rgba(255,106,43,.18)}
.w3-result-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:18px;align-items:center}
.w3-result-btns .w3-note{width:100%;text-align:center}

/* Плашка ЕРИП: код услуги + номер для оплаты */
.w3-erip-plate{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:16px 0}
.w3-erip-cell{display:flex;flex-direction:column;gap:5px;border:1px solid rgba(255,106,43,.5);border-radius:var(--radius);
  background:rgba(255,106,43,.07);padding:13px 10px}
.w3-erip-cell small{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.w3-erip-cell b{font:800 17px/1.15 Manrope,sans-serif;color:var(--accent);word-break:break-all}
@media(max-width:640px){.w3-erip-plate{grid-template-columns:1fr}}
.w3-instr{text-align:left;border:1px solid var(--line);border-radius:var(--radius);background:var(--card);padding:14px 16px;margin:0 0 14px}
.w3-instr h3{margin:0 0 8px;font:700 14px/1.2 Manrope,sans-serif;color:var(--text)}
.w3-instr ol{margin:0;padding-left:20px;color:var(--muted);font-size:13.5px;line-height:1.65}
.w3-instr b{color:var(--text)}

@media(max-width:1024px){.w3-co-grid{grid-template-columns:1fr}}
@media(min-width:1025px){.w3-summary{position:sticky;top:14px;max-height:calc(100vh - 28px);overflow-y:auto}}

/* ============================================================
   ЭТАП 3 / AGENT-E — подарочные сертификаты (§3.19/§5.7 ТЗ v2.1)
   ============================================================ */
/* Строка подарочного сертификата в корзине: без ссылки на товар, с пометкой */
.w3-line-cert .w3-line-img{background:rgba(255,106,43,.07);border:1px dashed rgba(255,106,43,.45);border-radius:12px;min-height:64px}
.w3-cert-ph{display:inline-flex;align-items:center;justify-content:center;width:64px;min-height:64px;font-size:28px}
.w3-cert-tag{font-style:normal;font-size:11px;color:var(--accent);border:1px solid rgba(255,106,43,.45);
  border-radius:999px;padding:2px 8px;vertical-align:middle;white-space:nowrap}
/* Поле «Код сертификата» — как промокод (w3-cpn-form), плюс состояния ok/err (w3-cpn-state у AGENT-D) */
input[name="cert_code"]{letter-spacing:.06em}
/* Плашка рассрочки: ссылка на лендинг /installment */
.w3-inst a{color:var(--accent);font-weight:700;text-decoration:underline;text-underline-offset:2px}
.w3-inst a:hover{color:var(--accent-2, var(--accent))}

/* ============================================================
   ЭТАП 4 / AGENT-G — инфраструктура кабинета (ТЗ v2.1)
   QR-код на виртуальной карте (§3.13, решение 37)
   ============================================================ */
.wallet-qr-wrap{display:flex;flex-direction:column;align-items:center;gap:8px;margin:16px 0 6px}
.wallet-qr{display:flex;align-items:center;justify-content:center;background:#fff;border-radius:12px;padding:10px;width:max-content}
.wallet-qr img,.wallet-qr canvas{display:block;width:132px;height:132px}
.wallet-qr-wrap .co-note{text-align:center}


/* ============================================================
   ЭТАП 4 / AGENT-F — личный кабинет (ТЗ v2.1 §3.12/§3.13, §5.5/§5.8)
   Дашборд %-модель, заказы (таймлайн/повторить/чек/отмена), история,
   избранное, скидка+рефералка, адреса/уведомления/сессии/удаление (UI)
   ============================================================ */

/* ---------- каркас кабинета ---------- */
.acc4{display:grid;grid-template-columns:250px minmax(0,1fr);gap:26px;align-items:start;margin:14px 0 34px}
.acc4-side{position:sticky;top:86px}
.acc4-user{display:flex;gap:12px;align-items:center;margin-bottom:14px}
.acc4-ava{width:46px;height:46px;flex:0 0 auto;border-radius:50%;display:flex;align-items:center;justify-content:center;
  background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-weight:800;font-size:19px}
.acc4-ava-lg{width:58px;height:58px;font-size:24px}
.acc4-user-t{display:flex;flex-direction:column;min-width:0}
.acc4-user-t b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc4-user-t small{color:var(--muted);font-size:12.5px}
.acc4-nav{display:flex;flex-direction:column;gap:4px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:8px}
.acc4-nav button,.acc4-nav a{display:flex;align-items:center;gap:8px;width:100%;text-align:left;padding:10px 12px;border:0;border-radius:10px;
  background:none;color:var(--muted);font:600 13.5px inherit;cursor:pointer;text-decoration:none}
.acc4-nav button:hover,.acc4-nav a:hover{background:rgba(255,106,58,.07);color:var(--text)}
.acc4-nav button.on{background:rgba(255,106,58,.13);color:var(--accent)}
.acc4-n{margin-left:auto;font-size:11px;font-weight:700;min-width:20px;height:20px;padding:0 6px;border-radius:999px;
  background:rgba(154,154,166,.18);color:var(--muted);display:inline-flex;align-items:center;justify-content:center}
.acc4-n-unread{background:var(--accent);color:#fff}
.acc4-exit{color:#e06c5c !important;margin-top:4px;border-top:1px solid var(--line);border-radius:0 0 10px 10px !important}
.acc4-saved{margin-bottom:14px}
.acc4-main{min-width:0}
.acc4-main .acc-pane{display:none}
.acc4-main .acc-pane.on{display:block;animation:acc4fade .25s ease}
@keyframes acc4fade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}

/* ---------- общие элементы ---------- */
.acc4-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px;margin-bottom:14px;
  display:flex;flex-direction:column;gap:8px;align-items:flex-start}
.acc4-card-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.acc4-card-sub{font-size:13px;color:var(--text)}
.acc4-muted{color:var(--muted);font-size:12.5px}
.acc4-h3{margin:18px 0 10px;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--muted)}
.acc4-link{color:var(--accent);font-size:12.5px;font-weight:600;text-decoration:none;margin-left:auto}
.acc4-link:hover{text-decoration:underline}
.btn-sm{padding:7px 13px;font-size:12.5px;border-radius:9px}
.btn-danger{background:linear-gradient(90deg,#e05252,#e06c5c);color:#fff}
.btn-danger:hover{filter:brightness(1.08)}
.btn-danger-ghost{background:transparent;border:1px solid rgba(224,92,92,.5);color:#e06c5c}
.btn-danger-ghost:hover{background:rgba(224,92,92,.1)}
.acc4-empty{display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;padding:34px 16px;
  background:var(--card);border:1px dashed var(--line);border-radius:14px;color:var(--muted)}
.acc4-empty svg{width:52px;height:52px;color:var(--line);margin-bottom:4px}
.acc4-empty p{margin:0;font-size:14px;color:var(--text)}
.acc4-warn{font-size:12.5px;color:#ffb43c;background:rgba(255,180,60,.09);border:1px solid rgba(255,180,60,.3);
  border-radius:10px;padding:9px 12px;margin:10px 0}
.acc4-cancelled-note{font-size:13px;color:#e06c5c;background:rgba(224,92,92,.09);border:1px solid rgba(224,92,92,.3);
  border-radius:10px;padding:9px 12px;margin:10px 0}

/* ---------- дашборд ---------- */
.acc4-dash{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.acc4-discount{background:linear-gradient(135deg,rgba(255,106,58,.16),rgba(255,138,82,.05));border-color:rgba(255,106,58,.4)}
.acc4-discount-num{font-size:56px;font-weight:800;line-height:1;color:var(--accent);letter-spacing:-.02em}
.acc4-discount-num small{font-size:26px;font-weight:700;margin-left:2px}
.acc4-level-name{font-size:22px;font-weight:800}
.acc4-discount-sm{font-size:26px;font-weight:800;color:var(--accent)}
.acc4-level-row{display:flex;align-items:baseline;gap:12px}
.acc4-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin:14px 0}
.acc4-perk{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:3px}
.acc4-perk svg{width:22px;height:22px;color:var(--accent);margin-bottom:5px}
.acc4-perk b{font-size:13px}
.acc4-perk small{font-size:12px;color:var(--muted)}
.acc4-lastorder-head{display:flex;align-items:center;width:100%;gap:10px}
.acc4-lastorder-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap;font-size:13.5px;width:100%}

/* ---------- таймлайн заказа: текущий шаг пульсирует (§3.13) ---------- */
.acc-track{margin:12px 0}
.acc-track li.cur{color:var(--text);font-weight:700}
.acc-track li.cur::before{border-color:var(--accent);background:var(--card);animation:acc4pulse 1.6s ease-in-out infinite}
@keyframes acc4pulse{
  0%,100%{box-shadow:0 0 0 3px rgba(255,106,58,.16);border-color:var(--accent)}
  50%{box-shadow:0 0 0 7px rgba(255,106,58,.3);border-color:var(--accent)}
}
.acc-track-mini{margin:6px 0 2px}

/* ---------- заказы ---------- */
.acc4-oitems{list-style:none;margin:10px 0;padding:0;display:flex;flex-direction:column;gap:8px}
.acc4-oitems li{display:flex;align-items:center;gap:10px;font-size:13.5px}
.acc4-oimg{width:38px;height:38px;object-fit:contain;border-radius:8px;background:var(--bg);border:1px solid var(--line);flex:0 0 auto}
.acc4-oiname{flex:1;min-width:0}
.acc4-oiname small{color:var(--muted)}
.acc4-oqty{color:var(--muted);white-space:nowrap}
.acc4-osummary{border-top:1px dashed var(--line);margin-top:10px;padding-top:8px;display:flex;flex-direction:column;gap:4px;width:100%;max-width:420px}
.acc4-osummary>div{display:flex;justify-content:space-between;gap:12px;font-size:13px;color:var(--muted)}
.acc4-osummary>div b{color:var(--text);font-variant-numeric:tabular-nums}
.acc4-osummary .acc4-ototal{font-size:14.5px;font-weight:700;margin-top:3px;padding-top:6px;border-top:1px solid var(--line)}
.acc4-osummary .acc4-ototal b{color:var(--accent)}
.acc4-oactions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}

/* ---------- история покупок ---------- */
.acc4-hist-filters{display:flex;gap:10px;margin:12px 0;flex-wrap:wrap}
.acc4-hist-filters input[type=search]{flex:1;min-width:200px;background:var(--card);border:1px solid var(--line);border-radius:10px;
  color:var(--text);font:13.5px inherit;padding:9px 12px;outline:none}
.acc4-hist-filters input[type=search]:focus{border-color:var(--accent)}
.acc4-hist-filters select{background:var(--card);border:1px solid var(--line);border-radius:10px;color:var(--text);
  font:13px inherit;padding:9px 10px;outline:none}
.acc4-check-hint{font-size:11.5px;color:var(--muted)}
.acc4-hist-more{margin:14px 0;display:flex;align-items:center;gap:12px}
.acc4-hist-hide{display:none !important}
.acc4-replenish{background:rgba(255,106,58,.06);border:1px solid rgba(255,106,58,.28);border-radius:14px;padding:14px 16px;margin-bottom:14px}
.acc4-replenish .acc4-h3{margin-top:0;color:var(--accent)}
.acc4-replenish-note{font-size:11.5px;color:var(--muted);margin:2px 0 10px}
.acc4-replenish .acc-prow:last-of-type{margin-bottom:0}

/* ---------- компактная строка товара ---------- */
.acc-prow{display:flex;align-items:center;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 12px;margin-bottom:8px}
.acc-prow-img{width:52px;height:52px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;background:var(--bg);border-radius:9px;border:1px solid var(--line)}
.acc-prow-img img{max-width:44px;max-height:44px;object-fit:contain}
.acc-prow-mid{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.acc-prow-name{font-size:13.5px;font-weight:600;color:var(--text);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.acc-prow-name:hover{color:var(--accent)}
.acc-prow-price{font-size:13px;color:var(--accent);font-weight:700}
.acc-prow-act{flex:0 0 auto}

/* ---------- избранное ---------- */
.acc4-wish{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:12px;margin-top:12px}
.aw-card{position:relative;background:var(--card);border:1px solid var(--line);border-radius:13px;overflow:hidden;
  display:flex;flex-direction:column;transition:border-color .2s}
.aw-card:hover{border-color:rgba(255,106,58,.4)}
.aw-card-img{position:relative;display:block;background:var(--bg);aspect-ratio:1;text-align:center}
.aw-card-img img{width:100%;height:100%;object-fit:contain}
.aw-badge-drop{position:absolute;left:8px;top:8px;font-size:10.5px;font-weight:800;padding:4px 8px;border-radius:999px;
  background:var(--accent);color:#fff;box-shadow:0 3px 10px rgba(255,106,58,.4)}
.aw-card-x{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line);
  background:rgba(13,13,15,.72);color:var(--muted);cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:2}
.aw-card-x svg{width:14px;height:14px}
.aw-card-x:hover{color:#e06c5c;border-color:rgba(224,92,92,.5)}
.aw-card-body{padding:11px 12px 12px;display:flex;flex-direction:column;gap:7px;flex:1}
.aw-card-name{font-size:13px;font-weight:600;color:var(--text);text-decoration:none;line-height:1.35;
  display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:2.7em}
.aw-card-name:hover{color:var(--accent)}
.aw-card-price{display:flex;align-items:baseline;gap:8px;font-size:14.5px}
.aw-card-price b{color:var(--accent);font-weight:800}
.aw-card-price s{color:var(--muted);font-size:12px}
.aw-card-act{margin-top:auto;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.aw-oos{font-size:12px}
.aw-card.aw-off{opacity:.45;pointer-events:none;transition:opacity .3s}
.pimg-blur{filter:blur(7px)}

/* ---------- скидка и уровень ---------- */
.acc4-level-big .loy-bar{width:100%}
.acc4-levels{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:12px}
.acc4-lvl{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 14px;display:flex;flex-direction:column;gap:2px}
.acc4-lvl b{font-size:14px}
.acc4-lvl span{font-size:19px;font-weight:800;color:var(--accent)}
.acc4-lvl small{font-size:11.5px;color:var(--muted)}
.acc4-lvl.on{border-color:rgba(255,106,58,.55);background:rgba(255,106,58,.07)}
.acc4-referral{border-color:rgba(255,106,58,.35)}
.acc4-ref-row{display:flex;gap:8px;align-items:center;width:100%;flex-wrap:wrap}
.acc4-ref-link{flex:1;min-width:200px;font-size:12.5px;background:var(--bg);border:1px dashed var(--line);border-radius:9px;
  padding:8px 11px;color:var(--text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* ---------- адреса ---------- */
.acc4-addr-list{display:flex;flex-direction:column;gap:10px;margin:12px 0;min-height:24px}
.acc4-addr{display:flex;gap:12px;align-items:flex-start;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px}
.acc4-addr-main{flex:1;min-width:0}
.acc4-addr-main b{font-size:13.5px}
.acc4-addr-main small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.acc4-addr-default{font-size:10.5px;font-weight:700;color:var(--accent);border:1px solid rgba(255,106,58,.45);
  border-radius:999px;padding:2px 8px;margin-left:8px;white-space:nowrap}
.acc4-addr-act{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}
.acc4-addr-form{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:16px;margin:12px 0;display:flex;flex-direction:column;gap:10px}
.acc4-addr-form[hidden]{display:none}

/* ---------- уведомления ---------- */
.acc4-nfilters{display:flex;gap:6px;flex-wrap:wrap;margin:12px 0;align-items:center}
.acc4-nfilters button{padding:7px 13px;border-radius:999px;border:1px solid var(--line);background:var(--card);
  color:var(--muted);font:600 12.5px inherit;cursor:pointer}
.acc4-nfilters button.on{background:rgba(255,106,58,.13);border-color:rgba(255,106,58,.5);color:var(--accent)}
.acc4-nfilters .acc4-nread{margin-left:auto;border-style:dashed}
.acc4-nlist{display:flex;flex-direction:column;gap:8px;min-height:24px}
.acc4-nitem{display:flex;gap:12px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:13px 15px;
  text-decoration:none;color:inherit;position:relative}
.acc4-nitem:hover{border-color:rgba(255,106,58,.4)}
.acc4-nitem.unread{border-left:3px solid var(--accent)}
.acc4-nitem.unread::after{content:'';position:absolute;right:12px;top:14px;width:8px;height:8px;border-radius:50%;background:var(--accent)}
.acc4-nitem-ico{width:36px;height:36px;flex:0 0 auto;border-radius:10px;background:rgba(255,106,58,.1);color:var(--accent);
  display:flex;align-items:center;justify-content:center}
.acc4-nitem-ico svg{width:18px;height:18px}
.acc4-nitem-mid{flex:1;min-width:0}
.acc4-nitem-mid b{font-size:13.5px;display:block;padding-right:18px}
.acc4-nitem-mid p{margin:3px 0 0;font-size:12.5px;color:var(--muted);line-height:1.5}
.acc4-nitem-mid small{font-size:11px;color:var(--muted)}
.acc4-nmore{margin:12px 0;text-align:center}

/* ---------- настройки: тумблеры ---------- */
#profile-form .pf-fio{display:flex;gap:10px}
#profile-form .pf-fio .co-field{flex:1;min-width:0}
#profile-form .pf-addr-grid,.acc4-addr-form .pf-addr-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}
#profile-form .pf-wide,.acc4-addr-form .pf-wide{grid-column:1/-1}
#profile-form .pf-check,.acc4-addr-form .pf-check{display:flex;align-items:center;gap:8px;font-size:13px;margin:6px 0;cursor:pointer}
#profile-form .pf-check input,.acc4-addr-form .pf-check input{width:16px;height:16px;accent-color:var(--accent)}
.acc4-set-profile{display:flex;gap:14px;align-items:center;margin-bottom:12px}
.acc4-phone-row{display:flex;align-items:center;gap:10px}
.acc4-phone-row input{flex:1}
.acc4-verified{font-style:normal;font-size:10.5px;font-weight:700;color:var(--ok);border:1px solid rgba(52,199,89,.45);
  background:rgba(52,199,89,.1);border-radius:999px;padding:3px 9px;white-space:nowrap}
.acc4-toggle{display:flex;align-items:center;gap:11px;font-size:13.5px;padding:8px 0;cursor:pointer}
.acc4-toggle input{position:absolute;opacity:0;pointer-events:none}
.acc4-tg{width:40px;height:23px;flex:0 0 auto;border-radius:999px;background:rgba(154,154,166,.25);position:relative;transition:background .2s}
.acc4-tg::after{content:'';position:absolute;top:2.5px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 4px rgba(0,0,0,.4)}
.acc4-toggle input:checked+.acc4-tg{background:var(--accent)}
.acc4-toggle input:checked+.acc4-tg::after{left:19px}
.acc4-toggle input:focus-visible+.acc4-tg{outline:2px solid var(--accent);outline-offset:2px}

/* ---------- сессии ---------- */
.acc4-sess-list{display:flex;flex-direction:column;gap:8px;margin:10px 0;min-height:24px}
.acc4-sess{display:flex;gap:12px;align-items:center;background:var(--bg);border:1px solid var(--line);border-radius:11px;padding:11px 13px;font-size:13px}
.acc4-sess-mid{flex:1;min-width:0}
.acc4-sess-mid b{font-size:13px}
.acc4-sess-mid small{display:block;color:var(--muted);font-size:11.5px;margin-top:1px}
.acc4-sess-cur{font-size:10.5px;font-weight:700;color:var(--ok);border:1px solid rgba(52,199,89,.45);border-radius:999px;padding:2px 8px;white-space:nowrap}
#acc-sess-kill{margin-top:4px}

/* ---------- опасная зона ---------- */
.acc4-danger{margin-top:18px;background:rgba(224,92,92,.06);border:1px solid rgba(224,92,92,.35);border-radius:14px;padding:16px 18px}
.acc4-danger .acc4-h3{margin-top:0;color:#e06c5c}

/* ---------- модалки ---------- */
.acc4-modal{position:fixed;inset:0;z-index:200;background:rgba(6,6,9,.7);backdrop-filter:blur(3px);
  display:flex;align-items:center;justify-content:center;padding:18px}
.acc4-modal[hidden]{display:none}
.acc4-modal-box{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;max-width:440px;width:100%;
  max-height:88vh;overflow:auto;box-shadow:0 24px 70px rgba(0,0,0,.5)}
.acc4-modal-box h3{margin:0 0 12px;font-size:17px}
.acc4-reasons{display:flex;flex-direction:column;gap:6px;margin:6px 0 10px}
.acc4-radio{display:flex;align-items:center;gap:10px;font-size:13.5px;padding:9px 12px;border:1px solid var(--line);
  border-radius:10px;cursor:pointer}
.acc4-radio:has(input:checked){border-color:rgba(255,106,58,.55);background:rgba(255,106,58,.07)}
.acc4-radio input{accent-color:var(--accent);width:16px;height:16px}

/* ---------- вход: код-поле и подвал ---------- */
.al-code{font-size:22px !important;letter-spacing:.45em;font-weight:700;text-align:center}
.al-login-foot{margin-top:14px;padding-top:12px;border-top:1px solid var(--line);display:flex;flex-direction:column;gap:10px}
.al-login-foot .co-note{font-size:11.5px;margin:0}
.al-login-foot a{color:var(--accent)}

/* ---------- индикатор загрузки покупок (перенесён из инлайн-стилей кабинета) ---------- */
.loy-loading{display:flex;gap:12px;align-items:flex-start;background:#1b1c22;border:1px dashed #33343f;border-radius:12px;
  padding:14px 16px;margin-top:4px;text-align:left;width:100%}
.loy-spin{width:22px;height:22px;border-radius:50%;border:3px solid #33343f;border-top-color:#FF7A2D;animation:loyspin 1s linear infinite;flex:0 0 auto;margin-top:2px;display:inline-block}
@keyframes loyspin{to{transform:rotate(360deg)}}
.loy-loading-t b{display:block;color:#f2f2f5;font-size:13.5px;margin-bottom:3px}
.loy-loading-t .co-note{font-size:12.5px}

/* ---------- форма «не вижу покупку» (перенесена из инлайн-стилей кабинета) ---------- */
.claim-soft{margin-top:14px;background:#16171c;border:1px dashed #2c2c36;border-radius:14px;padding:4px}
.claim-toggle{display:flex;gap:12px;align-items:flex-start;width:100%;background:none;border:0;color:var(--text,#e8e8ee);
  text-align:left;padding:14px 16px;cursor:pointer;font:14px/1.5 inherit}
.claim-toggle b{font-size:13.5px}
.claim-toggle small{color:#8b8b96;font-size:12.5px}
.claim-dot{width:9px;height:9px;border-radius:50%;background:#3a3a45;flex:0 0 auto;margin-top:6px;transition:background .2s}
.claim-toggle:hover .claim-dot{background:#ff8a52}
.claim-arrow{margin-left:auto;color:#6b6b76;transition:transform .2s;flex:0 0 auto}
.claim-soft.open .claim-arrow{transform:rotate(180deg)}
#claim-form{padding:0 16px 16px;display:flex;flex-direction:column;gap:10px}
#claim-form[hidden]{display:none}
#claim-form textarea,#claim-form input,#claim-form select{width:100%;background:#101116;border:1px solid #2e2e38;border-radius:10px;
  color:#eceef2;font:13.5px system-ui;padding:10px 12px;outline:none}
#claim-form textarea:focus,#claim-form input:focus,#claim-form select:focus{border-color:#FF7A2D}
.claim-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.claim-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.claim-done{color:#3ecf6e;font-size:13px}

/* ---------- адаптив ---------- */
@media (max-width:1023px){
  .acc4{grid-template-columns:1fr}
  .acc4-side{position:static}
  .acc4-user{display:none}
  .acc4-nav{flex-direction:row;overflow-x:auto;gap:6px;padding:8px;scrollbar-width:none}
  .acc4-nav::-webkit-scrollbar{display:none}
  .acc4-nav button,.acc4-nav a{width:auto;white-space:nowrap;padding:9px 13px}
  .acc4-nav button.on{order:-1}
  .acc4-exit{border-top:0;margin-top:0;border-radius:10px !important}
  .acc4-dash{grid-template-columns:1fr}
  .acc4-perks{grid-template-columns:1fr 1fr}
  .acc4-levels{grid-template-columns:1fr 1fr}
  .acc4-discount-num{font-size:44px}
}
@media (max-width:560px){
  #profile-form .pf-fio{flex-direction:column;gap:0}
  #profile-form .pf-addr-grid,.acc4-addr-form .pf-addr-grid,.claim-row{grid-template-columns:1fr}
  .acc4-wish{grid-template-columns:1fr 1fr;gap:8px}
  .acc4-oactions .btn{flex:1;justify-content:center}
  .acc4-nfilters .acc4-nread{margin-left:0;width:100%}
}

/* ==================== ЭТАП 5 / AGENT-I: акции блога + глитч-404 (ТЗ v2.1 §3.18/§3.25) ==================== */

/* ---------- /blog: табы + чипы акций ---------- */
.blog-tabs{display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px}
.blog-tab{padding:9px 16px;border-radius:999px;border:1px solid var(--line);color:var(--muted);font-size:13.5px;font-weight:600;text-decoration:none;transition:border-color .2s,color .2s}
.blog-tab:hover{border-color:var(--accent);color:var(--text,#e8e8ee)}
.blog-tab.on{background:var(--accent);border-color:var(--accent);color:#fff}
.blog-item-top{display:flex;align-items:center;gap:8px;margin:0 0 6px}
.blog-kind{display:inline-block;padding:3px 9px;border-radius:999px;font-size:11px;font-weight:700;letter-spacing:.3px}
.blog-kind.promo{background:rgba(255,106,43,.14);color:var(--accent);border:1px solid rgba(255,106,43,.4)}
.blog-kind.news{background:rgba(120,170,255,.12);color:#8ab4ff;border:1px solid rgba(120,170,255,.35)}
.blog-promo-chip{display:flex;align-items:center;gap:8px;margin-top:10px;flex-wrap:wrap}
.blog-days{display:inline-block;padding:4px 10px;border-radius:999px;background:rgba(255,106,43,.12);border:1px dashed rgba(255,106,43,.5);color:var(--accent);font-size:12px;font-weight:700}
.blog-copy{display:inline-block;padding:7px 13px;border-radius:9px;border:1px solid var(--line);background:#101116;color:var(--text,#e8e8ee);font:600 12.5px/1 inherit;cursor:pointer;transition:border-color .2s,color .2s}
.blog-copy:hover{border-color:var(--accent);color:var(--accent)}
.blog-list.sm{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}

/* ---------- детальная акция ---------- */
.promo-page{max-width:900px}
.promo-hero{position:relative;border-radius:var(--radius,14px);overflow:hidden;border:1px solid var(--line);background:var(--card,#17171b);margin-bottom:18px}
.promo-hero-img{display:block;width:100%;max-height:340px;object-fit:cover;opacity:.5}
.promo-hero-in{position:relative;padding:26px 26px 22px;background:linear-gradient(180deg,transparent,rgba(13,13,15,.92) 40%)}
.promo-hero-img + .promo-hero-in{margin-top:-90px}
.promo-hero-in h1{margin:10px 0 14px;font-size:30px;line-height:1.25}
.promo-timer{display:inline-flex;align-items:center;gap:12px;padding:10px 16px;border-radius:12px;background:rgba(255,106,43,.1);border:1px solid rgba(255,106,43,.4)}
.promo-timer.off{background:#16171c;border-color:var(--line)}
.promo-timer-cap{font-size:12.5px;font-weight:700;color:var(--accent);text-transform:uppercase;letter-spacing:.4px}
.promo-timer.off .promo-timer-cap{color:var(--muted)}
.promo-timer-digits b{display:inline-block;min-width:34px;padding:6px 8px;border-radius:8px;background:#0d0d0f;border:1px solid var(--line);font-size:19px;font-weight:800;color:#fff;text-align:center;font-variant-numeric:tabular-nums}
.promo-timer-digits i{font-style:normal;font-size:11px;color:var(--muted);margin:0 6px 0 2px}
.promo-code-box{margin:0 0 18px;padding:20px 22px;border-radius:var(--radius,14px);background:linear-gradient(135deg,rgba(255,106,43,.12),rgba(255,106,43,.03));border:1px dashed rgba(255,106,43,.5)}
.promo-code-label{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--muted);margin-bottom:8px}
.promo-code-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.promo-code{font-size:30px;font-weight:800;letter-spacing:3px;color:var(--accent)}
.promo-code-hint{margin-top:10px;font-size:13px;color:var(--muted)}
.promo-terms{margin:0 0 22px}
.promo-terms h2,.promo-products h2{margin:0 0 12px;font-size:21px}
.promo-products{margin:0 0 22px}
.promo-cta{display:flex;gap:12px;flex-wrap:wrap;margin:0 0 30px}

/* ---------- статья: мета/теги/оглавление/поделиться ---------- */
.article-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px;font-size:13px;color:var(--muted)}
.article-tag{padding:3px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px;color:var(--text,#e8e8ee)}
.article-toc{margin:0 0 18px;padding:16px 20px;border-radius:var(--radius,14px);background:var(--card,#17171b);border:1px solid var(--line)}
.article-toc-t{font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.4px;color:var(--muted);margin-bottom:8px}
.article-toc ol{margin:0;padding-left:20px}
.article-toc li{margin:4px 0;font-size:14px}
.article-toc a{color:var(--accent);text-decoration:none}
.article-toc a:hover{text-decoration:underline}
.article-share{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:22px 0;padding:14px 0;border-top:1px solid var(--line);font-size:13.5px;color:var(--muted)}
.article-share a{color:var(--accent);text-decoration:none;font-weight:600}
.article-share a:hover{text-decoration:underline}
.article-share-copy{padding:7px 13px;border-radius:9px;border:1px solid var(--line);background:#101116;color:var(--text,#e8e8ee);font:600 12.5px/1 inherit;cursor:pointer}
.article-share-copy:hover{border-color:var(--accent);color:var(--accent)}
.blog-similar{margin:0 0 30px}

/* ---------- 404: глитч-цифра (ТЗ v2.1 §3.25) ---------- */
.nf-glitch{position:relative;display:inline-block;font-size:120px;font-weight:800;line-height:1;letter-spacing:6px;color:transparent;-webkit-text-stroke:2px var(--accent)}
.nf-glitch::before,.nf-glitch::after{content:attr(data-text);position:absolute;inset:0;-webkit-text-stroke:0;opacity:.75;pointer-events:none}
.nf-glitch::before{color:#ff453a;transform:translate(-3px,0);animation:nfglitch 2.6s infinite linear alternate;mix-blend-mode:screen}
.nf-glitch::after{color:#4d9fff;transform:translate(3px,0);animation:nfglitch 3.1s infinite linear alternate-reverse;mix-blend-mode:screen}
@keyframes nfglitch{
  0%,86%,100%{clip-path:inset(0 0 100% 0);transform:translate(0,0)}
  88%{clip-path:inset(12% 0 58% 0);transform:translate(-4px,1px)}
  90%{clip-path:inset(48% 0 22% 0);transform:translate(4px,-1px)}
  92%{clip-path:inset(70% 0 8% 0);transform:translate(-3px,0)}
  94%{clip-path:inset(28% 0 44% 0);transform:translate(3px,1px)}
  96%{clip-path:inset(0 0 86% 0);transform:translate(0,0)}
}
@media (max-width:640px){
  .nf-glitch{font-size:76px}
  .promo-hero-in h1{font-size:24px}
  .promo-code{font-size:24px}
  .promo-timer-digits b{min-width:28px;font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .nf-glitch::before,.nf-glitch::after{animation:none;opacity:.35}
}


/* ============================================================
   ЭТАП 5 / AGENT-H — контент-страницы + карта магазинов
   (ТЗ v2.1 §3.14–3.17/§3.22/§3.23/§5.3): /shops, /contacts,
   /delivery, /payment, /loyalty, /vacancies, /about, /page,
   карта window.shopMap (Leaflet + CartoDB / Яндекс по ключу).
   ============================================================ */

/* ---------- общее ---------- */
.s5-hero{margin:6px 0 22px}
.s5-hero h1{font-size:32px;line-height:40px;margin:0 0 8px}
.s5-hero h1 span{background:var(--accent);-webkit-background-clip:text;background-clip:text;color:transparent}
.s5-hero p{margin:0;color:var(--muted);font-size:15px;line-height:1.6}
.s5-h2{font-size:20px;margin:0 0 14px}
.s5-h2-wide{margin:30px 0 14px}
.s5-panel{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px 22px}
.s5-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);border-radius:999px;padding:6px 12px;font:600 12.5px/1.3 Manrope,sans-serif;color:var(--muted);background:var(--bg2)}
.s5-chip-dim{opacity:.8}
a.s5-chip{color:var(--muted);text-decoration:none}
a.s5-chip:hover{border-color:var(--accent);color:var(--text)}
.s5-note{font-size:12px;color:var(--muted);margin:10px 0 0}
.s5-note a{color:var(--accent)}
.s5-note-wide{margin:10px 4px 0}
.s5-flash{border-radius:12px;padding:12px 14px;font-size:13.5px;margin-bottom:14px}
.s5-flash.ok{background:rgba(52,199,89,.1);border:1px solid rgba(52,199,89,.4);color:#7ee2a0}
.s5-flash.err{background:rgba(255,69,58,.08);border:1px solid rgba(255,69,58,.4);color:#ff9d96}
.s5-linklike{background:none;border:0;color:var(--accent);font:600 12.5px/1.4 Manrope,sans-serif;cursor:pointer;padding:0;text-decoration:underline;text-underline-offset:3px}
.s5-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;opacity:0;pointer-events:none}

/* ---------- /shops: табы города ---------- */
.s5-tabs{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.s5-tab{border:1px solid var(--line);background:var(--card);color:var(--muted);border-radius:999px;padding:10px 18px;font:700 13px/1 Manrope,sans-serif;cursor:pointer;transition:border-color .15s,color .15s}
.s5-tab:hover{border-color:var(--accent);color:var(--text)}
.s5-tab.on{border-color:var(--accent);background:rgba(255,106,43,.12);color:var(--accent)}

/* ---------- карта ---------- */
.s5-map-wrap{position:relative;border:1px solid var(--line);border-radius:var(--radius-lg);overflow:hidden;background:var(--bg2)}
.s5-map{height:400px;width:100%}
.s5-map-wrap-contacts{margin:22px 0}
.s5-map-expand{display:none;position:absolute;right:12px;bottom:12px;z-index:500;align-items:center;gap:8px;
  background:var(--card);border:1px solid var(--line);border-radius:12px;color:var(--text);
  font:700 12.5px/1 Manrope,sans-serif;padding:11px 14px;cursor:pointer;box-shadow:var(--shadow)}
.s5-map-expand svg{width:15px;height:15px;color:var(--accent)}
.s5-map-sheet{position:fixed;inset:0;z-index:97;background:var(--bg);display:flex;flex-direction:column}
.s5-map-sheet[hidden]{display:none}
.s5-map-sheet-head{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid var(--line);background:var(--bg2)}
.s5-map-sheet-head b{font-size:16px}
.s5-map-sheet-x{width:36px;height:36px;border:1px solid var(--line);border-radius:10px;background:none;color:var(--muted);cursor:pointer;font-size:15px}
.s5-map-sheet-body{flex:1;position:relative}
.s5-map-sheet-body .s5-map{height:100%}
.leaflet-container{background:#101014;font-family:Manrope,sans-serif}
.leaflet-control-attribution{background:rgba(23,23,27,.85)!important;color:#6b6b76!important;font-size:10px}
.leaflet-control-attribution a{color:#8b8b96!important}
.leaflet-control-zoom a{background:var(--card)!important;color:var(--text)!important;border-color:var(--line)!important}
.leaflet-popup-content-wrapper{background:var(--card);color:var(--text);border-radius:12px;border:1px solid var(--line);box-shadow:var(--shadow)}
.leaflet-popup-tip{background:var(--card);border:1px solid var(--line)}
.leaflet-popup-content{margin:12px 16px;font-size:13px;line-height:1.45}
.leaflet-popup-content b{color:var(--accent)}
/* пин магазина (divIcon) */
.s5-pin{position:relative;width:30px;height:30px;border-radius:50% 50% 50% 4px;transform:rotate(-45deg);
  background:linear-gradient(135deg,var(--accent2),var(--accent));border:2px solid #fff3;box-shadow:0 6px 16px rgba(0,0,0,.5);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s}
.s5-pin b{transform:rotate(45deg);color:#fff;font:800 12px/1 Manrope,sans-serif}
.s5-pin.on{transform:rotate(-45deg) scale(1.18);border-color:#fff;z-index:1000!important}

/* ---------- /shops: карточки магазинов ---------- */
.s5-shops{display:flex;flex-direction:column;gap:14px;margin-top:18px}
.s5-shop{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;transition:border-color .15s,box-shadow .15s;scroll-margin-top:90px}
.s5-shop.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),0 14px 40px rgba(255,106,43,.08)}
.s5-shop[hidden]{display:none}
.s5-shop-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}
.s5-shop-title{font-size:18px;margin:0}
.s5-shop-badges{display:flex;gap:8px;flex-wrap:wrap}
.s5-badge{border-radius:999px;padding:5px 11px;font:700 11px/1 Manrope,sans-serif;white-space:nowrap}
.s5-badge.ok{background:rgba(52,199,89,.12);border:1px solid rgba(52,199,89,.45);color:#7ee2a0}
.s5-badge.open{background:rgba(52,199,89,.12);border:1px solid rgba(52,199,89,.45);color:#7ee2a0}
.s5-badge.closed{background:rgba(255,214,10,.08);border:1px solid rgba(255,214,10,.4);color:var(--warn)}
.s5-shop-info{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.s5-shop-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:14px}
.s5-shop-actions .btn{min-height:40px}
.s5-alt-link{font-size:12px;color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.s5-alt-link:hover{color:var(--text)}

/* ---------- /contacts ---------- */
.s5-contact-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:16px;margin-bottom:4px}
.s5-contact-rows{display:flex;flex-direction:column;gap:10px}
.s5-contact-row{display:flex;align-items:center;gap:14px;border:1px solid var(--line);border-radius:12px;padding:13px 15px;color:var(--text);text-decoration:none;transition:border-color .15s}
.s5-contact-row:hover{border-color:var(--accent)}
.s5-contact-row b{display:block;font-size:15px}
.s5-contact-row small{color:var(--muted);font-size:12px}
.s5-ico{width:40px;height:40px;flex:0 0 auto;border-radius:11px;background:rgba(255,106,43,.1);border:1px solid rgba(255,106,43,.35);display:flex;align-items:center;justify-content:center;color:var(--accent)}
.s5-ico svg{width:19px;height:19px}
.s5-soc{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px}
.s5-chat-btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:16px}
.s5-req{margin:0;display:flex;flex-direction:column;gap:0}
.s5-req>div{display:grid;grid-template-columns:150px 1fr;gap:12px;padding:9px 0;border-bottom:1px dashed var(--line)}
.s5-req>div:last-child{border-bottom:0}
.s5-req dt{color:var(--muted);font-size:12.5px}
.s5-req dd{margin:0;font-size:13.5px;word-break:break-word}
.s5-2col{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:22px}
.s5-form{display:flex;flex-direction:column;gap:12px}
.s5-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.s5-field{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
.s5-field input,.s5-field textarea{background:var(--bg);border:1px solid var(--line);border-radius:10px;color:var(--text);font:14px/1.4 Manrope,sans-serif;padding:11px 13px;outline:none;transition:border-color .15s}
.s5-field input:focus,.s5-field textarea:focus{border-color:var(--accent)}
.s5-field textarea{resize:vertical;min-height:90px}
.s5-form .btn{align-self:flex-start;min-height:46px;padding:0 26px}
.s5-mini-shops{display:flex;flex-direction:column;gap:10px}
.s5-mini-shop{border:1px solid var(--line);border-radius:12px;padding:12px 14px;display:flex;flex-direction:column;gap:4px;transition:border-color .15s}
.s5-mini-shop.on,.s5-mini-shop:hover{border-color:var(--accent)}
.s5-mini-shop>b{font-size:14px}
.s5-mini-city{color:var(--muted);font-weight:600}
.s5-mini-shop small{color:var(--muted);font-size:12.5px;line-height:1.5}
.s5-mini-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:4px}
.s5-mini-actions a,.s5-mini-actions button{font-size:12.5px}
.s5-mini-actions a{color:var(--accent);text-decoration:none;font-weight:600}
.s5-mini-actions a:hover{text-decoration:underline}
.s5-all-link{display:inline-block;margin-top:14px;color:var(--accent);font-weight:700;font-size:13.5px;text-decoration:none}
.s5-all-link:hover{text-decoration:underline}

/* ---------- /delivery ---------- */
.s5-editable{margin:0 0 6px;font-size:14px;line-height:1.65;color:var(--muted)}
.s5-editable p{margin:0 0 10px}
.s5-del-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.s5-del-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:10px}
.s5-del-card h2{font-size:17px;margin:0}
.s5-del-ico{width:46px;height:46px;border-radius:13px;background:rgba(255,106,43,.1);border:1px solid rgba(255,106,43,.35);display:flex;align-items:center;justify-content:center;color:var(--accent)}
.s5-del-ico svg{width:22px;height:22px}
.s5-del-sub{margin:0;font-size:13px;color:var(--muted);line-height:1.55}
.s5-list{margin:0;padding-left:18px;font-size:13.5px;line-height:1.65;color:var(--text);display:flex;flex-direction:column;gap:6px}
.s5-disclaimer{margin:auto 0 0;font-size:12.5px;line-height:1.55;color:var(--warn);background:rgba(255,214,10,.06);border:1px solid rgba(255,214,10,.3);border-radius:10px;padding:10px 12px}
.s5-disclaimer-wide{margin:10px 0 0}
.s5-tariff-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--card)}
.s5-tariff{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.s5-tariff th,.s5-tariff td{padding:13px 16px;text-align:left;border-bottom:1px solid var(--line)}
.s5-tariff thead th{color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.05em;background:var(--bg2)}
.s5-tariff tbody tr:last-child td{border-bottom:0}
.s5-tariff td+td,.s5-tariff th+th{text-align:center;white-space:nowrap}
.s5-free{color:var(--ok)}
.s5-tariff .nbrb-icon{font-size:11px}
.s5-pay-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.s5-pay-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px;display:flex;flex-direction:column;gap:8px;color:var(--text);text-decoration:none;transition:border-color .15s}
.s5-pay-card:hover{border-color:var(--accent)}
.s5-pay-card b{font-size:16px}
.s5-pay-card span{font-size:13px;color:var(--muted);line-height:1.55}
.s5-pay-card i,.s5-pay-link{font-style:normal;color:var(--accent);font-weight:700;font-size:13px;margin-top:auto}
a.s5-pay-link{text-decoration:none}

/* ---------- FAQ-аккордеон ---------- */
.s5-faq{display:flex;flex-direction:column;gap:10px}
.s5-faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 16px}
.s5-faq-item summary{list-style:none;cursor:pointer;padding:15px 0;font:700 14px/1.45 Manrope,sans-serif;color:var(--text);display:flex;justify-content:space-between;align-items:center;gap:12px}
.s5-faq-item summary::-webkit-details-marker{display:none}
.s5-faq-item summary::after{content:'+';color:var(--accent);font-size:19px;font-weight:600;flex:0 0 auto;transition:transform .2s}
.s5-faq-item[open] summary::after{transform:rotate(45deg)}
.s5-faq-item p{margin:0 0 15px;font-size:13.5px;line-height:1.65;color:var(--muted)}

/* ---------- /payment: ЕРИП ---------- */
.s5-erip{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:22px 24px}
.s5-erip-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:8px}
.s5-erip-code{border:1px solid rgba(255,106,43,.45);background:rgba(255,106,43,.08);border-radius:12px;padding:10px 16px;text-align:center}
.s5-erip-code small{display:block;font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:3px}
.s5-erip-code b{font-size:22px;letter-spacing:.12em;color:var(--accent)}
.s5-erip-code .s5-linklike{display:block;margin-top:5px;font-size:11.5px}
.s5-steps{list-style:none;margin:14px 0 0;padding:0;display:flex;flex-direction:column;gap:14px}
.s5-steps li{display:flex;gap:14px;align-items:flex-start}
.s5-step-n{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:rgba(255,106,43,.12);border:1px solid rgba(255,106,43,.45);color:var(--accent);font:800 13px/28px Manrope,sans-serif;text-align:center}
.s5-steps b{display:block;font-size:14.5px;margin-bottom:2px}
.s5-steps p{margin:0;font-size:13px;color:var(--muted);line-height:1.55}

/* ---------- /loyalty ---------- */
.s5-loy-cur{background:linear-gradient(135deg,#241a12,#1a1a20);border:1px solid rgba(255,106,43,.4);border-radius:var(--radius-lg);padding:22px 24px;display:flex;align-items:center;gap:26px;flex-wrap:wrap;margin-top:6px}
.s5-loy-num small{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted)}
.s5-loy-num b{font-size:46px;line-height:1;color:var(--accent)}
.s5-loy-num span{display:block;font-size:13px;color:var(--muted);margin-top:4px}
.s5-loy-prog{flex:1;min-width:220px}
.s5-loy-prog p{margin:0 0 8px;font-size:13.5px;color:var(--muted)}
.s5-loy-prog b{color:var(--text)}
.s5-loy-bar{height:8px;border-radius:999px;background:var(--bg);border:1px solid var(--line);overflow:hidden}
.s5-loy-bar i{display:block;height:100%;background:linear-gradient(90deg,var(--accent2),var(--accent));border-radius:999px}
.s5-loy-max{margin:0;font-size:13.5px;color:var(--muted)}
.s5-loy-guest{justify-content:space-between}
.s5-loy-guest p{margin:0;font-size:14.5px}
.s5-loy-ladder{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.s5-loy-step{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px;position:relative;overflow:hidden}
.s5-loy-step.on{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.s5-loy-step.on::after{content:'ваш уровень';position:absolute;top:12px;right:12px;font:700 9.5px/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--accent)}
.s5-loy-pct{display:block;font-size:30px;font-weight:800;color:var(--accent);margin-bottom:6px}
.s5-loy-step b{display:block;font-size:15px}
.s5-loy-step small{display:block;color:var(--muted);font-size:12px;margin-top:2px}
.s5-loy-step p{margin:8px 0 0;font-size:12.5px;color:var(--muted);line-height:1.55}

/* ---------- /vacancies ---------- */
.s5-vac-external{background:var(--card);border:1px dashed rgba(255,106,43,.5);border-radius:var(--radius-lg);padding:18px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}
.s5-vac-external p{margin:0;font-size:14px;color:var(--muted);flex:1;min-width:240px}
.s5-vac-empty{background:var(--card);border:1px dashed var(--line);border-radius:var(--radius-lg);padding:28px;text-align:center;color:var(--muted)}
.s5-vac-empty p{margin:0 0 8px}
.s5-vac-list{display:flex;flex-direction:column;gap:12px}
.s5-vac{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:18px 20px}
.s5-vac-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.s5-vac-head>b{font-size:16.5px}
.s5-vac-salary{color:var(--accent);font-weight:800;font-size:15px;white-space:nowrap}
.s5-vac-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.s5-vac-desc{margin:10px 0 12px;font-size:13.5px;color:var(--muted);line-height:1.6}
.s5-vac-form-panel{margin-top:26px}
.s5-vac-perks{margin-top:30px}
.s5-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.s5-perk{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:16px}
.s5-perk b{display:block;font-size:14px;margin-bottom:4px}
.s5-perk span{font-size:12.5px;color:var(--muted);line-height:1.5}

/* ---------- /about (Д-29; цифры/таймлайн — плейсхолдеры, «КОНТЕНТ ПОЗЖЕ») ---------- */
.s5-about-hero{margin-bottom:26px}
.s5-about-digits{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:8px}
.s5-digit{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:20px;text-align:center}
.s5-digit b{display:block;font-size:34px;font-weight:800;color:var(--accent);line-height:1.1}
.s5-digit span{display:block;margin-top:6px;font-size:12.5px;color:var(--muted)}
.s5-timeline{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}
.s5-tl-item{display:grid;grid-template-columns:86px 1fr;gap:18px;padding:16px 0;border-left:2px solid var(--line);position:relative;padding-left:22px;margin-left:10px}
.s5-tl-item::before{content:'';position:absolute;left:-7px;top:22px;width:12px;height:12px;border-radius:50%;background:var(--accent);box-shadow:0 0 0 4px rgba(255,106,43,.18)}
.s5-tl-year{font-size:16px;font-weight:800;color:var(--accent);padding-top:2px}
.s5-tl-item b{font-size:15px}
.s5-tl-item p{margin:4px 0 0;font-size:13.5px;color:var(--muted);line-height:1.55}
.s5-about-cta{margin-top:30px;background:linear-gradient(135deg,#241a12,#1a1a20);border:1px solid rgba(255,106,43,.4);border-radius:var(--radius-lg);padding:24px;text-align:center}
.s5-about-cta h2{margin:0 0 8px}
.s5-about-cta p{margin:0 auto 16px;max-width:520px;font-size:14px;color:var(--muted);line-height:1.6}
.s5-about-cta-ghost{background:var(--card);border-color:var(--line)}

/* ---------- /page — юридический шаблон (§3.23) ---------- */
.s5-legal{max-width:760px}
.s5-legal h1{margin:6px 0 18px;font-size:30px;line-height:38px}
.s5-toc{background:var(--card);border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px 20px;margin-bottom:20px}
.s5-toc>b{display:block;font-size:12px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);margin-bottom:8px}
.s5-toc ol{margin:0;padding-left:20px;display:flex;flex-direction:column;gap:5px}
.s5-toc a{color:var(--text);font-size:13.5px;text-decoration:none}
.s5-toc a:hover{color:var(--accent)}
.s5-legal .info-body{font-size:14.5px;line-height:1.75;color:#d6d6dd}
.s5-legal .info-body h2{scroll-margin-top:90px;font-size:20px;margin:26px 0 10px}
.s5-legal .info-body a{color:var(--accent)}
.s5-rev{margin:26px 0 0;padding-top:14px;border-top:1px solid var(--line);font-size:12px;color:var(--muted)}

/* ---------- чекаут: карта в моб. шите выбора магазина (М-15) ---------- */
.w3-stores-map{display:none}
@media(max-width:768px){
  .w3-stores-map{display:block;height:210px;border:1px solid var(--line);border-radius:12px;margin-bottom:10px;overflow:hidden}
}

/* ---------- адаптив контент-страниц ---------- */
@media(max-width:1023px){
  .s5-del-cards{grid-template-columns:1fr}
  .s5-pay-cards{grid-template-columns:1fr 1fr}
  .s5-loy-ladder{grid-template-columns:1fr 1fr}
  .s5-perks{grid-template-columns:1fr 1fr}
  .s5-about-digits{grid-template-columns:1fr 1fr}
  .s5-contact-grid,.s5-2col{grid-template-columns:1fr}
}
@media(max-width:768px){
  .s5-hero h1{font-size:24px;line-height:32px}
  .s5-map{height:250px}
  .s5-map-expand{display:inline-flex}
  .s5-pay-cards{grid-template-columns:1fr}
  .s5-form-row{grid-template-columns:1fr}
  .s5-req>div{grid-template-columns:1fr;gap:2px}
  .s5-shop-actions .btn{flex:1;justify-content:center;min-width:130px}
  .s5-erip-head{flex-direction:column}
}

/* hover акцента по ТЗ §2 (журнал 104) */
.btn-primary:hover,.prow-btn:hover,.search button:hover{background:var(--accent-hover)}
.hero-dot.active{background:var(--accent)}

/* Мегаменю по Д-02 (журнал 104): иконки колонок, «смотреть все», промо-карточка с фоном */
.mega-col h5{display:flex;align-items:center;gap:8px}
.mega-ico{display:inline-flex;width:20px;height:20px;color:var(--accent);flex:0 0 auto}
.mega-ico svg{width:20px;height:20px}
.mega-col-all{display:inline-block;margin-top:10px;font-size:12.5px;font-weight:700;color:var(--accent);text-decoration:none}
.mega-col-all:hover{color:var(--accent-hover)}
.mega-promo{position:relative;display:block;border-radius:14px;overflow:hidden;min-height:210px;text-decoration:none;background:#141417 url('/assets/img/design/promo_banner_megamenu.webp') center/cover no-repeat;border:1px solid var(--line)}
.mega-promo-in{position:absolute;inset:auto 0 0 0;display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:linear-gradient(0deg,rgba(10,10,14,.88) 30%,rgba(10,10,14,0))}
.mega-promo-in b{font-size:19px;line-height:1.15;color:#fff}
.mega-promo-in>span{font-size:12.5px;color:rgba(255,255,255,.78)}
.mega-promo-btn{display:inline-block;margin-top:8px;align-self:flex-start;background:var(--accent);color:#fff;font-style:normal;font-size:12.5px;font-weight:700;padding:9px 14px;border-radius:10px}
.mega-promo:hover .mega-promo-btn{background:var(--accent-hover)}
.mega-brands-all{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:700;color:var(--accent);text-decoration:none}
.mega-brands-all:hover{color:var(--accent-hover)}

/* Фото магазинов в карточках /shops (журнал 104) */
.s5-shop-photo{margin-top:12px;border-radius:12px;overflow:hidden;border:1px solid var(--line)}
.s5-shop-photo img{display:block;width:100%;max-height:260px;object-fit:cover}

/* 404-иллюстрация и фон «О компании» (журнал 104) */
.nf-art{display:flex;justify-content:center;margin-bottom:6px}
.nf-art img{width:min(360px,80vw);height:auto;opacity:.95}
.s5-about-hero{position:relative}
.s5-about-hero::before{content:'';position:absolute;inset:0;background:rgba(10,10,14,.55);border-radius:inherit}
.s5-about-hero>*{position:relative;z-index:1}

/* ---------- Hotfix по визуальному аудиту макетов (Этап 6+) ---------- */
/* «Каталог» в шапке — залитая оранжевая (Д-02/Д-03) */
.cat-btn{background:linear-gradient(135deg,var(--accent2),var(--accent));border-color:transparent;color:#fff}
.cat-btn:hover{filter:brightness(1.08);border-color:transparent}
/* Рейтинг: ряд из 5 звёзд с пропорциональной оранжевой заливкой */
.cr-stars{position:relative;display:inline-block;line-height:1;white-space:nowrap;letter-spacing:1px}
.cr-stars i{font-style:normal;color:#3a3a44}
.cr-stars i:last-child{position:absolute;left:0;top:0;overflow:hidden;color:var(--accent)}
.card-rate{display:flex;align-items:center;gap:6px}

/* ---------- Hotfix #2 по аудиту макетов (мегаменю) ---------- */
.mega-promo{padding:20px;background:linear-gradient(135deg,#2a1c10,#1f1f24);border-color:#3a2c1c}
.mega-promo b{font-size:16px}
.mega-brands-row a{width:88px;height:48px;border-radius:10px}
.mega-brands-row img{max-width:76px;max-height:36px}

/* ---------- Мегаменю: группировка (по ТЗ владельца) ---------- */
.mega-cols-grouped{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.mega-grp .mega-col{margin-bottom:20px}
.mega-grp .mega-col h5{display:flex;align-items:center;gap:8px}
.mega-rest-item{display:flex;align-items:center;gap:8px;margin:0 0 9px}
.mega-rest-item a{color:var(--text);font:700 13px/1.2 Manrope,sans-serif}
.mega-rest-item a:hover{color:var(--accent)}
.mega-ico{display:inline-flex;color:var(--accent)}
.mega-ico svg{width:17px;height:17px}
.mega-brands-row a{width:96px;height:56px}
.mega-brands-row img{max-width:86px;max-height:44px}

/* ---------- Живой поиск: фикс отсечения панели на десктопе + полировка ---------- */
.search{overflow:visible}
.ss-panel{min-width:520px;max-width:660px}
@media(max-width:768px){.ss-panel{min-width:0;max-width:none}}
.ss-panel .ss-chip{background:var(--card);color:var(--text);border:1px solid var(--line)}
.ss-item .ss-pr{color:var(--accent);font-weight:700}
.ss-item .ss-pr i{font-style:normal}

/* ---------- Мегаменю по референсу Д-02: промо с фото, крупные бренды ---------- */
.mega-promo.has-img{background-size:cover;background-position:center;display:flex;align-items:stretch;min-height:150px;border-color:transparent}
.mega-promo.has-img .mega-promo-in{background:linear-gradient(90deg,rgba(10,10,14,.5) 0%,rgba(10,10,14,.15) 48%,rgba(10,10,14,0) 65%);width:100%;padding:16px;border-radius:inherit}
.mega-brands-row a{width:118px;height:64px;display:flex;align-items:center;justify-content:center}
.mega-brands-row img{max-width:100px;max-height:44px}

/* ---------- Мегаменю: целевая компоновка (3 группы + ссылки + большое промо + бренды) ---------- */
.megapanel-in{grid-template-columns:1fr 300px;gap:24px}
.mega-cols-grouped{display:grid;grid-template-columns:1fr 1fr 1fr .85fr;gap:22px}
.mega-promo.has-img{min-height:330px;position:relative;border-radius:16px;overflow:hidden;background-position:center right}
.mega-promo.has-img .mega-promo-in{position:absolute;inset:0;width:100%;padding:18px;display:flex;flex-direction:column;justify-content:flex-end;gap:6px;
  background:linear-gradient(90deg,rgba(10,10,14,.62) 0%,rgba(10,10,14,.18) 45%,rgba(10,10,14,0) 70%)}
.mega-promo.has-img b{font-size:19px;line-height:1.15;color:#fff}
.mega-promo.has-img .mega-promo-chip{position:absolute;top:12px;left:14px;background:var(--accent);color:#fff;font:800 10.5px/1 Manrope,sans-serif;letter-spacing:.06em;padding:5px 10px;border-radius:8px}
.mega-promo.has-img .mega-promo-btn{display:inline-flex;align-items:center;gap:8px;margin-top:8px;background:linear-gradient(135deg,var(--accent2),var(--accent));color:#fff;border-radius:10px;padding:11px 16px;font:700 13px/1 Manrope,sans-serif;font-style:normal;width:fit-content}
.mega-brands-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.mega-brands-row a{width:auto;height:60px;border-radius:12px;background:var(--card)}
.mega-brands-row img{max-width:80%;max-height:36px}

/* ---------- Мегаменю: финал по макету (иконки, кнопки, промо, бренды на всю ширину) ---------- */
.mega-ico svg{width:20px;height:20px}
.mega-rest-item .mega-ico svg{width:20px;height:20px}
.mega-grp .mega-col h5 a{font-size:14px}
.mega-col-all{display:inline-flex;align-items:center;gap:8px;border:1px solid var(--line);border-radius:10px;padding:9px 16px;color:var(--text);font:600 12.5px/1 Manrope,sans-serif;margin-top:10px;text-decoration:none}
.mega-col-all:hover{border-color:var(--accent);color:var(--accent)}
.megapanel-in{grid-template-columns:1fr 340px}
.mega-promo.has-img{min-height:380px}
.mega-promo.has-img b{font-size:22px}
.mega-promo.has-img .mega-promo-btn{width:100%;justify-content:center;padding:13px 16px}
.mega-brands-wide{grid-column:1 / -1;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}
.mega-brands-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.mega-brands-head b{font:700 12px/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--muted)}
.mega-brands-wide .mega-brands-row{display:grid;grid-template-columns:repeat(3,220px);gap:14px}
.mega-brands-wide .mega-brands-row a{height:64px;border-radius:12px;background:var(--card);border:1px solid var(--line);display:flex;align-items:center;justify-content:center;transition:border-color .15s}
.mega-brands-wide .mega-brands-row a:hover{border-color:var(--accent)}
.mega-brands-wide .mega-brands-row img{max-width:82%;max-height:40px;object-fit:contain}

/* ---------- Мегаменю 1:1 по макету: разделители, бренды под баннером, иконки 24px ---------- */
.megapanel-in{grid-template-columns:1fr 400px}
.mega-cols-grouped{grid-template-columns:repeat(4,1fr)}
.mega-grp + .mega-grp{border-left:1px solid var(--line);padding-left:22px}
.mega-side{border-left:1px solid var(--line);padding-left:22px}
.mega-ico svg{width:24px;height:24px}
.mega-rest-item .mega-ico svg{width:24px;height:24px}
.mega-rest-item{gap:10px;font-size:13.5px}
.mega-brands-wide{grid-column:auto;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}
.mega-brands-wide .mega-brands-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mega-brands-wide .mega-brands-row a{height:58px;border-radius:10px}
.mega-brands-wide .mega-brands-row img{max-width:78%;max-height:36px}
.mega-promo.has-img{min-height:380px;border-radius:16px}

/* ---------- Pixel-perfect токены (ПРОМТ-КИМИКОД-РЕДИЗАЙН-WOV): контейнер 1320, кнопки без градиента, H1 ---------- */
.container{max-width:1320px;padding:0 20px}
@media(max-width:768px){.container{padding:0 16px}}
.btn-primary{background:var(--accent);color:#fff}
.btn-primary:hover{background:var(--accent2);filter:none}
h1{font-size:32px;line-height:40px;font-weight:700}
@media(max-width:768px){h1{font-size:24px;line-height:32px}}

/* ============================================================
   МЕГАМЕНЮ 1:1 ПО МАКЕТУ (design-mockup.png 1919×670) — точная спецификация
   ============================================================ */
/* палитра задачи */
.header{--mm-bg:#0B0B0D;--mm-panel:#0F0F12;--mm-card:#17171C;--mm-line:#26262B;--mm-acc:#FF6B1A;--mm-text:#FFFFFF;--mm-muted:#9C9CA3}
/* контейнер шапки и панели ~1170 по макету */
.header .catnav-in,.megapanel-in{max-width:1170px}
/* ----- Шапка: строка ~58px, gap 20 ----- */
.header{background:var(--mm-bg)}
.header-in{display:flex;align-items:center;gap:20px;padding-top:9px;padding-bottom:9px}
/* Каталог: градиент, 40px, radius 10, иконка 2×2 */
.cat-btn{height:40px;padding:0 16px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);border-radius:10px;gap:9px;font-size:15px;font-weight:700;transition:filter .15s}
.cat-btn svg{width:15px;height:15px;fill:#fff}
.cat-btn:hover,.cat-btn.on{filter:brightness(1.12)}
.cat-btn.on{background:linear-gradient(135deg,#FF7A1F,#FF5A00)}
/* Поиск: пилюля 999, высота 40, кнопка Найти внутри справа */
.search{flex:1;max-width:430px;height:40px;border-radius:999px;background:var(--mm-card);border:1px solid var(--mm-line);display:flex;align-items:center;padding:0 4px 0 14px;overflow:hidden}
.search .search-ic{width:16px;height:16px;color:var(--mm-muted);flex:0 0 auto}
.search input{flex:1;background:none;border:0;height:100%;padding:0 10px;color:var(--mm-text);font-size:14px}
.search input::placeholder{color:var(--mm-muted)}
.search button{height:32px;padding:0 20px;border:0;border-radius:999px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;font:700 13px/1 Manrope,sans-serif;cursor:pointer}
.search button:hover{filter:brightness(1.1)}
/* Город-пилюля */
.header-city{height:40px;padding:0 16px;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:999px;color:var(--mm-text);font-size:14px;gap:7px}
.header-city svg{width:14px;height:14px;color:var(--mm-acc)}
/* Телефон: две строки без пилюли */
.header-phone b{font-size:15px;font-weight:700;color:var(--mm-text);display:block}
.header-phone span{font-size:11px;color:var(--mm-muted)}
/* Пилюли-иконки 40×40 + бейджи */
.header-icon{width:40px;height:40px;min-width:40px;border-radius:999px;background:var(--mm-card);border:1px solid var(--mm-line);display:flex;align-items:center;justify-content:center;padding:0;color:var(--mm-text);position:relative}
.header-icon svg{width:17px;height:17px}
.header-icon .cart-badge{position:absolute;top:-4px;right:-4px;min-width:14px;height:14px;line-height:14px;border-radius:999px;background:var(--mm-acc);color:#fff;font-size:9px;font-weight:800;text-align:center;padding:0 3px}
/* Профиль-пилюля с «Войти» — шире */
.header-icon[title="Войти"],.header-icon[aria-label="Кабинет"]{width:auto;padding:0 14px;gap:7px}
.header-icon-label{font-size:13px;font-weight:600;margin:0}
/* ----- Второй ряд: навигация ~34px, gap 48, линия снизу ----- */
.catnav{border-top:0;border-bottom:1px solid #1C1C21}
.catnav-in{gap:48px;padding-top:9px;padding-bottom:9px}
.catnav-top{padding:0;font-size:14px;color:#c9c9cf;border-bottom:0}
.catnav-item:hover .catnav-top,.catnav-top:hover{color:var(--mm-acc);border-bottom:0}
.catnav-blog,.catnav-contacts{color:var(--mm-acc)!important}
/* ----- Панель: фон, анимация, оверлей ----- */
.megapanel{background:var(--mm-panel);border-bottom:1px solid var(--mm-line);box-shadow:0 30px 60px rgba(0,0,0,.5)}
.megapanel.open{display:block;animation:mega-in .2s ease-out}
@keyframes mega-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
.mega-overlay{position:fixed;inset:0;z-index:40;background:rgba(0,0,0,.6)}
.mega-overlay[hidden]{display:none}
.megapanel{z-index:70}
.megapanel-in{display:grid;grid-template-columns:1fr 376px;gap:45px;padding-top:28px;padding-bottom:40px}
/* Колонки ссылок: 4 колонки, разделители */
.mega-cols-grouped{display:grid;grid-template-columns:repeat(4,185px);gap:45px;align-content:stretch}
.mega-grp{display:flex;flex-direction:column}
.mega-grp + .mega-grp{border-left:1px solid var(--mm-line);padding-left:45px}
.mega-side{border-left:0;padding-left:0;display:flex;flex-direction:column;gap:20px}
/* Заголовок группы: иконка 20 + bold 15 */
.mega-col h5,.mega-rest-item{display:flex;align-items:center;gap:10px;margin:0}
.mega-ico{color:var(--mm-acc)}
.mega-ico svg{width:20px;height:20px}
.mega-col h5 a,.mega-rest-item a{color:var(--mm-text);font:700 15px/1.3 Manrope,sans-serif}
.mega-col h5 a:hover,.mega-rest-item a:hover{color:var(--mm-acc)}
.mega-rest-item{margin-bottom:14px}
/* Ссылки: 14px, gap 14, первая от заголовка 18 */
.mega-sub{display:block;font-size:14px;color:var(--mm-muted);padding:0;margin-top:14px}
.mega-sub:first-of-type{margin-top:18px}
.mega-sub:hover{color:var(--mm-acc)}
/* «Смотреть все» — прижата к низу колонки, выравнивание по нижнему краю */
.mega-grp .mega-col{display:flex;flex-direction:column;height:100%}
.mega-grp .mega-col .mega-col-all{margin-top:auto}
.mega-col-all{display:inline-flex;align-items:center;gap:8px;background:var(--mm-card);border:1px solid var(--mm-line);border-radius:10px;padding:10px 18px;color:var(--mm-text);font:500 13px/1 Manrope,sans-serif;width:fit-content;margin-top:auto;text-decoration:none;transition:border-color .15s}
.mega-col-all:hover{border-color:var(--mm-acc);color:var(--mm-text)}
/* ----- Промо-карточка 376×375 ----- */
.mega-promo{position:relative;display:block;width:100%;height:375px;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 62% 45%,#FF5A00 0%,#8a3404 34%,#241108 62%,#0f0c0a 100%);text-decoration:none}
.mega-promo.no-img{background:radial-gradient(circle at 62% 45%,#FF5A00 0%,#8a3404 34%,#241108 62%,#0f0c0a 100%)}
.mega-promo-ph{position:absolute;left:50%;top:38%;transform:translate(-50%,-50%);width:120px;height:150px;border:2px dashed rgba(255,255,255,.35);border-radius:12px;color:rgba(255,255,255,.55);font:600 12px/1.5 Manrope,sans-serif;text-align:center;padding-top:56px}
.mega-promo.has-img{background-size:cover;background-position:center right}
.mega-promo-chip{position:absolute;top:16px;left:16px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;font:700 11px/1 Manrope,sans-serif;letter-spacing:.07em;text-transform:uppercase;padding:6px 11px;border-radius:8px;font-style:normal;z-index:2}
.mega-promo .mega-promo-in{position:absolute;left:20px;right:20px;bottom:16px;top:auto;padding:0;background:none;display:block;z-index:2}
.mega-promo b{display:block;color:#fff;font:700 22px/1.15 Manrope,sans-serif;margin-bottom:6px}
.mega-promo .mega-promo-in>span{display:block;color:var(--mm-muted);font-size:13px;margin-bottom:12px}
.mega-promo-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:44px;border-radius:10px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;font:700 14px/1 Manrope,sans-serif;font-style:normal}
.mega-promo-btn:hover{filter:brightness(1.1)}
/* ----- Бренды под промо, на её ширину ----- */
.mega-brands-wide{grid-column:auto;margin:0;padding:0;border:0;border-top:1px solid var(--mm-line);padding-top:20px}
.mega-brands-wide .mega-brands-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.mega-brands-wide .mega-brands-head b{font:600 12px/1 Manrope,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--mm-muted)}
.mega-brands-all{font-size:13px;color:var(--mm-acc)}
.mega-brands-wide .mega-brands-row{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.mega-brand{height:48px;border-radius:12px;background:var(--mm-card);border:1px solid var(--mm-line);display:flex;align-items:center;justify-content:center;transition:border-color .15s}
.mega-brand:hover{border-color:var(--mm-acc)}
.mega-brand img{max-width:78%;max-height:30px;object-fit:contain}
.mega-brand.is-light{background:#fff}

/* мегаменю: иконки крупнее + «Смотреть все →» без переноса стрелки */
.mega-ico svg{width:26px;height:26px}
.mega-rest-item .mega-ico svg{width:26px;height:26px}
.mega-col-all{white-space:nowrap}
.mega-col-all svg,.mega-col-all i,.mega-col-all span{flex:0 0 auto}

/* промо-баннер: убрать рамку и затемняющий оверлей */
.mega-promo{border:0}
.mega-promo.has-img .mega-promo-in{background:none}

/* мегаменю: вертикальный разделитель слева от правой зоны (баннер+бренды) на всю высоту */
.mega-side{border-left:1px solid var(--mm-line);padding-left:45px}

/* ---------- Мегаменю: панель как скруглённая карта над оверлеем (макет) ---------- */
.megapanel{left:50%;right:auto;transform:translateX(-50%);width:min(1480px,96vw);border:1px solid var(--line);border-radius:16px;top:calc(100% + 8px);background:var(--mm-panel);box-shadow:0 40px 80px rgba(0,0,0,.6)}
.megapanel-in{max-width:none;padding:28px 36px 40px}
/* разделители колонок 1–3 — только по высоте первой строки (до линии брендов) */
.mega-cols-grouped{align-items:stretch}
/* бренды: горизонтальная линия только в правой зоне (уже через .mega-brands-wide border-top) */

/* линия «Популярные бренды» — вплотную к вертикальному разделителю (касание) */
.mega-brands-wide{margin-left:-45px;padding-left:45px}

/* ---------- Открытие каталога: пружинка панели + fade оверлея + каскад колонок ---------- */
.megapanel.open{animation:mega-open .26s cubic-bezier(.32,.72,0,1) both}
@keyframes mega-open{from{opacity:0;transform:translateX(-50%) translateY(-14px) scale(.985)}to{opacity:1;transform:translateX(-50%) translateY(0) scale(1)}}
.megapanel:not(.open){animation:none}
.mega-overlay{opacity:0;pointer-events:none;transition:opacity .22s ease}
.mega-overlay.show{opacity:1;pointer-events:auto}
.megapanel.open .mega-grp,.megapanel.open .mega-side{animation:mega-col .3s cubic-bezier(.32,.72,0,1) both}
.megapanel.open .mega-grp:nth-child(1){animation-delay:.03s}
.megapanel.open .mega-grp:nth-child(2){animation-delay:.07s}
.megapanel.open .mega-grp:nth-child(3){animation-delay:.11s}
.megapanel.open .mega-grp:nth-child(4){animation-delay:.15s}
.megapanel.open .mega-side{animation-delay:.12s}
@keyframes mega-col{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ============================================================
   ОДИН ЭКРАН КОРЗИНЫ (/cart): позиции + форма оформления слева,
   липкая панель «Ваш заказ/Итого» справа; на мобиле — одна колонка, итог сверху.
   ============================================================ */
.w3-co-onecart .w3-co-grid{grid-template-columns:minmax(0,1fr) 380px}
.w3-co-onecart .w3-cart-sec .w3-lines{background:transparent;border:0;border-radius:0}
.w3-co-onecart .w3-cart-sec .w3-line{padding-left:0;padding-right:0}
.w3-co-onecart .w3-cart-sec .w3-lines-foot{padding-left:0;padding-right:0;background:transparent;flex-wrap:wrap}
@media(min-width:1025px){
  .w3-co-onecart .w3-summary{position:sticky;top:14px}
}
@media(max-width:1024px){
  .w3-co-onecart .w3-co-grid{grid-template-columns:1fr}
  .w3-co-onecart .w3-summary{order:-1}
}

/* ============================================================
   AGENT-T: Главная (дизайн-главная.png) + моб. drawer
   (мобильная-18плюс-меню.png): карточка «Мой кабинет», нав с
   оранжевыми линейными иконками, аккордеоны категорий ниже,
   соцсети TG/IG/VK + плашка 18+ внизу.
   ============================================================ */

/* ---------- Главная ---------- */
.sec-head .sec-more{color:var(--accent);font-weight:700}
.perk{background:#15151A}
.catrow-arrow{position:absolute;top:10px;right:12px;color:#fff;font-size:15px;font-weight:700;opacity:.85;text-shadow:0 2px 10px rgba(0,0,0,.5);transition:transform .2s,color .2s}
.catrow-tile:hover .catrow-arrow{color:var(--accent);transform:translateX(3px)}

/* ---------- Моб. drawer (макет мобильная-18плюс-меню.png) ---------- */
.drawer{width:min(80vw,340px);background:#0F0F12;border-right-color:#232329}
.drawer-head{background:#0F0F12;border-bottom-color:#232329}
.drawer-body{display:flex;flex-direction:column;padding:14px 16px 20px}
.drawer-acc{display:flex;align-items:center;gap:12px;background:#17171C;border:1px solid #26262B;border-radius:14px;padding:12px 14px;margin-bottom:14px;transition:border-color .15s}
.drawer-acc:hover{border-color:var(--accent)}
.drawer-acc-ava{width:42px;height:42px;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;display:flex;align-items:center;justify-content:center;font-size:17px;font-weight:800}
.drawer-acc-ava svg{width:22px;height:22px}
.drawer-acc-txt{display:flex;flex-direction:column;gap:2px;min-width:0}
.drawer-acc-txt b{font-size:14.5px;color:#fff}
.drawer-acc-txt span{font-size:12.5px;color:#9C9CA3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.drawer-acc-arrow{width:18px;height:18px;margin-left:auto;color:#6B6B73;flex:0 0 auto}
.drawer-nav{display:flex;flex-direction:column;gap:2px;padding-bottom:12px;border-bottom:1px solid #232329;margin-bottom:12px}
.drawer-nav .drawer-link{display:flex;align-items:center;gap:12px;padding:11px 10px;border-radius:10px;font-size:14.5px;font-weight:600;color:#fff}
.drawer-nav .drawer-link svg{width:20px;height:20px;color:var(--accent);flex:0 0 auto}
.drawer-nav .drawer-link:hover{background:#1C1C22}
.drawer-cats-title{font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:#6B6B73;padding:2px 10px 8px}
.drawer-group{border-bottom:1px solid rgba(255,255,255,.05)}
.drawer-foot{margin-top:auto;padding-top:16px}
.drawer-socials{display:flex;gap:10px;justify-content:center;margin-bottom:14px}
.drawer-socials a{width:40px;height:40px;border:1px solid #26262B;border-radius:12px;background:#17171C;color:#9C9CA3;display:flex;align-items:center;justify-content:center;transition:border-color .15s,color .15s}
.drawer-socials a svg{width:19px;height:19px}
.drawer-socials a:hover{border-color:var(--accent);color:var(--accent)}
.drawer-adult{display:flex;align-items:center;justify-content:center;gap:10px;border:1px solid #26262B;border-radius:12px;background:#15151A;padding:11px 12px}
.drawer-adult b{font-size:16px;font-weight:800;color:#fff;border:1.5px solid rgba(255,255,255,.85);border-radius:8px;padding:1px 7px}
.drawer-adult span{font-size:12px;color:#6B6B73}

/* ============================================================
   AGENT-U (мастер-ТЗ «1:1 по макетам») — /shops retina-полоса
   (макет-магазины-пк.png / Д-21): десктоп — карта слева (~55%),
   справа список карточек (фото слева, метро-чип, тип точки,
   адрес, часы + «Открыто/Закрыто», бейдж «Самовывоз сегодня»,
   кнопки Маршрут/Такси/Позвонить/Схема). Выбранная карточка —
   бордер акцент + плашка «Выбрано» (класс .on ставит shopMap).
   Моб.: карта сверху, карточки на всю ширину.
   ============================================================ */
.s5-tab i{font-style:normal;margin-left:5px;opacity:.55}
.s5-layout{display:grid;grid-template-columns:minmax(0,55fr) minmax(0,45fr);gap:18px;align-items:stretch;margin-top:18px}
.s5-layout .s5-map-wrap{position:sticky;top:14px;align-self:start}
.s5-layout .s5-map{height:640px}
.s5-layout .s5-shops{margin-top:0;gap:12px}
.s5-shop{display:grid;grid-template-columns:132px minmax(0,1fr);gap:16px;padding:14px;position:relative;background:#15151A;border:1px solid #232329;border-radius:16px}
.s5-shop-photo{position:relative;width:132px;min-height:150px;border-radius:12px;overflow:hidden;background:#1C1C22;border:1px solid #232329}
.s5-shop-photo img{display:block;width:100%;height:100%;object-fit:cover}
.s5-shop-ph{display:flex;align-items:center;justify-content:center;width:100%;height:100%;min-height:150px;color:#6B6B73;background:#1C1C22}
.s5-shop-ph svg{width:30px;height:30px}
.s5-shop-city{position:absolute;left:8px;top:8px;background:rgba(11,11,13,.78);border:1px solid #26262B;border-radius:999px;padding:4px 10px;font:700 11px/1 Manrope,sans-serif;color:#fff}
.s5-shop-age{position:absolute;right:8px;top:8px;width:30px;height:30px;border-radius:50%;border:1.5px solid #FF6B1A;color:#FF6B1A;display:flex;align-items:center;justify-content:center;font:800 10px/1 Manrope,sans-serif;background:rgba(11,11,13,.6)}
.s5-shop-main{min-width:0}
.s5-shop-title{font-size:16px;font-weight:700}
.s5-shop-picked{display:none;border-radius:999px;padding:5px 11px;font:700 11px/1 Manrope,sans-serif;background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;white-space:nowrap}
.s5-shop.on .s5-shop-picked{display:inline-flex}
.s5-shop-chips{display:flex;gap:6px;flex-wrap:wrap;margin-top:8px}
.s5-shop-chips .s5-chip{padding:5px 10px;font-size:12px}
.s5-chip-metro i{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:#D4222A;color:#fff;font:800 10px/1 Manrope,sans-serif;font-style:normal}
.s5-shop-rows{display:flex;flex-direction:column;gap:5px;margin-top:10px}
.s5-shop-row{display:flex;align-items:center;gap:8px;font-size:13px;line-height:1.45;color:#9C9CA3}
.s5-shop-row svg{width:14px;height:14px;flex:none;color:#FF6B1A}
.s5-status{display:inline-flex;align-items:center;gap:5px;font-weight:700;font-size:12px}
.s5-status::before{content:"";width:7px;height:7px;border-radius:50%}
.s5-status.open{color:#34C759}
.s5-status.open::before{background:#34C759}
.s5-status.closed{color:#FF5A52}
.s5-status.closed::before{background:#FF5A52}
.s5-shop .s5-shop-badges{margin-top:10px}
.s5-shop-actions{margin-top:12px}
.s5-shop-actions .btn{display:inline-flex;align-items:center;gap:7px}
.s5-shop-actions .btn svg{width:14px;height:14px;flex:none}
.s5-shop-actions .btn-primary{background:linear-gradient(135deg,#FF7A1F,#FF5A00)}
@media(max-width:1024px){
  .s5-layout{grid-template-columns:1fr}
  .s5-layout .s5-map-wrap{position:static}
  .s5-layout .s5-map{height:320px}
  .s5-shop{grid-template-columns:96px minmax(0,1fr);gap:12px;padding:12px}
  .s5-shop-photo{width:96px;min-height:110px}
  .s5-shop-ph{min-height:110px}
}
@media(max-width:560px){
  .s5-shop{grid-template-columns:1fr}
  .s5-shop-photo{width:100%;height:150px;min-height:0}
  .s5-shop-ph{min-height:150px}
}

/* drawer: выше всех вспомогательных шитов (z-95/96/97), ниже 18+ gate (100) */
.drawer{z-index:99}
.drawer-overlay{z-index:98}
.drawer a,.drawer button{pointer-events:auto;position:relative}

/* drawer через body.drawer-open — гарантированное открытие */
body.drawer-open .drawer{transform:translateX(0)}
body.drawer-open .drawer-overlay{opacity:1}

/* КРИТИЧНО: на мобиле .w3-stores-ovl/wrap перебивали [hidden] → невидимый полноэкранный блокер кликов на /cart и /checkout */
.w3-stores-ovl[hidden],.w3-stores-wrap[hidden]{display:none !important}

/* та же страховка для шитов с display:flex/block, перебивающим [hidden] */
.s5-map-sheet[hidden]{display:none !important}

/* ---------- Поведение по мастер-ТЗ: hover карточек, active кнопок, bounce бейджа ---------- */
.pcard:hover{transform:translateY(-2px);border-color:#3A3A40}
.prow:hover{border-color:#3A3A40}
.btn:active,.btn-primary:active,.cat-btn:active,.mega-col-all:active,.mega-promo-btn:active{transform:scale(.97)}
@keyframes badge-pop{0%{transform:scale(1)}40%{transform:scale(1.3)}100%{transform:scale(1)}}
.cart-badge.pop{animation:badge-pop .25s ease}

/* ---------- 18+ модалка по макету + пагинация/крошки по токенам ---------- */
.age-gate{background:rgba(8,8,10,.8);backdrop-filter:blur(6px)}
.age-gate-box{border-radius:20px;padding:34px 30px}
.age-gate-badge{width:72px;height:72px;margin:0 auto 14px;border:2.5px solid var(--accent);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--accent);font:800 20px/1 Manrope,sans-serif}
.age-gate-actions .btn{min-width:170px;height:44px;border-radius:12px}
.pagination{display:flex;gap:6px;justify-content:center;margin:22px 0 6px}
.pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:10px;background:var(--card);color:var(--muted);font:600 13px/1 Manrope,sans-serif;transition:border-color .15s,color .15s,background .15s}
.pagination a:hover{border-color:var(--accent);color:var(--text)}
.pagination a.cur{background:var(--accent);border-color:var(--accent);color:#fff}
.breadcrumbs{font-size:13px;color:var(--muted)}
.breadcrumbs .sep{color:var(--muted);opacity:.5;margin:0 7px}
.breadcrumbs span:last-child{color:var(--text)}

/* формы: focus-бордер оранжевый + оранжевые чекбоксы/радио (мастер) */
input:not([type=checkbox]):not([type=radio]):not([type=range]):focus,textarea:focus,select:focus{outline:none;border-color:var(--accent)}
input[type=checkbox],input[type=radio]{accent-color:var(--accent)}

/* промо: читаемость текста поверх фото (тень) + бренды на всю ширину зоны */
.mega-promo b,.mega-promo .mega-promo-in>span{text-shadow:0 2px 14px rgba(0,0,0,.75)}
.mega-promo-btn{box-shadow:0 6px 22px rgba(0,0,0,.45)}
.mega-brands-wide .mega-brands-row{grid-template-columns:repeat(3,1fr)}
/* колонка «простые ссылки» (Кальян/Напитки) — прижата к верху, без пустоты снизу */
.mega-rest{justify-content:flex-start}

/* промо-баннер: тёмная текстовая зона слева (без затемнения девайса), заголовок крупнее, подпись по ширине 60% */
.mega-promo.has-img .mega-promo-in{background:linear-gradient(90deg,rgba(10,10,14,.62) 0%,rgba(10,10,14,.28) 48%,rgba(10,10,14,0) 75%);border-radius:inherit}
.mega-promo.has-img b{font-size:23px;max-width:62%}
.mega-promo .mega-promo-in>span{max-width:62%}

/* карта: тёмная тема через инверсию OSM-тайлов (CartoDB стал требовать API-ключ) */
.leaflet-container .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) brightness(.92) saturate(.35)}

/* === сертификаты: чипы номиналов и поля формы (были нативные радио) === */
.w3-cert-amounts{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 22px}
.w3-cert-amt{position:relative;cursor:pointer;display:inline-flex;align-items:center;gap:8px}
.w3-cert-amt input[type=radio]{position:absolute;opacity:0;pointer-events:none}
.w3-cert-amt span{display:inline-flex;align-items:center;justify-content:center;min-width:64px;height:44px;padding:0 18px;border-radius:12px;background:#1C1C22;border:1px solid #26262B;color:#fff;font-weight:600;font-size:15px;transition:border-color .15s,background .15s}
.w3-cert-amt:hover span{border-color:#FF6B1A}
.w3-cert-amt input[type=radio]:checked + span{background:linear-gradient(180deg,#FF7A1F,#FF5A00);border-color:transparent}
.w3-cert-amt input[type=radio]:focus-visible + span{outline:2px solid #FF6B1A;outline-offset:2px}
.w3-cert-custom input[type=number]{width:96px;height:44px;border-radius:12px;background:#1C1C22;border:1px solid #26262B;color:#fff;padding:0 12px;font-size:14px;box-sizing:border-box}
.w3-cert-custom input[type=number]:focus{border-color:#FF6B1A;outline:none}
.w3-cert-custom input[type=radio]:checked ~ input[type=number]{border-color:#FF6B1A}
.w3-cert-label{color:#9C9CA3;font-size:13px;margin:0 0 4px}
.w3-cert-fields{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:10px 0 20px}
.w3-cert-fields input,.w3-cert-fields textarea{height:46px;border-radius:12px;background:#1C1C22;border:1px solid #26262B;color:#fff;padding:0 14px;font-size:14px;width:100%;box-sizing:border-box;font-family:inherit}
.w3-cert-fields textarea{grid-column:1/-1;height:auto;padding:12px 14px;resize:vertical}
.w3-cert-fields input:focus,.w3-cert-fields textarea:focus{border-color:#FF6B1A;outline:none}
.w3-cert-note{color:#6B6B73;font-size:13px;margin-top:14px}
@media(max-width:768px){.w3-cert-fields{grid-template-columns:1fr}.w3-cert-amt span{min-width:56px;height:40px;padding:0 14px}}

/* === рассрочка: лендинг /installment (w3-inst-page; мини-плашка .w3-inst на карточке товара не тронута) === */
.w3-inst-page .w3-inst-sub{color:#9C9CA3;margin:0 0 22px;max-width:640px}
.w3-inst-page .w3-inst-calc{background:#17171C;border:1px solid #26262B;border-radius:16px;padding:24px;max-width:560px;display:flex;flex-direction:column;gap:12px;margin-bottom:34px}
.w3-inst-page .w3-inst-calc label{color:#9C9CA3;font-size:13px;display:flex;justify-content:space-between;gap:12px}
.w3-inst-page .w3-inst-calc label b{color:#FF6B1A}
.w3-inst-page .w3-inst-calc input[type=range]{width:100%;accent-color:#FF6B1A;height:28px;margin:0}
.w3-inst-page .w3-inst-pay{font-size:16px;color:#fff;margin:0}
.w3-inst-page .w3-inst-pay b{color:#FF6B1A}
.w3-inst-page .w3-inst-zero{color:#34C759;font-weight:600;font-size:13px}
.w3-inst-page .w3-inst-calc .btn{margin-top:8px;justify-content:center}
.w3-inst-page h2{margin:26px 0 14px}
.w3-inst-page .w3-inst-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;list-style:none;margin:0 0 10px;padding:0;counter-reset:istep}
.w3-inst-page .w3-inst-steps li{background:#17171C;border:1px solid #26262B;border-radius:16px;padding:52px 20px 20px;color:#9C9CA3;font-size:14px;line-height:1.55;counter-increment:istep;position:relative}
.w3-inst-page .w3-inst-steps li::before{content:counter(istep);position:absolute;top:16px;left:20px;width:28px;height:28px;border-radius:50%;background:rgba(255,107,26,.12);border:1px solid rgba(255,107,26,.4);color:#FF6B1A;font-weight:700;display:flex;align-items:center;justify-content:center;font-size:14px}
.w3-inst-page details{background:#17171C;border:1px solid #26262B;border-radius:14px;margin:0 0 10px}
.w3-inst-page details summary{cursor:pointer;padding:16px 44px 16px 20px;font-weight:600;color:#fff;list-style:none;position:relative}
.w3-inst-page details summary::-webkit-details-marker{display:none}
.w3-inst-page details summary::after{content:'+';position:absolute;right:18px;top:13px;color:#FF6B1A;font-size:20px;font-weight:400}
.w3-inst-page details[open] summary::after{content:'\2212'}
.w3-inst-page details p{margin:0;padding:0 20px 16px;color:#9C9CA3;font-size:14px;line-height:1.6}
@media(max-width:768px){.w3-inst-page .w3-inst-steps{grid-template-columns:1fr}}

/* === about: затемнение hero под текст === */
.s5-hero.s5-about-hero{position:relative;isolation:isolate}
.s5-hero.s5-about-hero::before{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,11,13,.88),rgba(11,11,13,.45));z-index:-1}

/* ---------- Мегаменю: резиновая сетка (фикс переполнения на <1500px) + промо тянется до низа ---------- */
.megapanel-in{--mm-gap:clamp(22px,2.6vw,45px);grid-template-columns:minmax(0,1fr) minmax(300px,376px);gap:var(--mm-gap)}
.mega-cols-grouped{grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--mm-gap)}
.mega-grp + .mega-grp{padding-left:var(--mm-gap)}
.mega-side{padding-left:var(--mm-gap)}
.mega-brands-wide{margin-left:calc(-1 * var(--mm-gap));padding-left:var(--mm-gap)}
.mega-promo{flex:1 1 auto;height:auto;min-height:340px}
.mega-side{height:100%}
.mega-promo .mega-promo-in{left:20px;right:20px}
@media(max-width:1180px){
  .megapanel-in{grid-template-columns:minmax(0,1fr) 300px;padding:24px 24px 32px}
  .mega-brands-wide .mega-brands-row{grid-template-columns:repeat(3,1fr)}
  .mega-promo b{font-size:19px}
}

/* мегаменю: на узких десктопах заголовки групп чуть мельче — «Вейпы (POD-системы)» в одну строку */
@media(max-width:1400px){
  .megapanel-in{--mm-gap:26px}
  .mega-cols-grouped{grid-template-columns:1.18fr 1fr 1fr .82fr}
  .mega-col h5 a,.mega-rest-item a{font-size:14px}
  .mega-col h5,.mega-rest-item{gap:8px}
  .mega-col h5 .mega-ico svg,.mega-rest-item .mega-ico svg{width:20px;height:20px}
}

/* ---------- Мегаменю: жёсткая финальная геометрия (перебивает .container на внутреннем div) ---------- */
.megapanel .megapanel-in{max-width:none;width:100%;margin:0;padding:28px 36px 40px;box-sizing:border-box}

/* ---------- Мегаменю по макету владельца: крупные заголовки/иконки, широкий баннер ---------- */
.megapanel-in{grid-template-columns:minmax(0,1fr) minmax(360px,466px)}
.mega-cols-grouped{grid-template-columns:1.18fr 1fr 1fr .82fr}
.mega-col h5 a,.mega-rest-item a{font-size:16px}
.mega-col h5,.mega-rest-item{gap:10px}
.mega-ico svg,.mega-rest-item .mega-ico svg{width:28px;height:28px}
.mega-promo b{font-size:24px}
.mega-brands-row a,.mega-brand{height:56px}
@media(max-width:1400px){
  .mega-col h5 a,.mega-rest-item a{font-size:14px}
  .mega-ico svg,.mega-rest-item .mega-ico svg{width:22px;height:22px}
  .mega-promo b{font-size:20px}
}

/* мегаменю: иконки категорий ещё на шаг крупнее (бренды не трогаем) */
.mega-ico svg,.mega-rest-item .mega-ico svg{width:34px;height:34px}
@media(max-width:1400px){.mega-ico svg,.mega-rest-item .mega-ico svg{width:26px;height:26px}}

/* Мегаменю v2 (журнал 119): колонки 3-5, позиция промо, анимации, hover-shift */
.mega-cols--3{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
.mega-cols--4{grid-template-columns:repeat(4,minmax(0,1fr)) !important}
.mega-cols--5{grid-template-columns:repeat(5,minmax(0,1fr)) !important}
#megapanel.mm-side-left .megapanel-in{flex-direction:row-reverse}
#megapanel .mega-sub{display:block}
#megapanel.mm-anim-fade .megapanel-in{animation:mmFade var(--mm-dur,.22s) ease-out}
@keyframes mmFade{from{opacity:0}to{opacity:1}}
#megapanel.mm-anim-slide .megapanel-in{animation:mmSlide var(--mm-dur,.25s) cubic-bezier(.22,.61,.36,1)}
@keyframes mmSlide{from{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){#megapanel.mm-anim-fade .megapanel-in,#megapanel.mm-anim-slide .megapanel-in{animation:none}}

/* ============================================================
   ШАПКА v2 (топбар 18+, строка город/ссылки/телефон/директор, без catnav)
   ============================================================ */
/* юридическая плашка 18+: исчезает при скролле (класс .scrolled вешает shop.js) */
.topbar-age{overflow:hidden;max-height:44px;opacity:1;transition:max-height .25s ease,opacity .2s ease;background:#101013;border-bottom:1px solid #1C1C21}
.topbar-age .container{padding-top:8px;padding-bottom:8px;text-align:center;font-size:12.5px;color:#9C9CA3;letter-spacing:.01em}
.header.scrolled .topbar-age{max-height:0;opacity:0}
/* вторая строка: город + инфо-ссылки | телефон + директору */
.topbar{border-bottom:1px solid #1C1C21;background:#0B0B0D}
.topbar-in{display:flex;align-items:center;justify-content:space-between;gap:18px;padding-top:6px;padding-bottom:6px}
.topbar-left{display:flex;align-items:center;gap:20px;min-width:0}
.topbar-links{display:flex;align-items:center;gap:22px;min-width:0;overflow:hidden}
.topbar-links a{font-size:13px;color:#c9c9cf;white-space:nowrap;transition:color .15s}
.topbar-links a:hover{color:#FF6B1A}
.topbar-right{display:flex;align-items:center;gap:14px;flex:0 0 auto}
/* пилюля города в топбаре — компактнее */
.topbar .header-city{height:32px;padding:0 12px;font-size:13px}
/* телефон с дропдауном */
.phdrop{position:relative}
.phdrop-btn{display:flex;align-items:center;gap:7px;background:none;border:0;cursor:pointer;padding:4px 0;color:#fff}
.phdrop-btn b{font-size:15px;font-weight:700;transition:color .15s}
.phdrop-btn .phdrop-ops{font-size:12px;color:#6B6B73}
.phdrop-btn svg{width:14px;height:14px;color:#6B6B73;transition:transform .18s}
.phdrop:hover .phdrop-btn b,.phdrop.open .phdrop-btn b{color:#FF6B1A}
.phdrop.open .phdrop-btn svg{transform:rotate(180deg)}
.phdrop-panel{position:absolute;right:0;top:calc(100% + 10px);width:272px;background:#15151A;border:1px solid #26262B;border-radius:14px;padding:12px;box-shadow:0 24px 48px rgba(0,0,0,.55);z-index:80;animation:phdrop-in .16s ease-out}
@keyframes phdrop-in{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.phdrop-num{display:flex;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;transition:background .15s}
.phdrop-num:hover{background:#1C1C22}
.phdrop-num i{font-style:normal;min-width:44px;text-align:center;font-size:11px;font-weight:700;color:#FF6B1A;background:#1C1C22;border:1px solid #26262B;border-radius:8px;padding:4px 0}
.phdrop-num span{font-size:14px;font-weight:600;color:#fff}
.phdrop-cap{margin:10px 0 8px;text-align:center;font-size:12.5px;color:#9C9CA3}
.phdrop-cb{width:100%;justify-content:center}
.phdrop-soc{display:flex;justify-content:center;gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid #26262B}
.phdrop-soc a{width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#1C1C22;border:1px solid #26262B;border-radius:999px;color:#9C9CA3;transition:border-color .15s,color .15s}
.phdrop-soc a:hover{border-color:#FF6B1A;color:#FF6B1A}
.phdrop-soc svg{width:16px;height:16px}
/* «Написать директору» */
.director-btn{display:flex;align-items:center;gap:8px;height:34px;padding:0 15px;background:#1C1C22;border:1px solid #26262B;border-radius:999px;color:#fff;font:700 12px/1 Manrope,sans-serif;letter-spacing:.05em;text-transform:uppercase;cursor:pointer;transition:border-color .15s}
.director-btn svg{width:15px;height:15px;color:#FF6B1A}
.director-btn:hover{border-color:#FF6B1A}
/* поиск на всю свободную ширину (как в референсе) */
.search{flex:1 1 auto;max-width:none}
/* лид-модалки */
.lead-modal{position:fixed;inset:0;z-index:90;display:flex;align-items:center;justify-content:center;padding:20px}
.lead-modal[hidden]{display:none}
.lead-modal-ovl{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(3px)}
.lead-modal-card{position:relative;width:min(430px,94vw);background:#15151A;border:1px solid #26262B;border-radius:16px;padding:26px 26px 24px;box-shadow:0 40px 80px rgba(0,0,0,.6);animation:phdrop-in .18s ease-out}
.lead-modal-card h3{margin:0 0 8px;font-size:20px;color:#fff}
.lead-modal-sub{margin:0;font-size:13px;color:#9C9CA3;line-height:1.5}
.lead-modal-x{position:absolute;top:10px;right:12px;width:30px;height:30px;background:none;border:0;color:#6B6B73;font-size:22px;line-height:1;cursor:pointer}
.lead-modal-x:hover{color:#fff}
.lead-form{display:grid;gap:12px;margin-top:16px}
.lead-form input[type=text],.lead-form input[type=tel],.lead-form input[type=email],.lead-form textarea{width:100%;box-sizing:border-box;height:44px;background:#1C1C22;border:1px solid #26262B;border-radius:12px;padding:0 14px;color:#fff;font-size:14px;font-family:inherit}
.lead-form textarea{height:auto;padding:12px 14px;resize:vertical}
.lead-form input:focus,.lead-form textarea:focus{border-color:#FF6B1A;outline:none}
.lead-form .lead-hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.lead-form button[type=submit]{width:100%;justify-content:center}
.lead-ok{margin:0;text-align:center;font-size:13.5px;color:#34C759}
.lead-err{margin:0;text-align:center;font-size:13px;color:#ff6b5e}
/* мобильная: ссылки и директор скрываем, город+телефон остаются */
@media(max-width:1023px){
  .topbar-links,.director-btn{display:none}
  .topbar-age .container{font-size:11px;padding-top:6px;padding-bottom:6px}
}

/* ============================================================
   КАРТОЧКА ТОВАРА v3 (макет дизайн-карточка-товара): 3 колонки
   ============================================================ */
@media(min-width:1241px){
  .product{grid-template-columns:minmax(0,480px) minmax(0,1fr) 340px;gap:22px;align-items:start}
}
@media(max-width:1240px) and (min-width:1024px){
  .product{grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:22px}
  .p-aside{grid-column:1 / -1}
  .p-avail-list{display:grid;grid-template-columns:1fr 1fr;gap:8px}
}
/* --- правая панель наличия --- */
.p-aside{position:sticky;top:150px}
.p-avail{background:#17171C;border:1px solid #26262B;border-radius:16px;padding:16px}
.p-avail-tabs{display:flex;gap:0;border-bottom:1px solid #26262B;margin:0 0 12px}
.p-avail-tab{flex:1;background:none;border:0;border-bottom:2px solid transparent;color:#9C9CA3;font:600 14px/1 Manrope,sans-serif;padding:8px 4px 12px;cursor:pointer;transition:color .15s,border-color .15s}
.p-avail-tab.on{color:#fff;border-bottom-color:#FF6B1A}
.p-avail-tab:hover{color:#fff}
.p-avail-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}
.p-avail-head b{font-size:14px;color:#fff}
.p-avail-city{font-size:12px;color:#9C9CA3;background:#1C1C22;border:1px solid #26262B;border-radius:999px;padding:4px 10px}
.p-avail-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px;max-height:340px;overflow:auto}
.p-avail-list li{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#1C1C22;border:1px solid #26262B;border-radius:12px;padding:10px 12px}
.p-avail-name{font-size:13px;font-weight:600;color:#fff;display:flex;flex-direction:column;gap:2px;min-width:0}
.p-avail-name small{font-weight:400;font-size:11.5px;color:#6B6B73}
.p-avail-st{font-size:12px;font-weight:600;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}
.p-avail-st::before{content:'';width:8px;height:8px;border-radius:50%;background:currentColor}
.p-avail-list li.in .p-avail-st{color:#34C759}
.p-avail-list li.low .p-avail-st{color:#FFC107}
.p-avail-list li.out .p-avail-st{color:#6B6B73}
.p-avail-all{width:100%;margin-top:12px;height:42px;background:#1C1C22;border:1px solid #26262B;border-radius:12px;color:#fff;font:600 13px/1 Manrope,sans-serif;cursor:pointer;transition:border-color .15s}
.p-avail-all:hover{border-color:#FF6B1A}
.p-avail-note{margin:10px 0 0;font-size:12px;color:#6B6B73}
/* --- галерея: бейджи, стрелки, зум --- */
.gallery-main{position:relative}
.g-badges{position:absolute;top:14px;left:14px;display:flex;flex-direction:column;gap:8px;z-index:2}
.g-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;background:#FF6B1A;color:#fff;font:700 12px/1 Manrope,sans-serif}
.g-badge-disc{background:#FF6B1A}
.g-nav{position:absolute;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;background:rgba(28,28,34,.75);border:1px solid #26262B;color:#fff;display:flex;align-items:center;justify-content:center;cursor:pointer;z-index:2;transition:background .15s;backdrop-filter:blur(4px)}
.g-nav:hover{background:rgba(255,107,26,.9)}
.g-nav svg{width:18px;height:18px}
.g-prev{left:14px}
.g-next{right:14px}
.g-zoom{position:absolute;right:14px;bottom:14px;display:inline-flex;align-items:center;gap:7px;background:rgba(28,28,34,.8);border:1px solid #26262B;border-radius:10px;color:#c9c9cf;font:600 12.5px/1 Manrope,sans-serif;padding:8px 12px;cursor:pointer;z-index:2;backdrop-filter:blur(4px)}
.g-zoom:hover{color:#fff;border-color:#FF6B1A}
.g-zoom svg{width:15px;height:15px}
.g-lightbox{position:fixed;inset:0;z-index:95;background:rgba(5,5,8,.9);display:flex;align-items:center;justify-content:center;padding:40px;cursor:zoom-out}
.g-lightbox[hidden]{display:none}
.g-lightbox img{max-width:100%;max-height:100%;border-radius:12px;box-shadow:0 40px 100px rgba(0,0,0,.7)}
.g-lb-x{position:absolute;top:20px;right:24px;width:42px;height:42px;border-radius:50%;background:#1C1C22;border:1px solid #26262B;color:#fff;font-size:17px;cursor:pointer}
.g-lb-x:hover{border-color:#FF6B1A}
/* --- центральная колонка: порядок по макету --- */
@media(min-width:1024px){
  .product-info{display:flex;flex-direction:column}
  .product-info .product-brand{order:1}
  .product-info h1{order:2}
  .product-info .p-rate{order:3}
  .product-info #p-models{order:4}
  .product-info .p-opt[data-opt]{order:5}
  .product-info .buy-panel{order:6}
  .product-info .oneclick,.product-info .oneclick-result{order:7}
  .product-info .p-get-off{order:8}
  .product-info .p-off-hint{order:9}
  .product-info .p-perks{order:10}
  .product-info .product-min,.product-info .product-price-total{order:98}
  .product-info .pg-modal{order:99}
}
/* бренд — серый uppercase как на макете */
.product-brand{margin:0 0 4px}
.product-brand a{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#6B6B73;text-decoration:none}
.product-brand a:hover{color:#FF6B1A}
.product-brand .p-brand-logo img{max-height:22px;width:auto;filter:grayscale(1) brightness(1.6);opacity:.8;transition:filter .15s,opacity .15s}
.product-brand .p-brand-logo:hover img{filter:none;opacity:1}
/* строка рейтинга + код */
.p-rate{display:flex;align-items:center;gap:10px;margin:8px 0 2px;font-size:13px;color:#9C9CA3}
.p-rate b{color:#fff}
.p-rate-cnt{color:#9C9CA3;text-decoration:none}
.p-rate-cnt:hover{color:#FF6B1A}
.p-sku{color:#6B6B73}
/* панель покупки: цена+скидка, рассрочка, кнопки */
.buy-panel{background:#17171C;border:1px solid #26262B;border-radius:16px;padding:18px;display:flex;flex-direction:column;gap:14px;margin-top:14px}
.buy-panel .buy-price{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.buy-panel .buy-price .price-now.price-big{font-size:32px;font-weight:800;color:#fff}
.buy-panel .buy-price .price-old{font-size:16px;color:#6B6B73;text-decoration:line-through}
.buy-panel .buy-price::after{content:''}
.buy-controls{display:flex;align-items:stretch;gap:10px}
.buy-controls #add-cart{flex:1;justify-content:center;height:52px;font-size:15px;border-radius:12px}
.buy-controls .qty-step{display:none} /* количество меняется в корзине — на макете степпера нет */
.buy-controls .p-icon-btn{width:52px;height:52px;border-radius:12px;background:#1C1C22;border:1px solid #26262B;color:#c9c9cf;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s;flex:0 0 auto}
.buy-controls .p-icon-btn:hover{border-color:#FF6B1A;color:#FF6B1A}
.buy-panel .p-installment{margin:0;align-self:flex-start}
/* бейдж скидки возле цены */
.buy-price .price-disc{display:inline-flex;align-items:center;padding:5px 10px;border-radius:8px;background:rgba(255,107,26,.14);border:1px solid rgba(255,107,26,.45);color:#FF6B1A;font:700 13px/1 Manrope,sans-serif}
/* «Купить в 1 клик»: свёрнут — широкая secondary-кнопка */
.oneclick{display:flex;gap:10px;margin-top:12px}
.oneclick:not(.open) #oneclick-phone{display:none}
.oneclick:not(.open) #oneclick-btn{flex:1;height:50px;justify-content:center;font-size:14.5px}
.oneclick.open #oneclick-phone{flex:1}
/* перки под кнопками */
.p-perks{display:flex;gap:18px;margin-top:18px;flex-wrap:wrap}
.p-perk{display:flex;align-items:center;gap:10px;color:#c9c9cf}
.p-perk svg{width:22px;height:22px;color:#FF6B1A;flex:0 0 auto}
.p-perk b{display:block;font-size:13px;color:#fff}
.p-perk small{font-size:11.5px;color:#6B6B73}
/* OOS: чип + серая цена + оранжевая «Сообщить о поступлении» / «Снят с производства» */
.buy-oos .p-stock-plate{display:inline-flex;align-items:center;padding:6px 12px;border-radius:8px;background:#1C1C22;border:1px solid #26262B;color:#9C9CA3;font:600 12.5px/1 Manrope,sans-serif;width:fit-content}
.buy-oos .buy-price .price-grey{color:#6B6B73!important}
#stock-notify .btn,#stock-notify button{height:50px;border-radius:12px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);border:0;color:#fff;font:700 14px/1 Manrope,sans-serif;padding:0 26px;cursor:pointer;display:inline-flex;align-items:center;gap:9px}
#stock-notify .btn:hover,#stock-notify button:hover{filter:brightness(1.1)}
#stock-notify .btn::before,#stock-notify button::before{content:'';width:16px;height:16px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M18 8a6 6 0 0 0-12 0c0 7-3 8-3 8h18s-3-1-3-8'/%3E%3Cpath d='M13.7 20a2 2 0 0 1-3.4 0'/%3E%3C/svg%3E") center/contain no-repeat}
#stock-notify .oneclick{margin-top:0}
#stock-notify .oneclick input{height:50px;border-radius:12px;background:#1C1C22;border:1px solid #26262B;color:#fff;padding:0 14px}
.co-note-oos{color:#9C9CA3;font-size:13px;margin-top:10px}
.co-note-oos::before{content:'💬 '}
.buy-oos-disc-btn{display:flex;align-items:center;justify-content:center;height:50px;border-radius:12px;background:#1C1C22;border:1px solid #26262B;color:#6B6B73;font:700 14px/1 Manrope,sans-serif;cursor:not-allowed;user-select:none}
@media(max-width:1023px){.p-aside{position:static}}

/* карточка v3: дожим центровки — старые right-центрирующие правила перебиты явно */
.buy-panel{align-items:stretch;justify-content:flex-start;text-align:left}
.buy-panel .buy-price{flex-direction:row;justify-content:flex-start;align-items:baseline}
.buy-controls{flex-wrap:nowrap;align-items:stretch}

/* карточка v3: бренд — просто серая uppercase-подпись, без белой плашки */
.product-brand .p-brand-logo{background:none;border:0;padding:0;display:inline-block}

/* карточка v3: «В корзину» без переноса; средний диапазон 1241–1450 — колонки уже */
.buy-controls #add-cart{white-space:nowrap}
@media(min-width:1241px) and (max-width:1450px){
  .product{grid-template-columns:minmax(0,400px) minmax(0,1fr) 300px;gap:18px}
}

/* 18+ гейт по новому макету: щит вместо круга, заголовок, кнопки на всю ширину */
.age-gate-shield{position:relative;width:88px;height:96px;margin:0 auto 18px;color:var(--accent);display:flex;align-items:center;justify-content:center}
.age-gate-shield svg{position:absolute;inset:0;width:100%;height:100%}
.age-gate-shield b{position:relative;font:800 22px/1 Manrope,sans-serif;color:var(--accent);padding-top:6px}
.age-gate-title{margin:0 0 10px;font-size:22px;font-weight:800;color:var(--text)}
.age-gate-box .age-gate-actions{flex-direction:column;gap:10px}
.age-gate-actions .btn{width:100%;height:50px;border-radius:12px;justify-content:center;font-size:15px}
.age-gate-no{background:#1C1C22;border:1px solid #3A3A40;color:#fff}
.age-gate-no:hover{border-color:var(--accent)}
.age-gate-legal a{color:var(--accent);text-decoration:none}
.age-gate-legal a:hover{text-decoration:underline}

/* Выбор города по макету: пин, центр, радио-список, примечание */
.city-modal{align-items:center;padding:20px}
.city-box{border-radius:20px;padding:30px 28px 22px;text-align:center;max-width:430px}
.city-pin{width:64px;height:64px;margin:0 auto 14px;border-radius:50%;color:var(--accent);display:flex;align-items:center;justify-content:center}
.city-pin svg{width:52px;height:52px}
.city-box h3{margin:0 0 16px;font-size:21px;text-align:center}
.city-auto{margin:0 0 12px;text-align:left}
.city-other{width:100%;height:46px;margin:0 0 14px;background:transparent;border:1px solid #3A3A40;border-radius:12px;color:#fff;font:600 14px/1 Manrope,sans-serif;cursor:pointer;transition:border-color .15s}
.city-other:hover{border-color:var(--accent)}
.city-list{border-top:1px solid var(--line);padding-top:6px}
.city-opt{background:none;border:0;border-radius:0;padding:13px 4px;justify-content:flex-start;text-align:left}
.city-opt:hover{background:none}
.city-opt + .city-opt{border-top:1px solid #1C1C21}
.city-radio{width:20px;height:20px;border:1.6px solid #3A3A40;border-radius:50%;flex:0 0 auto;position:relative;transition:border-color .15s}
.city-opt.cur .city-radio{border-color:var(--accent)}
.city-opt.cur .city-radio::after{content:'';position:absolute;inset:3.5px;border-radius:50%;background:var(--accent)}
.city-name{font-size:15px;font-weight:600;color:var(--text)}
.city-cnt{margin-left:auto;font-size:13px;color:var(--muted)}
.city-note{display:flex;gap:8px;align-items:flex-start;text-align:left;margin:16px 0 0;padding-top:14px;border-top:1px solid #1C1C21;font-size:12.5px;color:var(--muted);line-height:1.5}
.city-note svg{width:16px;height:16px;flex:0 0 auto;margin-top:1px}

/* Вход в кабинет по макету: центрированная карточка */
.login-wrap{display:flex;justify-content:center;padding:26px 0 10px}
.login-card{width:min(430px,100%);background:#15151A;border:1px solid #26262B;border-radius:20px;padding:30px 30px 24px;box-shadow:0 30px 70px rgba(0,0,0,.5)}
.login-logo{margin-bottom:20px}
.login-logo img{height:34px;width:auto}
.login-card h1{margin:0 0 6px;font-size:24px;font-weight:800;color:#fff}
.login-sub{margin:0 0 20px;font-size:13.5px;color:#9C9CA3}
.login-phone-label{display:block;font-size:13px;color:#9C9CA3;margin:0 0 8px}
.login-phone-row{display:flex;align-items:center;gap:10px;background:#1C1C22;border:1px solid #26262B;border-radius:12px;height:48px;padding:0 14px;margin-bottom:14px}
.login-phone-row:focus-within{border-color:#FF6B1A}
.login-flag{display:inline-flex;align-items:center;gap:7px;color:#fff;font-size:14px;font-weight:600;border-right:1px solid #26262B;padding-right:10px;flex:0 0 auto}
.login-flag svg{width:22px;height:15px;border-radius:3px}
.login-phone-row input{flex:1;min-width:0;background:none;border:0;outline:none;color:#fff;font-size:15px;height:100%}
.login-phone-row input::placeholder{color:#6B6B73}
.login-card #login-send{width:100%;height:50px;justify-content:center;font-size:15px;border-radius:12px}
.login-card #login-send:disabled{opacity:.75}
#login-code-row{margin-top:16px}
#login-code-row .al-code-field span{display:block;font-size:13px;color:#9C9CA3;margin-bottom:8px}
#login-code-row .al-code{width:100%;height:52px;text-align:center;font-size:22px;letter-spacing:12px;padding-left:12px;background:#1C1C22;border:1px solid #26262B;border-radius:12px;color:#fff;box-sizing:border-box}
#login-code-row .al-code:focus{border-color:#FF6B1A;outline:none}
#login-code-row #login-verify{width:100%;height:50px;justify-content:center;border-radius:12px;margin-top:12px}
.login-change{display:block;margin:12px auto 0;background:none;border:0;color:#FF6B1A;font:600 13px/1 Manrope,sans-serif;cursor:pointer}
.login-change:hover{text-decoration:underline}
.login-or{display:flex;align-items:center;gap:12px;margin:20px 0;color:#6B6B73;font-size:12px}
.login-or::before,.login-or::after{content:'';flex:1;height:1px;background:#26262B}
.login-guest{width:100%;height:50px;display:flex;align-items:center;justify-content:center;gap:9px;background:transparent;border:1px solid #3A3A40;border-radius:12px;color:#fff;font:600 14px/1 Manrope,sans-serif;cursor:pointer;transition:border-color .15s}
.login-guest:hover{border-color:#FF6B1A}
.login-guest svg{width:18px;height:18px;color:#9C9CA3}
.login-legal{margin:16px 0 0;text-align:center;font-size:12px;color:#6B6B73;line-height:1.5}
.login-legal a{color:#FF6B1A;text-decoration:none}
.login-legal a:hover{text-decoration:underline}
.login-card .login-msg{margin-top:14px}

/* Блог «Блог и акции» по макету: большие табы, промо-карточки, карточки статей */
.blog-tabs-big{display:inline-flex;gap:6px;background:#15151A;border:1px solid #26262B;border-radius:14px;padding:6px;margin:6px 0 22px}
.blog-tabs-big .blog-tab{padding:10px 34px;border-radius:10px;font-size:14px;font-weight:600}
.blog-tabs-big .blog-tab.on{background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff}
.bp-promos{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:34px}
.bp-promo{display:flex;background:#15151A;border:1px solid #26262B;border-radius:16px;overflow:hidden;text-decoration:none;transition:border-color .15s}
.bp-promo:hover{border-color:#FF6B1A}
.bp-promo-img{flex:0 0 40%;background:#1C1C22;min-height:200px}
.bp-promo-img img{width:100%;height:100%;object-fit:cover;display:block}
.bp-promo-body{flex:1;padding:18px 20px;display:flex;flex-direction:column;gap:9px}
.bp-chip{align-self:flex-start;background:rgba(255,107,26,.14);border:1px solid rgba(255,107,26,.45);color:#FF6B1A;font:700 11px/1 Manrope,sans-serif;padding:5px 10px;border-radius:8px;text-transform:uppercase;letter-spacing:.04em}
.bp-promo-body h3{margin:0;font-size:19px;font-weight:800;color:#fff;line-height:1.25}
.bp-promo-body p{margin:0;font-size:13px;color:#9C9CA3;line-height:1.55}
.bp-code-row{display:flex;gap:10px;align-items:center;margin-top:auto}
.bp-code{flex:1;border:1.5px dashed #3A3A40;border-radius:10px;padding:10px 14px;color:#fff;font:700 14px/1 Manrope,sans-serif;letter-spacing:.06em;text-align:center}
.bp-copy{background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;font:700 13px/1 Manrope,sans-serif;padding:11px 18px;border-radius:10px;cursor:pointer;user-select:none;white-space:nowrap}
.bp-copy:hover{filter:brightness(1.1)}
.bp-until{display:flex;align-items:center;gap:7px;font-size:12px;color:#6B6B73}
.bp-until svg{width:14px;height:14px}
.bp-blog-title{margin:0 0 16px}
.blog-cards{grid-template-columns:repeat(3,1fr)}
.blog-cards .blog-item{display:flex;flex-direction:column;padding:0;overflow:hidden}
.blog-item-img{position:relative;aspect-ratio:16/9;background:#1C1C22}
.blog-item-img img{width:100%;height:100%;object-fit:cover;display:block}
.blog-item-img .blog-kind{position:absolute;left:12px;bottom:12px;margin:0}
.blog-cards .blog-item-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:8px;flex:1}
.blog-item-meta{display:flex;gap:16px;margin-top:auto;font-size:12px;color:#6B6B73}
.blog-item-meta span{display:inline-flex;align-items:center;gap:6px}
.blog-item-meta svg{width:13px;height:13px}
@media(max-width:1023px){.bp-promos{grid-template-columns:1fr}.blog-cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.blog-cards{grid-template-columns:1fr}.bp-promo{flex-direction:column}.bp-promo-img{min-height:170px}}

/* Детальная акция по макету: hero + три карточки (таймер/промокод/условия) */
.promo-hero{min-height:280px;display:flex;align-items:center}
.promo-hero-in{position:relative;padding:34px 34px 30px;background:linear-gradient(90deg,rgba(11,11,13,.82) 0%,rgba(11,11,13,.35) 55%,rgba(11,11,13,0) 80%);width:100%}
.promo-hero-img+.promo-hero-in{margin-top:0;position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center}
.promo-hero-in h1{font-size:38px;line-height:1.12;font-weight:800;margin:10px 0 8px;max-width:60%}
.promo-hero-sub{color:#c9c9cf;font-size:15px;margin:0;max-width:50%}
.promo-trio{display:grid;grid-template-columns:1fr 1.2fr 1.2fr;gap:16px;margin:18px 0 26px}
.promo-card{background:#15151A;border:1px solid #26262B;border-radius:16px;padding:20px 22px}
.promo-card-cap{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#9C9CA3;margin-bottom:12px}
.promo-timer-big{display:block;background:none;border:0;padding:0}
.promo-timer-big .promo-timer-digits{display:flex;align-items:baseline;gap:6px}
.promo-timer-big .promo-timer-digits b{font-size:36px;font-weight:800;color:#FF6B1A;font-variant-numeric:tabular-nums}
.promo-timer-big .promo-timer-digits i{font-style:normal;color:#3A3A40;font-size:26px;font-weight:700}
.promo-timer-labels{display:flex;gap:6px;margin-top:6px}
.promo-timer-labels span{flex:0 0 auto;min-width:52px;font-size:11px;color:#6B6B73;text-transform:uppercase;letter-spacing:.05em}
.promo-timer-s,.promo-timer-sep-s,.promo-timer-labels-s{display:none}
.promo-code-row-card{display:flex;gap:12px;align-items:center}
.promo-code-row-card .promo-code{font-size:22px;font-weight:800;color:#FF6B1A;letter-spacing:.04em}
.promo-code-row-card .btn{white-space:nowrap}
.promo-terms-body{font-size:13.5px;color:#9C9CA3;line-height:1.6}
.promo-terms-body p{margin:0 0 8px}
.promo-footnote{text-align:center;color:#6B6B73;font-size:12.5px;margin:18px 0 0}
@media(max-width:1023px){.promo-trio{grid-template-columns:1fr}.promo-hero-in h1{font-size:26px;max-width:80%}.promo-hero-sub{max-width:85%}}

/* акция: таймер без секунд и без боксов (голые крупные цифры как на макете) */
.promo-timer-big .promo-timer-digits b.promo-timer-s,.promo-timer-big .promo-timer-digits i.promo-timer-sep-s{display:none}
.promo-card-timer .promo-timer-digits b{background:none!important;border:0!important;padding:0!important;box-shadow:none!important}

/* Бренды по макету: полоса преимуществ внизу, «Показать ещё» — контурная пилюля */
.brands-perks{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:34px;background:#15151A;border:1px solid #26262B;border-radius:16px;padding:22px 24px}
.brands-perk{display:flex;align-items:center;gap:12px}
.brands-perk svg{width:26px;height:26px;color:#FF6B1A;flex:0 0 auto}
.brands-perk b{display:block;font-size:13.5px;color:#fff}
.brands-perk small{font-size:12px;color:#6B6B73}
.brands-more .btn-ghost{border-radius:999px;padding:12px 30px}
@media(max-width:1023px){.brands-perks{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.brands-perks{grid-template-columns:1fr}}

/* Главная по макету владельца: компактный hero + тайлы каталога полосками */
@media(min-width:1024px){
  .hero-slide{height:280px}
  .hero-content{max-width:520px}
}
.catrow{grid-template-columns:repeat(auto-fill,minmax(165px,1fr))}
.catrow-tile{height:auto;min-height:66px;display:flex;align-items:center;gap:12px;padding:10px 14px;background:#15151A}
.catrow-tile img{position:static;width:54px;height:48px;object-fit:contain;flex:0 0 auto;border-radius:8px}
.catrow-shade{display:none}
.catrow-name{position:static;left:auto;right:auto;bottom:auto;color:#fff;font-size:13.5px;font-weight:700;text-shadow:none;flex:1;min-width:0}
.catrow-arrow{position:static;color:#6B6B73;text-shadow:none;flex:0 0 auto}
.catrow-tile:hover{transform:none;border-color:#FF6B1A}
.catrow-tile:hover img{transform:none}
.catrow-tile.noimg .catrow-name{transform:none;text-align:left}
.catrow-tile--promo{padding:10px 14px;min-height:66px}
@media(max-width:1023px){.catrow{display:grid;grid-template-columns:repeat(2,1fr)}.catrow-tile{width:auto}}

/* Главная: тайлы каталога — шире (6 в ряд), промо-тайл колонкой слева */
.catrow{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.catrow-tile--promo{align-items:flex-start}
.catrow-tile--promo .catrow-sub{margin:0}

/* Главная: 6 тайлов каталога строго в один ряд на десктопе */
@media(min-width:1024px){.catrow{grid-template-columns:repeat(6,1fr);gap:10px}}

/* Категория: SEO-описание свернуто до 2 строк с «Читать далее» (по макету — товары сразу) */
.cat-desc.collapsed .cat-desc-in{max-height:44px;overflow:hidden;position:relative}
.cat-desc.collapsed .cat-desc-in::after{content:'';position:absolute;left:0;right:0;bottom:0;height:26px;background:linear-gradient(180deg,rgba(11,11,13,0),#0B0B0D)}
.cat-desc-more{display:none;background:none;border:0;color:#FF6B1A;font:600 13px/1 Manrope,sans-serif;cursor:pointer;padding:6px 0 0}
.cat-desc.collapsed .cat-desc-more{display:inline-block}
.cat-desc-more::after{content:' ▾'}
.cat-desc.expanded .cat-desc-more::after{content:' ▴'}

/* Избранное по макету: бренд над названием, кнопки на всю ширину */
.aw-card-brand{display:block;font-size:11.5px;color:#6B6B73;text-transform:uppercase;letter-spacing:.05em;margin-bottom:3px}
.aw-card-act .btn,.aw-card-act button{width:100%;justify-content:center;height:44px;border-radius:12px;font-size:13.5px}
.aw-card-act{flex-direction:column;align-items:stretch;gap:8px}
.aw-card-act .aw-oos{text-align:center}

/* Доставка по макету: баннер бесплатной доставки + чипы в карточках */
.s5-free-banner{display:flex;align-items:center;gap:16px;background:#15151A;border:1px solid #26262B;border-radius:16px;padding:16px 22px;margin:0 0 22px}
.s5-free-banner>svg{width:34px;height:34px;color:#FF6B1A;flex:0 0 auto}
.s5-free-banner b{display:block;font-size:15px;color:#fff}
.s5-free-banner span{font-size:12.5px;color:#6B6B73}
.s5-free-link{margin-left:auto;display:inline-flex;align-items:center;gap:6px;background:#1C1C22;border:1px solid #26262B;border-radius:10px;padding:10px 16px;color:#fff;font:600 13px/1 Manrope,sans-serif;text-decoration:none;white-space:nowrap;transition:border-color .15s}
.s5-free-link:hover{border-color:#FF6B1A}
.s5-chip{display:inline-block;margin-top:10px;background:#1C1C22;border:1px solid #26262B;border-radius:8px;padding:5px 12px;font-size:12px;font-weight:700;color:#fff}
@media(max-width:768px){.s5-free-banner{flex-wrap:wrap}.s5-free-link{margin-left:0}}

/* Гарантия и возврат (/warranty) по макету владельца */
.warr-title{margin:6px 0 20px;font-size:30px;font-weight:800}
.warr-hero{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:26px}
.warr-hero-card{display:flex;align-items:center;gap:18px;background:#15151A;border:1px solid #26262B;border-radius:16px;padding:26px 28px}
.warr-hero-txt{flex:1;min-width:0}
.warr-hero-sub{display:block;font-size:19px;font-weight:700;color:#fff}
.warr-hero-card b{display:block;font-size:34px;font-weight:800;color:#FF6B1A;margin:2px 0}
.warr-hero-cap{display:block;font-size:13px;color:#9C9CA3;margin-bottom:10px}
.warr-hero-txt p{margin:0;font-size:13px;color:#9C9CA3;line-height:1.55}
.warr-hero-ico{flex:0 0 auto;width:110px;height:110px;color:#FF6B1A}
.warr-hero-ico svg{width:100%;height:100%}
.warr-h2{font-size:16px;font-weight:700;margin:22px 0 12px}
.warr-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:8px}
.warr-step{position:relative;display:flex;align-items:center;gap:12px;background:#15151A;border:1px solid #26262B;border-radius:14px;padding:18px 16px}
.warr-step i{font-style:normal;font-size:26px;font-weight:800;color:#FF6B1A;flex:0 0 auto}
.warr-step svg{width:26px;height:26px;color:#9C9CA3;flex:0 0 auto}
.warr-step b{display:block;font-size:13px;color:#fff}
.warr-step span{font-size:11.5px;color:#6B6B73;line-height:1.4}
.warr-faq{display:flex;flex-direction:column;gap:10px}
.warr-faq-item{background:#15151A;border:1px solid #26262B;border-radius:12px}
.warr-faq-item summary{display:flex;align-items:center;gap:12px;padding:16px 18px;cursor:pointer;list-style:none;font-weight:600;font-size:14px;color:#fff;position:relative}
.warr-faq-item summary::-webkit-details-marker{display:none}
.warr-faq-item summary svg{width:20px;height:20px;color:#FF6B1A;flex:0 0 auto}
.warr-faq-item summary::after{content:'';position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2px solid #6B6B73;border-bottom:2px solid #6B6B73;transform:translateY(-70%) rotate(45deg);transition:transform .2s}
.warr-faq-item[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.warr-faq-item p{margin:0;padding:0 18px 16px 50px;font-size:13.5px;color:#9C9CA3;line-height:1.6}
.warr-cta{display:flex;align-items:center;gap:18px;margin-top:26px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);border-radius:16px;padding:22px 26px}
.warr-cta-ico{width:52px;height:52px;color:#fff;flex:0 0 auto}
.warr-cta-ico svg{width:100%;height:100%}
.warr-cta-txt{flex:1}
.warr-cta-txt b{display:block;font-size:17px;color:#fff}
.warr-cta-txt span{font-size:13px;color:rgba(255,255,255,.85)}
.warr-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#0B0B0D;color:#fff;border:0;border-radius:12px;padding:13px 22px;font:700 14px/1 Manrope,sans-serif;cursor:pointer;white-space:nowrap}
.warr-cta-btn svg{width:17px;height:17px}
.warr-cta-btn:hover{filter:brightness(1.15)}
@media(max-width:1023px){.warr-hero{grid-template-columns:1fr}.warr-steps{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.warr-steps{grid-template-columns:1fr}.warr-hero-ico{width:80px;height:80px}.warr-cta{flex-wrap:wrap}}

/* Чекаут по макету: радио-карточки в ряд + кастомный круг радио */
.w3-rcards{flex-direction:row;flex-wrap:wrap}
.w3-rcard{flex:1 1 220px;display:flex;align-items:flex-start;gap:12px}
.w3-rcard::before{content:'';flex:0 0 auto;width:18px;height:18px;margin-top:3px;border:1.6px solid #3A3A40;border-radius:50%;transition:border-color .15s}
.w3-rcard.on::before{border-color:var(--accent);background:radial-gradient(circle,var(--accent) 0 5px,transparent 6px)}
.w3-rcard-body{flex:1;min-width:0}
.w3-rcard-desc{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* магазины самовывоза: 3 в ряд на широких экранах */
@media(min-width:1241px){.w3-stores{grid-template-columns:repeat(3,1fr)}}

/* Поиск: дропдаун по макету — 2 колонки (история+популярное | рекомендации+категории) */
@media(min-width:1024px){
  .ss-panel{min-width:0;width:min(880px,calc(100vw - 60px));left:50%;transform:translateX(-50%)}
}
.ss-cols{display:grid;grid-template-columns:260px 1fr;gap:0}
.ss-col-l{border-right:1px solid #26262B;padding:14px 16px;min-width:0}
.ss-col-r{padding:14px 16px;min-width:0}
.ss-hist-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.ss-hist-head .ss-label{margin:0}
.ss-hist-row{display:flex;align-items:center;gap:6px}
.ss-hist-q{flex:1;display:flex;align-items:center;gap:9px;background:none;border:0;color:#c9c9cf;font-size:13.5px;padding:8px 4px;cursor:pointer;text-align:left;min-width:0}
.ss-hist-q svg{width:14px;height:14px;color:#6B6B73;flex:0 0 auto}
.ss-hist-q span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ss-hist-q:hover{color:#fff}
.ss-hist-x{background:none;border:0;color:#6B6B73;cursor:pointer;font-size:11px;padding:6px}
.ss-hist-x:hover{color:#FF6B1A}
.ss-hist-empty{font-size:12.5px;color:#6B6B73;padding:8px 4px}
.ss-clear{background:none;border:0;color:#FF6B1A;font-size:11.5px;cursor:pointer;padding:0}
.ss-clear:hover{text-decoration:underline}
.ss-rec{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ss-rec-card{display:flex;align-items:center;gap:10px;background:#1C1C22;border:1px solid #26262B;border-radius:12px;padding:10px;transition:border-color .15s}
.ss-rec-card:hover{border-color:#FF6B1A}
.ss-rec-card img{width:48px;height:48px;object-fit:contain;flex:0 0 auto;border-radius:8px}
.ss-rec-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.ss-rec-info span{font-size:12.5px;color:#fff;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ss-rec-info b{font-size:13px;color:#FF6B1A}
.ss-rec-bag{width:34px;height:34px;border-radius:9px;background:linear-gradient(135deg,#FF7A1F,#FF5A00);color:#fff;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.ss-rec-bag svg{width:15px;height:15px}
.ss-cats{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ss-cat-tile{display:flex;align-items:center;background:#1C1C22;border:1px solid #26262B;border-radius:12px;padding:13px 14px;font-size:13px;font-weight:600;color:#fff;transition:border-color .15s}
.ss-cat-tile:hover{border-color:#FF6B1A}
@media(max-width:1023px){.ss-cols{grid-template-columns:1fr}.ss-col-l{border-right:0;border-bottom:1px solid #26262B}}

/* Поиск: панель подсказок снова видна — pill-форме overflow:hidden не нужен */
.search{overflow:visible}

/* Поиск-дропдаун: дожим — ширина до 880 (старый max-width:660 убран), карточки flex (специфичность выше .ss-rec a) */
@media(min-width:1024px){
  .ss-panel{max-width:none;width:min(880px,calc(100vw - 60px))}
}
.ss-rec a.ss-rec-card{display:flex;align-items:center;gap:10px;text-align:left;padding:10px}
.ss-rec a.ss-rec-card img{margin:0;width:48px;height:48px}

/* OOS: кнопка подписки без переноса текста */
#stock-notify .btn,#stock-notify button{white-space:nowrap}

/* Мегаменю: фикс рассинхрона — каскад-анимация колонок убрана (в фоновых вкладках CSS-анимации не стартуют → контент висел на opacity:0), сетка — жёстко */
.megapanel.open .mega-grp,.megapanel.open .mega-side{animation:none}
.megapanel-in{display:grid !important;grid-template-columns:minmax(0,1fr) minmax(360px,466px) !important}
.mega-cols.mega-cols-grouped{display:grid !important;grid-template-columns:1.18fr 1fr 1fr .82fr !important}
.megapanel{left:50% !important;right:auto !important;transform:translateX(-50%);width:min(1480px,96vw) !important;border:1px solid var(--line) !important;border-radius:16px !important;top:calc(100% + 8px) !important}

/* Мегаменю: вообще без анимаций на панели (в фоновых вкладках CSS-анимации не стартуют → панель висела невидимой) */
.megapanel.open{animation:none !important}
.megapanel.open .mega-grp,.megapanel.open .mega-side{opacity:1 !important;transform:none !important}

/* Главная: названия тайлов каталога — до 2 строк без обрезки */
.catrow-name{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:12.5px;line-height:1.3}

/* Мобильная шапка по макету: топбар (город/телефон) скрыт на телефоне, остаётся 18+ плашка + основной ряд */
@media(max-width:768px){.topbar{display:none}}

/* === Фиксы по аудиту 02.10 (мобильная карточка, OOS-порядок, FAB чата) === */
/* мобильная карточка: ничего не шире экрана */
@media(max-width:767px){
  .product,.product-info,.product-gallery,.p-aside{min-width:0;max-width:100%}
  .product-info>*{min-width:0}
  .buy-controls{flex-wrap:wrap}
  .buy-controls #add-cart{flex:1 1 140px}
  .p-avail-list{grid-template-columns:1fr}
  .p-perks{flex-direction:column;gap:10px}
  .p-rate{flex-wrap:wrap}
}
/* OOS: порядок блоков — после панели цены (у них не было order → уезжали наверх) */
@media(min-width:1024px){
  .product-info .stock-notify,.product-info .co-note-oos,.product-info .buy-oos-disc{order:7}
}
/* FAB чата над нижним таб-баром на мобильной */
@media(max-width:768px){.wov4-b{bottom:76px !important}}

/* Карточка в сетке: строка бренда над названием (макет Д-03) */
.pcard-brand{font-size:11px;color:#6B6B73;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}

/* Поиск: панель — fixed по центру вьюпорта (не уезжает за край ни на какой ширине) */
@media(min-width:1024px){
  .ss-panel{position:fixed;top:132px;left:50%;right:auto;transform:translateX(-50%);width:min(880px,calc(100vw - 40px));max-width:none}
}

/* Шапка: выравнивание по контейнеру + цельная пилюля поиска (кнопка «Найти» больше не вылезает) */
.search{height:44px;align-items:center;padding:4px 4px 4px 16px;overflow:visible}
.search button{height:36px;align-self:center;flex:0 0 auto;border-radius:999px}
.megapanel{width:min(1560px,96vw) !important}
