/* Доминго — базовые стили приложения */
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:var(--font);color:var(--c-text);background:#fff;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none;cursor:pointer}
a:hover{color:var(--c-primary)}
button{font-family:inherit;cursor:pointer}
input,select,textarea{font-family:inherit}
::placeholder{color:#98A1A8}
img{display:block}
#root{min-height:100vh;display:flex;flex-direction:column}

.container{max-width:1400px;margin:0 auto;padding:0 40px;width:100%}
.section{padding-top:44px}
.h1{font-size:31px;font-weight:900;letter-spacing:-.8px;margin:0}
.h2{font-size:26px;font-weight:800;letter-spacing:-.6px;margin:0}
.sec-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
.link-more{font-size:14px;font-weight:700;color:var(--c-primary)}
.link-more:hover{color:var(--c-primary-dark)}
.muted{color:var(--c-muted)}
.grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.grid-4{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
.card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px}
.row{display:flex;align-items:center;gap:10px}
.spacer{flex:1}

/* Кнопки */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--c-primary);color:#fff;border:none;border-radius:10px;height:44px;padding:0 20px;font-size:14px;font-weight:700;transition:background .15s;white-space:nowrap}
.btn:hover{background:var(--c-primary-dark);color:#fff}
.btn-lg{height:50px;font-size:15px;border-radius:11px}
.btn-sm{height:36px;padding:0 14px;font-size:12.5px;border-radius:8px}
.btn-outline{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:#fff;color:var(--c-text);border:1.5px solid #D5DDE3;border-radius:10px;height:44px;padding:0 20px;font-size:14px;font-weight:700;transition:all .15s;white-space:nowrap}
.btn-outline:hover{border-color:var(--c-primary);color:var(--c-primary)}
.btn-success{background:var(--c-success-dark)}
.btn-success:hover{background:#3F7A0C}
.btn-ghost{background:none;border:none;color:var(--c-muted);font-size:13px;font-weight:600;padding:0}
.btn-ghost:hover{color:var(--c-danger)}
.btn-dark{background:var(--c-text)}
.btn-dark:hover{background:#000}

/* Инпуты */
.input{border:1.5px solid #D5DDE3;border-radius:10px;padding:12px 14px;font-size:13.5px;outline-color:var(--c-primary);width:100%}
.select{border:1.5px solid #D5DDE3;border-radius:9px;padding:9px 10px;font-size:13px;font-weight:600;background:#fff;outline-color:var(--c-primary)}
input[type="checkbox"]{accent-color:var(--c-primary);width:16px;height:16px;cursor:pointer}

/* Чипы */
.chips{display:flex;gap:9px;flex-wrap:wrap}
.chip{background:#F2F5F7;border:none;border-radius:9px;padding:9px 15px;font-size:13px;font-weight:600;color:var(--c-text)}
.chip:hover{background:var(--c-primary-soft);color:var(--c-primary-dark)}
.chip-line{background:#fff;border:1.5px solid #D5DDE3;border-radius:9px;padding:8px 14px;font-size:12.5px;font-weight:600;transition:all .15s}
.chip-line:hover{border-color:var(--c-primary);color:var(--c-primary)}
.chip-line-on{background:var(--c-primary-soft);border-color:var(--c-primary);color:var(--c-primary-dark)}

/* Хлебные крошки */
.crumbs{display:flex;gap:8px;font-size:12.5px;color:var(--c-muted);align-items:center;flex-wrap:wrap}
.crumbs a{color:var(--c-muted)}
.crumbs a:hover{color:var(--c-primary)}
.crumbs b{color:var(--c-text);font-weight:500}

/* ===== Header ===== */
.hdr{position:sticky;top:-38px;z-index:400;background:#fff;box-shadow:0 1px 0 var(--c-border)}
.topbar{border-bottom:1px solid var(--c-line)}
.topbar-in{height:38px;display:flex;align-items:center;gap:22px;font-size:12.5px}
.topbar-in a{color:#5A6268}
.topbar-in a:hover{color:var(--c-primary)}
.city-btn{display:flex;align-items:center;gap:6px;background:none;border:none;color:var(--c-text);font-size:12.5px;font-weight:700;padding:0}
.hdr-main{height:78px;display:flex;align-items:center;gap:22px}
.cat-btn{flex:none;display:flex;align-items:center;gap:10px;background:var(--c-primary);color:#fff;border:none;border-radius:10px;padding:0 22px;height:48px;font-size:15px;font-weight:700;transition:background .15s}
.cat-btn:hover{background:var(--c-primary-dark)}
.cat-btn-bars{display:flex;flex-direction:column;gap:4px}
.cat-btn-bars span{width:16px;height:2px;background:#fff;border-radius:2px}
.search-wrap{flex:1;position:relative;min-width:120px}
.search-box{display:flex;border:1.5px solid #D5DDE3;border-radius:10px;overflow:hidden;background:#fff}
.search-box input{flex:1;border:none;outline:none;padding:0 16px;height:45px;font-size:14.5px;color:var(--c-text);background:#fff}
.search-go{width:104px;background:var(--c-primary);border:none;color:#fff;font-size:14.5px;font-weight:700}
.search-go:hover{background:var(--c-primary-dark)}
.search-drop{position:absolute;top:calc(100% + 8px);left:0;right:0;background:#fff;border:1px solid var(--c-border);border-radius:var(--r);box-shadow:var(--sh-pop);padding:18px 20px;z-index:20}
.search-sug{display:flex;align-items:center;gap:10px;padding:7px 0;font-size:14px;width:100%;background:none;border:none;text-align:left;color:var(--c-text)}
.search-sug:hover{color:var(--c-primary)}
.hdr-acts{flex:none;display:flex;gap:22px}
.hdr-act{position:relative;display:flex;flex-direction:column;align-items:center;gap:5px;font-size:11.5px;font-weight:500;color:var(--c-text);background:none;border:none;padding:0}
.hdr-act:hover{color:var(--c-primary)}
.hdr-act-b{font-weight:700}
.hdr-cnt{position:absolute;top:-6px;right:2px;background:var(--c-primary);color:#fff;font-size:10px;font-weight:700;min-width:16px;height:16px;border-radius:8px;display:flex;align-items:center;justify-content:center;padding:0 4px}
.hdr-cnt-accent{background:var(--c-accent)}
.catstrip{border-top:1px solid var(--c-line)}
.catstrip-in{height:46px;display:flex;align-items:center;gap:24px;font-size:13.5px;font-weight:600}
.catstrip-in a:hover{color:var(--c-primary)}

/* Мега-меню */
.mega-overlay{position:fixed;inset:0;background:rgba(23,26,29,.4);z-index:390}
.mega{position:absolute;top:100%;left:0;right:0;z-index:395;background:#fff;border-radius:0 0 18px 18px;box-shadow:var(--sh-pop)}
.mega-in{display:grid;grid-template-columns:300px 1fr;gap:32px;min-height:440px;padding-top:20px;padding-bottom:28px}
.mega-left{border-right:1px solid var(--c-border);padding-right:20px;display:flex;flex-direction:column;gap:2px}
.mega-item{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-radius:9px;font-size:14.5px;cursor:pointer;font-weight:500;color:var(--c-text);background:none;border:none;text-align:left;width:100%}
.mega-item-on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:700}
.mega-title{font-size:21px;font-weight:800;letter-spacing:-.3px;display:inline-block;margin-bottom:18px}
.mega-cols{display:grid;grid-template-columns:repeat(4,1fr);gap:26px 20px;align-items:start}
.mega-col-t{display:block;font-size:14px;font-weight:700;margin-bottom:9px}
.mega-col a{display:block;font-size:13.5px;color:#5A6268;padding:4px 0}
.mega-col a:hover{color:var(--c-primary)}

/* ===== Footer ===== */
.footer{background:#F6F8FA;border-top:1px solid var(--c-border);margin-top:64px;color:#565E66}
.foot-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr 1.3fr;gap:36px;padding-top:48px}
.foot-t{font-size:12.5px;font-weight:800;color:var(--c-text);text-transform:uppercase;letter-spacing:.6px;margin-bottom:14px}
.foot-col{display:flex;flex-direction:column;gap:9px;font-size:13.5px}
.foot-col a{color:#565E66}
.foot-col a:hover{color:var(--c-primary)}
.foot-bottom{padding:22px 0 28px;margin-top:38px;border-top:1px solid var(--c-border);display:flex;align-items:center;gap:18px;font-size:12.5px;color:#7A838B}
.foot-bottom a{color:#7A838B}
.pay-chip{border:1px solid #D9E0E6;background:#fff;border-radius:6px;padding:4px 9px;font-size:11px;font-weight:700;color:#565E66}
.soc-chip{border:1px solid #D9E0E6;background:#fff;border-radius:8px;padding:7px 12px;font-size:12.5px;font-weight:600}
.soc-chip:hover{border-color:var(--c-primary);color:var(--c-primary)}

/* ===== Карточка товара ===== */
.pcard{background:#fff;border:1px solid var(--c-border);border-radius:var(--r);padding:14px;display:flex;flex-direction:column;gap:7px;height:100%;transition:box-shadow .18s,transform .18s;position:relative}
.pcard:hover{box-shadow:var(--sh-pop);transform:translateY(-2px)}
.pcard-img{position:relative;display:block;cursor:pointer}
.pcard-img img{width:100%;aspect-ratio:1/1;border-radius:var(--r-sm);object-fit:cover;background:var(--c-surface)}
.pcard-badges{position:absolute;top:8px;left:8px;display:flex;flex-direction:column;gap:4px;align-items:flex-start}
.pbadge{font-size:10.5px;font-weight:700;padding:3px 8px;border-radius:6px;letter-spacing:.2px;white-space:nowrap}
.fav-btn{position:absolute;top:6px;right:6px;width:32px;height:32px;border:none;background:rgba(255,255,255,.92);border-radius:9px;display:flex;align-items:center;justify-content:center;box-shadow:0 1px 4px rgba(34,38,42,.14);color:#727B82}
.pcard-meta{display:flex;gap:8px;font-size:12px;align-items:center}
.pcard-name{font-size:14px;line-height:1.35;font-weight:500;min-height:57px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;cursor:pointer;background:none;border:none;text-align:left;padding:0;color:var(--c-text)}
.pcard-name:hover{color:var(--c-primary)}
.price-line{display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.price{font-weight:800;letter-spacing:-.3px}
.price-unit{font-size:12.5px;font-weight:600;color:var(--c-muted)}
.price-old{font-size:13px;color:#98A1A8;text-decoration:line-through}
.pcard-per{font-size:12px;color:var(--c-muted);margin-top:-3px}
.stock{display:flex;align-items:center;gap:7px;font-size:12.5px;font-weight:600}
.stock-dot{width:7px;height:7px;border-radius:50%;flex:none}
.split-note{font-size:12px;font-weight:600;color:var(--c-success-dark)}
.pcard-buy{width:100%;background:var(--c-primary);color:#fff;border:none;border-radius:9px;height:42px;font-size:14px;font-weight:700;transition:background .15s}
.pcard-buy:hover{background:var(--c-primary-dark)}
.stepper{display:flex;gap:8px;align-items:stretch}
.step-btn{width:42px;height:42px;border:1.5px solid var(--c-border);background:#fff;border-radius:9px;font-size:19px;color:var(--c-text)}
.step-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}
.step-btn-plus{border:none;background:var(--c-primary);color:#fff}
.step-btn-plus:hover{background:var(--c-primary-dark);color:#fff}
.step-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;line-height:1.15}
.step-mid b{font-size:15px;font-weight:800}
.step-link{font-size:11px;font-weight:600;color:var(--c-success-dark)}

/* ===== Home ===== */
.hero-grid{display:grid;grid-template-columns:1fr 336px;gap:18px;padding-top:22px}
.hero{position:relative;border-radius:var(--r-lg);overflow:hidden;height:372px;border:1px solid var(--c-border);transition:background .5s}
.hero-img{position:absolute;top:0;right:0;bottom:0;width:46%;height:100%;object-fit:cover}
.hero-txt{position:absolute;inset:0;display:flex;align-items:center}
.hero-txt-in{max-width:46%;padding-left:48px}
.hero-kicker{display:inline-block;font-size:12px;font-weight:700;padding:6px 12px;border-radius:8px;letter-spacing:.4px;text-transform:uppercase}
.hero-title{font-size:38px;font-weight:900;line-height:1.1;letter-spacing:-1.1px;margin:16px 0 12px}
.hero-sub{font-size:15px;line-height:1.5;color:#4E565D;margin-bottom:24px}
.hero-cta{display:inline-block;color:#fff;font-size:14.5px;font-weight:700;padding:13px 26px;border-radius:10px;transition:transform .15s}
.hero-cta:hover{transform:translateY(-2px);color:#fff}
.hero-nav{position:absolute;bottom:22px;width:38px;height:38px;border:1px solid var(--c-border);border-radius:50%;background:rgba(255,255,255,.95);font-size:16px;color:var(--c-text)}
.hero-nav:hover{border-color:var(--c-primary);color:var(--c-primary)}
.hero-dots{position:absolute;left:112px;bottom:36px;display:flex;gap:7px}
.hero-dot{height:7px;border-radius:4px;border:none;padding:0;transition:all .25s}
.promo-tile{flex:1;border-radius:var(--r-lg);padding:22px 26px;display:flex;flex-direction:column;justify-content:center;transition:transform .15s;cursor:pointer}
.promo-tile:hover{transform:translateY(-2px)}
.promo-k{font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px}
.promo-t{font-size:20px;font-weight:800;letter-spacing:-.4px;margin:8px 0 6px;color:var(--c-text)}
.usp-row{display:flex;gap:36px;padding:22px 4px;border-bottom:1px solid var(--c-line)}
.usp{display:flex;align-items:center;gap:12px;flex:1}
.usp-ic{width:40px;height:40px;flex:none;border-radius:10px;display:flex;align-items:center;justify-content:center}
.usp-txt{min-width:0}
.usp-txt b{display:block;font-size:13.5px;font-weight:700}
.usp-txt span{display:block;font-size:12px;color:var(--c-muted);margin-top:2px}
.cat-tile{background:#fff;border:1px solid var(--c-border);border-radius:var(--r);padding:14px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;transition:box-shadow .18s;cursor:pointer;min-width:0}
.cat-tile:hover{box-shadow:var(--sh-pop)}
.cat-tile b{font-size:15px;font-weight:700;min-width:0}
.cat-tile img{width:84px;height:84px;border-radius:9px;object-fit:cover;flex:none}
.banner2{position:relative;border-radius:var(--r-lg);overflow:hidden;height:176px;display:block;transition:transform .15s;cursor:pointer}
.banner2:hover{transform:translateY(-2px)}
.banner2 img{position:absolute;top:0;right:0;bottom:0;width:42%;height:100%;object-fit:cover}
.banner2-txt{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;max-width:52%;padding-left:30px}
.art-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r);overflow:hidden;transition:box-shadow .18s;cursor:pointer;display:block}
.art-card:hover{box-shadow:var(--sh-pop)}
.art-card img{width:100%;height:168px;object-fit:cover}
.art-body{padding:16px 20px 20px}
.art-k{display:block;font-size:11.5px;font-weight:800;text-transform:uppercase;letter-spacing:.5px;margin-bottom:8px}
.art-t{display:block;font-size:16px;font-weight:700;line-height:1.3;color:var(--c-text)}
.art-m{display:block;font-size:12.5px;color:var(--c-muted);margin-top:10px}
.pro-banner{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:36px 40px;display:grid;grid-template-columns:1.15fr 1fr;gap:40px;align-items:center}
.pro-stat b{display:block;font-size:22px;font-weight:900;color:var(--c-accent)}
.pro-stat span{display:block;font-size:12px;color:var(--c-muted);margin-top:2px}

/* ===== Каталог ===== */
.cat-layout{display:grid;grid-template-columns:268px 1fr;gap:22px;align-items:start;padding-top:0}
.filters{background:#fff;border:1px solid var(--c-border);border-radius:var(--r);padding:20px;display:flex;flex-direction:column;gap:22px;position:sticky;top:134px}
.f-title{font-size:13.5px;font-weight:800;margin-bottom:10px}
.checkline{display:flex;gap:9px;align-items:center;font-size:13.5px;cursor:pointer}
.checkline small{color:#A0A8AF;font-size:12px}
.f-col{display:flex;flex-direction:column;gap:8px}
.sortbar{display:flex;align-items:center;gap:9px;margin-bottom:16px;flex-wrap:wrap}
.view-toggle{display:flex;border:1.5px solid var(--c-border);border-radius:9px;overflow:hidden}
.view-btn{width:38px;height:36px;border:none;background:#fff;display:flex;align-items:center;justify-content:center;color:#727B82}
.view-btn-on{background:var(--c-primary-soft);color:var(--c-primary)}
.pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin:30px 0 8px}
.page-btn{min-width:40px;height:40px;border:1.5px solid var(--c-border);background:#fff;border-radius:9px;font-size:14px;font-weight:600}
.page-btn:hover{border-color:var(--c-primary);color:var(--c-primary)}
.page-btn-on{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}
.show-more{width:100%;height:48px;border:1.5px solid var(--c-primary);color:var(--c-primary);background:#fff;border-radius:10px;font-size:14.5px;font-weight:700;transition:all .15s}
.show-more:hover{background:var(--c-primary-soft)}

/* ===== Товар ===== */
.prod-grid{display:grid;grid-template-columns:minmax(0,1.1fr) 380px 336px;gap:22px;align-items:start}
.gal-main{aspect-ratio:1/1;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden}
.gal-main img{width:100%;height:100%;object-fit:cover}
.gal-thumbs{display:flex;gap:10px;margin-top:12px}
.gal-thumb{width:76px;height:76px;border-radius:10px;border:2px solid var(--c-border);padding:0;overflow:hidden;background:var(--c-surface)}
.gal-thumb img{width:100%;height:100%;object-fit:cover}
.gal-thumb-on{border-color:var(--c-primary)}
.spec-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px dashed var(--c-border);padding:7px 0;font-size:13.5px}
.spec-row span{color:var(--c-muted)}
.spec-row b{font-weight:600;text-align:right}
.buy-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px;box-shadow:var(--sh-soft)}
.deliv-row{display:flex;gap:11px;align-items:flex-start;font-size:13.5px}
.deliv-dot{width:8px;height:8px;border-radius:50%;margin-top:5px;flex:none}
.calc-card{background:var(--c-success-soft);border-radius:var(--r-lg);padding:22px 24px}
.calc-res{background:#fff;border-radius:11px;padding:14px 16px;margin-top:12px;display:flex;align-items:center;justify-content:space-between}
.stores-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px 24px;position:sticky;top:134px}
.store-row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid var(--c-border)}
.store-row:last-child{border-bottom:none}
.tabs{display:flex;gap:6px;padding:14px 18px;border-bottom:1px solid var(--c-border)}
.tab{border:none;background:none;border-radius:9px;padding:10px 18px;font-size:14px;font-weight:700;color:var(--c-text);transition:all .15s}
.tab-on{background:var(--c-primary);color:#fff}
.review{border-bottom:1px solid var(--c-border);padding-bottom:20px}
.review:last-child{border-bottom:none;padding-bottom:0}
.rate-bar{flex:1;height:6px;background:var(--c-border);border-radius:3px;overflow:hidden}
.rate-bar span{display:block;height:100%;background:#F2A93B}
.doc-link{display:flex;align-items:center;gap:14px;border:1.5px solid var(--c-border);border-radius:11px;padding:14px 18px}
.doc-link:hover{border-color:var(--c-primary)}
.pdf-chip{background:var(--c-danger);color:#fff;font-size:10px;font-weight:800;border-radius:6px;padding:5px 7px}

/* ===== Корзина ===== */
.cart-layout{display:grid;grid-template-columns:1fr 404px;gap:22px;align-items:start}
.free-bar{background:var(--c-success-soft);border-radius:var(--r);padding:16px 20px}
.free-track{height:8px;background:rgba(78,143,19,.18);border-radius:4px;overflow:hidden}
.free-fill{height:100%;background:var(--c-success);border-radius:4px;transition:width .3s}
.cart-item{background:#fff;border:1px solid var(--c-border);border-radius:var(--r);padding:18px 20px}
.cart-item-grid{display:grid;grid-template-columns:88px 1fr 130px 120px 30px;gap:18px;align-items:center}
.cart-img{width:88px;height:88px;border-radius:10px;overflow:hidden;display:block;background:var(--c-surface);cursor:pointer}
.cart-img img{width:100%;height:100%;object-fit:cover}
.cart-nm{font-size:14.5px;font-weight:600;line-height:1.35;cursor:pointer;background:none;border:none;padding:0;text-align:left;color:var(--c-text)}
.cart-nm:hover{color:var(--c-primary)}
.cart-x{width:30px;height:30px;border:none;background:none;color:#B4BAC0;font-size:17px;border-radius:8px}
.cart-x:hover{color:var(--c-danger);background:var(--c-danger-soft)}
.order-note{margin-top:12px;background:var(--c-accent-soft);border-radius:10px;padding:10px 14px;font-size:12.5px;font-weight:600;color:var(--c-accent-ink);display:flex;gap:8px;align-items:center}
.seg{display:flex;background:var(--c-surface);border-radius:var(--r);padding:4px;margin-bottom:18px}
.seg-btn{flex:1;border:none;border-radius:9px;padding:10px 0;font-size:13.5px;font-weight:700;background:transparent;color:var(--c-muted);transition:all .15s}
.seg-btn-on{background:#fff;color:var(--c-text);box-shadow:0 1px 4px rgba(34,38,42,.12)}
.radio-card{text-align:left;border:1.5px solid var(--c-border);background:#fff;border-radius:var(--r);padding:12px 14px;display:flex;gap:11px;align-items:flex-start;transition:all .15s;width:100%}
.radio-card-on{border-color:var(--c-primary);background:var(--c-primary-soft)}
.radio-dot{width:18px;height:18px;border-radius:50%;border:5px solid #D7DDE2;box-sizing:border-box;flex:none;margin-top:1px;background:#fff}
.slot-btn{border:1.5px solid var(--c-border);background:#fff;border-radius:11px;padding:9px 6px;text-align:center;transition:all .15s}
.slot-btn-on{border-color:var(--c-primary);background:var(--c-primary-soft)}
.slot-btn b{display:block;font-size:12px;font-weight:700}
.slot-btn i{display:block;font-style:normal;font-size:12.5px;font-weight:600;margin-top:2px}
.slot-btn small{display:block;font-size:11px;color:var(--c-muted);margin-top:2px}
.switch{width:36px;height:20px;border-radius:10px;position:relative;transition:background .2s;flex:none;display:inline-block;cursor:pointer}
.switch-knob{position:absolute;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:left .2s;box-shadow:0 1px 3px rgba(0,0,0,.2)}
.bonus-row{display:flex;align-items:center;gap:11px;width:100%;border:none;background:var(--c-accent-soft);border-radius:11px;padding:12px 14px;margin-top:14px;cursor:pointer}
.sum-row{display:flex;justify-content:space-between;font-size:13.5px}
.empty-state{background:#fff;border:1px solid var(--c-border);border-radius:20px;padding:72px 40px;display:flex;flex-direction:column;align-items:center;text-align:center}
.empty-ic{width:88px;height:88px;border-radius:50%;background:var(--c-primary-soft);display:flex;align-items:center;justify-content:center;margin-bottom:22px;color:var(--c-primary)}

/* ===== ЛК ===== */
.lk-layout{display:grid;grid-template-columns:300px 1fr;gap:22px;align-items:start}
.lk-side{display:flex;flex-direction:column;gap:14px;position:sticky;top:134px}
.lk-nav{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:2px}
.lk-item{display:flex;align-items:center;gap:10px;border:none;background:none;color:var(--c-text);border-radius:11px;padding:12px 14px;font-size:14px;font-weight:500;text-align:left;transition:all .15s}
.lk-item-on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:800}
.lk-cnt{font-size:12px;color:var(--c-muted)}
.bonus-hero{background:linear-gradient(115deg,#F0801A,#F5A54B);border-radius:12px;padding:14px 16px;color:#fff}
.order-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:22px 24px}
.thumb64{width:64px;height:64px;border-radius:10px;overflow:hidden;flex:none}
.thumb64 img{width:100%;height:100%;object-fit:cover}
.tag{display:inline-block;font-size:11.5px;font-weight:700;padding:5px 10px;border-radius:7px;white-space:nowrap}

/* ===== B2B ===== */
.b2b-hdr{background:#fff;border-bottom:1px solid var(--c-border)}
.b2b-hdr-in{height:64px;display:flex;align-items:center;gap:22px}
.b2b-hero{background:linear-gradient(180deg,#E9F4FB 0%,#FFFFFF 100%)}
.b2b-hero-in{padding:52px 0 56px;display:grid;grid-template-columns:1.15fr 1fr;gap:56px;align-items:center}
.hero-stat b{display:block;font-size:26px;font-weight:900}
.hero-stat span{display:block;font-size:12.5px;color:var(--c-muted);margin-top:3px}
.vsep{width:1px;background:#D5DDE3}
.inn-card{background:#fff;border:1px solid var(--c-border);border-radius:18px;padding:28px 30px;box-shadow:var(--sh-pop)}
.inn-input{width:100%;border:2px solid var(--c-primary);border-radius:10px;padding:13px 16px;font-size:16px;font-weight:700;letter-spacing:1px;outline:none}
.benefit{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px}
.benefit-ic{width:44px;height:44px;border-radius:11px;display:flex;align-items:center;justify-content:center;margin-bottom:16px;font-weight:900}
.step-num{width:36px;height:36px;border-radius:50%;background:var(--c-primary);color:#fff;font-size:15px;font-weight:900;display:flex;align-items:center;justify-content:center;flex:none}
.tariff{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:24px;position:relative}
.tariff-hot{border:2px solid var(--c-primary)}
.tariff-flag{position:absolute;top:-11px;left:24px;background:var(--c-primary);color:#fff;font-size:11px;font-weight:800;padding:4px 12px;border-radius:7px}

/* ===== B2B Портал ===== */
.portal-top{background:#fff;border-bottom:1px solid var(--c-border);position:sticky;top:0;z-index:400}
.portal-top-in{max-width:1440px;margin:0 auto;padding:0 28px;height:60px;display:flex;align-items:center;gap:18px}
.org-btn{display:flex;align-items:center;gap:9px;background:#F2F5F7;border:none;border-radius:10px;padding:8px 14px;color:var(--c-text);text-align:left}
.portal-layout{max-width:1440px;margin:0 auto;padding:20px 28px 48px;display:grid;grid-template-columns:216px 1fr;gap:22px;align-items:start}
.portal-layout > *{min-width:0}
.pnav{position:sticky;top:80px;background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:2px}
.pnav-item{display:flex;align-items:center;gap:8px;border:none;background:none;color:var(--c-text);border-radius:10px;padding:11px 13px;font-size:13.5px;font-weight:500;text-align:left;transition:all .15s}
.pnav-item-on{background:var(--c-accent-soft);color:var(--c-accent-ink);font-weight:800}
.pnav-badge{background:var(--c-danger);color:#fff;font-size:10px;font-weight:800;min-width:17px;height:17px;border-radius:9px;display:flex;align-items:center;justify-content:center;padding:0 5px}
/* Дерево каталога внутри левого меню портала */
.pnav-tree{display:flex;flex-direction:column;gap:1px;margin:1px 0 6px 10px;padding-left:8px;border-left:2px solid var(--c-line)}
.pnav-tree button{border:none;background:none;text-align:left;border-radius:8px;padding:7px 9px;font-size:12px;font-weight:600;color:#5A6268;display:flex;gap:6px;align-items:center;width:100%}
.pnav-tree button:hover{color:var(--c-primary)}
.pnav-tree .pnav-tree-on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:700}
.pnav-tree .pnav-tree-sub{padding-left:24px;font-weight:500}
.stat-card{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:20px 22px}
.meter{height:9px;background:var(--c-surface);border-radius:5px;overflow:hidden}
.meter span{display:block;height:100%;border-radius:5px}
.tbl{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);overflow:hidden;overflow-x:auto}
.tbl-head{display:grid;gap:12px;padding:12px 22px;font-size:11px;font-weight:700;color:var(--c-muted);text-transform:uppercase;letter-spacing:.4px;border-bottom:1px solid var(--c-border);min-width:760px}
.tbl-row{display:grid;gap:12px;padding:13px 22px;align-items:center;border-bottom:1px solid var(--c-surface);min-width:760px}
.tbl-row:last-child{border-bottom:none}
.note-warn{background:var(--c-accent-soft);border-radius:var(--r);padding:13px 18px;font-size:12.5px;font-weight:600;color:var(--c-accent-ink)}
/* Дерево каталога (B2B) */
.b2b-cat-layout{display:grid;grid-template-columns:236px minmax(0,1fr);gap:14px;align-items:start}
.tree{background:#fff;border:1px solid var(--c-border);border-radius:var(--r-lg);padding:10px;display:flex;flex-direction:column;gap:1px;position:sticky;top:80px}
.tree-item{display:flex;align-items:center;gap:8px;border:none;background:none;border-radius:9px;padding:10px 12px;font-size:13px;font-weight:600;color:var(--c-text);text-align:left;width:100%}
.tree-item:hover{background:var(--c-surface)}
.tree-item-on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:800}
.tree-item-on:hover{background:var(--c-primary-soft)}
.tree-cnt{font-size:11px;color:var(--c-muted);font-weight:600;margin-left:auto}
.tree-chev{color:#A6ACB2;flex:none;transition:transform .15s}
.tree-sub{display:flex;flex-direction:column;gap:1px;margin:1px 0 6px;padding-left:12px}
.tree-sub button{border:none;background:none;text-align:left;border-radius:8px;padding:7px 10px;font-size:12.5px;font-weight:500;color:#5A6268;display:flex;gap:8px;align-items:center;width:100%}
.tree-sub button:hover{color:var(--c-primary)}
.tree-sub .tree-sub-on{background:var(--c-primary-soft);color:var(--c-primary-dark);font-weight:700}
@media (max-width:1100px){.b2b-cat-layout{grid-template-columns:1fr}.tree{position:static}}
.note-ok{background:var(--c-success-soft);border-radius:var(--r);padding:13px 18px;font-size:12.5px;font-weight:600;color:#2E5C2B}
.qty-input{width:52px;border:1.5px solid var(--c-border);border-radius:8px;padding:8px 6px;font-size:13px;font-weight:700;text-align:center;outline-color:var(--c-primary)}
.add-btn{border:none;background:var(--c-primary);color:#fff;border-radius:8px;padding:0 12px;font-size:12px;font-weight:700;height:34px}
.add-btn:hover{background:var(--c-primary-dark)}
.quick-input{border:1.5px solid var(--c-border);border-radius:8px;padding:9px 11px;font-size:13px;font-weight:700;outline-color:var(--c-primary);width:100%}
.drop-zone{border:2px dashed #CBD3D9;border-radius:var(--r-lg);padding:24px 22px;text-align:center;background:#FAFBFC}
.draft-btn{width:100%;text-align:left;border:none;background:var(--c-surface);border-radius:10px;padding:11px 13px;transition:background .15s}
.draft-btn:hover{background:var(--c-accent-soft)}
.mgr-card{border-top:1px solid var(--c-border);margin:8px 4px 4px;padding-top:12px}

/* Скроллбар и выделение */
::selection{background:rgba(27,135,201,.18)}

/* ===== Адаптив: промежуточные ширины 641–1180px ===== */
@media (max-width: 1180px){
  .container{padding:0 24px}
  .prod-grid{grid-template-columns:minmax(0,1fr) 380px}
  .stores-card{grid-column:1/-1;position:static}
  .cat-layout{grid-template-columns:240px minmax(0,1fr)}
  .hdr-acts{gap:14px}
  .topbar-in a:nth-of-type(3),.topbar-in a:nth-of-type(4),.topbar-in a:nth-of-type(7){display:none}
  .catstrip-in{overflow-x:auto;scrollbar-width:none}
  .catstrip-in::-webkit-scrollbar{display:none}
  .catstrip-in a{white-space:nowrap}
}
@media (max-width: 1100px){
  .grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .hero-grid{grid-template-columns:1fr}
  .hero-grid > div:last-child{flex-direction:row}
  .promo-tile{min-height:120px}
  .usp-row{flex-wrap:wrap;gap:14px}
  .usp{flex:1 1 46%}
  .cart-layout{grid-template-columns:1fr}
  .cart-layout > div:last-child{position:static}
  .pro-banner{grid-template-columns:1fr;gap:24px}
  .b2b-hero-in{grid-template-columns:1fr;gap:32px}
  .foot-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
  .lk-layout{grid-template-columns:260px minmax(0,1fr)}
  .prod-grid{grid-template-columns:1fr}
  .stores-card{grid-column:auto}
  .gal-main{max-width:560px}
  .mega-cols{grid-template-columns:repeat(3,minmax(0,1fr))}
}

/* ===== Адаптив 390px ===== */
@media (max-width: 640px){
  .container{padding:0 16px}
  .hero-grid{grid-template-columns:1fr}
  .hero{height:auto;min-height:420px}
  .hero-img{position:static;width:100%;height:180px}
  .hero-txt{position:static}
  .hero-txt-in{max-width:100%;padding:20px}
  .hero-title{font-size:26px}
  .usp-row{flex-wrap:wrap;gap:14px}
  .usp{flex:1 1 46%}
  .grid-4,.grid-3{grid-template-columns:repeat(2,1fr)}
  .cat-layout,.prod-grid,.cart-layout,.lk-layout{grid-template-columns:1fr}
  .filters,.stores-card,.pnav,.lk-side{position:static}
  .hdr-main{height:auto;flex-wrap:wrap;padding:10px 0;gap:10px}
  .search-wrap{order:5;flex:1 1 100%}
  .catstrip-in{overflow-x:auto}
  .pro-banner,.b2b-hero-in{grid-template-columns:1fr}
  .foot-grid{grid-template-columns:1fr 1fr}
  .portal-layout{grid-template-columns:1fr}
  .cart-item-grid{grid-template-columns:64px 1fr;grid-auto-rows:auto}
  .mega-in{grid-template-columns:1fr}
  .mega-cols{grid-template-columns:1fr 1fr}
}
