/* ═══ PLINTUS — ГРАФИТ + МЕДЬ ═══ */
:root{
--c-primary:#C97B3F;--c-primary-dark:#A66330;--c-primary-light:#E09B60;--c-primary-rgb:201,123,63;
--c-bg:#0E1116;--c-bg-alt:#161A22;--c-bg-rgb:14,17,22;
--c-text:#EDEEF0;--c-text-muted:#8B92A0;--c-text-rgb:237,238,240;
--c-card-bg:#161A22;--c-card-border:rgba(var(--c-primary-rgb),.15);
--c-input-bg:rgba(255,255,255,.03);--c-input-border:rgba(255,255,255,.08);
--c-success:#4ADE80;
--font-display:'Montserrat',system-ui,sans-serif;
--font-body:'Inter',system-ui,sans-serif;
--r-btn:12px;--r-card:20px;--r-input:12px;
--shadow-card:0 4px 24px rgba(0,0,0,.4);
}
*{box-sizing:border-box;margin:0;padding:0}
body{background:var(--c-bg);color:var(--c-text);font-family:var(--font-body);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:800;line-height:1.15;letter-spacing:-.02em}
h1{font-size:clamp(38px,5vw,68px)}
h2{font-size:clamp(28px,3.5vw,48px)}
h3{font-size:clamp(20px,2vw,26px)}
a{color:var(--c-primary);transition:color .2s}
a:hover{color:var(--c-primary-light)}
img{max-width:100%;height:auto;display:block}
.container{max-width:1320px;margin:0 auto;padding:0 24px}
.section{padding:120px 0}
.section-alt{background:var(--c-bg-alt)}
.section-head{text-align:center;max-width:800px;margin:0 auto 72px}
.tag{display:inline-block;padding:8px 20px;background:rgba(var(--c-primary-rgb),.1);border:1px solid rgba(var(--c-primary-rgb),.3);color:var(--c-primary-light);border-radius:999px;font-size:12px;font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-bottom:24px}
.section-title{font-family:var(--font-display);font-size:clamp(32px,4vw,52px);font-weight:800;color:var(--c-text);margin-bottom:20px}
.section-title .accent{color:var(--c-primary);background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.section-subtitle{font-size:18px;color:var(--c-text-muted);max-width:640px;margin:0 auto}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:16px 32px;border-radius:var(--r-btn);font-family:inherit;font-weight:600;font-size:16px;line-height:1;text-decoration:none;border:2px solid transparent;cursor:pointer;transition:all .25s}
.btn-lg{padding:20px 40px;font-size:17px}
.btn-sm{padding:12px 22px;font-size:14px}
.btn-block{width:100%}
.btn-primary{background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));color:#fff;box-shadow:0 8px 24px rgba(var(--c-primary-rgb),.3)}
.btn-primary:hover{box-shadow:0 14px 36px rgba(var(--c-primary-rgb),.5);transform:translateY(-2px);color:#fff}
.btn-outline{background:transparent;color:var(--c-text);border-color:rgba(255,255,255,.15)}
.btn-outline:hover{background:rgba(var(--c-primary-rgb),.1);border-color:var(--c-primary);color:var(--c-primary-light);transform:translateY(-2px)}

/* TOPBAR */
.topbar{background:var(--c-bg);border-bottom:1px solid rgba(255,255,255,.05);color:var(--c-text-muted);font-size:13px;padding:10px 0}
.topbar-inner{display:flex;justify-content:space-between;align-items:center;gap:20px}
.topbar-info{display:flex;gap:28px}
.topbar-info i{color:var(--c-primary);margin-right:6px}
.topbar-contacts{display:flex;gap:20px;align-items:center}
.topbar-contacts a{color:var(--c-text-muted);text-decoration:none;font-weight:500}
.topbar-contacts a:hover{color:var(--c-primary)}
.topbar-callback{color:var(--c-primary)!important;font-weight:700}

/* HEADER */
.site-header{background:rgba(var(--c-bg-rgb),.85);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-bottom:1px solid rgba(255,255,255,.05);position:sticky;top:0;z-index:100}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:16px 24px}
.logo{display:flex;align-items:center;gap:14px;text-decoration:none;color:var(--c-text);flex-shrink:0}
.logo img{border-radius:12px}
.logo-name{display:block;font-family:var(--font-display);font-size:20px;font-weight:800;line-height:1;color:var(--c-text)}
.logo-tag{display:block;font-size:11px;color:var(--c-primary);font-weight:700;letter-spacing:1.5px;text-transform:uppercase;margin-top:3px}
.main-nav{display:flex;align-items:center;gap:32px;flex:1;justify-content:center}
.nav-item{color:var(--c-text);text-decoration:none;font-size:15px;font-weight:500;position:relative;padding:6px 0}
.nav-item::after{content:'';position:absolute;bottom:0;left:0;right:0;height:2px;background:var(--c-primary);transform:scaleX(0);transition:transform .2s}
.nav-item:hover{color:var(--c-primary)}
.nav-item:hover::after{transform:scaleX(1)}
.header-actions{display:flex;align-items:center;gap:16px;flex-shrink:0}
.header-phone{display:flex;align-items:center;gap:8px;color:var(--c-text);text-decoration:none;font-weight:600;font-size:15px;white-space:nowrap}
.header-phone i{color:var(--c-primary)}
.header-phone:hover{color:var(--c-primary)}
.cart-link{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center;border-radius:12px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);color:var(--c-text);text-decoration:none}
.cart-link:hover{background:rgba(var(--c-primary-rgb),.1);border-color:rgba(var(--c-primary-rgb),.3);color:var(--c-primary)}
.cart-badge{position:absolute;top:-4px;right:-4px;min-width:20px;height:20px;background:var(--c-primary);color:#fff;border-radius:10px;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;padding:0 5px}
.burger{display:none;flex-direction:column;gap:5px;background:none;border:none;cursor:pointer;padding:8px}
.burger span{width:24px;height:2px;background:var(--c-text);border-radius:2px}
.nav-close,.nav-mobile-cta{display:none}
.nav-overlay{position:fixed;inset:0;background:rgba(0,0,0,.7);opacity:0;visibility:hidden;transition:all .3s;z-index:150;backdrop-filter:blur(4px)}
.nav-overlay.active{opacity:1;visibility:visible}

/* HERO */
.hero-plintus{padding:100px 0 120px;background:radial-gradient(ellipse at 30% 0%,rgba(var(--c-primary-rgb),.1) 0%,transparent 55%),var(--c-bg);position:relative;overflow:hidden}
.hero-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:80px;align-items:center;position:relative;z-index:1}
.hero-badge{display:inline-flex;align-items:center;gap:10px;padding:10px 20px;background:rgba(var(--c-primary-rgb),.1);border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:999px;font-size:13px;font-weight:600;color:var(--c-primary-light);margin-bottom:28px}
.hero-badge-dot{width:8px;height:8px;background:var(--c-primary);border-radius:50%;box-shadow:0 0 12px rgba(var(--c-primary-rgb),.8);animation:pulse 2s infinite}
@keyframes pulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(1.3)}}
.hero-title{font-family:var(--font-display);font-size:clamp(38px,5vw,68px);font-weight:800;color:var(--c-text);margin-bottom:24px;letter-spacing:-.03em;line-height:1.05}
.hero-title .accent{background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:19px;line-height:1.65;color:var(--c-text-muted);margin-bottom:36px;max-width:560px}
.hero-actions{display:flex;flex-wrap:wrap;gap:14px;margin-bottom:56px}
.hero-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;padding-top:36px;border-top:1px solid rgba(255,255,255,.08)}
.hero-stat-value{font-family:var(--font-display);font-size:34px;font-weight:800;color:var(--c-primary);line-height:1;margin-bottom:8px}
.hero-stat-label{font-size:13px;color:var(--c-text-muted);line-height:1.4}
.hero-visual{display:flex;justify-content:center;align-items:center;position:relative}
.hero-image{max-width:100%;filter:drop-shadow(0 30px 60px rgba(var(--c-primary-rgb),.35));position:relative;z-index:2}

/* ADVANTAGES */
.advantages-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}
.advantage-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:40px 32px;text-align:center;transition:all .35s;position:relative;overflow:hidden}
.advantage-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--c-primary),transparent);opacity:0;transition:opacity .3s}
.advantage-card:hover{transform:translateY(-8px);border-color:rgba(var(--c-primary-rgb),.4);box-shadow:0 24px 64px rgba(0,0,0,.5)}
.advantage-card:hover::before{opacity:1}
.advantage-icon{width:72px;height:72px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.15),rgba(var(--c-primary-rgb),.05));border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:20px;margin:0 auto 24px;font-size:28px;color:var(--c-primary);transition:transform .3s}
.advantage-card:hover .advantage-icon{transform:scale(1.1) rotate(-5deg)}
.advantage-title{font-family:var(--font-display);font-size:20px;font-weight:700;color:var(--c-text);margin-bottom:10px}
.advantage-desc{font-size:15px;line-height:1.65;color:var(--c-text-muted)}

/* CATALOG PREVIEW */
.catalog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.catalog-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);overflow:hidden;text-decoration:none;color:var(--c-text);transition:border-color .3s ease, box-shadow .3s ease;display:flex;flex-direction:column}
.catalog-card:hover{border-color:rgba(var(--c-primary-rgb),.5);box-shadow:0 24px 64px rgba(0,0,0,.5);color:var(--c-text)}


.catalog-card:hover 
.catalog-card-body{padding:28px 24px 32px;flex:1;display:flex;flex-direction:column}
.catalog-card-title{font-family:var(--font-display);font-size:22px;font-weight:700;margin-bottom:12px;color:var(--c-text)}
.catalog-card-desc{font-size:15px;color:var(--c-text-muted);line-height:1.55;margin-bottom:20px;flex:1}
.catalog-card-price{font-family:var(--font-display);font-size:18px;font-weight:700;color:var(--c-primary);margin-bottom:16px}
.catalog-card-link{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:600;color:var(--c-primary);transition:gap .2s}
.catalog-card:hover .catalog-card-link{gap:14px}

/* CALCULATOR SECTION */
.calc-wrapper{background:linear-gradient(135deg,var(--c-bg-alt) 0%,var(--c-bg) 100%);border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:var(--r-card);padding:64px;max-width:900px;margin:0 auto}
.calc-form{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.calc-field{display:flex;flex-direction:column;gap:8px}
.calc-field label{font-size:14px;font-weight:600;color:var(--c-text-muted)}
/* CALC-FIELD-INPUT-V1: единые стили для input и textarea в .calc-field */
.calc-field input:not([type=radio]):not([type=checkbox]),
.calc-field textarea {
    width: 100%;
    padding: 14px 18px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--r-input, 12px);
    color: var(--c-text);
    font-size: 16px;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}
.calc-field input:not([type=radio]):not([type=checkbox]):focus,
.calc-field textarea:focus {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb), .15);
}
.calc-field input:not([type=radio]):not([type=checkbox])::placeholder,
.calc-field textarea::placeholder {
    color: rgba(var(--c-text-muted-rgb, 139, 146, 160), .55);
}
.calc-field textarea {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
}

.calc-field input,.calc-field select{width:100%;padding:14px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-input);color:var(--c-text);font-size:16px;font-family:inherit;transition:all .2s;appearance:none}
.calc-field input:focus,.calc-field select:focus{outline:none;border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(var(--c-primary-rgb),.15)}
.calc-result{background:rgba(var(--c-primary-rgb),.08);border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:var(--r-input);padding:24px;text-align:center;margin-top:20px}
.calc-result-label{font-size:14px;color:var(--c-text-muted);margin-bottom:8px}
.calc-result-value{font-family:var(--font-display);font-size:42px;font-weight:800;background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}

/* HOWITWORKS */
.how-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;position:relative}
.how-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:36px 28px;position:relative;transition:all .3s}
.how-card:hover{transform:translateY(-6px);border-color:rgba(var(--c-primary-rgb),.4)}
.how-num{font-family:var(--font-display);font-size:56px;font-weight:800;background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;line-height:1;margin-bottom:20px;opacity:.5}
.how-title{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:12px}
.how-desc{font-size:15px;color:var(--c-text-muted);line-height:1.6}

/* REVIEWS */
.reviews-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.review-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:32px;position:relative}
.review-stars{color:var(--c-primary-light);margin-bottom:16px;font-size:14px;letter-spacing:2px}
.review-text{font-size:15px;line-height:1.7;color:var(--c-text);margin-bottom:24px}
.review-author{display:flex;align-items:center;gap:14px;padding-top:20px;border-top:1px solid rgba(255,255,255,.06)}
.review-avatar{width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:700;font-size:20px;color:#fff;flex-shrink:0}
.review-name{font-weight:600;font-size:15px}
.review-city{font-size:13px;color:var(--c-text-muted)}

/* FAQ */
.faq-list{max-width:800px;margin:0 auto}
.faq-item{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:14px;margin-bottom:12px;overflow:hidden;transition:all .3s}
.faq-item.open{border-color:rgba(var(--c-primary-rgb),.4);box-shadow:0 8px 24px rgba(0,0,0,.3)}
.faq-head{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;cursor:pointer;user-select:none;gap:20px}
.faq-q{font-family:var(--font-display);font-size:17px;font-weight:600;color:var(--c-text)}
.faq-icon{color:var(--c-primary);font-size:14px;transition:transform .3s;flex-shrink:0}
.faq-item.open .faq-icon{transform:rotate(180deg)}
.faq-body{max-height:0;overflow:hidden;transition:max-height .35s,padding .35s;padding:0 24px;color:var(--c-text-muted);font-size:15px;line-height:1.7}
.faq-item.open .faq-body{max-height:400px;padding:0 24px 24px}

/* CONTACTS */
.contacts-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:stretch}
.contacts-info{display:flex;flex-direction:column;gap:20px}
.contact-item{display:flex;gap:16px;padding:20px;background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);transition:all .3s}
.contact-item:hover{border-color:rgba(var(--c-primary-rgb),.4);transform:translateX(4px)}
.contact-icon{width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.15),rgba(var(--c-primary-rgb),.05));border-radius:14px;color:var(--c-primary);font-size:20px;flex-shrink:0}
.contact-label{font-size:13px;color:var(--c-text-muted);margin-bottom:4px}
.contact-value{font-size:16px;font-weight:600;color:var(--c-text);text-decoration:none}
.contact-value:hover{color:var(--c-primary)}

/* CTA */
.cta-inner{background:radial-gradient(ellipse at 30% 50%,rgba(var(--c-primary-rgb),.25) 0%,transparent 65%),linear-gradient(135deg,var(--c-bg-alt) 0%,var(--c-bg) 100%);border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:28px;padding:96px 60px;text-align:center;box-shadow:0 32px 80px rgba(0,0,0,.5);position:relative;overflow:hidden}
.cta-inner h2{font-size:clamp(28px,3.5vw,46px);color:var(--c-text);margin-bottom:18px}
.cta-inner p{font-size:18px;color:var(--c-text-muted);margin-bottom:36px}
.cta-actions{display:flex;gap:14px;justify-content:center;flex-wrap:wrap}

/* FOOTER — ИСПРАВЛЕННЫЙ */
.site-footer{background:var(--c-bg);border-top:1px solid rgba(255,255,255,.05);color:var(--c-text-muted);padding:80px 0 32px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1.3fr;gap:56px;padding-bottom:56px;border-bottom:1px solid rgba(255,255,255,.06);align-items:start}
.footer-brand{max-width:320px}
.footer-logo{display:flex;align-items:center;gap:12px;color:var(--c-text);font-family:var(--font-display);font-size:20px;font-weight:800;margin-bottom:20px}
.footer-logo img{border-radius:12px;flex-shrink:0}
.footer-brand p{font-size:15px;line-height:1.7;margin-bottom:24px}
.footer-social{display:flex;gap:10px}
.footer-social a{width:42px;height:42px;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;color:var(--c-text);text-decoration:none;font-size:17px;transition:all .25s}
.footer-social a:hover{background:rgba(var(--c-primary-rgb),.15);border-color:rgba(var(--c-primary-rgb),.4);color:var(--c-primary);transform:translateY(-3px)}
.footer-col h4{color:var(--c-text);font-family:var(--font-display);font-size:12px;font-weight:700;margin-bottom:20px;text-transform:uppercase;letter-spacing:1.5px}
.footer-col ul{list-style:none;display:flex;flex-direction:column;gap:10px}
.footer-col a{color:var(--c-text-muted);text-decoration:none;font-size:15px;transition:color .2s}
.footer-col a:hover{color:var(--c-primary)}
.footer-contacts li{display:flex;align-items:flex-start;gap:10px;font-size:15px;line-height:1.5}
.footer-contacts i{color:var(--c-primary);width:16px;text-align:center;flex-shrink:0;margin-top:4px}
.footer-phone{font-family:var(--font-display);font-weight:600;color:var(--c-text)!important;font-size:16px}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;gap:24px;padding-top:28px;font-size:13px;color:var(--c-text-muted);flex-wrap:wrap}
.footer-legal{display:flex;gap:20px;flex-wrap:wrap}
.footer-legal a{color:var(--c-text-muted);text-decoration:none}
.footer-legal a:hover{color:var(--c-primary)}
.footer-powered{display:flex;align-items:center;gap:8px;color:var(--c-text-muted);text-decoration:none;font-size:12px}
.footer-powered i{color:var(--c-primary)}
.footer-powered b{color:var(--c-text)}
.footer-powered:hover{color:var(--c-primary)}

/* SCROLL-TOP */
.scroll-top{position:fixed;bottom:32px;right:32px;width:52px;height:52px;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));color:#fff;border:none;border-radius:14px;cursor:pointer;box-shadow:0 12px 32px rgba(var(--c-primary-rgb),.4);opacity:0;visibility:hidden;transition:all .3s;z-index:50;font-size:18px}
.scroll-top.visible{opacity:1;visibility:visible}
.scroll-top:hover{transform:translateY(-4px)}

/* UTILS */
.skip-link{position:absolute;left:-9999px;background:var(--c-primary);color:#fff;padding:12px 20px;z-index:10000}
.skip-link:focus{left:0}

/* RESPONSIVE */
@media (max-width:1100px){
.hero-grid{grid-template-columns:1fr;gap:56px}
.hero-visual{order:-1;max-width:500px;margin:0 auto}
.advantages-grid,.how-grid{grid-template-columns:repeat(2,1fr)}
.catalog-grid{grid-template-columns:repeat(2,1fr)}
.reviews-grid{grid-template-columns:repeat(2,1fr)}
.footer-grid{grid-template-columns:1fr 1fr;gap:40px}
.contacts-grid{grid-template-columns:1fr}
.calc-form{grid-template-columns:1fr}
}
@media (max-width:900px){
.main-nav{position:fixed;top:0;right:-100%;width:340px;height:100vh;background:var(--c-bg);flex-direction:column;align-items:stretch;justify-content:flex-start;padding:96px 32px 32px;box-shadow:-20px 0 60px rgba(0,0,0,.7);transition:right .35s;z-index:200;gap:4px;border-left:1px solid rgba(255,255,255,.06)}
.main-nav.open{right:0}
.nav-close{display:flex;align-items:center;justify-content:center;position:absolute;top:24px;right:24px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);width:40px;height:40px;border-radius:12px;font-size:18px;color:var(--c-text);cursor:pointer}
.nav-item{padding:16px 0;border-bottom:1px solid rgba(255,255,255,.05);font-size:17px;font-weight:600}
.nav-item::after{display:none}
.nav-mobile-cta{display:flex;flex-direction:column;gap:12px;margin-top:32px}
.burger{display:flex}
.header-phone span{display:none}
.header-cta{display:none}
}
@media (max-width:640px){
.section{padding:64px 0}
.hero-plintus{padding:56px 0 72px}
.hero-stats{grid-template-columns:repeat(2,1fr);gap:20px}
.advantages-grid,.how-grid,.catalog-grid,.reviews-grid{grid-template-columns:1fr}
.cta-inner{padding:56px 24px;border-radius:20px}
.footer-grid{grid-template-columns:1fr;gap:36px}


.calc-wrapper{padding:32px 20px}
}
/* ═══ КАЛЬКУЛЯТОР ═══ */
.calc-progress{display:flex;gap:8px;margin-bottom:48px;justify-content:center;flex-wrap:wrap}
.calc-progress-item{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 16px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.06);border-radius:12px;min-width:90px;transition:all .3s}
.calc-progress-item.active{border-color:var(--c-primary);background:rgba(var(--c-primary-rgb),.1)}
.calc-progress-item.done{border-color:rgba(var(--c-primary-rgb),.4);background:rgba(var(--c-primary-rgb),.05)}
.calc-progress-num{width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;background:rgba(255,255,255,.06);font-weight:700;font-size:13px;color:var(--c-text-muted)}
.calc-progress-item.active .calc-progress-num{background:var(--c-primary);color:#fff}
.calc-progress-item.done .calc-progress-num{background:rgba(var(--c-primary-rgb),.3);color:var(--c-primary)}
.calc-progress-label{font-size:11px;color:var(--c-text-muted);text-align:center}
.calc-layout{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:start}
.calc-form-full{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:48px}
.calc-step{display:none}
.calc-step.active{display:block;animation:fadeIn .3s}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.calc-step-title{font-family:var(--font-display);font-size:24px;font-weight:700;margin-bottom:32px;color:var(--c-text)}
.calc-options-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px}
.calc-option{cursor:pointer;background:rgba(255,255,255,.02);border:2px solid rgba(255,255,255,.08);border-radius:14px;padding:16px;transition:all .2s;text-align:center}
.calc-option:hover{border-color:rgba(var(--c-primary-rgb),.4);background:rgba(var(--c-primary-rgb),.05)}
.calc-option input{display:none}
.calc-option input:checked + .calc-option-img + .calc-option-label, .calc-option input:checked + .calc-option-label{color:var(--c-primary)}
.calc-option input:checked ~ .calc-option-img{border-color:var(--c-primary);box-shadow:0 0 0 3px rgba(var(--c-primary-rgb),.2)}
.calc-option:has(input:checked){border-color:var(--c-primary);background:rgba(var(--c-primary-rgb),.08)}
.calc-option-img{display:block;width:100%;aspect-ratio:4/3;border-radius:10px;overflow:hidden;margin-bottom:12px;border:2px solid transparent;transition:all .2s}
.calc-option-img img{width:100%;height:100%;object-fit:cover}
.calc-option-label{display:block;font-size:13px;font-weight:600;color:var(--c-text)}
.calc-fields-row{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.calc-field{display:flex;flex-direction:column;gap:8px}
.calc-field label{font-size:14px;font-weight:600;color:var(--c-text-muted)}
/* CALC-FIELD-INPUT-V1: единые стили для input и textarea в .calc-field */
.calc-field input:not([type=radio]):not([type=checkbox]),
.calc-field textarea {
    width: 100%;
    padding: 14px 18px;
    background: rgba(255, 255, 255, .04);
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: var(--r-input, 12px);
    color: var(--c-text);
    font-size: 16px;
    font-family: inherit;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
    outline: none;
}
.calc-field input:not([type=radio]):not([type=checkbox]):focus,
.calc-field textarea:focus {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb), .15);
}
.calc-field input:not([type=radio]):not([type=checkbox])::placeholder,
.calc-field textarea::placeholder {
    color: rgba(var(--c-text-muted-rgb, 139, 146, 160), .55);
}
.calc-field textarea {
    resize: vertical;
    min-height: 80px;
    line-height: 1.5;
}

.calc-field input,.calc-field select{width:100%;padding:14px 18px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.1);border-radius:var(--r-input);color:var(--c-text);font-size:16px;font-family:inherit}
.calc-field input:focus{outline:none;border-color:var(--c-primary)}
.calc-hint{font-size:14px;color:var(--c-text-muted);margin-top:-8px;margin-bottom:24px}
.calc-nav{display:flex;gap:12px;justify-content:flex-end;margin-top:32px}
.calc-result-box{background:rgba(var(--c-primary-rgb),.08);border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:var(--r-input);padding:32px;text-align:center}
.calc-result-label{font-size:15px;color:var(--c-text-muted);margin-bottom:12px}
.calc-result-value{font-family:var(--font-display);font-size:48px;font-weight:800;background:linear-gradient(135deg,var(--c-primary-light),var(--c-primary));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.calc-result-note{font-size:13px;color:var(--c-text-muted);margin-top:12px}
.calc-sidebar-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:32px;position:sticky;top:100px}
.calc-engineer{display:flex;align-items:center;gap:14px;margin-bottom:24px;padding-bottom:20px;border-bottom:1px solid rgba(255,255,255,.06)}
.calc-engineer-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,var(--c-primary),var(--c-primary-dark));display:flex;align-items:center;justify-content:center;font-size:24px;color:#fff;flex-shrink:0}
.calc-engineer-name{font-weight:700;font-size:16px}
.calc-engineer-role{font-size:13px;color:var(--c-text-muted)}
.calc-sidebar-card p{font-size:14px;color:var(--c-text-muted);margin-bottom:16px}
.calc-sidebar-card ul{list-style:none;display:flex;flex-direction:column;gap:12px;margin-bottom:20px}
.calc-sidebar-card li{display:flex;gap:10px;font-size:14px;color:var(--c-text)}
.calc-sidebar-card li i{color:var(--c-primary);flex-shrink:0;margin-top:3px}
.calc-sidebar-note{font-size:12px;color:var(--c-text-muted);padding-top:16px;border-top:1px solid rgba(255,255,255,.06);margin-top:16px;margin-bottom:0}

/* ═══ СТРАНИЦЫ ═══ */
.delivery-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.delivery-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:36px 28px;text-align:center;transition:all .3s}
.delivery-card:hover{transform:translateY(-6px);border-color:rgba(var(--c-primary-rgb),.4)}
.delivery-card i{font-size:36px;color:var(--c-primary);margin-bottom:20px}
.delivery-card h3{font-family:var(--font-display);font-size:20px;font-weight:700;margin-bottom:12px}
.delivery-card p{font-size:15px;color:var(--c-text-muted);line-height:1.6}
.about-content{max-width:800px;margin:0 auto}
.about-content h2{font-family:var(--font-display);font-size:32px;font-weight:700;margin-bottom:24px;color:var(--c-text)}
.about-content h3{font-family:var(--font-display);font-size:22px;font-weight:700;margin:32px 0 16px}
.about-content p{font-size:17px;line-height:1.75;color:var(--c-text-muted);margin-bottom:16px}
.about-content ul{margin:16px 0 24px 24px;color:var(--c-text-muted)}
.about-content li{margin-bottom:8px;line-height:1.6}
.portfolio-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.portfolio-item{display:block;border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06);transition:all .3s}
.portfolio-item:hover{transform:translateY(-6px);border-color:rgba(var(--c-primary-rgb),.4);box-shadow:0 20px 48px rgba(0,0,0,.4)}
.portfolio-item img{width:100%;height:280px;object-fit:cover;display:block}
.contacts-map{margin-top:48px;border-radius:var(--r-card);overflow:hidden;border:1px solid var(--c-card-border)}
.contacts-map iframe{display:block}

@media (max-width:1100px){
.calc-layout{grid-template-columns:1fr}
.calc-sidebar{display:none}
.calc-options-grid{grid-template-columns:repeat(2,1fr)}
.delivery-grid{grid-template-columns:repeat(2,1fr)}
.portfolio-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
.calc-form-full{padding:28px 20px}
.calc-options-grid{grid-template-columns:repeat(2,1fr)}
.calc-fields-row{grid-template-columns:1fr}
.delivery-grid,.portfolio-grid{grid-template-columns:1fr}
.calc-progress{gap:4px}
.calc-progress-item{min-width:auto;padding:8px 10px;flex:1}
.calc-progress-label{display:none}
}
/* ═══ КАТАЛОГ ═══ */
.catalog-layout{display:grid;grid-template-columns:260px 1fr;gap:40px;align-items:start}
.catalog-sidebar{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);padding:28px;position:sticky;top:100px}
.catalog-sidebar h3{font-family:var(--font-display);font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:1px;margin-bottom:20px;color:var(--c-text-muted)}
.catalog-categories{list-style:none;display:flex;flex-direction:column;gap:4px}
.catalog-categories a{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-radius:8px;color:var(--c-text);text-decoration:none;font-size:14px;transition:all .2s;gap:8px}
.catalog-categories a:hover{background:rgba(var(--c-primary-rgb),.1);color:var(--c-primary)}
.catalog-categories a.active{background:rgba(var(--c-primary-rgb),.15);color:var(--c-primary);font-weight:600}
.catalog-categories .cnt{font-size:11px;background:rgba(255,255,255,.06);padding:2px 8px;border-radius:10px;color:var(--c-text-muted)}

.products-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.product-card{background:var(--c-card-bg);border:1px solid var(--c-card-border);border-radius:var(--r-card);overflow:hidden;text-decoration:none;color:var(--c-text);transition:all .35s;display:flex;flex-direction:column}
.product-card:hover{transform:translateY(-6px);border-color:rgba(var(--c-primary-rgb),.5);box-shadow:0 20px 48px rgba(0,0,0,.5);color:var(--c-text)}
.product-card-image{aspect-ratio:1/1;background:#ffffff;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:18px}
.product-card-image img{width:100%;height:100%;object-fit:contain;transition:transform .5s}
.product-card:hover .product-card-image img{transform:scale(1.08)}
.product-card-placeholder{font-size:48px;color:rgba(var(--c-primary-rgb),.3)}
.product-card-body{padding:20px 22px 24px;flex:1;display:flex;flex-direction:column}
.product-card-title{font-family:var(--font-display);font-size:16px;font-weight:700;line-height:1.3;margin-bottom:10px;color:var(--c-text);min-height:42px}
.product-card-desc{font-size:13px;color:var(--c-text-muted);line-height:1.5;margin-bottom:16px;flex:1;min-height:40px}
.product-card-footer{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}
.product-card-price{font-family:var(--font-display);font-size:18px;font-weight:800;color:var(--c-primary);white-space:nowrap}
.product-card-btn{font-size:12px;font-weight:600;color:var(--c-primary);padding:6px 12px;border:1px solid var(--c-primary);border-radius:8px;transition:all .2s}
.product-card:hover .product-card-btn{background:var(--c-primary);color:#fff}

.page-subtitle{font-size:16px}

@media (max-width:1100px){
.catalog-layout{grid-template-columns:1fr}
.catalog-sidebar{position:static}
.products-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:640px){
.products-grid{grid-template-columns:1fr}
}
/* ═══ ГАЛЕРЕЯ ═══ */
.gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.gallery-item{position:relative;display:block;border-radius:14px;overflow:hidden;border:1px solid rgba(255,255,255,.06);aspect-ratio:4/3;background:var(--c-bg-alt);cursor:pointer;transition:all .35s}
.gallery-item:hover{border-color:var(--c-primary);transform:translateY(-4px);box-shadow:0 20px 48px rgba(0,0,0,.5)}
.gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .5s}
.gallery-item:hover img{transform:scale(1.08)}
.gallery-item-overlay{position:absolute;inset:0;background:rgba(var(--c-primary-rgb),.85);display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s;color:#fff;font-size:28px}
.gallery-item:hover .gallery-item-overlay{opacity:1}

/* ЛАЙТБОКС */
.lightbox{position:fixed;inset:0;background:rgba(0,0,0,.95);display:none;align-items:center;justify-content:center;z-index:9999;padding:40px}
.lightbox.active{display:flex}
.lightbox-image{max-width:90vw;max-height:85vh;object-fit:contain;border-radius:8px;box-shadow:0 40px 80px rgba(0,0,0,.8)}
.lightbox-close{position:absolute;top:20px;right:20px;width:48px;height:48px;background:rgba(255,255,255,.1);border:none;border-radius:12px;color:#fff;font-size:20px;cursor:pointer;transition:all .2s}
.lightbox-close:hover{background:var(--c-primary)}
.lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);width:56px;height:56px;background:rgba(255,255,255,.1);border:none;border-radius:12px;color:#fff;font-size:22px;cursor:pointer;transition:all .2s}
.lightbox-nav:hover{background:var(--c-primary)}
.lightbox-prev{left:20px}
.lightbox-next{right:20px}
.lightbox-counter{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:14px;font-weight:600;padding:8px 16px;background:rgba(0,0,0,.5);border-radius:20px}

@media (max-width:1100px){.gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media (max-width:768px){.gallery-grid{grid-template-columns:repeat(2,1fr);gap:10px}}
@media (max-width:480px){.gallery-grid{grid-template-columns:1fr}}
/* === Каталог: дерево категорий === */
.catalog-categories .cat-parent { margin-bottom: 6px; }
.catalog-categories .cat-parent-link { font-weight: 600; }
.catalog-categories .cat-children {
    list-style: none;
    margin: 6px 0 10px 14px;
    padding-left: 10px;
    border-left: 1px solid rgba(var(--c-primary-rgb),.25);
}
.catalog-categories .cat-children li { margin: 4px 0; }
.catalog-categories .cat-children a {
    display: flex; justify-content: space-between; align-items: center;
    padding: 6px 10px; font-size: 14px;
    color: var(--c-text-muted); border-radius: 6px; transition: all .18s;
}
.catalog-categories .cat-children a:hover,
.catalog-categories .cat-children a.active {
    background: rgba(var(--c-primary-rgb),.12); color: var(--c-primary-light);
}
.catalog-categories .cnt {
    font-size: 12px; color: var(--c-text-muted);
    background: rgba(255,255,255,.05); padding: 1px 7px; border-radius: 10px;
}
/* === /Каталог === */


/* =================== PRODUCT PAGE =================== */
.product-page-wrap { padding: 20px 0 80px; }
.product-page-wrap .container { max-width: 1280px; }

.breadcrumbs { font-size: 14px; color: var(--c-text-muted); margin-bottom: 24px; }
.breadcrumbs ol { list-style: none; display: flex; flex-wrap: wrap; gap: 8px; padding: 0; margin: 0; }
.breadcrumbs li + li::before { content: '/'; margin-right: 8px; opacity: .4; }
.breadcrumbs a { color: var(--c-text-muted); transition: color .15s; }
.breadcrumbs a:hover { color: var(--c-primary); }

.product-wrap {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 60px;
  margin-bottom: 80px;
}
@media (max-width: 900px) { .product-wrap { grid-template-columns: 1fr; gap: 30px; } }

.product-gallery__main {
  aspect-ratio: 1/1;
  background: var(--c-bg-alt);
  border-radius: 12px;
  overflow: hidden;
  display: flex; align-items: center; justify-content: center;
}
.product-gallery__main img { width: 100%; height: 100%; object-fit: contain; }

.product-gallery__thumbs { display: flex; gap: 10px; margin-top: 14px; flex-wrap: wrap; }
.product-gallery__thumbs .thumb {
  width: 72px; height: 72px;
  border: 2px solid transparent; border-radius: 8px;
  padding: 0; background: var(--c-bg-alt); cursor: pointer; overflow: hidden;
}
.product-gallery__thumbs .thumb img { width: 100%; height: 100%; object-fit: contain; }
.product-gallery__thumbs .thumb.is-active { border-color: var(--c-primary); }

.product-title { font-size: 32px; line-height: 1.2; margin: 0 0 12px; font-family: Montserrat, sans-serif; }
.product-sku { font-size: 13px; color: var(--c-text-muted); margin-bottom: 16px; }
.product-short { font-size: 15px; line-height: 1.6; margin-bottom: 24px; color: var(--c-text-muted); }

.product-price { margin: 20px 0; }
.product-price .price-value { font-size: 32px; font-weight: 700; color: var(--c-primary); font-family: Montserrat, sans-serif; }

.product-stock { margin-bottom: 24px; font-size: 14px; }
.product-stock.in-stock { color: #4ec98a; }

.product-actions { display: flex; gap: 12px; flex-wrap: wrap; align-items: center; margin-bottom: 30px; }
.qty-block { display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; overflow: hidden; }
.qty-block button { width: 42px; height: 48px; background: transparent; border: 0; color: var(--c-text); font-size: 20px; cursor: pointer; }
.qty-block button:hover { color: var(--c-primary); }
.qty-block input { width: 56px; height: 48px; background: transparent; border: 0; color: var(--c-text); text-align: center; font-size: 16px; -moz-appearance: textfield; }
.qty-block input::-webkit-outer-spin-button, .qty-block input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

.btn-quick-order { white-space: nowrap; }

.product-full { margin-top: 30px; padding-top: 30px; border-top: 1px solid rgba(255,255,255,.08); }
.product-full h3 { font-size: 18px; margin-bottom: 12px; font-family: Montserrat, sans-serif; }
.product-full div { font-size: 15px; line-height: 1.7; color: var(--c-text-muted); }

.product-cats { margin-top: 24px; font-size: 14px; color: var(--c-text-muted); }
.product-cats a { color: var(--c-primary); margin-left: 6px; }

.similar-products { margin-top: 60px; }
.similar-products h2 { font-size: 24px; margin-bottom: 30px; font-family: Montserrat, sans-serif; }

.modal { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; }
.modal[hidden] { display: none; }
.modal__overlay { position: absolute; inset: 0; background: rgba(0,0,0,.7); }
.modal__dialog { position: relative; background: var(--c-bg-alt); border-radius: 12px; padding: 32px; max-width: 420px; width: 90%; z-index: 1; }
.modal__close { position: absolute; top: 8px; right: 12px; background: 0; border: 0; color: var(--c-text); font-size: 28px; cursor: pointer; }
.modal h3 { margin: 0 0 20px; font-family: Montserrat, sans-serif; }
.modal input { display: block; width: 100%; padding: 12px; margin-bottom: 12px; background: var(--c-bg); border: 1px solid rgba(255,255,255,.1); color: var(--c-text); border-radius: 8px; box-sizing: border-box; }
.modal button[type="submit"] { width: 100%; }
.form-status { margin-top: 12px; font-size: 14px; color: var(--c-primary); text-align: center; }
.btn.is-added { background: #4ec98a !important; border-color: #4ec98a !important; }
/* =================== /PRODUCT PAGE =================== */
/* ==================== CART ==================== */
.cart-layout {
  display: grid;
  grid-template-columns: minmax(0, 2fr) minmax(280px, 1fr);
  gap: 40px;
  align-items: start;
}
@media (max-width: 900px) { .cart-layout { grid-template-columns: 1fr; gap: 24px; } }

.cart-main { min-height: 200px; }
.cart-loading { padding: 40px; text-align: center; color: var(--c-text-muted); }
.cart-empty { padding: 60px 20px; text-align: center; color: var(--c-text-muted); font-size: 16px; }
.cart-empty a { color: var(--c-primary); }

.cart-row {
  display: grid;
  grid-template-columns: 80px minmax(0, 1fr) auto auto 30px;
  gap: 16px;
  align-items: center;
  padding: 16px 0;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 700px) {
  .cart-row { grid-template-columns: 60px minmax(0, 1fr) auto; gap: 10px; }
  .cart-row__sum { grid-column: 2 / 3; text-align: right; }
  .cart-row__remove { grid-column: 3 / 4; }
}
.cart-row__img { width: 80px; height: 80px; background: var(--c-bg-alt); border-radius: 8px; overflow: hidden; display:flex; align-items:center; justify-content:center; }
.cart-row__img img { width: 100%; height: 100%; object-fit: contain; }
.cart-row__info { min-width: 0; }
.cart-row__title { color: var(--c-text); font-size: 15px; font-weight: 500; text-decoration: none; display: block; margin-bottom: 4px; }
.cart-row__title:hover { color: var(--c-primary); }
.cart-row__price { font-size: 13px; color: var(--c-text-muted); }
.cart-row__qty { display: inline-flex; align-items: center; border: 1px solid rgba(255,255,255,.15); border-radius: 8px; overflow: hidden; }
.cart-qty-minus, .cart-qty-plus { width: 34px; height: 38px; background: 0; border: 0; color: var(--c-text); font-size: 16px; cursor: pointer; }
.cart-qty-minus:hover, .cart-qty-plus:hover { color: var(--c-primary); }
.cart-qty-input { width: 44px; height: 38px; background: 0; border: 0; color: var(--c-text); text-align: center; font-size: 14px; -moz-appearance: textfield; }
.cart-qty-input::-webkit-outer-spin-button, .cart-qty-input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.cart-row__sum { font-weight: 600; color: var(--c-text); white-space: nowrap; }
.cart-row__remove { width: 30px; height: 30px; background: 0; border: 0; color: var(--c-text-muted); font-size: 22px; line-height: 1; cursor: pointer; border-radius: 6px; }
.cart-row__remove:hover { color: #e06c6c; background: rgba(224,108,108,.1); }

.cart-sidebar {
  position: sticky; top: 20px;
  background: var(--c-bg-alt);
  border-radius: 12px;
  padding: 24px;
}
.cart-sidebar h3 { margin: 0 0 16px; font-family: Montserrat, sans-serif; font-size: 18px; }
.cart-sum-row { display: flex; justify-content: space-between; padding: 8px 0; font-size: 15px; color: var(--c-text-muted); }
.cart-sum-row.total { border-top: 1px solid rgba(255,255,255,.1); margin-top: 8px; padding-top: 16px; font-size: 17px; color: var(--c-text); }
.cart-sum-row.total b { color: var(--c-primary); font-size: 20px; }
.cart-sidebar .btn { width: 100%; margin-top: 12px; }
.cart-sidebar .btn-block { display: block; }

/* ---- Cart badge ---- */
.cart-link { position: relative; }
.cart-badge {
  position: absolute;
  top: -6px; right: -8px;
  min-width: 18px; height: 18px;
  padding: 0 5px;
  background: var(--c-primary);
  color: #fff;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 700;
  line-height: 18px;
  text-align: center;
}

/* ---- Checkout ---- */
.checkout-form {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr);
  gap: 40px;
  align-items: start;
}
@media (max-width: 900px) { .checkout-form { grid-template-columns: 1fr; } }

.checkout-fields label { display: block; margin-bottom: 16px; font-size: 14px; color: var(--c-text-muted); }
.checkout-fields input,
.checkout-fields textarea {
  display: block; width: 100%; margin-top: 6px;
  padding: 12px 14px; box-sizing: border-box;
  background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.1);
  color: var(--c-text); border-radius: 8px; font-size: 15px; font-family: inherit;
}
.checkout-fields input:focus, .checkout-fields textarea:focus { outline: none; border-color: var(--c-primary); }
.checkout-fields .req { color: var(--c-primary); }

.checkout-aside {
  background: var(--c-bg-alt);
  border-radius: 12px;
  padding: 24px;
  position: sticky; top: 20px;
}
.checkout-aside h3 { margin: 0 0 16px; font-family: Montserrat, sans-serif; font-size: 18px; }
.checkout-aside .cart-row { grid-template-columns: 50px minmax(0, 1fr); gap: 10px; padding: 10px 0; }
.checkout-aside .cart-row__img { width: 50px; height: 50px; }
.checkout-aside .cart-row__qty,
.checkout-aside .cart-row__remove,
.checkout-aside .cart-row__price { display: none; }
.checkout-aside .cart-row__sum { grid-column: 2 / 3; text-align: right; font-size: 14px; }

.btn-block { display: block; width: 100%; text-align: center; }
/* ==================== /CART ==================== */
/* ==================== CATALOG CARD UPGRADE ==================== */
.product-card {
    display: flex;
    flex-direction: column;
    background: var(--c-bg-alt);
    border-radius: 12px;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s;
}
.product-card:hover { transform: translateY(-3px); box-shadow: 0 8px 24px rgba(0,0,0,.35); }
.product-card__image-link { display: block; text-decoration: none; }
.product-card .product-card-image {
    aspect-ratio: 1/1;
    background: #ffffff !important;
    display: flex; align-items: center; justify-content: center;
    overflow: hidden;
    padding: 18px;
}
.product-card .product-card-image img { width: 100%; height: 100%; object-fit: contain; }
.product-card .product-card-body { padding: 14px 16px 6px; flex: 1 1 auto; }
.product-card .product-card-title { font-size: 15px; line-height: 1.35; margin: 0 0 8px; font-weight: 600; }
.product-card .product-card-title a { color: var(--c-text); text-decoration: none; }
.product-card .product-card-title a:hover { color: var(--c-primary); }
.product-card .product-card-desc { font-size: 13px; color: var(--c-text-muted); margin: 0; line-height: 1.4; }
.product-card .product-card-footer { padding: 6px 16px 10px; }
.product-card .product-card-price { font-size: 20px; font-weight: 700; color: var(--c-primary); font-family: Montserrat, sans-serif; }

.product-card-actions {
    display: flex;
    gap: 8px;
    padding: 10px 16px 16px;
    align-items: stretch;
}
.pc-qty {
    width: 56px;
    padding: 8px 6px;
    background: var(--c-bg);
    border: 1px solid rgba(255,255,255,.12);
    color: var(--c-text);
    border-radius: 8px;
    text-align: center;
    font-size: 14px;
    -moz-appearance: textfield;
    box-sizing: border-box;
}
.pc-qty::-webkit-outer-spin-button,
.pc-qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.pc-qty:focus { outline: none; border-color: var(--c-primary); }

.btn-add-cart {
    flex: 1 1 auto;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 14px;
    background: var(--c-primary);
    color: #fff;
    border: 0;
    border-radius: 8px;
    font-family: inherit;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: background .15s, transform .1s;
    white-space: nowrap;
}
.btn-add-cart:hover { background: var(--c-primary-dark); }
.btn-add-cart:active { transform: scale(.98); }
.btn-add-cart.is-added { background: #4ec98a !important; }
.btn-add-cart i { font-size: 13px; }

/* ==================== BACK LINK ==================== */
.back-to-catalog {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--c-text-muted);
    text-decoration: none;
    font-size: 14px;
    margin: 24px 0 8px;
    transition: color .15s;
}
.back-to-catalog:hover { color: var(--c-primary); }
.back-to-catalog i { font-size: 12px; }

/* ==================== CART ROW FIXED COLS ==================== */
.cart-row {
    grid-template-columns: 80px minmax(0, 1fr) 130px 130px 30px !important;
}
.cart-row__qty { justify-self: start; }
.cart-row__sum { justify-self: end; text-align: right; min-width: 100px; }
@media (max-width: 900px) {
    .cart-row {
        grid-template-columns: 70px minmax(0, 1fr) 120px 30px !important;
        grid-template-areas:
            "img info qty remove"
            "img sum sum sum";
    }
    .cart-row__img { grid-area: img; }
    .cart-row__info { grid-area: info; }
    .cart-row__qty { grid-area: qty; justify-self: end; }
    .cart-row__sum { grid-area: sum; justify-self: end; margin-top: 6px; }
    .cart-row__remove { grid-area: remove; }
}
@media (max-width: 560px) {
    .cart-row {
        grid-template-columns: 60px minmax(0, 1fr) 30px !important;
        grid-template-areas:
            "img info remove"
            "img qty qty"
            "img sum sum";
        gap: 8px;
        padding: 14px 0;
    }
}
/* ==================== /CATALOG CARD UPGRADE ==================== */
/* ==================== CATALOG META ==================== */
.page-title-sep { color: var(--c-text-muted); opacity: .4; margin: 0 6px; font-weight: 400; }
.page-title-cat { color: var(--c-primary); }

.catalog-meta {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-top: 14px;
    font-size: 14px;
    color: var(--c-text-muted);
}
.catalog-meta__cnt { }
.catalog-meta__reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--c-text-muted);
    text-decoration: none;
    padding: 4px 10px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 6px;
    font-size: 13px;
    transition: all .15s;
}
.catalog-meta__reset:hover { color: var(--c-primary); border-color: var(--c-primary); }
.catalog-meta__reset i { font-size: 10px; }
/* ==================== /CATALOG META ==================== */
/* ==================== CHECKOUT ALIGN FIX ==================== */
/* Заменяем старые правила общего .cart-row, чтобы !important не ломал checkout */
.cart-layout .cart-row {
    grid-template-columns: 80px minmax(0, 1fr) 130px 130px 30px !important;
}
@media (max-width: 900px) {
    .cart-layout .cart-row {
        grid-template-columns: 70px minmax(0, 1fr) 120px 30px !important;
        grid-template-areas:
            "img info qty remove"
            "img sum sum sum";
    }
}
@media (max-width: 560px) {
    .cart-layout .cart-row {
        grid-template-columns: 60px minmax(0, 1fr) 30px !important;
        grid-template-areas:
            "img info remove"
            "img qty qty"
            "img sum sum";
        gap: 8px;
        padding: 14px 0;
    }
}

/* Корзина на странице оформления: 2 колонки — фото+инфо, сумма справа */
.checkout-aside .cart-row {
    grid-template-columns: 56px minmax(0, 1fr) auto !important;
    gap: 12px !important;
    padding: 12px 0 !important;
    align-items: center;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.checkout-aside .cart-row__img { width: 56px !important; height: 56px !important; }
.checkout-aside .cart-row__info { min-width: 0; }
.checkout-aside .cart-row__title { font-size: 13px !important; line-height: 1.35; }
.checkout-aside .cart-row__qty,
.checkout-aside .cart-row__remove,
.checkout-aside .cart-row__price { display: none !important; }
.checkout-aside .cart-row__sum {
    grid-column: auto !important;
    justify-self: end !important;
    text-align: right !important;
    font-size: 14px !important;
    font-weight: 700 !important;
    color: var(--c-primary);
    white-space: nowrap;
    min-width: 90px;
    padding-left: 8px;
}

/* Сумма в блоке «Итого» на checkout */
.checkout-aside .cart-sum-row {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    padding: 8px 0;
}
.checkout-aside .cart-sum-row.total b { font-size: 20px; }

/* Мобильная раскладка checkout — сохраняем наши колонки */
@media (max-width: 560px) {
    .checkout-aside .cart-row {
        grid-template-columns: 50px minmax(0, 1fr) auto !important;
        grid-template-areas: none !important;
        gap: 10px !important;
        padding: 10px 0 !important;
    }
    .checkout-aside .cart-row__img { grid-area: auto !important; }
    .checkout-aside .cart-row__info { grid-area: auto !important; }
    .checkout-aside .cart-row__sum { grid-area: auto !important; font-size: 13px !important; }
}
/* ==================== /CHECKOUT ALIGN FIX ==================== */
/* ==================== CATALOG TUNE ==================== */
/* Уменьшаем заголовки и мета-блок в каталоге */
.catalog-page-hero .page-title,
.page-hero .page-title { font-size: 32px !important; line-height: 1.15 !important; }
@media (max-width: 700px) { .page-hero .page-title { font-size: 24px !important; } }

.page-hero { padding: 30px 0 20px !important; }
.page-hero .breadcrumbs { font-size: 12px !important; }

.page-title-sep { font-size: 0.7em !important; }
.page-title-cat { font-size: 0.85em !important; }

.catalog-meta { font-size: 13px !important; margin-top: 8px !important; }
.catalog-meta__reset { font-size: 12px !important; padding: 3px 9px !important; }

/* Сайдбар */
.catalog-sidebar h3 {
    font-size: 15px !important;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--c-text-muted) !important;
    margin: 0 0 10px !important;
}
.catalog-categories { font-size: 13px; }
.catalog-categories a { font-size: 13px !important; padding: 6px 10px !important; }
.catalog-categories .cat-parent-link { font-size: 13.5px !important; }
.catalog-categories .cat-children a { font-size: 12.5px !important; }
.catalog-categories .cnt { font-size: 11px !important; padding: 1px 6px !important; }

/* Карточки товара */
.product-card .product-card-title { font-size: 14px !important; line-height: 1.35 !important; }
.product-card .product-card-desc { font-size: 12px !important; }
.product-card .product-card-price { font-size: 17px !important; }

.products-grid { gap: 20px !important; }
@media (min-width: 900px) {
    .products-grid { grid-template-columns: repeat(4, 1fr) !important; }
}

.pc-qty { width: 46px !important; padding: 6px 4px !important; font-size: 13px !important; }
.btn-add-cart { padding: 8px 10px !important; font-size: 12.5px !important; }
.btn-add-cart i { font-size: 11px !important; }
/* ==================== /CATALOG TUNE ==================== */
/* ==================== CATALOG FILTER ==================== */
.filter-form { font-size: 13px; }
.filter-block { margin-bottom: 20px; padding-bottom: 18px; border-bottom: 1px solid rgba(255,255,255,.08); }
.filter-block:last-of-type { border-bottom: 0; padding-bottom: 0; }

.filter-block h4 {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--c-text-muted);
    margin: 0 0 10px;
    font-weight: 600;
}

.filter-input {
    width: 100%;
    padding: 8px 10px;
    background: var(--c-bg);
    border: 1px solid rgba(255,255,255,.12);
    color: var(--c-text);
    border-radius: 6px;
    font-size: 13px;
    font-family: inherit;
    box-sizing: border-box;
}
.filter-input:focus { outline: none; border-color: var(--c-primary); }
select.filter-input { cursor: pointer; }

.filter-price { display: flex; align-items: center; gap: 6px; }
.filter-price input { flex: 1 1 auto; min-width: 0; }
.filter-price span { color: var(--c-text-muted); }

.filter-cats { list-style: none; margin: 0; padding: 0; }
.filter-cats li { margin: 4px 0; }
.filter-cat-parent { margin-top: 10px !important; }
.filter-cat-parent:first-child { margin-top: 0 !important; }
.filter-cat-children {
    list-style: none;
    margin: 6px 0 0 20px;
    padding-left: 8px;
    border-left: 1px solid rgba(var(--c-primary-rgb),.2);
}

.filter-check {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    cursor: pointer;
    padding: 3px 0;
    line-height: 1.35;
    color: var(--c-text-muted);
    transition: color .15s;
}
.filter-check:hover { color: var(--c-text); }
.filter-check input[type="checkbox"] {
    margin: 3px 0 0;
    width: 14px; height: 14px;
    accent-color: var(--c-primary);
    cursor: pointer;
    flex: 0 0 auto;
}
.filter-check em {
    color: var(--c-text-muted);
    font-style: normal;
    opacity: .7;
    font-size: 12px;
}
.filter-cat-parent > .filter-check > span { color: var(--c-text); font-weight: 500; }
.filter-cat-parent > .filter-check:hover > span { color: var(--c-primary); }

.filter-actions { margin-top: 6px; }
.filter-actions .btn { margin-top: 8px; }

.catalog-empty {
    text-align: center;
    padding: 60px 20px;
    color: var(--c-text-muted);
}
.catalog-empty p { font-size: 16px; margin-bottom: 20px; }

.catalog-meta__cnt b { color: var(--c-text); font-weight: 600; }

@media (max-width: 900px) {
    .catalog-layout { grid-template-columns: 1fr !important; }
    .catalog-sidebar { position: static !important; }
}
/* ==================== /CATALOG FILTER ==================== */
/* ==================== CATALOG TOGGLE ==================== */
.catalog-toolbar {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 20px;
}
.filter-toggle-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    font-size: 14px;
    position: relative;
}
.filter-toggle-btn i { font-size: 13px; }
.filter-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 18px;
    height: 18px;
    padding: 0 5px;
    margin-left: 4px;
    background: var(--c-primary);
    color: #fff;
    border-radius: 9px;
    font-size: 11px;
    font-weight: 700;
}
.catalog-toolbar__reset {
    color: var(--c-text-muted);
    text-decoration: none;
    font-size: 13px;
}
.catalog-toolbar__reset:hover { color: var(--c-primary); }

/* Скрываем сайдбар по умолчанию */
.catalog-layout {
    position: relative;
}
.catalog-layout .catalog-sidebar { display: none; }
.catalog-layout.is-filter-open .catalog-sidebar { display: block; }

.catalog-overlay { display: none; }

/* На больших экранах — фильтр как выдвижной блок слева */
@media (min-width: 900px) {
    .catalog-layout.is-filter-open {
        display: grid;
        grid-template-columns: minmax(240px, 280px) minmax(0, 1fr);
        gap: 32px;
        align-items: start;
    }
    .catalog-layout .catalog-sidebar {
        position: sticky;
        top: 20px;
        background: var(--c-bg-alt);
        border-radius: 12px;
        padding: 20px;
        max-height: calc(100vh - 40px);
        overflow-y: auto;
    }
    .filter-close { display: none !important; }
}

/* На мобилке — фильтр выезжает слева поверх контента */
@media (max-width: 899px) {
    .catalog-layout.is-filter-open .catalog-overlay {
        display: block;
        position: fixed;
        inset: 0;
        background: rgba(0,0,0,.6);
        z-index: 998;
    }
    .catalog-layout.is-filter-open .catalog-sidebar {
        position: fixed;
        top: 0; left: 0; bottom: 0;
        width: 320px;
        max-width: 88vw;
        background: var(--c-bg-alt);
        padding: 20px;
        z-index: 999;
        overflow-y: auto;
        box-shadow: 4px 0 20px rgba(0,0,0,.5);
        animation: slideIn .22s ease;
    }
    @keyframes slideIn {
        from { transform: translateX(-100%); }
        to   { transform: translateX(0); }
    }
}

.filter-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 16px;
}
.filter-head h3 {
    margin: 0;
    font-size: 18px;
    font-family: Montserrat, sans-serif;
}
.filter-close {
    width: 32px; height: 32px;
    background: 0; border: 0;
    color: var(--c-text-muted);
    font-size: 24px;
    line-height: 1;
    cursor: pointer;
    border-radius: 6px;
}
.filter-close:hover { color: var(--c-primary); background: rgba(var(--c-primary-rgb),.1); }

/* Каталог без открытого фильтра — товары во всю ширину */
.catalog-layout:not(.is-filter-open) .catalog-main { width: 100%; }
/* ==================== /HIDE COMPLIANCE ==================== */
/* ==================== FIX CATALOG LAYOUT ==================== */
/* Когда фильтр закрыт — каталог в одну колонку (без грид-сайдбара) */
.catalog-layout:not(.is-filter-open) {
    display: block !important;
    grid-template-columns: none !important;
    gap: 0 !important;
}
.catalog-layout:not(.is-filter-open) .catalog-main {
    width: 100% !important;
    min-width: 0 !important;
}

/* Когда фильтр открыт (desktop) — только тогда грид */
@media (min-width: 900px) {
    .catalog-layout.is-filter-open {
        display: grid !important;
        grid-template-columns: 260px minmax(0, 1fr) !important;
        gap: 28px !important;
        align-items: start;
    }
    .catalog-layout.is-filter-open .catalog-main { width: auto !important; }
}

/* Адаптивная сетка товаров — перебиваем !important из TUNE */
.products-grid {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    gap: 18px !important;
}
@media (max-width: 1300px) {
    .products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 900px) {
    .products-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}
@media (max-width: 700px) {
    .products-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
}
@media (max-width: 440px) {
    .products-grid { grid-template-columns: 1fr !important; }
}

/* Когда фильтр открыт на desktop — 3 колонки (иначе карточки мелкие) */
@media (min-width: 900px) {
    .catalog-layout.is-filter-open .products-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    }
}
@media (min-width: 1400px) {
    .catalog-layout.is-filter-open .products-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }
}

/* Карточка — не даём ей сжиматься меньше 180px */
.product-card { min-width: 0; }

/* Каталог тулбар — всегда на всю ширину */
.catalog-toolbar { grid-column: 1 / -1; }
/* ==================== /FIX CATALOG LAYOUT ==================== */
/* ==================== CATALOG INTRO ==================== */
.catalog-intro {
    display: grid;
    grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
    gap: 40px;
    align-items: center;
    margin-top: 24px;
    padding: 22px 26px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.08), rgba(var(--c-bg-alt-rgb),.6));
    border: 1px solid rgba(var(--c-primary-rgb),.2);
    border-radius: 14px;
}
.catalog-intro__title {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    line-height: 1.25;
    margin: 0 0 8px;
    color: var(--c-primary-light);
    font-weight: 700;
    letter-spacing: -.2px;
}
.catalog-intro__text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--c-text-muted);
    margin: 0;
}
.catalog-intro__features {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.cat-feature {
    display: flex;
    align-items: center;
    gap: 14px;
}
.cat-feature__icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb),.15);
    color: var(--c-primary);
    border-radius: 10px;
    font-size: 16px;
}
.cat-feature__body b { display: block; font-size: 13.5px; color: var(--c-text); font-weight: 600; }
.cat-feature__body span { display: block; font-size: 12px; color: var(--c-text-muted); margin-top: 1px; }

@media (max-width: 900px) {
    .catalog-intro { grid-template-columns: 1fr; gap: 20px; padding: 20px; }
    .catalog-intro__title { font-size: 18px; }
    .catalog-intro__features { flex-direction: row; flex-wrap: wrap; gap: 16px; }
    .cat-feature { flex: 1 1 130px; gap: 10px; }
    .cat-feature__icon { width: 34px; height: 34px; font-size: 14px; }
}
@media (max-width: 500px) {
    .catalog-intro { padding: 16px; }
    .catalog-intro__title { font-size: 16px; }
    .catalog-intro__features { gap: 12px; }
    .cat-feature { flex: 1 1 100%; }
}
/* ==================== /CATALOG INTRO ==================== */

/* ==================== CART EMPTY ==================== */
.cart-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 60px 24px;
    background: var(--c-bg-alt);
    border-radius: 14px;
    border: 1px solid rgba(255,255,255,.06);
    max-width: 520px;
    margin: 0 auto;
}
.cart-empty__icon {
    width: 88px;
    height: 88px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb),.1);
    color: var(--c-primary);
    border-radius: 50%;
    font-size: 34px;
    margin-bottom: 22px;
}
.cart-empty__title {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 700;
    margin: 0 0 10px;
    color: var(--c-text);
}
.cart-empty__text {
    font-size: 14px;
    line-height: 1.55;
    color: var(--c-text-muted);
    margin: 0 0 26px;
    max-width: 340px;
}
.cart-empty .btn {
    padding: 12px 28px;
    font-size: 14px;
}
/* ==================== /CART EMPTY ==================== */
/* ==================== COUNTER BADGE === */
/* Счётчик «Найдено: N товаров» — в аккуратной рамке */
.catalog-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 14px;
}

.catalog-meta__cnt {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 14px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    font-size: 13px;
    color: var(--c-text-muted);
    line-height: 1;
}
.catalog-meta__cnt::before {
    content: '';
    display: inline-block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c-primary);
    box-shadow: 0 0 8px rgba(var(--c-primary-rgb),.6);
    flex: 0 0 auto;
}
.catalog-meta__cnt b {
    color: var(--c-text);
    font-weight: 700;
    font-size: 14px;
    margin: 0 1px;
}

/* Кнопка «Сбросить все» — уменьшаем, в один ряд */
.catalog-meta__reset {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: transparent;
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 8px;
    color: var(--c-text-muted);
    text-decoration: none;
    font-size: 13px;
    line-height: 1;
    transition: all .15s;
}
.catalog-meta__reset:hover {
    color: var(--c-primary);
    border-color: var(--c-primary);
    background: rgba(var(--c-primary-rgb),.06);
}
.catalog-meta__reset i { font-size: 11px; }

/* Тулбар фильтра — компактнее и ближе к верху */
.catalog-toolbar {
    margin-top: 0;
    margin-bottom: 14px;
    gap: 10px;
}

.filter-toggle-btn {
    padding: 9px 16px;
    font-size: 13.5px;
}

/* page-hero в каталоге — уменьшаем нижний отступ */
.catalog-page .page-hero,
.page-hero {
    padding-bottom: 18px !important;
}

/* Интро прижато ближе к счётчику */
.catalog-intro {
    margin-top: 18px !important;
}

/* Секция каталога — верхний отступ меньше */
.catalog-page .section,
main .section:first-of-type {
    padding-top: 20px !important;
}

/* На мобилке — счётчик и сброс в столбик, аккуратно */
@media (max-width: 500px) {
    .catalog-meta { gap: 8px; }
    .catalog-meta__cnt { padding: 6px 12px; font-size: 12px; }
    .catalog-meta__cnt b { font-size: 13px; }
    .catalog-meta__reset { padding: 6px 12px; font-size: 12px; }
    .filter-toggle-btn { padding: 8px 14px; font-size: 13px; }
}
/* ==================== /COUNTER BADGE ==================== */
/* ==================== TIGHTEN V2 ==================== */
/* page-hero в каталоге — максимально сжимаем */
.page-hero {
    padding: 24px 0 10px !important;
    margin-bottom: 0 !important;
}
.page-hero .catalog-meta { margin-top: 8px !important; margin-bottom: 0 !important; }
.page-hero .catalog-intro { margin-top: 14px !important; margin-bottom: 0 !important; }
.page-hero .breadcrumbs { margin-bottom: 6px !important; padding: 0 !important; }

/* Секция, где сетка каталога — прижимаем к hero */
section.section {
    padding-top: 10px !important;
}
section.section > .container > .catalog-toolbar {
    margin-top: 0 !important;
    margin-bottom: 12px !important;
    padding-top: 0 !important;
}

/* Убираем возможные margin сверху от section */
.catalog-layout { margin-top: 0 !important; }
.catalog-main { margin-top: 0 !important; }

/* Особо агрессивно — весь верхний стек в каталоге */
.page-hero + section.section,
.page-hero + section {
    padding-top: 6px !important;
}
/* ==================== /TIGHTEN V2 ==================== */
/* ==================== ALIGN FEATURES === */
/* Фичи внутри интро — прижимаем к правому краю */
.catalog-intro__features {
    align-items: flex-end !important;
    justify-content: center !important;
    padding-right: 8px;
}
.cat-feature {
    justify-content: flex-end !important;
    width: 100%;
    max-width: 260px;
    text-align: right;
}
.cat-feature__body {
    order: 1;
}
.cat-feature__icon {
    order: 2;
}

/* Иконка справа от текста, текст прижат к иконке */
.cat-feature__body b,
.cat-feature__body span {
    text-align: right;
}

/* На мобилке — возвращаем стандартный вид */
@media (max-width: 900px) {
    .catalog-intro__features {
        align-items: flex-start !important;
        padding-right: 0;
    }
    .cat-feature {
        justify-content: flex-start !important;
        text-align: left;
        max-width: none;
    }
    .cat-feature__body { order: 2; }
    .cat-feature__icon { order: 1; }
    .cat-feature__body b,
    .cat-feature__body span {
        text-align: left;
    }
}
/* ==================== /ALIGN FEATURES ==================== */
/* ==================== ALIGN FEATURES V3 ==================== */
/* Фичи прижаты к правому краю, иконки СЛЕВА от текста */
.catalog-intro__features {
    align-items: flex-end !important;
    justify-content: center !important;
    padding-right: 8px;
}
.cat-feature {
    display: flex !important;
    flex-direction: row !important;
    justify-content: flex-start !important;
    align-items: center !important;
    gap: 14px;
    width: 100%;
    max-width: 260px;
    margin-left: auto;
    text-align: left;
}
.cat-feature__icon { order: 1 !important; }
.cat-feature__body { order: 2 !important; }
.cat-feature__body b,
.cat-feature__body span {
    text-align: left !important;
}

@media (max-width: 900px) {
    .catalog-intro__features {
        align-items: flex-start !important;
        padding-right: 0;
    }
    .cat-feature {
        margin-left: 0;
        max-width: none;
    }
}
/* ==================== /ALIGN FEATURES V3 ==================== */
/* ==================== VIDEO SECTION ==================== */
.section-video { padding: 60px 0; }
.section-video .section-head {
    text-align: center;
    max-width: 720px;
    margin: 0 auto 40px;
}
.section-video .section-title {
    font-family: Montserrat, sans-serif;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 12px;
    color: var(--c-text);
    line-height: 1.2;
}
.section-video .section-subtitle {
    font-size: 15px;
    color: var(--c-text-muted);
    margin: 0;
    line-height: 1.5;
}
@media (max-width: 700px) {
    .section-video { padding: 40px 0; }
    .section-video .section-title { font-size: 24px; }
    .section-video .section-subtitle { font-size: 14px; }
}

.video-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
}
@media (max-width: 800px) { .video-grid { grid-template-columns: 1fr; gap: 24px; } }

.video-item { display: flex; flex-direction: column; }

.video-frame {
    position: relative;
    background: #000;
    border-radius: 14px;
    overflow: hidden;
    aspect-ratio: 16/9;
    box-shadow: 0 6px 24px rgba(0,0,0,.35);
    transition: box-shadow .25s, transform .25s;
}
.video-item:hover .video-frame {
    box-shadow: 0 10px 32px rgba(var(--c-primary-rgb),.18);
    transform: translateY(-2px);
}
.video-player {
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    background: #000;
}

.video-caption {
    padding: 16px 4px 0;
}
.video-caption__title {
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 600;
    color: var(--c-text);
    margin: 0 0 6px;
    line-height: 1.3;
}
.video-caption__desc {
    font-size: 13.5px;
    color: var(--c-text-muted);
    margin: 0;
    line-height: 1.5;
}
@media (max-width: 500px) {
    .video-caption__title { font-size: 15px; }
    .video-caption__desc { font-size: 13px; }
}
/* ==================== /VIDEO SECTION ==================== */

/* ==================== CALC FIX V2 ==================== */
/* На десктопе — прогресс по ширине формы (1fr), сайдбар по высоте */
@media (min-width: 993px) {

    /* Прогресс — ровно по ширине левой колонки формы */
    .calc-progress {
        max-width: calc(100% - 340px) !important; /* 300px сайдбар + 40px gap */
        margin: 0 0 32px 0 !important;
        padding: 0 !important;
        display: flex !important;
        justify-content: space-between !important;
        flex-wrap: nowrap !important;
        gap: 6px !important;
    }
    .calc-progress-item {
        min-width: 0 !important;
        flex: 1 1 0 !important;
        padding: 10px 8px !important;
    }
    .calc-progress-num { width: 26px !important; height: 26px !important; font-size: 12px !important; }
    .calc-progress-label { font-size: 10.5px !important; }

    /* Сайдбар растягивается по высоте левой формы */
    .calc-layout {
        align-items: stretch !important;
    }
    .calc-sidebar {
        display: flex !important;
        align-items: stretch !important;
    }
    .calc-sidebar-card {
        position: static !important;
        top: auto !important;
        height: 100% !important;
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
    }
    /* Заполняем пустоту в карточке: список тянется, note внизу */
    .calc-sidebar-card ul {
        flex: 1 1 auto !important;
        justify-content: flex-start !important;
    }
    .calc-sidebar-note {
        margin-top: auto !important;
    }
}

/* На мобиле — прогресс на всю ширину контейнера */
@media (max-width: 992px) {
    .calc-progress {
        max-width: 100% !important;
        margin: 0 0 24px 0 !important;
        justify-content: space-between !important;
        gap: 4px !important;
    }
    .calc-progress-item {
        min-width: 0 !important;
        flex: 1 1 0 !important;
    }
}
/* ==================== /CALC FIX V2 ==================== */
/* ==================== HOME BLOCKS ==================== */
.section-head { text-align: center; max-width: 720px; margin: 0 auto 44px; }
.section-title { font-family: Montserrat, sans-serif; font-size: 32px; font-weight: 700; margin: 0 0 12px; color: var(--c-text); line-height: 1.2; }
.section-subtitle { font-size: 15px; color: var(--c-text-muted); margin: 0; line-height: 1.5; }
@media (max-width: 700px) {
    .section-head { margin-bottom: 32px; }
    .section-title { font-size: 24px; }
    .section-subtitle { font-size: 14px; }
}

/* Применение */
.application-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .application-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .application-grid { grid-template-columns: 1fr; } }
.application-item { background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.06); border-radius: 14px; padding: 26px 22px; transition: transform .2s, border-color .2s, box-shadow .2s; }
.application-item:hover { transform: translateY(-3px); border-color: rgba(var(--c-primary-rgb),.3); box-shadow: 0 8px 24px rgba(0,0,0,.3); }
.application-icon { width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; background: rgba(var(--c-primary-rgb),.12); color: var(--c-primary); border-radius: 12px; font-size: 20px; margin-bottom: 16px; }
.application-title { font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 600; margin: 0 0 6px; color: var(--c-text); line-height: 1.3; }
.application-desc { font-size: 13.5px; color: var(--c-text-muted); margin: 0; line-height: 1.5; }

/* Этапы работы */
.process-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 20px; position: relative; }
@media (max-width: 900px) { .process-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .process-grid { grid-template-columns: 1fr; } }
.process-item { position: relative; background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.06); border-radius: 14px; padding: 28px 22px 24px; text-align: center; }
.process-num { width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; margin: 0 auto 16px; background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)); color: #fff; border-radius: 50%; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 20px; box-shadow: 0 6px 18px rgba(var(--c-primary-rgb),.35); }
.process-title { font-family: Montserrat, sans-serif; font-size: 15.5px; font-weight: 700; margin: 0 0 8px; color: var(--c-text); line-height: 1.3; }
.process-desc { font-size: 13px; color: var(--c-text-muted); margin: 0; line-height: 1.5; }
.process-arrow { display: none; position: absolute; top: 44px; right: -14px; color: rgba(var(--c-primary-rgb),.5); font-size: 16px; z-index: 1; }
@media (min-width: 901px) { .process-arrow { display: block; } .process-item:last-child .process-arrow { display: none; } }
.process-cta { text-align: center; margin-top: 36px; }
.process-cta .btn { padding: 14px 36px; font-size: 15px; }

/* Сертификаты */
.certificates-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
@media (max-width: 900px) { .certificates-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 500px) { .certificates-grid { grid-template-columns: repeat(2, 1fr); } }
.certificate-item { display: block; aspect-ratio: 3/4; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid rgba(255,255,255,.08); transition: transform .2s, box-shadow .2s, border-color .2s; }
.certificate-item:hover { transform: translateY(-3px); border-color: var(--c-primary); box-shadow: 0 10px 26px rgba(var(--c-primary-rgb),.2); }
.certificate-item img { width: 100%; height: 100%; object-fit: cover; display: block; }
.certificates-empty { max-width: 560px; margin: 0 auto; padding: 44px 30px; text-align: center; background: var(--c-bg-alt); border: 1px dashed rgba(255,255,255,.15); border-radius: 14px; color: var(--c-text-muted); }
.certificates-empty p { margin: 0 0 10px; font-size: 15px; }
.certificates-empty__hint { font-size: 13px !important; line-height: 1.6; margin-top: 14px !important; }
.certificates-empty__hint i { color: var(--c-primary); margin-right: 6px; }
.certificates-empty__hint code { background: rgba(255,255,255,.06); padding: 2px 8px; border-radius: 4px; font-size: 12px; color: var(--c-primary-light); }
/* ==================== /HOME BLOCKS ==================== */


/* ---------- Сертификаты: рамка как у картины ---------- */
.certificates-grid {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    gap: 28px !important;
    max-width: 1180px;
    margin: 0 auto;
}

.certificate-item {
    flex: 0 0 calc((100% - 84px) / 4);
    display: block;
    position: relative;
    /* Настоящий "багет" — металлический профиль */
    padding: 8px;
    background: linear-gradient(
        135deg,
        #6b6b6b 0%,
        #a8a8a8 6%,
        #e8e8e8 14%,
        #ffffff 20%,
        #c0c0c0 32%,
        #7a7a7a 42%,
        #5a5a5a 50%,
        #7a7a7a 58%,
        #c0c0c0 68%,
        #ffffff 80%,
        #e8e8e8 88%,
        #a8a8a8 94%,
        #6b6b6b 100%
    );
    /* Тонкая чёрная жила снаружи + тень */
    box-shadow:
        0 0 0 1px #1a1a1a,
        0 0 0 2px rgba(0,0,0,.5),
        0 10px 24px rgba(0,0,0,.5),
        inset 0 1px 0 rgba(255,255,255,.5),
        inset 0 -1px 0 rgba(0,0,0,.4);
    /* Углы 90° — как у настоящих картин */
    border-radius: 0;
    transition: transform .22s, box-shadow .22s;
    box-sizing: border-box;
}
.certificate-item:hover {
    transform: translateY(-3px);
    box-shadow:
        0 0 0 2px var(--c-primary),
        0 0 0 3px rgba(0,0,0,.7),
        0 16px 34px rgba(var(--c-primary-rgb),.35),
        inset 0 1px 0 rgba(255,255,255,.5);
}

/* Внутренняя тонкая медная жила между багетом и паспарту */
.certificate-item::before {
    content: '';
    position: absolute;
    inset: 8px;
    border-radius: 0;
    box-shadow: inset 0 0 0 1px rgba(var(--c-primary-rgb),.4);
    pointer-events: none;
    z-index: 2;
}

.certificate-item img {
    display: block;
    width: 100%;
    aspect-ratio: 3/4;
    object-fit: cover;
    background: #f5f5f5;
    /* Паспарту — белое поле между багетом и картинкой */
    border: 8px solid #fff;
    border-radius: 0;
    box-sizing: border-box;
    position: relative;
    z-index: 1;
}

/* Адаптив */
@media (max-width: 1000px) {
    .certificate-item { flex: 0 0 calc((100% - 56px) / 3); }
}
@media (max-width: 700px) {
    .certificates-grid { gap: 18px !important; }
    .certificate-item {
        flex: 0 0 calc((100% - 36px) / 2);
        padding: 5px;
    }
    .certificate-item::before { inset: 5px; }
    .certificate-item img { border-width: 5px; }
}
@media (max-width: 420px) {
    .certificate-item { flex: 0 0 100%; max-width: 280px; }
}
/* ---------- /Сертификаты: рамка как у картины ---------- */


/* ==================== FAQ SECTION ==================== */
.faq-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 16px 24px;
    align-items: start;
}
@media (max-width: 900px) {
    .faq-grid { grid-template-columns: 1fr; gap: 12px; }
}

.faq-col { display: flex; flex-direction: column; gap: 12px; }

.faq-item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color .2s, box-shadow .2s;
}
.faq-item:hover {
    border-color: rgba(var(--c-primary-rgb),.25);
}
.faq-item[open] {
    border-color: rgba(var(--c-primary-rgb),.4);
    box-shadow: 0 8px 24px rgba(0,0,0,.25);
}

.faq-q {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 22px;
    cursor: pointer;
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: var(--c-text);
    line-height: 1.35;
    list-style: none;
    user-select: none;
    transition: color .15s;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::marker { display: none; }
.faq-q:hover { color: var(--c-primary-light); }

.faq-q > span { flex: 1 1 auto; }
.faq-q > i {
    flex: 0 0 auto;
    width: 28px;
    height: 28px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb),.1);
    color: var(--c-primary);
    border-radius: 50%;
    font-size: 11px;
    transition: transform .25s, background .2s;
}
.faq-item[open] .faq-q {
    color: var(--c-primary-light);
}
.faq-item[open] .faq-q > i {
    transform: rotate(180deg);
    background: var(--c-primary);
    color: #fff;
}

.faq-a {
    padding: 0 22px 20px;
    font-size: 14px;
    line-height: 1.65;
    color: var(--c-text-muted);
    animation: faqFade .25s ease;
}
@keyframes faqFade {
    from { opacity: 0; transform: translateY(-4px); }
    to   { opacity: 1; transform: translateY(0); }
}

@media (max-width: 600px) {
    .faq-q { padding: 15px 18px; font-size: 14px; }
    .faq-a { padding: 0 18px 16px; font-size: 13.5px; }
    .faq-q > i { width: 24px; height: 24px; font-size: 10px; }
}

.faq-cta {
    text-align: center;
    margin-top: 40px;
    padding-top: 32px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.faq-cta p {
    font-size: 15px;
    color: var(--c-text-muted);
    margin: 0 0 16px;
}
.faq-cta .btn {
    padding: 12px 28px;
    font-size: 14px;
}
/* ==================== /FAQ SECTION ==================== */
/* ==================== HISTORY + WHYUS ==================== */
/* ---------- История: таймлайн ---------- */
.history-timeline {
    position: relative;
    max-width: 900px;
    margin: 0 auto;
    padding: 20px 0 10px;
}
.history-line {
    position: absolute;
    top: 0; bottom: 0;
    left: 50%;
    width: 2px;
    margin-left: -1px;
    background: linear-gradient(180deg, transparent, rgba(var(--c-primary-rgb),.5) 10%, rgba(var(--c-primary-rgb),.5) 90%, transparent);
}
.history-item {
    position: relative;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    margin-bottom: 36px;
    gap: 20px;
}
.history-item:last-child { margin-bottom: 0; }

.history-dot {
    grid-column: 2;
    width: 84px;
    height: 84px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    border-radius: 50%;
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-weight: 800;
    font-size: 18px;
    box-shadow: 0 8px 22px rgba(var(--c-primary-rgb),.35), 0 0 0 6px rgba(var(--c-bg-rgb),1);
    z-index: 2;
}
.history-card {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 12px;
    padding: 20px 22px;
    transition: transform .2s, border-color .2s, box-shadow .2s;
}
.history-card:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--c-primary-rgb),.35);
    box-shadow: 0 10px 24px rgba(0,0,0,.3);
}
.history-title {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-primary-light);
    margin: 0 0 6px;
    line-height: 1.3;
}
.history-text {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--c-text-muted);
    margin: 0;
}

.history-item.is-left .history-card { grid-column: 1; text-align: right; }
.history-item.is-left .history-dot  { grid-column: 2; }
.history-item.is-left::before { content: ''; grid-column: 3; }

.history-item.is-right .history-card { grid-column: 3; }
.history-item.is-right .history-dot  { grid-column: 2; }
.history-item.is-right::before { content: ''; grid-column: 1; }

@media (max-width: 700px) {
    .history-line { left: 24px; }
    .history-item {
        grid-template-columns: auto 1fr;
        gap: 14px;
        margin-bottom: 24px;
    }
    .history-dot { grid-column: 1 !important; width: 56px; height: 56px; font-size: 14px; box-shadow: 0 6px 16px rgba(var(--c-primary-rgb),.35), 0 0 0 4px rgba(var(--c-bg-rgb),1); }
    .history-item.is-left .history-card,
    .history-item.is-right .history-card {
        grid-column: 2 !important;
        text-align: left;
    }
    .history-item::before { display: none; }
}

/* ---------- Почему выбирают нас ---------- */
.whyus-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
}
@media (max-width: 900px) { .whyus-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .whyus-grid { grid-template-columns: 1fr; } }

.whyus-item {
    position: relative;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    padding: 32px 24px 26px;
    overflow: hidden;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.whyus-item:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.35);
    box-shadow: 0 14px 32px rgba(0,0,0,.3);
}
.whyus-item::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-primary-light));
    opacity: 0;
    transition: opacity .25s;
}
.whyus-item:hover::before { opacity: 1; }

.whyus-num {
    position: absolute;
    top: 18px; right: 22px;
    font-family: Montserrat, sans-serif;
    font-size: 44px;
    font-weight: 900;
    line-height: 1;
    color: rgba(var(--c-primary-rgb),.13);
    letter-spacing: -2px;
    user-select: none;
    pointer-events: none;
}
.whyus-icon {
    width: 54px;
    height: 54px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 14px;
    font-size: 22px;
    margin-bottom: 18px;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.3), inset 0 1px 0 rgba(255,255,255,.2);
    transition: transform .25s;
}
.whyus-item:hover .whyus-icon {
    transform: scale(1.08) rotate(-4deg);
}
.whyus-title {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 8px;
    line-height: 1.3;
}
.whyus-text {
    font-size: 13.5px;
    color: var(--c-text-muted);
    margin: 0;
    line-height: 1.55;
}
/* ==================== /HISTORY + WHYUS ==================== */
/* ==================== HERO SLIDER ==================== */
.hero-slider {
    position: relative;
    min-height: 640px;
    display: flex;
    align-items: center;
    overflow: hidden;
    isolation: isolate;
}
@media (max-width: 900px) { .hero-slider { min-height: 520px; } }
@media (max-width: 500px) { .hero-slider { min-height: 460px; } }

.hero-bg-slider {
    position: absolute;
    inset: 0;
    z-index: -1;
}
.hero-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1.1s ease, transform 7s linear;
    transform: scale(1.03);
}
.hero-slide.is-active {
    opacity: 1;
    transform: scale(1.08);
}
.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(135deg,
        rgba(var(--c-bg-rgb),.94) 0%,
        rgba(var(--c-bg-rgb),.82) 35%,
        rgba(var(--c-bg-rgb),.55) 70%,
        rgba(var(--c-bg-rgb),.75) 100%);
    z-index: 1;
}

.hero-inner {
    position: relative;
    z-index: 2;
    padding: 80px 24px;
    width: 100%;
}

.hero-content {
    max-width: 680px;
}

.hero-badge {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 16px;
    margin-bottom: 22px;
    background: rgba(var(--c-primary-rgb),.12);
    border: 1px solid rgba(var(--c-primary-rgb),.35);
    color: var(--c-primary-light);
    border-radius: 30px;
    font-size: 13px;
    font-weight: 500;
    backdrop-filter: blur(6px);
}
.hero-badge i { color: var(--c-primary); font-size: 12px; }

.hero-title {
    font-family: Montserrat, sans-serif;
    font-size: 54px;
    font-weight: 800;
    line-height: 1.08;
    letter-spacing: -.8px;
    margin: 0 0 18px;
    color: var(--c-text);
}
.hero-title { /* мягкое свечение */
    text-shadow: 0 2px 40px rgba(0,0,0,.6);
}
.hero-subtitle {
    font-size: 18px;
    line-height: 1.5;
    color: var(--c-text-muted);
    margin: 0 0 32px;
    max-width: 560px;
}

.hero-btns {
    display: flex;
    flex-wrap: wrap;
    gap: 14px;
    margin-bottom: 44px;
}
.hero-btns .btn { padding: 16px 30px; font-size: 15px; }

.hero-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 22px;
    max-width: 620px;
    padding-top: 28px;
    border-top: 1px solid rgba(255,255,255,.1);
}
.hero-stat__v {
    font-family: Montserrat, sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: var(--c-primary-light);
    line-height: 1.1;
    margin-bottom: 4px;
}
.hero-stat__l {
    font-size: 12.5px;
    text-transform: uppercase;
    letter-spacing: .6px;
    color: var(--c-text-muted);
}

.hero-dots {
    position: absolute;
    bottom: 32px;
    left: 0; right: 0;
    display: flex;
    justify-content: center;
    gap: 12px;
    z-index: 3;
    padding: 0 24px;
}
.hero-dot {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 9px 18px;
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 30px;
    color: var(--c-text-muted);
    font-family: inherit;
    font-size: 12.5px;
    cursor: pointer;
    transition: all .25s;
    backdrop-filter: blur(6px);
}
.hero-dot::before {
    content: '';
    width: 7px; height: 7px;
    border-radius: 50%;
    background: currentColor;
    opacity: .6;
    transition: all .25s;
}
.hero-dot:hover {
    color: var(--c-text);
    border-color: rgba(var(--c-primary-rgb),.4);
    background: rgba(var(--c-primary-rgb),.08);
}
.hero-dot.is-active {
    color: #fff;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.9), rgba(var(--c-primary-dark-rgb),.9));
    border-color: var(--c-primary);
    box-shadow: 0 6px 18px rgba(var(--c-primary-rgb),.35);
}
.hero-dot.is-active::before {
    background: #fff;
    opacity: 1;
    box-shadow: 0 0 8px rgba(255,255,255,.8);
}
.hero-dot__label { white-space: nowrap; }

/* Планшет */
@media (max-width: 900px) {
    .hero-title { font-size: 40px; }
    .hero-subtitle { font-size: 16px; margin-bottom: 26px; }
    .hero-btns { margin-bottom: 32px; gap: 12px; }
    .hero-btns .btn { padding: 14px 22px; font-size: 14px; }
    .hero-stats { gap: 16px; padding-top: 22px; }
    .hero-stat__v { font-size: 22px; }
    .hero-stat__l { font-size: 11px; }
    .hero-dots { bottom: 20px; gap: 8px; }
    .hero-dot { padding: 7px 14px; font-size: 11.5px; }
}

/* Мобилка */
@media (max-width: 600px) {
    .hero-slider { min-height: auto; }
    .hero-inner { padding: 60px 20px 90px; }
    .hero-title { font-size: 30px; letter-spacing: -.4px; margin-bottom: 14px; }
    .hero-subtitle { font-size: 15px; margin-bottom: 22px; }
    .hero-badge { font-size: 11.5px; padding: 6px 12px; margin-bottom: 16px; }
    .hero-btns { flex-direction: column; gap: 10px; margin-bottom: 28px; }
    .hero-btns .btn { width: 100%; justify-content: center; padding: 14px 20px; }
    .hero-stats { grid-template-columns: repeat(2, 1fr); gap: 14px 20px; padding-top: 20px; }
    .hero-stat__v { font-size: 20px; }
    .hero-stat__l { font-size: 10.5px; }
    .hero-dots { bottom: 14px; gap: 6px; padding: 0 12px; }
    .hero-dot { padding: 6px 12px; font-size: 11px; }
    .hero-dot__label { display: none; }
    .hero-dot::before { width: 8px; height: 8px; }
    .hero-dot.is-active { padding: 6px 16px; }
}
/* ==================== /HERO SLIDER ==================== */
/* ==================== GLOWUP === */

/* ---------- Fade-up при скролле ---------- */
.fx-ready {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity .75s cubic-bezier(.2,.8,.3,1), transform .75s cubic-bezier(.2,.8,.3,1);
    will-change: opacity, transform;
}
.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
    .fx-ready { opacity: 1 !important; transform: none !important; transition: none !important; }
}

/* ---------- Разделители между секциями ---------- */
.section {
    position: relative;
}
.section::after {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    width: 60%;
    max-width: 520px;
    height: 1px;
    background: linear-gradient(90deg,
        transparent 0%,
        rgba(var(--c-primary-rgb),.15) 20%,
        rgba(var(--c-primary-rgb),.45) 50%,
        rgba(var(--c-primary-rgb),.15) 80%,
        transparent 100%);
    pointer-events: none;
}
.section:last-of-type::after,
.section-cta::after,
.section-hero::after,
.section-contact::after,
.section.section-no-divider::after { display: none; }

/* ---------- CTA-баннер ---------- */
.section-cta { padding: 40px 0; }
.section-cta::after { display: none; }

.cta-banner {
    position: relative;
    max-width: 1180px;
    margin: 0 auto;
    min-height: 380px;
    border-radius: 22px;
    overflow: hidden;
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow:
        0 30px 80px rgba(0,0,0,.5),
        0 0 0 1px rgba(255,255,255,.05) inset;
}
@media (max-width: 700px) { .cta-banner { min-height: 320px; border-radius: 16px; } }

.cta-overlay {
    position: absolute;
    inset: 0;
    background:
        linear-gradient(135deg,
            rgba(var(--c-bg-rgb),.92) 0%,
            rgba(var(--c-bg-rgb),.75) 40%,
            rgba(var(--c-primary-rgb),.35) 100%),
        radial-gradient(circle at 80% 20%, rgba(var(--c-primary-rgb),.25), transparent 50%);
}

.cta-inner {
    position: relative;
    z-index: 1;
    padding: 60px 48px;
    text-align: center;
    max-width: 780px;
}
@media (max-width: 700px) { .cta-inner { padding: 40px 22px; } }

.cta-title {
    font-family: Montserrat, sans-serif;
    font-size: 38px;
    font-weight: 800;
    line-height: 1.15;
    letter-spacing: -.5px;
    color: #fff;
    margin: 0 0 14px;
    text-shadow: 0 2px 20px rgba(0,0,0,.5);
}
@media (max-width: 700px) { .cta-title { font-size: 26px; } }

.cta-subtitle {
    font-size: 16px;
    line-height: 1.55;
    color: rgba(var(--c-text-rgb),.85);
    margin: 0 0 32px;
    max-width: 560px;
    margin-left: auto;
    margin-right: auto;
}
@media (max-width: 700px) { .cta-subtitle { font-size: 14.5px; margin-bottom: 24px; } }

.cta-btns {
    display: flex;
    gap: 14px;
    justify-content: center;
    flex-wrap: wrap;
    margin-bottom: 28px;
}
.cta-btns .btn { padding: 16px 32px; font-size: 15px; }
.btn-outline-light {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.3);
    color: #fff;
    backdrop-filter: blur(6px);
}
.btn-outline-light:hover {
    background: rgba(255,255,255,.12);
    border-color: #fff;
}
@media (max-width: 600px) {
    .cta-btns { flex-direction: column; }
    .cta-btns .btn { width: 100%; justify-content: center; }
}

.cta-features {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px 24px;
    padding-top: 26px;
    border-top: 1px solid rgba(255,255,255,.12);
    font-size: 13px;
    color: rgba(var(--c-text-rgb),.75);
}
.cta-features span {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}
.cta-features i {
    color: #4ec98a;
    font-size: 13px;
}
@media (max-width: 600px) {
    .cta-features { flex-direction: column; gap: 8px; align-items: center; }
}

/* ---------- Отзывы: snap-карусель ---------- */
.reviews-grid,
.reviews-list,
.reviews-track {
    display: flex !important;
    gap: 20px !important;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    padding: 8px 4px 22px;
    margin: 0 -4px;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
    scrollbar-color: rgba(var(--c-primary-rgb),.4) transparent;
}
.reviews-grid::-webkit-scrollbar,
.reviews-list::-webkit-scrollbar { height: 6px; }
.reviews-grid::-webkit-scrollbar-thumb,
.reviews-list::-webkit-scrollbar-thumb {
    background: rgba(var(--c-primary-rgb),.4);
    border-radius: 6px;
}

.reviews-grid > *,
.reviews-list > * {
    flex: 0 0 380px;
    scroll-snap-align: start;
    max-width: 380px;
}
@media (max-width: 700px) {
    .reviews-grid > *, .reviews-list > * { flex: 0 0 300px; max-width: 300px; }
}

/* Глоу-эффект для карточек при ховере */
.product-card,
.application-item,
.whyus-item,
.process-item,
.certificate-item,
.review-card,
.review-item {
    transition: transform .3s cubic-bezier(.2,.8,.3,1), box-shadow .3s, border-color .3s;
}
.application-item:hover,
.whyus-item:hover,
.product-card:hover {
    box-shadow:
        0 20px 40px rgba(0,0,0,.35),
        0 0 0 1px rgba(var(--c-primary-rgb),.25),
        0 0 60px -20px rgba(var(--c-primary-rgb),.35);
}

/* Плавные переходы между соседними секциями */
.section + .section { padding-top: 70px; }
@media (max-width: 700px) { .section + .section { padding-top: 50px; } }








/* ==================== REVIEWS CAROUSEL V4 ==================== */
/* 
 * Структура:
 *   .reviews-carousel { padding: 0 62px }         ← место под стрелки
 *     .reviews-viewport { overflow: hidden }      ← ОБРЕЗАЕТ (без padding!)
 *       .reviews-carousel-track { flex }          ← двигается transform
 *         .review-slide × 6
 *     .reviews-arrow-prev / -next                  ← в padding-зоне
 *     .reviews-dots
 */

.reviews-carousel {
    position: relative;
    padding: 0 62px;
    box-sizing: border-box;
}
@media (max-width: 800px) { .reviews-carousel { padding: 0; } }

/* Ключевой слой: обрезает всё, что выходит за границы. БЕЗ padding. */
.reviews-viewport {
    overflow: hidden;
    width: 100%;
    position: relative;
}

/* Track — flex-контейнер, растягивается на 100% viewport, дети выходят за него */
.reviews-carousel-track {
    display: flex;
    gap: 0;
    flex-wrap: nowrap;
    transition: transform .5s cubic-bezier(.25,.8,.3,1);
    will-change: transform;
    align-items: stretch;
}

/* Один слайд = ровно 1/3 viewport. Зазор через padding. */
.review-slide {
    flex: 0 0 33.333333%;
    max-width: 33.333333%;
    box-sizing: border-box;
    padding: 0 10px;
    min-width: 0;
    display: flex;
}
@media (max-width: 1100px) {
    .review-slide { flex: 0 0 50%; max-width: 50%; }
}
@media (max-width: 700px) {
    .review-slide { flex: 0 0 100%; max-width: 100%; }
}

.review-slide .review-card {
    width: 100%;
    display: flex;
    flex-direction: column;
}
.review-slide .review-card .review-author {
    margin-top: auto;
}

/* Стрелки — в padding-зоне, поверх viewport */
.reviews-arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 48px;
    height: 48px;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.12);
    color: var(--c-text);
    border-radius: 50%;
    cursor: pointer;
    font-size: 15px;
    line-height: 1;
    transition: all .2s;
    z-index: 5;
    -webkit-tap-highlight-color: transparent;
}
.reviews-arrow:hover {
    background: var(--c-primary);
    border-color: var(--c-primary);
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.4);
    transform: translateY(-50%) scale(1.08);
}
.reviews-arrow:active {
    transform: translateY(-50%) scale(.95);
}
.reviews-arrow-prev { left: 0; }
.reviews-arrow-next { right: 0; }
@media (max-width: 800px) { .reviews-arrow { display: none; } }

/* Точки */
.reviews-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 26px;
}
.reviews-dots .rev-dot {
    width: 9px;
    height: 9px;
    background: rgba(255,255,255,.18);
    border-radius: 50%;
    cursor: pointer;
    transition: all .25s;
    display: inline-block;
}
.reviews-dots .rev-dot:hover { background: rgba(var(--c-primary-rgb),.5); }
.reviews-dots .rev-dot.active {
    width: 26px;
    border-radius: 5px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-primary-light));
    box-shadow: 0 0 12px rgba(var(--c-primary-rgb),.5);
}
@media (max-width: 700px) { .reviews-dots { margin-top: 18px; } }

/* Скрываем скроллбары */
.reviews-carousel, .reviews-viewport, .reviews-carousel-track, .review-slide {
    scrollbar-width: none;
    -ms-overflow-style: none;
}
.reviews-carousel::-webkit-scrollbar,
.reviews-viewport::-webkit-scrollbar,
.reviews-carousel-track::-webkit-scrollbar,
.review-slide::-webkit-scrollbar { display: none; width: 0; height: 0; }
/* ==================== /REVIEWS CAROUSEL V4 ==================== */
/* ==================== HEATERS SECTION ==================== */
.heaters-badge {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 6px 14px;
    margin-bottom: 16px;
    background: rgba(var(--c-primary-rgb),.12);
    border: 1px solid rgba(var(--c-primary-rgb),.35);
    color: var(--c-primary-light);
    border-radius: 30px;
    font-size: 12.5px;
    font-weight: 600;
    letter-spacing: .3px;
}
.heaters-badge i { color: var(--c-primary); font-size: 11px; }

.heaters-subtitle {
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 18px;
    text-align: center;
}

/* ---------- 9 преимуществ ---------- */
.heaters-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-bottom: 60px;
}
@media (max-width: 900px) { .heaters-features { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 550px) { .heaters-features { grid-template-columns: 1fr; } }

.heaters-feature {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 22px 20px;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-feature:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--c-primary-rgb),.3);
    box-shadow: 0 10px 26px rgba(0,0,0,.3);
}
.heaters-feature__icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.18), rgba(var(--c-primary-rgb),.05));
    color: var(--c-primary);
    border: 1px solid rgba(var(--c-primary-rgb),.25);
    border-radius: 10px;
    font-size: 17px;
    margin-bottom: 14px;
}
.heaters-feature__title {
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 6px;
}
.heaters-feature__text {
    font-size: 13px;
    line-height: 1.55;
    color: var(--c-text-muted);
    margin: 0;
}

/* ---------- Серии ---------- */
.heaters-series { margin-bottom: 60px; }

.heaters-series-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
}
@media (max-width: 900px) { .heaters-series-grid { grid-template-columns: 1fr; } }

.heaters-card {
    position: relative;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 28px 24px 24px;
    text-align: center;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.4);
    box-shadow: 0 16px 36px rgba(0,0,0,.35);
}
.heaters-card.is-best {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.14), rgba(var(--c-bg-alt-rgb),.9));
    border-color: rgba(var(--c-primary-rgb),.4);
}
.heaters-card__badge {
    position: absolute;
    top: -10px;
    left: 50%;
    transform: translateX(-50%);
    padding: 4px 12px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 20px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .4px;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 4px 14px rgba(var(--c-primary-rgb),.5);
}
.heaters-card__icon {
    width: 56px;
    height: 56px;
    margin: 0 auto 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 14px;
    font-size: 22px;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.35), inset 0 1px 0 rgba(255,255,255,.2);
}
.heaters-card__tag {
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--c-primary-light);
    letter-spacing: -.3px;
    margin-bottom: 6px;
}
.heaters-card__title {
    font-size: 14px;
    color: var(--c-text);
    margin-bottom: 10px;
    font-weight: 600;
}
.heaters-card__desc {
    font-size: 13px;
    line-height: 1.5;
    color: var(--c-text-muted);
    margin: 0 0 18px;
    min-height: 40px;
}
.heaters-card__price {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--c-primary);
    margin-bottom: 18px;
}
.heaters-card__actions {
    display: flex;
    gap: 8px;
    justify-content: center;
    flex-wrap: wrap;
}
.heaters-card__actions .btn { padding: 9px 18px; font-size: 13px; }

/* ---------- Размеры + Цвета ---------- */
.heaters-info {
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    gap: 24px;
    margin-bottom: 50px;
}
@media (max-width: 900px) { .heaters-info { grid-template-columns: 1fr; } }

.heaters-info__block {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    padding: 28px 26px;
}
.heaters-info__block .heaters-subtitle { text-align: left; margin-bottom: 10px; font-size: 18px; }
.heaters-info__lead {
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--c-text-muted);
    margin: 0 0 22px;
}

.heaters-sizes {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
@media (max-width: 500px) { .heaters-sizes { grid-template-columns: 1fr; } }

.heaters-size {
    background: var(--c-bg);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    padding: 14px 12px;
    text-align: center;
}
.heaters-size__len {
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 800;
    color: var(--c-primary-light);
    margin-bottom: 4px;
}
.heaters-size__power {
    font-size: 12px;
    color: var(--c-text-muted);
    line-height: 1.35;
}

.heaters-colors {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.heaters-color {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 12px 14px;
    background: var(--c-bg);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
}
.heaters-color__swatch {
    width: 38px;
    height: 38px;
    border-radius: 8px;
    flex: 0 0 auto;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.12), 0 2px 6px rgba(0,0,0,.3);
}
.heaters-color b {
    display: block;
    font-size: 14px;
    color: var(--c-text);
    font-weight: 600;
}
.heaters-color span {
    display: block;
    font-size: 12px;
    color: var(--c-text-muted);
    margin-top: 1px;
}

/* ---------- CTA ---------- */
.heaters-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 28px 32px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.12), rgba(var(--c-primary-rgb),.03));
    border: 1px solid rgba(var(--c-primary-rgb),.3);
    border-radius: 16px;
    flex-wrap: wrap;
}
.heaters-cta__text { flex: 1 1 300px; }
.heaters-cta__text b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    color: var(--c-text);
    margin-bottom: 4px;
}
.heaters-cta__text span {
    display: block;
    font-size: 13.5px;
    color: var(--c-text-muted);
}
.heaters-cta__btns {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
@media (max-width: 700px) {
    .heaters-cta { padding: 22px 20px; }
    .heaters-cta__btns { width: 100%; }
    .heaters-cta__btns .btn { flex: 1 1 auto; justify-content: center; }
}
/* ==================== /HEATERS SECTION ==================== */
/* ==================== HEADER MENU FIX ==================== */
/* Меню в одну строку, компактные отступы, теперь влезает 7 пунктов */
@media (min-width: 1100px) {
    .header-inner {
        display: flex;
        align-items: center;
        gap: 16px;
    }
    .main-nav {
        display: flex;
        align-items: center;
        gap: 2px;
        flex-wrap: nowrap;
        margin-left: auto;
        margin-right: auto;
    }
    .main-nav .nav-item {
        padding: 8px 12px;
        font-size: 13.5px;
        white-space: nowrap;
    }
    .header-actions {
        display: flex;
        align-items: center;
        gap: 12px;
        white-space: nowrap;
        flex-shrink: 0;
    }
    .header-phone {
        font-size: 13.5px;
    }
    .header-cta {
        padding: 8px 14px !important;
        font-size: 13px !important;
    }
}

/* Очень широкие экраны — можно чуть больше отступов */
@media (min-width: 1400px) {
    .main-nav .nav-item {
        padding: 10px 16px;
        font-size: 14.5px;
    }
    .header-phone { font-size: 14.5px; }
}

/* Планшеты и узкие десктопы — ещё компактнее */
@media (min-width: 1000px) and (max-width: 1199px) {
    .main-nav .nav-item {
        padding: 8px 9px;
        font-size: 13px;
    }
    .header-phone span { display: none; } /* только иконка */
}

/* На мобиле (бургер) — меню уезжает в сайдбар, ничего не трогаем */
/* ==================== /HEADER MENU FIX ==================== */

/* ==================== ABOUT PAGE V2 ==================== */

/* ---------- 1. Единый ритм секций ---------- */
.page-o-nas .section,
body .about-section {
    padding: 60px 0;
}
@media (max-width: 700px) {
    .page-o-nas .section,
    body .about-section { padding: 40px 0; }
}

/* ---------- 2. Hero страницы "О нас" ---------- */
.page-o-nas .page-hero { padding: 40px 0 20px; }
.page-o-nas .page-title { font-size: 40px; line-height: 1.15; letter-spacing: -.5px; }
@media (max-width: 700px) { .page-o-nas .page-title { font-size: 26px; } }
.page-o-nas .page-subtitle { max-width: 720px; font-size: 16px; line-height: 1.6; }

/* ---------- 3. Статистика ---------- */
.about-stats-wrap {
    margin-top: 0;
    padding: 0;
    position: relative;
    z-index: 2;
    margin-bottom: 0;
}
@media (max-width: 900px) {
    .about-stats-wrap { margin-bottom: 0; padding: 0 0 20px; }
}

.about-stats {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.14), rgba(var(--c-bg-alt-rgb),.95));
    border: 1px solid rgba(var(--c-primary-rgb),.35);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 50px rgba(0,0,0,.45), inset 0 1px 0 rgba(255,255,255,.06);
}
@media (max-width: 700px) {
    .about-stats { grid-template-columns: repeat(2, 1fr); }
}

.about-stat {
    padding: 26px 20px;
    text-align: center;
    border-right: 1px solid rgba(255,255,255,.07);
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-height: 100px;
}
.about-stat:last-child { border-right: 0; }
@media (max-width: 700px) {
    .about-stat:nth-child(2n) { border-right: 0; }
    .about-stat:nth-child(1),
    .about-stat:nth-child(2) { border-bottom: 1px solid rgba(255,255,255,.07); }
}

.about-stat__v {
    font-family: Montserrat, sans-serif;
    font-size: 34px;
    font-weight: 800;
    color: var(--c-primary-light);
    line-height: 1.1;
    margin-bottom: 8px;
    letter-spacing: -.5px;
}
@media (max-width: 700px) { .about-stat__v { font-size: 26px; } }
.about-stat__l {
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .7px;
    color: var(--c-text-muted);
    line-height: 1.3;
}

/* ---------- 4. Кто мы + фото-мозаика ---------- */
.about-intro {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 60px;
    align-items: center;
}
@media (max-width: 900px) {
    .about-intro { grid-template-columns: 1fr; gap: 36px; }
}

.about-intro__text .section-title {
    text-align: left;
    margin-bottom: 20px;
    font-size: 30px;
}
.about-intro__text p {
    font-size: 15px;
    line-height: 1.75;
    color: var(--c-text-muted);
    margin: 0 0 16px;
}
.about-intro__text p:last-of-type { margin-bottom: 28px; }
.about-intro__text p b { color: var(--c-text); font-weight: 600; }

.about-intro__actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.about-intro__actions .btn { padding: 13px 28px; font-size: 14px; }

/* Мозаика 2×2 */
.about-intro__gallery {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(2, 1fr);
    gap: 14px;
    aspect-ratio: 1 / 1;
    width: 100%;
}
@media (max-width: 900px) {
    .about-intro__gallery { aspect-ratio: 4 / 3; }
}

.about-photo {
    position: relative;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.18), rgba(var(--c-bg-alt-rgb),.92));
    border: 1px solid rgba(255,255,255,.09);
    border-radius: 14px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    color: var(--c-text);
    font-size: 13px;
    font-weight: 500;
    text-align: center;
    padding: 16px;
    transition: transform .25s, border-color .25s, background .25s, box-shadow .25s;
    overflow: hidden;
}
.about-photo::before {
    content: '';
    position: absolute;
    inset: 0;
    background: radial-gradient(circle at 30% 20%, rgba(var(--c-primary-rgb),.15), transparent 60%);
    pointer-events: none;
}
.about-photo:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.5);
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.28), rgba(var(--c-bg-alt-rgb),.95));
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
.about-photo i {
    font-size: 30px;
    color: var(--c-primary);
    opacity: .9;
    transition: transform .25s;
}
.about-photo:hover i { transform: scale(1.1); }
.about-photo span {
    color: var(--c-text);
    font-weight: 500;
    line-height: 1.3;
}
.about-photo--big {
    grid-column: 1;
    grid-row: 1 / span 2;
}
.about-photo--big i { font-size: 44px; }
.about-photo--big span { font-size: 14px; }

/* Плитки справа */
.about-photo:not(.about-photo--big) { grid-column: 2; }

/* ---------- 5. Карточки "почему доверяют" ---------- */
.heaters-features {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    align-items: stretch; /* Равная высота */
}
@media (max-width: 900px) { .heaters-features { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 550px) { .heaters-features { grid-template-columns: 1fr; } }

.heaters-feature {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 26px 22px;
    display: flex;
    flex-direction: column;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-feature:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--c-primary-rgb),.3);
    box-shadow: 0 10px 26px rgba(0,0,0,.3);
}
.heaters-feature__icon {
    width: 46px;
    height: 46px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.2), rgba(var(--c-primary-rgb),.06));
    color: var(--c-primary);
    border: 1px solid rgba(var(--c-primary-rgb),.28);
    border-radius: 11px;
    font-size: 18px;
    margin-bottom: 16px;
    flex-shrink: 0;
}
.heaters-feature__title {
    font-family: Montserrat, sans-serif;
    font-size: 15.5px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 8px;
    line-height: 1.35;
}
.heaters-feature__text {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0;
}

/* ---------- 6. История ---------- */
.about-history {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}
@media (max-width: 900px) { .about-history { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .about-history { grid-template-columns: 1fr; } }

.about-history__item {
    position: relative;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 28px 24px;
    display: flex;
    flex-direction: column;
    transition: transform .25s, border-color .25s, box-shadow .25s;
    overflow: hidden;
}
.about-history__item::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-primary-light));
    opacity: .85;
}
.about-history__item:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.35);
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
}
.about-history__year {
    font-family: Montserrat, sans-serif;
    font-size: 30px;
    font-weight: 800;
    color: var(--c-primary-light);
    line-height: 1;
    margin-bottom: 14px;
    letter-spacing: -.8px;
}
.about-history__text {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--c-text-muted);
}

/* ---------- 7. Принципы (application-grid) ---------- */
.page-o-nas .application-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
    align-items: stretch;
}
@media (max-width: 900px) { .page-o-nas .application-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .page-o-nas .application-grid { grid-template-columns: 1fr; } }

.page-o-nas .application-item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 28px 22px;
    display: flex;
    flex-direction: column;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.page-o-nas .application-item:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.3);
    box-shadow: 0 12px 28px rgba(0,0,0,.3);
}
.page-o-nas .application-icon {
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.2), rgba(var(--c-primary-rgb),.05));
    color: var(--c-primary);
    border: 1px solid rgba(var(--c-primary-rgb),.28);
    border-radius: 12px;
    font-size: 20px;
    margin-bottom: 18px;
}
.page-o-nas .application-title {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}
.page-o-nas .application-desc {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0;
}

/* ---------- 8. CTA (общая с heaters) ---------- */
.page-o-nas .heaters-cta {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 32px 36px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.14), rgba(var(--c-primary-rgb),.03));
    border: 1px solid rgba(var(--c-primary-rgb),.32);
    border-radius: 18px;
    flex-wrap: wrap;
}
@media (max-width: 700px) {
    .page-o-nas .heaters-cta { padding: 24px 22px; }
    .page-o-nas .heaters-cta__btns { width: 100%; }
    .page-o-nas .heaters-cta__btns .btn { flex: 1 1 auto; justify-content: center; }
}
.page-o-nas .heaters-cta__text b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 18px;
    color: var(--c-text);
    margin-bottom: 6px;
}
.page-o-nas .heaters-cta__text span {
    display: block;
    font-size: 14px;
    color: var(--c-text-muted);
}

/* ---------- 9. Центрирование section-head ---------- */
.page-o-nas .section-head { margin: 0 auto 44px; }
@media (max-width: 700px) { .page-o-nas .section-head { margin-bottom: 30px; } }
/* ==================== /ABOUT PAGE V2 ==================== */
/* ==================== STATS OVERLAP FIX ==================== */
.about-stats-wrap {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    padding: 0 0 40px !important;
    position: relative;
    z-index: 1;
}

@media (max-width: 900px) {
    .about-stats-wrap {
        padding: 0 0 20px !important;
    }
}

/* Первая секция после статистики — с нормальным верхним отступом */
.about-stats-wrap + .section {
    padding-top: 40px !important;
}

@media (max-width: 700px) {
    .about-stats-wrap + .section {
        padding-top: 24px !important;
    }
}
/* ==================== /STATS OVERLAP FIX ==================== */

/* ==================== TEPLY PAGE V2 ==================== */

/* --- Как это работает (с GIF) --- */
.howworks-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    align-items: stretch;
}
@media (max-width: 1000px) { .howworks-grid { grid-template-columns: 1fr; } }

.howworks-card {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.howworks-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.4);
    box-shadow: 0 14px 32px rgba(0,0,0,.35);
}
.howworks-card__gif {
    aspect-ratio: 16 / 10;
    background: #0a0d12;
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
}
.howworks-card__gif img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}
.howworks-card__body {
    padding: 26px 24px 24px;
    flex: 1 1 auto;
    display: flex;
    flex-direction: column;
}
.howworks-card__num {
    font-family: Montserrat, sans-serif;
    font-size: 32px;
    font-weight: 900;
    color: var(--c-primary);
    opacity: .4;
    line-height: 1;
    letter-spacing: -1.5px;
    margin-bottom: 10px;
}
.howworks-card__title {
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}
.howworks-card p {
    font-size: 13.5px;
    line-height: 1.65;
    color: var(--c-text-muted);
    margin: 0;
}

/* --- Стандартные цвета --- */
.colors-standard {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 18px;
    max-width: 900px;
    margin: 0 auto 40px;
}
@media (max-width: 700px) { .colors-standard { grid-template-columns: repeat(2, 1fr); } }

.color-standard {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px;
    padding: 14px;
    transition: transform .25s, border-color .25s;
}
.color-standard:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.4);
}
.color-standard__img {
    aspect-ratio: 16 / 10;
    border-radius: 10px;
    background-size: cover;
    background-position: center;
    background-color: #f0f0f0;
    margin-bottom: 12px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}
.color-standard__code {
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--c-primary-light);
    margin-bottom: 3px;
}
.color-standard__name {
    font-size: 12.5px;
    color: var(--c-text-muted);
    line-height: 1.35;
}

/* --- Интерактивный конфигуратор --- */
.color-configurator {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr);
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto 24px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 28px;
    align-items: start;
}
@media (max-width: 900px) {
    .color-configurator { grid-template-columns: 1fr; padding: 20px; }
}

.color-configurator__preview {
    position: sticky;
    top: 100px;
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    box-shadow: inset 0 0 0 1px rgba(0,0,0,.05), 0 8px 24px rgba(0,0,0,.25);
}
@media (max-width: 900px) {
    .color-configurator__preview { position: static; }
}
.color-configurator__preview img {
    width: 100%;
    height: auto;
    display: block;
    aspect-ratio: 4 / 3;
    object-fit: contain;
    transition: opacity .25s;
}
.color-configurator__name {
    text-align: center;
    margin-top: 14px;
    font-family: Montserrat, sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #2a2a2a;
}

.color-configurator__palette { display: flex; flex-direction: column; gap: 22px; }

.palette-group__title {
    font-family: Montserrat, sans-serif;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--c-text-muted);
    margin-bottom: 12px;
    font-weight: 700;
}
.palette-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 10px;
}
@media (max-width: 700px) { .palette-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 420px) { .palette-grid { grid-template-columns: repeat(2, 1fr); } }

.palette-grid--small { grid-template-columns: repeat(4, 1fr); }

.palette-swatch {
    background: var(--c-bg);
    border: 2px solid rgba(255,255,255,.08);
    border-radius: 10px;
    padding: 6px;
    cursor: pointer;
    transition: transform .18s, border-color .18s, background .18s;
    display: flex;
    flex-direction: column;
    gap: 6px;
    align-items: center;
    font-family: inherit;
}
.palette-swatch:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--c-primary-rgb),.5);
}
.palette-swatch.is-active {
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.2);
    background: rgba(var(--c-primary-rgb),.08);
}
.palette-swatch img {
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
    border-radius: 6px;
    background: #f5f5f5;
    display: block;
}
.palette-swatch span {
    font-size: 10.5px;
    color: var(--c-text-muted);
    line-height: 1.25;
    text-align: center;
    font-weight: 500;
}
.palette-swatch.is-active span { color: var(--c-primary-light); }

/* --- Раскрывающийся полный каталог --- */
.colors-more {
    max-width: 1100px;
    margin: 30px auto 0;
}
.colors-more__toggle {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 16px 24px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 12px;
    color: var(--c-text);
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 600;
    cursor: pointer;
    transition: all .2s;
}
.colors-more__toggle:hover {
    border-color: var(--c-primary);
    background: rgba(var(--c-primary-rgb),.06);
}
.colors-more__toggle i {
    font-size: 12px;
    color: var(--c-primary);
    transition: transform .3s;
}
.colors-more__toggle.is-open i { transform: rotate(180deg); }

.colors-more__body {
    max-height: 0;
    overflow: hidden;
    transition: max-height .4s ease;
}
.colors-more__body.is-open {
    max-height: 2000px;
    padding-top: 24px;
}
.colors-more__hint {
    font-size: 13px;
    color: var(--c-text-muted);
    text-align: center;
    margin: 0 0 20px;
}
.colors-more__grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 12px;
}
@media (max-width: 1000px) { .colors-more__grid { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 600px) { .colors-more__grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 400px) { .colors-more__grid { grid-template-columns: repeat(2, 1fr); } }

.colors-more__item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 10px;
    padding: 6px;
    text-align: center;
    transition: transform .2s, border-color .2s;
}
.colors-more__item:hover {
    transform: translateY(-2px);
    border-color: rgba(var(--c-primary-rgb),.35);
}
.colors-more__img {
    width: 100%;
    aspect-ratio: 1 / 1;
    border-radius: 6px;
    background-color: #f5f5f5;
    background-size: cover;
    background-position: center;
    margin-bottom: 6px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
}
.colors-more__name {
    font-size: 10.5px;
    color: var(--c-text-muted);
    line-height: 1.25;
}

/* --- ТВ-карусель --- */
.tv-carousel {
    position: relative;
    overflow: hidden;
}
.tv-track {
    display: flex;
    transition: transform .55s cubic-bezier(.25,.8,.3,1);
    will-change: transform;
    align-items: stretch;
}
.tv-slide {
    flex: 0 0 calc(100% / 3);
    padding: 0 8px;
    box-sizing: border-box;
    min-width: 0;
    display: flex;
}
@media (max-width: 1100px) { .tv-slide { flex: 0 0 50%; } }
@media (max-width: 700px) { .tv-slide { flex: 0 0 100%; } }

.tv-card {
    position: relative;
    width: 100%;
    aspect-ratio: 4 / 3;
    border-radius: 14px;
    overflow: hidden;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.15), rgba(var(--c-bg-alt-rgb),.9));
    background-size: cover;
    background-position: center;
    display: flex;
    align-items: flex-end;
    transition: transform .25s, box-shadow .25s;
    box-shadow: 0 8px 24px rgba(0,0,0,.3);
}
.tv-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 16px 36px rgba(var(--c-primary-rgb),.25);
}
.tv-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, transparent 40%, rgba(0,0,0,.9) 100%);
    z-index: 1;
}
.tv-card__body {
    position: relative;
    z-index: 2;
    padding: 20px 20px 22px;
    width: 100%;
}
.tv-card__name {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
    line-height: 1.3;
    text-shadow: 0 2px 8px rgba(0,0,0,.6);
}
.tv-card__sub {
    font-size: 12.5px;
    color: rgba(255,255,255,.8);
    line-height: 1.4;
}

.tv-dots {
    display: flex;
    justify-content: center;
    gap: 9px;
    margin-top: 24px;
}
.tv-dot {
    width: 9px;
    height: 9px;
    background: rgba(255,255,255,.18);
    border-radius: 50%;
    cursor: pointer;
    transition: all .25s;
}
.tv-dot:hover { background: rgba(var(--c-primary-rgb),.5); }
.tv-dot.active {
    width: 26px;
    border-radius: 5px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-primary-light));
    box-shadow: 0 0 12px rgba(var(--c-primary-rgb),.5);
}

/* --- Общие блоки (как было) --- */
.complect-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch;
}
@media (max-width: 950px) { .complect-grid { grid-template-columns: 1fr; } }

.complect-card {
    background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px; padding: 24px;
    display: flex; flex-direction: column;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.complect-card:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.4); box-shadow: 0 16px 36px rgba(0,0,0,.35); }
.complect-card__head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.complect-card__icon {
    width: 44px; height: 44px; display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff; border-radius: 12px; font-size: 18px;
    box-shadow: 0 6px 16px rgba(var(--c-primary-rgb),.35); flex-shrink: 0;
}
.complect-card__tag { font-family: Montserrat, sans-serif; font-size: 19px; font-weight: 800; color: var(--c-primary-light); }
.complect-card__img { aspect-ratio: 16/9; background: var(--c-bg); border-radius: 10px; overflow: hidden; display: flex; align-items: center; justify-content: center; margin-bottom: 16px; }
.complect-card__img img { width: 100%; height: 100%; object-fit: contain; }
.complect-card__price { font-family: Montserrat, sans-serif; font-size: 22px; font-weight: 800; color: var(--c-primary); margin-bottom: 12px; }
.complect-card__text { font-size: 13.5px; line-height: 1.6; color: var(--c-text-muted); margin: 0 0 20px; }
.complect-card__specs { margin-top: auto; border-top: 1px solid rgba(255,255,255,.07); padding-top: 16px; }
.complect-spec { display: grid; grid-template-columns: 1fr 1.4fr; gap: 10px; padding: 8px 0; font-size: 12.5px; }
.complect-spec + .complect-spec { border-top: 1px dashed rgba(255,255,255,.05); }
.complect-spec__l { color: var(--c-text-muted); }
.complect-spec__v { color: var(--c-text); font-weight: 500; }

.colors-subtitle {
    font-family: Montserrat, sans-serif; font-size: 18px; font-weight: 700;
    color: var(--c-text); margin: 30px 0 18px; text-align: center;
}
.colors-subtitle:first-of-type { margin-top: 0; }

.colors-ral-note {
    max-width: 900px; margin: 30px auto 0; padding: 16px 22px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.1), rgba(var(--c-primary-rgb),.02));
    border: 1px solid rgba(var(--c-primary-rgb),.3); border-radius: 12px;
    display: flex; align-items: center; gap: 14px; font-size: 14px; line-height: 1.55; color: var(--c-text);
}
.colors-ral-note i { color: var(--c-primary); font-size: 20px; flex-shrink: 0; }

.objects-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; }
@media (max-width: 900px) { .objects-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .objects-grid { grid-template-columns: 1fr; } }

.object-card {
    background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.08);
    border-radius: 14px; overflow: hidden;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.object-card:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.35); box-shadow: 0 14px 32px rgba(0,0,0,.35); }
.object-card__img {
    aspect-ratio: 4/3; background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.18), rgba(var(--c-bg-alt-rgb),.9));
    background-size: cover; background-position: center;
    display: flex; align-items: center; justify-content: center;
    color: var(--c-primary); font-size: 40px;
}
.object-card__body { padding: 16px 18px 18px; }
.object-card__name { font-family: Montserrat, sans-serif; font-size: 15px; font-weight: 700; color: var(--c-text); line-height: 1.35; margin-bottom: 6px; }
.object-card__city { font-size: 12.5px; color: var(--c-text-muted); display: flex; align-items: center; gap: 6px; }
.object-card__city i { color: var(--c-primary); font-size: 11px; }

.numbers-band {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px;
    margin-top: 50px; padding: 36px 28px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.12), rgba(var(--c-bg-alt-rgb),.85));
    border: 1px solid rgba(var(--c-primary-rgb),.3); border-radius: 18px;
    box-shadow: 0 20px 50px rgba(0,0,0,.35), inset 0 1px 0 rgba(255,255,255,.06);
}
@media (max-width: 700px) { .numbers-band { grid-template-columns: 1fr; gap: 26px; padding: 28px 22px; } }
.numbers-band__item { text-align: center; }
.numbers-band__v { font-family: Montserrat, sans-serif; font-size: 48px; font-weight: 900; color: var(--c-primary-light); line-height: 1; letter-spacing: -1.5px; margin-bottom: 10px; }
@media (max-width: 700px) { .numbers-band__v { font-size: 36px; } }
.numbers-band__l { font-size: 13px; text-transform: uppercase; letter-spacing: .6px; color: var(--c-text-muted); }

.works-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
@media (max-width: 900px) { .works-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .works-grid { grid-template-columns: 1fr; } }
.work-item { display: block; aspect-ratio: 4/3; border-radius: 12px; overflow: hidden; background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.07); transition: transform .25s, border-color .25s; }
.work-item:hover { transform: translateY(-3px); border-color: rgba(var(--c-primary-rgb),.4); }
.work-item img { width: 100%; height: 100%; object-fit: cover; display: block; }

.docs-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; max-width: 900px; margin: 0 auto; }
@media (max-width: 700px) { .docs-grid { grid-template-columns: 1fr; } }
.doc-card {
    display: flex; align-items: center; gap: 18px;
    padding: 20px 24px; background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08); border-radius: 14px;
    text-decoration: none;
    transition: transform .22s, border-color .22s, background .22s, box-shadow .22s;
}
.doc-card:hover { transform: translateY(-2px); border-color: rgba(var(--c-primary-rgb),.4); background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.08), var(--c-bg-alt)); box-shadow: 0 10px 24px rgba(0,0,0,.3); }
.doc-card__icon { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.2), rgba(var(--c-primary-rgb),.05)); color: var(--c-primary); border: 1px solid rgba(var(--c-primary-rgb),.3); border-radius: 12px; font-size: 20px; flex-shrink: 0; }
.doc-card__body { flex: 1 1 auto; min-width: 0; }
.doc-card__title { font-family: Montserrat, sans-serif; font-size: 15px; font-weight: 700; color: var(--c-text); margin-bottom: 4px; line-height: 1.35; }
.doc-card__action { font-size: 12.5px; color: var(--c-primary); display: flex; align-items: center; gap: 6px; }
.doc-card__action .is-soon { color: var(--c-text-muted); }

.install-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 22px; align-items: stretch; }
@media (max-width: 900px) { .install-steps { grid-template-columns: 1fr; } }
.install-step {
    position: relative; background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07); border-radius: 16px;
    padding: 32px 26px 26px;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.install-step:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.35); box-shadow: 0 14px 32px rgba(0,0,0,.35); }
.install-step__num {
    position: absolute; top: -16px; left: 26px;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff; font-family: Montserrat, sans-serif; font-weight: 800; font-size: 18px;
    border-radius: 50%; box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.4);
}
.install-step__icon { width: 54px; height: 54px; display: flex; align-items: center; justify-content: center; background: rgba(var(--c-primary-rgb),.12); color: var(--c-primary); border: 1px solid rgba(var(--c-primary-rgb),.28); border-radius: 14px; font-size: 22px; margin-bottom: 18px; }
.install-step__title { font-family: Montserrat, sans-serif; font-size: 16px; font-weight: 700; color: var(--c-text); margin: 0 0 10px; line-height: 1.3; }
.install-step__text { font-size: 13.5px; line-height: 1.6; color: var(--c-text-muted); margin: 0; }

.tech-specs { max-width: 800px; margin: 0 auto; background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.07); border-radius: 16px; padding: 8px 32px; }
.tech-spec-row { display: grid; grid-template-columns: 1fr 1.5fr; gap: 20px; padding: 16px 0; border-top: 1px solid rgba(255,255,255,.06); }
.tech-spec-row:first-child { border-top: 0; }
.tech-spec-l { color: var(--c-text-muted); font-size: 14px; }
.tech-spec-v { color: var(--c-text); font-size: 14px; font-weight: 500; }
@media (max-width: 600px) {
    .tech-specs { padding: 6px 20px; }
    .tech-spec-row { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
    .tech-spec-l { font-size: 12.5px; }
    .tech-spec-v { font-size: 13.5px; }
}
/* ==================== /TEPLY PAGE V2 ==================== */

/* ==================== MENU WIDTH FIX ==================== */
/* Компактное меню — 7 пунктов, включая длинное «Плинтусные обогреватели» */
@media (min-width: 1100px) {
    .main-nav {
        gap: 0 !important;
    }
    .main-nav .nav-item {
        padding: 8px 10px !important;
        font-size: 13px !important;
        letter-spacing: -.1px !important;
    }
}
@media (min-width: 1250px) {
    .main-nav .nav-item {
        padding: 9px 12px !important;
        font-size: 13.5px !important;
    }
}
@media (min-width: 1400px) {
    .main-nav .nav-item {
        padding: 10px 14px !important;
        font-size: 14px !important;
    }
}
@media (min-width: 1600px) {
    .main-nav .nav-item {
        padding: 10px 16px !important;
        font-size: 14.5px !important;
    }
}

/* На узких десктопах — прячем длинное название в укороченное через псевдо-элемент не получится,
   поэтому просто чуть уменьшаем шрифт и padding (см. выше). Если не влезает — меню уйдёт в бургер. */

/* ==================== /MENU WIDTH FIX ==================== */
/* ==================== COMPARE V3 (clean layout) ==================== */

/* Обёртка */
.compare-wrap {
    max-width: 1180px;
    margin: 0 auto;
}
.compare-table {
    background: linear-gradient(180deg, rgba(var(--c-bg-alt-rgb),.92), rgba(var(--c-bg-rgb),.96));
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.4);
}

/* Одна сетка для всех рядов — 6 колонок (1 критерий + 5 систем) */
.compare-head,
.compare-row,
.compare-footer {
    display: grid;
    grid-template-columns: minmax(220px, 1.3fr) repeat(5, minmax(0, 1fr));
    align-items: stretch;
    width: 100%;
}

/* Все клетки — базовое выравнивание */
.compare-head > *,
.compare-row > *,
.compare-footer > * {
    display: flex;
    align-items: center;
    box-sizing: border-box;
    min-height: 100%;
    border-left: 1px solid rgba(255,255,255,.05);
}
.compare-head > *:first-child,
.compare-row > *:first-child,
.compare-footer > *:first-child {
    border-left: 0;
}

/* ---------- Шапка ---------- */
.compare-head {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.06), rgba(var(--c-primary-rgb),.01));
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.compare-head__crit {
    padding: 24px 20px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--c-text-muted);
    font-weight: 600;
    justify-content: flex-start;
    align-items: flex-end;
}
.compare-head__col {
    flex-direction: column;
    justify-content: flex-end;
    align-items: center;
    text-align: center;
    padding: 40px 8px 18px;
    position: relative;
    gap: 6px;
}
.compare-head__col--best {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.14), rgba(var(--c-primary-rgb),.04));
    box-shadow: inset 0 0 0 1px rgba(var(--c-primary-rgb),.3);
}
.compare-head__badge {
    position: absolute;
    top: 8px;
    left: 50%;
    transform: translateX(-50%);
    padding: 3px 10px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 20px;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .3px;
    text-transform: uppercase;
    white-space: nowrap;
    box-shadow: 0 4px 10px rgba(var(--c-primary-rgb),.4);
    line-height: 1.4;
}
.compare-head__icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(255,255,255,.05);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 9px;
    color: var(--c-text-muted);
    font-size: 14px;
    flex-shrink: 0;
}
.compare-head__col--best .compare-head__icon {
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    border-color: var(--c-primary);
    color: #fff;
    box-shadow: 0 4px 12px rgba(var(--c-primary-rgb),.35);
}
.compare-head__name {
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.25;
    letter-spacing: -.1px;
}
.compare-head__col--best .compare-head__name {
    color: var(--c-primary-light);
}
.compare-head__sub {
    font-size: 10px;
    color: var(--c-text-muted);
    line-height: 1.25;
}

/* ---------- Строки ---------- */
.compare-row {
    border-bottom: 1px solid rgba(255,255,255,.05);
    transition: background .15s;
}
.compare-row:last-of-type { border-bottom: 0; }
.compare-row.is-odd { background: rgba(255,255,255,.012); }
.compare-row:hover { background: rgba(255,255,255,.025); }

.compare-row__crit {
    padding: 14px 20px;
    gap: 12px;
    font-size: 13.5px;
    color: var(--c-text);
    font-weight: 500;
    line-height: 1.35;
    justify-content: flex-start;
    border-left: 0 !important;
}
.compare-row__crit-icon {
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 9px;
    font-size: 14px;
    flex-shrink: 0;
    box-shadow: 0 3px 10px rgba(var(--c-primary-rgb),.3), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .18s;
}
.compare-row:hover .compare-row__crit-icon {
    transform: scale(1.06) rotate(-3deg);
}
.compare-row__crit-text {
    flex: 1 1 auto;
    min-width: 0;
}

.compare-row__cell {
    justify-content: center;
    padding: 14px 6px;
}
.compare-row__cell--best {
    background: rgba(var(--c-primary-rgb),.035);
    box-shadow: inset 0 0 0 1px rgba(var(--c-primary-rgb),.18);
    box-shadow:
        inset 1px 0 0 rgba(var(--c-primary-rgb),.2),
        inset -1px 0 0 rgba(var(--c-primary-rgb),.2);
}
.compare-mark {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 700;
    transition: transform .15s;
}
.compare-row:hover .compare-mark { transform: scale(1.1); }
.compare-row__cell.is-ok .compare-mark {
    background: rgba(78,201,138,.14);
    color: #4ec98a;
    box-shadow: inset 0 0 0 1px rgba(78,201,138,.3);
}
.compare-row__cell.is-no .compare-mark {
    background: rgba(224,108,108,.1);
    color: #e06c6c;
    box-shadow: inset 0 0 0 1px rgba(224,108,108,.2);
}

/* ---------- Итог ---------- */
.compare-footer {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.04), rgba(var(--c-primary-rgb),.1));
    border-top: 1px solid rgba(var(--c-primary-rgb),.25);
}
.compare-footer__label {
    padding: 18px 20px;
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: .8px;
    color: var(--c-text-muted);
    font-weight: 700;
    justify-content: flex-start;
    border-left: 0 !important;
}
.compare-footer__col {
    justify-content: center;
    padding: 18px 6px;
    font-family: Montserrat, sans-serif;
    font-size: 12px;
    color: var(--c-text-muted);
    gap: 4px;
    text-align: center;
    line-height: 1.2;
}
.compare-footer__col b {
    color: var(--c-text);
    font-size: 20px;
    font-weight: 800;
    line-height: 1;
}
.compare-footer__col span {
    font-size: 11px;
    opacity: .7;
}
.compare-footer__col--best {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.12), rgba(var(--c-primary-rgb),.22));
    box-shadow:
        inset 1px 0 0 rgba(var(--c-primary-rgb),.35),
        inset -1px 0 0 rgba(var(--c-primary-rgb),.35);
}
.compare-footer__col--best b {
    color: var(--c-primary-light);
    font-size: 24px;
}
.compare-footer__col--best span {
    color: var(--c-primary-light);
    opacity: .9;
}

/* ---------- Мобильная версия: горизонтальный скролл ---------- */
@media (max-width: 1100px) {
    .compare-table {
        overflow-x: auto;
        -webkit-overflow-scrolling: touch;
    }
    .compare-head,
    .compare-row,
    .compare-footer {
        min-width: 1000px;
    }
}
@media (max-width: 700px) {
    .compare-head__crit,
    .compare-row__crit { padding: 12px 14px; }
    .compare-row__crit-icon { width: 30px; height: 30px; font-size: 12px; border-radius: 8px; }
    .compare-row__crit-text { font-size: 12.5px; }
    .compare-mark { width: 26px; height: 26px; font-size: 11px; }
    .compare-head__col { padding: 36px 6px 14px; }
    .compare-head__name { font-size: 11px; }
    .compare-head__sub { font-size: 9.5px; }
    .compare-head__icon { width: 32px; height: 32px; font-size: 12px; }
    .compare-footer__col b { font-size: 17px; }
    .compare-footer__col--best b { font-size: 20px; }
}
/* ==================== /COMPARE V3 ==================== */
/* ==================== COMPARE COLS FIX ==================== */
/* Растягиваем таблицу на всю ширину контейнера */
.compare-wrap {
    max-width: 100% !important;
}
.compare-table {
    width: 100% !important;
}

/* Количество колонок берётся из --cols.
   На главной по умолчанию 5 (5 систем), на странице про плинтус — 3. */
.compare-head,
.compare-row,
.compare-footer {
    grid-template-columns: minmax(220px, 1.3fr) repeat(var(--cols, 5), minmax(0, 1fr)) !important;
}

/* Мобильная версия — не даём таблице обрезаться, только скролл */
@media (max-width: 1100px) {
    .compare-head,
    .compare-row,
    .compare-footer {
        min-width: auto;
    }
}

/* Tech-specs — на всю ширину */
.tech-specs {
    max-width: 100% !important;
}

/* Docs-grid — тоже растянуть */
.docs-grid {
    max-width: 100% !important;
}
/* ==================== /COMPARE COLS FIX ==================== */
/* ==================== HEATERS FULL ==================== */
.heaters-hero-list {
    list-style: none;
    padding: 0;
    margin: 22px 0 0;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px 24px;
    max-width: 760px;
}
@media (max-width: 700px) { .heaters-hero-list { grid-template-columns: 1fr; } }
.heaters-hero-list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--c-text);
}
.heaters-hero-list i {
    color: #4ec98a;
    font-size: 14px;
    margin-top: 3px;
    flex-shrink: 0;
}

.heaters-text-block {
    max-width: 900px;
    margin: 0 auto;
}
.heaters-text-block p {
    font-size: 15.5px;
    line-height: 1.7;
    color: var(--c-text-muted);
    margin: 0 0 16px;
}
.heaters-text-block p b { color: var(--c-text); font-weight: 600; }

.heaters-highlight {
    display: flex;
    gap: 18px;
    align-items: center;
    padding: 22px 26px;
    margin-top: 24px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.12), rgba(var(--c-primary-rgb),.03));
    border: 1px solid rgba(var(--c-primary-rgb),.3);
    border-radius: 14px;
}
.heaters-highlight__icon {
    width: 54px; height: 54px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 14px;
    font-size: 22px;
    flex-shrink: 0;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.35);
}
.heaters-highlight b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    color: var(--c-text);
    margin-bottom: 4px;
}
.heaters-highlight span {
    display: block;
    font-size: 13.5px;
    color: var(--c-text-muted);
    line-height: 1.55;
}
@media (max-width: 600px) {
    .heaters-highlight { flex-direction: column; text-align: center; }
}

/* Модели */
.heaters-models {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto;
}
@media (max-width: 800px) { .heaters-models { grid-template-columns: 1fr; } }

.heaters-model {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 26px 22px;
    text-align: center;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-model:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.4);
    box-shadow: 0 14px 32px rgba(0,0,0,.35);
}
.heaters-model__size {
    font-family: Montserrat, sans-serif;
    font-size: 24px;
    font-weight: 800;
    color: var(--c-primary-light);
    margin-bottom: 6px;
    letter-spacing: -.5px;
}
.heaters-model__price {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--c-primary);
    margin-bottom: 18px;
}
.heaters-model__specs {
    border-top: 1px solid rgba(255,255,255,.07);
    padding-top: 16px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.heaters-model__specs > div {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-size: 13px;
}
.heaters-model__specs span { color: var(--c-text-muted); }
.heaters-model__specs b { color: var(--c-text); font-weight: 600; }

.heaters-note {
    max-width: 900px;
    margin: 24px auto 0;
    padding: 14px 20px;
    background: rgba(var(--c-primary-rgb),.06);
    border-left: 3px solid var(--c-primary);
    border-radius: 0 8px 8px 0;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--c-text-muted);
}
.heaters-note i { color: var(--c-primary); margin-right: 8px; }

/* Цепь обогревателей */
.heaters-chain {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    max-width: 900px;
    margin: 0 auto;
}
@media (max-width: 700px) { .heaters-chain { grid-template-columns: 1fr; } }

.heaters-chain__item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 28px 24px;
    text-align: center;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-chain__item.is-best {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.14), rgba(var(--c-bg-alt-rgb),.9));
    border-color: rgba(var(--c-primary-rgb),.4);
}
.heaters-chain__item:hover {
    transform: translateY(-4px);
    box-shadow: 0 14px 32px rgba(0,0,0,.35);
}
.heaters-chain__icon {
    width: 54px; height: 54px;
    margin: 0 auto 14px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 14px;
    font-size: 22px;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.35);
}
.heaters-chain__item h3 {
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 800;
    color: var(--c-primary-light);
    margin: 0 0 6px;
}
.heaters-chain__sub {
    font-size: 13px;
    color: var(--c-text);
    font-weight: 600;
    margin: 0 0 12px !important;
}
.heaters-chain__item p {
    font-size: 13.5px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0;
}
.heaters-chain__item p b { color: var(--c-text); }

/* Цвета (упрощённо) */
.heaters-colors2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 260px));
    gap: 20px;
    justify-content: center;
    margin: 0 auto;
}
@media (max-width: 500px) { .heaters-colors2 { grid-template-columns: 1fr; } }

.heaters-color2 {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 24px;
    text-align: center;
    transition: transform .25s, border-color .25s;
}
.heaters-color2:hover { transform: translateY(-3px); border-color: rgba(var(--c-primary-rgb),.35); }
.heaters-color2__swatch {
    width: 100%;
    aspect-ratio: 2 / 1;
    border-radius: 10px;
    margin-bottom: 16px;
    box-shadow: inset 0 0 0 1px rgba(255,255,255,.15), 0 4px 12px rgba(0,0,0,.3);
}
.heaters-color2 b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    color: var(--c-text);
    margin-bottom: 4px;
}
.heaters-color2 span {
    display: block;
    font-size: 12.5px;
    color: var(--c-text-muted);
}

/* Купить блок */
.heaters-buy-block {
    display: grid;
    grid-template-columns: auto 1fr auto;
    gap: 28px;
    align-items: center;
    padding: 32px 36px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.14), rgba(var(--c-primary-rgb),.03));
    border: 1px solid rgba(var(--c-primary-rgb),.3);
    border-radius: 18px;
    max-width: 1000px;
    margin: 0 auto;
}
@media (max-width: 800px) { .heaters-buy-block { grid-template-columns: 1fr; text-align: center; } }
.heaters-buy-block__icon {
    width: 72px; height: 72px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 18px;
    font-size: 30px;
    box-shadow: 0 10px 26px rgba(var(--c-primary-rgb),.4);
    margin: 0 auto;
}
.heaters-buy-block__text h3 {
    font-family: Montserrat, sans-serif;
    font-size: 20px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 8px;
}
.heaters-buy-block__text p {
    font-size: 14px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0;
}

/* Модели — таблица для сравнения */
.heaters-models-table {
    max-width: 900px;
    margin: 0 auto;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
}
.heaters-models-table .row {
    display: grid;
    grid-template-columns: 1.5fr repeat(3, 1fr);
    padding: 14px 20px;
    border-bottom: 1px solid rgba(255,255,255,.05);
    font-size: 13.5px;
    align-items: center;
}
.heaters-models-table .row.head {
    background: rgba(var(--c-primary-rgb),.08);
    font-family: Montserrat, sans-serif;
    font-weight: 700;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: .5px;
    color: var(--c-primary-light);
}
.heaters-models-table .row:last-child { border-bottom: 0; }
.heaters-models-table .row > div:first-child { color: var(--c-text-muted); }
.heaters-models-table .row > div { text-align: center; }
.heaters-models-table .row > div:first-child { text-align: left; }
/* ==================== /HEATERS FULL ==================== */
/* ==================== HEATERS FULL V2 ==================== */
.heaters-showcase {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 40px;
    align-items: center;
}
@media (max-width: 900px) { .heaters-showcase { grid-template-columns: 1fr; gap: 24px; } }
.heaters-showcase__img {
    background: var(--c-bg-alt);
    border-radius: 18px;
    padding: 20px;
    aspect-ratio: 4/3;
    display: flex; align-items: center; justify-content: center;
    box-shadow: 0 12px 30px rgba(0,0,0,.3);
}
.heaters-showcase__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.heaters-showcase__text h2 {
    font-family: Montserrat, sans-serif;
    font-size: 26px; font-weight: 700;
    color: var(--c-text); margin: 0 0 16px;
    line-height: 1.3;
}
@media (max-width: 900px) { .heaters-showcase__text h2 { font-size: 22px; } }
.heaters-showcase__text p {
    font-size: 15px; line-height: 1.7;
    color: var(--c-text-muted); margin: 0 0 14px;
}
.heaters-showcase__text p b { color: var(--c-text); font-weight: 600; }
.heaters-showcase__badges {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 12px; margin-top: 24px;
}
.heaters-showcase__badges > div {
    text-align: center;
    padding: 14px 10px;
    background: rgba(var(--c-primary-rgb),.06);
    border: 1px solid rgba(var(--c-primary-rgb),.2);
    border-radius: 12px;
}
.heaters-showcase__badges i { color: var(--c-primary); font-size: 18px; display: block; margin-bottom: 6px; }
.heaters-showcase__badges b { display: block; font-family: Montserrat, sans-serif; font-size: 16px; color: var(--c-primary-light); font-weight: 800; margin-bottom: 2px; }
.heaters-showcase__badges span { display: block; font-size: 10.5px; color: var(--c-text-muted); }

.heaters-features-photo {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 28px;
}
@media (max-width: 900px) { .heaters-features-photo { grid-template-columns: 1fr; } }

.heaters-feature-photo {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-feature-photo:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.4);
    box-shadow: 0 14px 32px rgba(0,0,0,.35);
}
.heaters-feature-photo__img {
    aspect-ratio: 16/10;
    background: #f5f5f5;
    overflow: hidden;
    display: flex; align-items: center; justify-content: center;
}
.heaters-feature-photo__img img { width: 100%; height: 100%; object-fit: cover; }
.heaters-feature-photo__body { padding: 22px 22px 24px; }
.heaters-feature-photo__body h3 {
    font-family: Montserrat, sans-serif;
    font-size: 17px; font-weight: 700;
    color: var(--c-primary-light);
    margin: 0 0 8px;
}
.heaters-feature-photo__body p {
    font-size: 13.5px; line-height: 1.6;
    color: var(--c-text-muted); margin: 0;
}

/* Устройство SMART LINE */
.heaters-scheme-block {
    display: grid;
    grid-template-columns: 1.3fr 1fr;
    gap: 40px;
    align-items: center;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 30px;
}
@media (max-width: 900px) { .heaters-scheme-block { grid-template-columns: 1fr; padding: 20px; gap: 24px; } }
.heaters-scheme-block__img {
    background: #fff;
    border-radius: 14px;
    padding: 16px;
    display: flex; align-items: center; justify-content: center;
}
.heaters-scheme-block__img img { max-width: 100%; max-height: 100%; }
.heaters-scheme-block__text h3 {
    font-family: Montserrat, sans-serif;
    font-size: 20px; font-weight: 700;
    color: var(--c-text); margin: 0 0 12px;
}
.heaters-scheme-block__text p {
    font-size: 14px; line-height: 1.65;
    color: var(--c-text-muted); margin: 0 0 20px;
}

/* Размеры */
.heaters-sizes-photo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 20px;
    max-width: 900px;
    margin: 0 auto 30px;
}
@media (max-width: 700px) { .heaters-sizes-photo { grid-template-columns: 1fr; } }
.heaters-sizes-photo__img {
    background: #fff;
    border-radius: 14px;
    padding: 20px;
    text-align: center;
    aspect-ratio: 16/10;
    display: flex; flex-direction: column; align-items: center; justify-content: center;
    box-shadow: 0 8px 24px rgba(0,0,0,.25);
}
.heaters-sizes-photo__img img { max-width: 100%; max-height: 80%; object-fit: contain; }
.heaters-sizes-photo__img b {
    display: block; margin-top: 10px;
    font-family: Montserrat, sans-serif;
    font-size: 16px; color: #333;
}

/* Плюсы 4 плитки */
.heaters-plus-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
@media (max-width: 900px) { .heaters-plus-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px) { .heaters-plus-grid { grid-template-columns: 1fr; } }

.heaters-plus {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 16px;
    padding: 26px 20px;
    text-align: center;
    transition: transform .25s, border-color .25s;
}
.heaters-plus:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.4); }

.heaters-plus__title {
    font-family: Montserrat, sans-serif;
    font-size: 17px; font-weight: 800;
    color: var(--c-primary-light);
    margin-bottom: 10px;
}
.heaters-plus__sub {
    font-size: 13.5px; color: var(--c-text); margin-bottom: 4px; line-height: 1.4;
}
.heaters-plus__sub2 { font-size: 12.5px; color: var(--c-text-muted); line-height: 1.4; }

/* Цепь обогревателей с фото */
.heaters-chain-photo {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    max-width: 1000px;
    margin: 0 auto 30px;
}
@media (max-width: 800px) { .heaters-chain-photo { grid-template-columns: 1fr; } }
.heaters-chain-photo__item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
    transition: transform .25s, border-color .25s;
}
.heaters-chain-photo__item:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.4); }
.heaters-chain-photo__img {
    background: #fff;
    aspect-ratio: 16/10;
    padding: 20px;
    display: flex; align-items: center; justify-content: center;
}
.heaters-chain-photo__img img { max-width: 100%; max-height: 100%; object-fit: contain; }
.heaters-chain-photo__body { padding: 22px 24px 24px; }
.heaters-chain-photo__title {
    font-family: Montserrat, sans-serif;
    font-size: 20px; font-weight: 800;
    color: var(--c-primary-light); margin-bottom: 4px;
}
.heaters-chain-photo__sub { font-size: 13px; color: var(--c-text); font-weight: 600; margin-bottom: 12px; }
.heaters-chain-photo__body p { font-size: 13.5px; color: var(--c-text-muted); margin: 0; line-height: 1.55; }

.heaters-usecases {
    list-style: none; padding: 0; margin: 0 auto;
    max-width: 700px; display: grid; gap: 12px;
}
.heaters-usecases li {
    display: flex; align-items: center; gap: 12px;
    padding: 14px 20px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    font-size: 14px; color: var(--c-text);
}
.heaters-usecases i { color: #4ec98a; font-size: 14px; }

/* Реальные цвета */
.heaters-colors-real {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 22px;
    max-width: 900px;
    margin: 0 auto;
}
@media (max-width: 700px) { .heaters-colors-real { grid-template-columns: 1fr; } }
.heaters-color-real {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-color-real:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.4); box-shadow: 0 12px 30px rgba(0,0,0,.35); }
.heaters-color-real__img {
    aspect-ratio: 16/10;
    background-size: cover; background-position: center;
}
.heaters-color-real__body {
    padding: 22px 24px;
    display: flex; align-items: center; justify-content: space-between;
    gap: 16px;
}
.heaters-color-real__body b {
    font-family: Montserrat, sans-serif;
    font-size: 16px; color: var(--c-text);
}

/* Таблица характеристик */
.heaters-specs-table {
    max-width: 900px; margin: 0 auto;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 10px 32px;
}
@media (max-width: 600px) { .heaters-specs-table { padding: 6px 20px; } }
.heaters-spec-row {
    display: grid;
    grid-template-columns: 1fr 1.5fr;
    gap: 20px;
    padding: 14px 0;
    border-top: 1px solid rgba(255,255,255,.06);
    align-items: baseline;
}
.heaters-spec-row:first-child { border-top: 0; }
.heaters-spec-l { color: var(--c-text-muted); font-size: 14px; }
.heaters-spec-v { color: var(--c-text); font-size: 14px; font-weight: 500; line-height: 1.5; }
@media (max-width: 600px) {
    .heaters-spec-row { grid-template-columns: 1fr; gap: 4px; padding: 12px 0; }
    .heaters-spec-l { font-size: 12.5px; }
    .heaters-spec-v { font-size: 13.5px; }
}
/* ==================== /HEATERS FULL V2 ==================== */
/* ==================== HEATERS FINAL ==================== */
.heaters-features-icons {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 900px) { .heaters-features-icons { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 550px) { .heaters-features-icons { grid-template-columns: 1fr; } }

.heaters-feature-icon {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 26px 22px;
    text-align: center;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.heaters-feature-icon:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.4);
    box-shadow: 0 14px 32px rgba(0,0,0,.35);
}
.heaters-feature-icon img {
    width: 60px;
    height: 60px;
    object-fit: contain;
    margin-bottom: 16px;
    filter: brightness(0) saturate(100%) invert(60%) sepia(38%) saturate(1000%) hue-rotate(345deg) brightness(95%) contrast(85%);
}
.heaters-feature-icon h3 {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 8px;
}
.heaters-feature-icon p {
    font-size: 13px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0;
}

.heaters-plus__icon img,
.application-icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: brightness(0) saturate(100%) invert(60%) sepia(38%) saturate(1000%) hue-rotate(345deg) brightness(95%) contrast(85%);
}
/* ==================== /HEATERS FINAL ==================== */

/* ==================== CUSTOM SVG ICONS ==================== */
.heaters-feature-icon img {
    width: 64px !important;
    height: 64px !important;
    filter: none !important;
    transition: transform .25s;
}
.heaters-feature-icon:hover img {
    transform: scale(1.1);
}
.heaters-plus__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none !important;
}
.application-icon i {
    font-size: 24px !important;
    color: #fff !important;
}
.application-icon {
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%) !important;
    color: #fff !important;
    border: 0 !important;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.35), inset 0 1px 0 rgba(255,255,255,.2) !important;
}
/* ==================== /CUSTOM SVG ICONS ==================== */
/* ==================== PLUS ICONS CLEAN ==================== */
/* Контейнер иконки в блоке «4 плюса» — без фона, только размер */
.heaters-plus__icon {
    width: 64px;
    height: 64px;
    margin: 0 auto 16px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: none !important;
    border: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* SVG-иконки в плитках — крупные, в правильном цвете */
.heaters-plus__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    filter: none !important;
    transition: transform .25s;
}
.heaters-plus:hover .heaters-plus__icon img {
    transform: scale(1.1);
}

/* На случай если где-то осталась FA-иконка */
.heaters-plus__icon i {
    font-size: 42px;
    color: var(--c-primary);
}
/* ==================== /PLUS ICONS CLEAN ==================== */
/* ==================== ZAPIS PAGE ==================== */
.zapis-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 50px;
    align-items: start;
}
@media (max-width: 900px) { .zapis-grid { grid-template-columns: 1fr; gap: 32px; } }

.zapis-info__title {
    font-family: Montserrat, sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 24px;
    line-height: 1.3;
}
@media (max-width: 900px) { .zapis-info__title { font-size: 20px; } }

.zapis-info__list {
    list-style: none;
    padding: 0;
    margin: 0 0 28px;
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.zapis-info__list li {
    display: flex;
    gap: 16px;
    align-items: flex-start;
}
.zapis-info__icon {
    flex: 0 0 auto;
    width: 44px; height: 44px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.2), rgba(var(--c-primary-rgb),.05));
    color: var(--c-primary);
    border: 1px solid rgba(var(--c-primary-rgb),.28);
    border-radius: 12px;
    font-size: 17px;
}
.zapis-info__list b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    color: var(--c-text);
    margin-bottom: 4px;
}
.zapis-info__list span {
    display: block;
    font-size: 13.5px;
    line-height: 1.55;
    color: var(--c-text-muted);
}

.zapis-guarantees {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 12px;
    padding-top: 24px;
    border-top: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 600px) { .zapis-guarantees { grid-template-columns: 1fr; } }

.zapis-guarantee {
    display: flex;
    gap: 12px;
    align-items: center;
}
.zapis-guarantee i {
    font-size: 22px;
    color: var(--c-primary);
    flex-shrink: 0;
}
.zapis-guarantee b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 14px;
    font-weight: 700;
    color: var(--c-text);
    margin-bottom: 2px;
}
.zapis-guarantee span {
    display: block;
    font-size: 11.5px;
    color: var(--c-text-muted);
}

.zapis-form-wrap {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.06), rgba(var(--c-bg-alt-rgb),.6));
    border: 1px solid rgba(var(--c-primary-rgb),.25);
    border-radius: 18px;
    padding: 32px;
    box-shadow: 0 20px 50px rgba(0,0,0,.3);
}
@media (max-width: 600px) { .zapis-form-wrap { padding: 24px 20px; } }

.zapis-form__title {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 8px;
}
.zapis-form__sub {
    font-size: 13.5px;
    color: var(--c-text-muted);
    margin: 0 0 24px;
    line-height: 1.5;
}

.zapis-field {
    margin-bottom: 16px;
}
.zapis-field label {
    display: block;
    font-size: 13px;
    font-weight: 600;
    color: var(--c-text-muted);
    margin-bottom: 6px;
}
.zapis-field .req { color: var(--c-primary); }
.zapis-field input,
.zapis-field textarea {
    width: 100%;
    padding: 13px 16px;
    background: var(--c-bg);
    border: 1px solid rgba(255,255,255,.1);
    border-radius: 10px;
    color: var(--c-text);
    font-family: inherit;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color .2s;
}
.zapis-field input:focus,
.zapis-field textarea:focus {
    outline: none;
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.15);
}
.zapis-field textarea { resize: vertical; min-height: 80px; }

.zapis-status {
    margin-top: 12px;
    font-size: 13.5px;
    text-align: center;
    min-height: 20px;
}
.zapis-status.is-error { color: #e06c6c; }
.zapis-status.is-success { color: #4ec98a; }

.zapis-privacy {
    margin: 14px 0 0;
    font-size: 11.5px;
    line-height: 1.5;
    text-align: center;
    color: var(--c-text-muted);
}
.zapis-privacy a { color: var(--c-primary); }

/* Страница «Спасибо» */
.zapis-thanks {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.08), rgba(var(--c-bg-alt-rgb),.6));
    border: 1px solid rgba(var(--c-primary-rgb),.3);
    border-radius: 18px;
    padding: 48px 32px;
}
.zapis-thanks__icon {
    width: 80px; height: 80px;
    margin: 0 auto 20px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 50%;
    font-size: 32px;
    box-shadow: 0 12px 30px rgba(var(--c-primary-rgb),.4);
}
.zapis-thanks__title {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: var(--c-text);
    margin: 0 0 12px;
}
.zapis-thanks__text {
    font-size: 15px;
    line-height: 1.65;
    color: var(--c-text-muted);
    margin: 0;
}
@media (max-width: 600px) {
    .zapis-thanks { padding: 32px 22px; }
    .zapis-thanks__title { font-size: 22px; }
}
/* ==================== /ZAPIS PAGE ==================== */
/* ==================== STICKY FOOTER ==================== */
/* Футер всегда внизу, даже если контента мало */
body {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
body > main,
#main {
    flex: 1 0 auto;
    display: flex;
    flex-direction: column;
}
body > footer,
.site-footer {
    flex-shrink: 0;
    margin-top: auto;
}

/* Если main не содержит flex-детей, всё равно тянем */
#main > section:last-child {
    flex: 1 1 auto;
}
/* ==================== /STICKY FOOTER ==================== */

/* ==================== ERROR PAGE ==================== */
.error-page {
    flex: 1 0 auto;
    display: flex;
    align-items: center;
    padding: 60px 0;
}
@media (max-width: 700px) { .error-page { padding: 40px 0; } }

.error-box {
    max-width: 640px;
    margin: 0 auto;
    text-align: center;
    padding: 48px 32px;
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.08), rgba(var(--c-bg-alt-rgb),.6));
    border: 1px solid rgba(var(--c-primary-rgb),.25);
    border-radius: 20px;
    box-shadow: 0 20px 50px rgba(0,0,0,.35);
}
@media (max-width: 600px) { .error-box { padding: 36px 22px; } }

.error-icon-wrap {
    width: 88px;
    height: 88px;
    margin: 0 auto 24px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 50%;
    font-size: 36px;
    box-shadow: 0 12px 30px rgba(var(--c-primary-rgb),.4), inset 0 2px 0 rgba(255,255,255,.2);
}

.error-code {
    font-family: Montserrat, sans-serif;
    font-size: 96px;
    font-weight: 900;
    line-height: 1;
    letter-spacing: -4px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-light));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    margin-bottom: 12px;
}
@media (max-width: 700px) { .error-code { font-size: 72px; } }
@media (max-width: 500px) { .error-code { font-size: 56px; } }

.error-title {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 800;
    color: var(--c-text);
    margin: 0 0 14px;
    line-height: 1.2;
}
@media (max-width: 700px) { .error-title { font-size: 22px; } }

.error-text {
    font-size: 15px;
    line-height: 1.65;
    color: var(--c-text-muted);
    margin: 0 0 32px;
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.error-actions {
    display: flex;
    justify-content: center;
    gap: 14px;
    flex-wrap: wrap;
}
@media (max-width: 500px) {
    .error-actions { flex-direction: column; }
    .error-actions .error-btn { width: 100%; justify-content: center; }
}

.error-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 14px 28px;
    font-family: inherit;
    font-size: 14.5px;
    font-weight: 600;
    text-decoration: none;
    border-radius: 10px;
    transition: all .2s;
    cursor: pointer;
    border: 1px solid transparent;
}
.error-btn i { font-size: 14px; }

.error-btn-primary {
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.35);
}
.error-btn-primary:hover {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(var(--c-primary-rgb),.5);
}

.error-btn-secondary {
    background: rgba(255,255,255,.06);
    border-color: rgba(255,255,255,.15);
    color: var(--c-text);
}
.error-btn-secondary:hover {
    background: rgba(255,255,255,.1);
    border-color: var(--c-primary);
    color: var(--c-primary-light);
}

/* Error page на мобиле */
@media (max-width: 600px) {
    .error-icon-wrap { width: 72px; height: 72px; font-size: 28px; }
    .error-text { font-size: 14px; margin-bottom: 24px; }
    .error-btn { padding: 12px 22px; font-size: 14px; }
}
/* ==================== /ERROR PAGE ==================== */
/* ==================== DOSTAVKA PAGE ==================== */
.dostavka-banner {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr);
    gap: 40px;
    align-items: center;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.08), rgba(var(--c-bg-alt-rgb),.6));
    border: 1px solid rgba(var(--c-primary-rgb),.25);
    border-radius: 20px;
    padding: 36px;
    margin-bottom: 20px;
}
@media (max-width: 900px) { .dostavka-banner { grid-template-columns: 1fr; padding: 24px; gap: 24px; } }

.dostavka-banner__img img { width: 100%; height: auto; display: block; border-radius: 12px; }

.dostavka-banner__text h2 {
    font-family: Montserrat, sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 12px;
    line-height: 1.25;
}
@media (max-width: 900px) { .dostavka-banner__text h2 { font-size: 22px; } }

.dostavka-banner__text p {
    font-size: 15px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0 0 20px;
}

.dostavka-banner__badges {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 20px;
}
.dostavka-banner__badges span {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 13.5px;
    color: var(--c-text);
}
.dostavka-banner__badges i { color: #4ec98a; font-size: 14px; }

/* Способы оплаты */
.pay-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    margin-bottom: 40px;
}
@media (max-width: 900px) { .pay-grid { grid-template-columns: 1fr; } }

.pay-card {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    padding: 28px 24px;
    text-align: center;
    transition: transform .25s, border-color .25s, box-shadow .25s;
}
.pay-card:hover { transform: translateY(-4px); border-color: rgba(var(--c-primary-rgb),.4); box-shadow: 0 14px 32px rgba(0,0,0,.35); }

.pay-card__icon {
    width: 60px; height: 60px;
    margin: 0 auto 18px;
    display: flex; align-items: center; justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff; border-radius: 16px; font-size: 24px;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.35);
}
.pay-card h3 {
    font-family: Montserrat, sans-serif;
    font-size: 17px; font-weight: 700;
    color: var(--c-text); margin: 0 0 10px;
}
.pay-card p { font-size: 13.5px; line-height: 1.6; color: var(--c-text-muted); margin: 0; }

/* Логотипы оплат */
.pay-logos {
    text-align: center;
    padding-top: 30px;
    border-top: 1px solid rgba(255,255,255,.06);
}
.pay-logos h3 {
    font-family: Montserrat, sans-serif;
    font-size: 15px; font-weight: 600;
    color: var(--c-text-muted); margin: 0 0 20px;
    text-transform: uppercase; letter-spacing: .5px;
}
.pay-logos__grid {
    display: flex;
    justify-content: center;
    gap: 28px;
    flex-wrap: wrap;
    align-items: center;
    margin-bottom: 16px;
}
.pay-logos__grid img {
    height: 40px;
    width: auto;
    max-width: 120px;
    object-fit: contain;
    opacity: .85;
    transition: opacity .2s, transform .2s;
    filter: brightness(1.05);
}
.pay-logos__grid img:hover { opacity: 1; transform: scale(1.05); }

.pay-note {
    font-size: 12.5px;
    color: var(--c-text-muted);
    display: inline-flex;
    align-items: center;
    gap: 8px;
}
.pay-note i { color: #4ec98a; }

/* Инфо о доставке */
.delivery-info {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
}
@media (max-width: 900px) { .delivery-info { grid-template-columns: 1fr; } }

.delivery-info__item {
    display: flex;
    gap: 18px;
    align-items: flex-start;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    padding: 22px 24px;
    transition: transform .22s, border-color .22s;
}
.delivery-info__item:hover { transform: translateY(-3px); border-color: rgba(var(--c-primary-rgb),.35); }

.delivery-info__icon {
    flex: 0 0 auto;
    width: 48px; height: 48px;
    display: flex; align-items: center; justify-content: center;
    background: rgba(var(--c-primary-rgb),.12);
    color: var(--c-primary);
    border: 1px solid rgba(var(--c-primary-rgb),.28);
    border-radius: 12px;
    font-size: 20px;
}
.delivery-info__item b {
    display: block;
    font-family: Montserrat, sans-serif;
    font-size: 15px; color: var(--c-text); font-weight: 700;
    margin-bottom: 6px;
}
.delivery-info__item span { font-size: 13px; line-height: 1.55; color: var(--c-text-muted); }

/* Доставка по России */
.delivery-tk {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr);
    gap: 40px;
    align-items: center;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 18px;
    padding: 32px;
}
@media (max-width: 900px) { .delivery-tk { grid-template-columns: 1fr; padding: 24px; gap: 24px; } }

.delivery-tk__logos {
    display: flex;
    flex-direction: column;
    gap: 24px;
    align-items: center;
}
.delivery-tk__logos img {
    height: 50px;
    width: auto;
    max-width: 200px;
    object-fit: contain;
}

.delivery-tk__list {
    list-style: none; padding: 0; margin: 0;
    display: flex; flex-direction: column; gap: 14px;
}
.delivery-tk__list li {
    display: flex; gap: 12px; align-items: flex-start;
    font-size: 14px; line-height: 1.55; color: var(--c-text-muted);
}
.delivery-tk__list i { color: #4ec98a; font-size: 14px; margin-top: 3px; flex-shrink: 0; }

/* Реквизиты */
.requisites {
    max-width: 700px;
    margin: 0 auto;
    text-align: center;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 16px;
    padding: 28px 32px;
}
.requisites h3 {
    font-family: Montserrat, sans-serif;
    font-size: 17px; font-weight: 700;
    color: var(--c-text); margin: 0 0 14px;
}
.requisites p {
    font-size: 14px; line-height: 1.7; color: var(--c-text-muted);
    margin: 0 0 6px;
}
.requisites a { color: var(--c-primary); }

@media (max-width: 600px) {
    .pay-logos__grid { gap: 16px; }
    .pay-logos__grid img { height: 32px; }
    .delivery-tk__logos img { height: 40px; }
    .requisites { padding: 22px 20px; }
}
/* ==================== /DOSTAVKA PAGE ==================== */
/* ==================== DOSTAVKA LOGOS FIX ==================== */
.pay-logos__single {
    display: block;
    margin: 0 auto 16px;
    max-width: 100%;
    height: auto;
    max-height: 80px;
    width: auto;
    object-fit: contain;
}

.delivery-tk__logos img {
    max-width: 100%;
    height: auto;
    max-height: 90px;
    width: auto;
    object-fit: contain;
}

@media (max-width: 600px) {
    .pay-logos__single { max-height: 50px; }
    .delivery-tk__logos img { max-height: 60px; }
}
/* ==================== /DOSTAVKA LOGOS FIX ==================== */
/* ==================== CALLBACK STYLES ==================== */
/* Кнопка «Заказать звонок» в топбаре */
.topbar-callback {
    position: relative;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 18px;
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
    color: #fff !important;
    border: 0;
    border-radius: 22px;
    font-family: inherit;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
    overflow: hidden;
    box-shadow: 0 4px 14px rgba(var(--c-primary-rgb),.4), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .2s, box-shadow .2s;
    isolation: isolate;
    white-space: nowrap;
}
.topbar-callback:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 20px rgba(var(--c-primary-rgb),.55), inset 0 1px 0 rgba(255,255,255,.3);
}
.topbar-callback:active { transform: translateY(0); }

.topbar-callback i {
    font-size: 12px;
    color: #fff;
}

/* Блеск — полоса пробегает */
.topbar-callback__shine {
    position: absolute;
    top: 0;
    left: -75%;
    width: 40%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.15) 20%,
        rgba(255,255,255,.75) 45%,
        rgba(255,255,255,.85) 50%,
        rgba(255,255,255,.75) 55%,
        rgba(255,255,255,.15) 80%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-20deg);
    animation: cbShine 3.5s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}
@keyframes cbShine {
    0%   { left: -75%; }
    60%  { left: 125%; }
    100% { left: 125%; }
}
.topbar-callback > i,
.topbar-callback > span:not(.topbar-callback__shine) {
    position: relative;
    z-index: 2;
}

/* Мобильная адаптация кнопки */
@media (max-width: 700px) {
    .topbar-callback {
        padding: 6px 14px;
        font-size: 12px;
    }
}
@media (max-width: 500px) {
    .topbar-callback span:not(.topbar-callback__shine) { display: none; }
    .topbar-callback { padding: 8px 12px; }
    .topbar-callback i { font-size: 14px; }
}

/* ==================== MODAL ==================== */
.cb-modal {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
    opacity: 0;
    transition: opacity .25s;
}
.cb-modal.is-open {
    display: flex;
    opacity: 1;
}
.cb-modal__overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,.75);
    backdrop-filter: blur(4px);
}
.cb-modal__dialog {
    position: relative;
    width: 100%;
    max-width: 440px;
    background: linear-gradient(180deg, #1A1F29 0%, var(--c-bg-alt) 100%);
    border: 1px solid rgba(var(--c-primary-rgb),.3);
    border-radius: 20px;
    padding: 36px 32px 28px;
    box-shadow: 0 30px 80px rgba(0,0,0,.6);
    animation: cbSlide .35s cubic-bezier(.2,.8,.3,1);
    text-align: center;
    box-sizing: border-box;
}
@keyframes cbSlide {
    from { transform: translateY(-30px) scale(.96); opacity: 0; }
    to   { transform: translateY(0) scale(1); opacity: 1; }
}

.cb-modal__close {
    position: absolute;
    top: 12px;
    right: 16px;
    width: 32px;
    height: 32px;
    background: transparent;
    border: 0;
    color: rgba(var(--c-text-rgb),.5);
    font-size: 26px;
    line-height: 1;
    cursor: pointer;
    border-radius: 50%;
    transition: all .2s;
    padding: 0;
    display: flex;
    align-items: center;
    justify-content: center;
}
.cb-modal__close:hover {
    color: var(--c-primary);
    background: rgba(var(--c-primary-rgb),.1);
}

.cb-modal__icon {
    width: 68px;
    height: 68px;
    margin: 0 auto 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 50%;
    font-size: 26px;
    box-shadow: 0 12px 30px rgba(var(--c-primary-rgb),.45), inset 0 2px 0 rgba(255,255,255,.25);
    animation: cbPulse 2s ease-in-out infinite;
}
@keyframes cbPulse {
    0%, 100% { transform: scale(1); }
    50%      { transform: scale(1.06); }
}

.cb-modal__title {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--c-text);
    margin: 0 0 8px;
    line-height: 1.2;
}
.cb-modal__sub {
    font-size: 13.5px;
    line-height: 1.5;
    color: var(--c-text-muted);
    margin: 0 0 24px;
}

.cb-form { text-align: left; }
.cb-field {
    margin-bottom: 14px;
}
.cb-field label {
    display: block;
    font-size: 12.5px;
    font-weight: 600;
    color: var(--c-text-muted);
    margin-bottom: 6px;
}
.cb-field .req { color: var(--c-primary); }
.cb-field input,
.cb-field textarea {
    width: 100%;
    padding: 12px 15px;
    background: var(--c-bg);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    color: var(--c-text);
    font-family: inherit;
    font-size: 15px;
    box-sizing: border-box;
    transition: border-color .2s, box-shadow .2s;
}
.cb-field input:focus,
.cb-field textarea:focus {
    outline: none;
    border-color: var(--c-primary);
    box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.2);
}
.cb-field textarea { resize: vertical; min-height: 60px; }

.cb-submit {
    position: relative;
    width: 100%;
    padding: 14px 24px;
    background: linear-gradient(135deg, var(--c-primary) 0%, var(--c-primary-dark) 100%);
    color: #fff;
    border: 0;
    border-radius: 10px;
    font-family: inherit;
    font-size: 15px;
    font-weight: 700;
    cursor: pointer;
    overflow: hidden;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    box-shadow: 0 8px 22px rgba(var(--c-primary-rgb),.4), inset 0 1px 0 rgba(255,255,255,.25);
    transition: transform .2s, box-shadow .2s;
    margin-top: 4px;
}
.cb-submit:hover:not(:disabled) {
    transform: translateY(-2px);
    box-shadow: 0 12px 28px rgba(var(--c-primary-rgb),.55), inset 0 1px 0 rgba(255,255,255,.3);
}
.cb-submit:disabled {
    opacity: .7;
    cursor: not-allowed;
}
.cb-submit__shine {
    position: absolute;
    top: 0;
    left: -75%;
    width: 40%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.4) 45%,
        rgba(255,255,255,.6) 50%,
        rgba(255,255,255,.4) 55%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-20deg);
    animation: cbShine 3.5s ease-in-out infinite;
    pointer-events: none;
}

.cb-status {
    margin-top: 12px;
    font-size: 13.5px;
    text-align: center;
    min-height: 18px;
}
.cb-status.is-success { color: #4ec98a; }
.cb-status.is-error { color: #e06c6c; }

.cb-privacy {
    margin: 12px 0 0;
    font-size: 11px;
    line-height: 1.5;
    color: var(--c-text-muted);
    text-align: center;
}
.cb-privacy a { color: var(--c-primary); }

@media (max-width: 500px) {
    .cb-modal__dialog { padding: 30px 22px 24px; }
    .cb-modal__title { font-size: 19px; }
    .cb-modal__icon { width: 56px; height: 56px; font-size: 22px; }
}
/* ==================== /CALLBACK STYLES ==================== */
/* ═══════════════════════════════════════════════════════════
   КАТАЛОГ — HOVER-ГАЛЕРЕЯ + БЕЙДЖИ (добавлено 11.10)
   ═══════════════════════════════════════════════════════════ */

/* ─── Hover-галерея: 2 фото в карточке ─── */
.product-card-image { position: relative; overflow: hidden; }
.product-card-image .pc-img {
  display: block;
  width: 100%; height: auto;
  transition: opacity .3s ease;
}
.product-card-image .pc-img--hover {
  position: absolute; inset: 0;
  object-fit: contain;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
}
.product-card-image.has-hover:hover .pc-img--main { opacity: 0; }
.product-card-image.has-hover:hover .pc-img--hover { opacity: 1; }

/* ─── Бейджи «Хит» / «Новинка» ─── */
.product-card { position: relative; }

.product-badge {
  position: absolute;
  top: 12px; left: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 5px 12px;
  border-radius: 999px;
  font-family: 'Montserrat', sans-serif;
  font-size: 11px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: .5px;
  color: #fff;
  line-height: 1.4;
  box-shadow: 0 4px 12px rgba(0,0,0,.25);
}
.product-badge i { font-size: 10px; }

.product-badge--hit {
  background: linear-gradient(135deg, #E85A4F, #C1301C);
  box-shadow: 0 4px 12px rgba(232,90,79,.45);
}
.product-badge--new {
  background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
  box-shadow: 0 4px 12px rgba(var(--c-primary-rgb),.45);
}
/* ═══ Статус наличия в карточке товара ═══ */
.product-card-stock {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 18px;
  font-family: 'Montserrat', sans-serif;
  font-size: 12px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: .4px;
  border-top: 1px solid rgba(255,255,255,.06);
  line-height: 1;
}
.product-card-stock i { font-size: 12px; }

.product-card-stock.is-instock {
  color: #4CC96C;
}
.product-card-stock.is-instock i { color: #4CC96C; }

.product-card-stock.is-order {
  color: #F5B301;
}
.product-card-stock.is-order i { color: #F5B301; }
/* ═══════════════════════════════════════════════════════════
   «ТЁПЛЫЙ ПЛИНТУС НА ТВ» — секция на /portfolio/
   ═══════════════════════════════════════════════════════════ */

.section--tv { background: var(--c-bg-alt, #161A22); }
.section--tv .section-head { margin-bottom: 42px; }
.section--tv .section-title { color: var(--c-text, #EDEEF0); }
.section--tv .section-sub {
  color: var(--c-text-muted, #8B92A0);
  font-size: 16px; margin-top: 12px;
  max-width: 720px; margin-left: auto; margin-right: auto;
}

/* Табы-фильтры */
.tv-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin: 0 0 32px; justify-content: center; }
.tv-tab {
  background: transparent;
  border: 1px solid rgba(var(--c-primary-rgb),.35);
  padding: 9px 20px; border-radius: 999px;
  font-size: 14px; font-weight: 500;
  cursor: pointer; color: var(--c-text, #EDEEF0);
  transition: all .22s ease;
}
.tv-tab:hover { border-color: var(--c-primary, #C97B3F); color: var(--c-primary-light, #E09B60); }
.tv-tab.is-active {
  background: linear-gradient(135deg, var(--c-primary-light, #E09B60), var(--c-primary, #C97B3F));
  border-color: transparent; color: #fff;
  box-shadow: 0 6px 20px rgba(var(--c-primary-rgb),.35);
}

/* Сетка карточек */
.tv-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 22px; }
@media (max-width: 1100px) { .tv-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 800px)  { .tv-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 500px)  { .tv-grid { grid-template-columns: 1fr; } }

.tv-card {
  background: var(--c-bg, #0E1116);
  border: 1px solid rgba(255,255,255,.06);
  border-radius: 14px; overflow: hidden;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}
.tv-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--c-primary-rgb),.5);
  box-shadow: 0 14px 40px rgba(0,0,0,.5);
}

.tv-card__thumb {
  position: relative; aspect-ratio: 16/9;
  overflow: hidden; background: #000;
}
.tv-card__thumb img {
  width: 100%; height: 100%; object-fit: cover; display: block;
  transition: transform .5s ease;
}
.tv-card:hover .tv-card__thumb img { transform: scale(1.06); }

/* Бейдж «Скоро» */
.tv-card--soon .tv-card__thumb::after {
  content: ''; position: absolute; inset: 0;
  background: rgba(var(--c-bg-rgb),.55);
}
.tv-card__soon {
  position: absolute; top: 12px; right: 12px; z-index: 2;
  background: rgba(var(--c-primary-rgb),.9); color: #fff;
  padding: 5px 12px; border-radius: 999px;
  font-size: 11px; font-weight: 700; letter-spacing: .6px;
  text-transform: uppercase;
}

.tv-card__body { padding: 16px 18px 20px; }
.tv-card__cat {
  display: inline-block; font-size: 11px;
  text-transform: uppercase; letter-spacing: .8px;
  color: var(--c-primary-light, #E09B60);
  font-weight: 700; margin-bottom: 8px;
}
.tv-card__title {
  font-size: 15px; line-height: 1.4;
  margin: 0; color: var(--c-text, #EDEEF0);
  font-weight: 600;
}

/* Модалка плеера */
.tv-modal[hidden] { display: none; }
.tv-modal {
  position: fixed; inset: 0; z-index: 9999;
  display: flex; align-items: center; justify-content: center;
  padding: 20px;
}
.tv-modal__backdrop {
  position: absolute; inset: 0;
  background: rgba(0,0,0,.9);
  backdrop-filter: blur(4px);
}
.tv-modal__box {
  position: relative; width: 100%; max-width: 1000px; z-index: 1;
}
.tv-modal__close {
  position: absolute; top: -48px; right: 0;
  background: none; border: 0; color: #fff;
  font-size: 36px; line-height: 1; cursor: pointer;
  padding: 0 10px; opacity: .8; transition: opacity .2s;
}
.tv-modal__close:hover { opacity: 1; }
.tv-modal__player {
  aspect-ratio: 16/9; background: #000;
  border-radius: 10px; overflow: hidden;
  box-shadow: 0 20px 60px rgba(0,0,0,.6);
}
.tv-modal__player iframe {
  width: 100%; height: 100%; border: 0; display: block;
}
.tv-modal__title {
  color: #fff; font-size: 16px;
  margin-top: 16px; text-align: center; font-weight: 500;
}

@media (max-width: 600px) {
  .tv-tabs { gap: 8px; margin-bottom: 24px; }
  .tv-tab { padding: 8px 16px; font-size: 13px; }
  .tv-modal__close { top: -40px; font-size: 30px; }
}
/* ═══════════════════════════════════════════════════════════
   TV-КАРТОЧКИ — финальное переопределение (11.10)
   Перебивает старые .tv-card__overlay / .tv-card__name из бэкапа
   ═══════════════════════════════════════════════════════════ */

.section--tv .tv-card {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  background: var(--c-bg, #0E1116) !important;
  border: 1px solid rgba(255,255,255,.06) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  max-height: none !important;
  box-shadow: none !important;
  transform: none;
  transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease !important;
}
.section--tv .tv-card:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--c-primary-rgb),.5) !important;
  box-shadow: 0 14px 40px rgba(0,0,0,.5) !important;
}

.section--tv .tv-card__thumb {
  position: relative !important;
  display: block !important;
  width: 100% !important;
  aspect-ratio: 16/9 !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  background: #000 !important;
  padding: 0 !important;
  margin: 0 !important;
  border-radius: 0 !important;
}
.section--tv .tv-card__thumb img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  max-width: none !important;
}

.section--tv .tv-card__body {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 6px !important;
  padding: 16px 18px 20px !important;
  background: transparent !important;
  margin: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  border-radius: 0 !important;
}

.section--tv .tv-card__cat {
  display: inline-block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  text-transform: uppercase !important;
  letter-spacing: .8px !important;
  color: var(--c-primary-light, #E09B60) !important;
  font-weight: 700 !important;
  margin: 0 0 2px 0 !important;
  padding: 0 !important;
  background: none !important;
  border: 0 !important;
  line-height: 1.3 !important;
}

.section--tv .tv-card__title {
  display: block !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 15px !important;
  line-height: 1.4 !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--c-text, #EDEEF0) !important;
  font-weight: 600 !important;
  background: none !important;
  border: 0 !important;
}
.section--tv .tv-card__title a {
  color: inherit !important;
  text-decoration: none !important;
}

/* Бейдж «Скоро» */
.section--tv .tv-card--soon .tv-card__thumb::after {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: rgba(var(--c-bg-rgb),.55) !important;
  border-radius: 0 !important;
}
.section--tv .tv-card__soon {
  position: absolute !important;
  top: 12px !important;
  right: 12px !important;
  left: auto !important;
  bottom: auto !important;
  z-index: 2 !important;
  background: rgba(var(--c-primary-rgb),.9) !important;
  color: #fff !important;
  padding: 5px 12px !important;
  border-radius: 999px !important;
  font-family: 'Montserrat', sans-serif !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .6px !important;
  text-transform: uppercase !important;
  line-height: 1.3 !important;
}

/* На всякий случай — убиваем старые overlay/name/sub если где-то в HTML */
.section--tv .tv-card__overlay,
.section--tv .tv-card__name,
.section--tv .tv-card__sub { display: none !important; }
/* ═══════════════════════════════════════════════════════════
   ПОРТФОЛИО — КРАСИВАЯ ГАЛЕРЕЯ (11.10)
   ═══════════════════════════════════════════════════════════ */

.gallery-grid {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 18px !important;
  margin-bottom: 40px;
}
@media (max-width: 900px) { .gallery-grid { grid-template-columns: repeat(2, 1fr) !important; } }
@media (max-width: 550px) { .gallery-grid { grid-template-columns: 1fr !important; gap: 14px !important; } }

.gallery-item {
  position: relative;
  display: block;
  aspect-ratio: 4/3;
  border-radius: 14px;
  overflow: hidden;
  background: #000;
  text-decoration: none;
  transition: transform .3s ease, box-shadow .3s ease;
}
.gallery-item:hover {
  transform: translateY(-4px);
  box-shadow: 0 16px 40px rgba(0,0,0,.45);
}

.gallery-item img {
  width: 100%; height: 100%;
  object-fit: cover;
  display: block;
  transition: transform .6s ease, filter .3s ease;
}
.gallery-item:hover img {
  transform: scale(1.07);
  filter: brightness(.85);
}

.gallery-item-overlay {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(180deg, transparent 40%, rgba(10,13,18,.55) 100%);
  opacity: 0;
  transition: opacity .3s ease;
}
.gallery-item:hover .gallery-item-overlay { opacity: 1; }

.gallery-item-overlay i {
  width: 54px; height: 54px;
  background: linear-gradient(135deg, var(--c-primary-light, #E09B60), var(--c-primary, #C97B3F));
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 20px;
  box-shadow: 0 8px 24px rgba(var(--c-primary-rgb),.5);
  transform: scale(.85);
  transition: transform .3s ease;
}
.gallery-item:hover .gallery-item-overlay i { transform: scale(1); }

/* Плавный fade-in при загрузке страницы */
.gallery-item { animation: galleryFade .5s ease backwards; }
@keyframes galleryFade {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: none; }
}
.gallery-item:nth-child(3n+2) { animation-delay: .05s; }
.gallery-item:nth-child(3n+3) { animation-delay: .1s; }

/* Лайтбокс — улучшение */
.lightbox-image {
  box-shadow: 0 30px 80px rgba(0,0,0,.8);
  border-radius: 6px;
}
/* ═══ Оформление описания в карточке товара ═══ */
.product-full h3 {
  font-family: 'Montserrat', sans-serif;
  font-size: 18px; font-weight: 700;
  color: var(--c-text, #EDEEF0);
  margin: 28px 0 14px;
  padding-bottom: 8px;
  border-bottom: 1px solid rgba(255,255,255,.06);
}
.product-full p {
  font-size: 15px; line-height: 1.65;
  color: var(--c-text, #EDEEF0);
  margin: 0 0 14px;
}

.spec-table {
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0 20px;
  background: var(--c-bg-alt, #161A22);
  border-radius: 10px;
  overflow: hidden;
}
.spec-table tr { border-bottom: 1px solid rgba(255,255,255,.04); }
.spec-table tr:last-child { border-bottom: 0; }
.spec-table td {
  padding: 11px 16px;
  font-size: 14px;
  color: var(--c-text, #EDEEF0);
}
.spec-table td:first-child {
  color: var(--c-text-muted, #8B92A0);
  width: 45%;
}
.spec-table td:last-child {
  font-weight: 600;
  color: #fff;
}

.spec-list {
  list-style: none;
  padding: 0;
  margin: 0 0 20px;
}
.spec-list li {
  position: relative;
  padding: 8px 0 8px 26px;
  font-size: 14px;
  line-height: 1.55;
  color: var(--c-text, #EDEEF0);
  border-bottom: 1px dashed rgba(255,255,255,.05);
}
.spec-list li:last-child { border-bottom: 0; }
.spec-list li::before {
  content: '';
  position: absolute;
  left: 4px; top: 14px;
  width: 8px; height: 8px;
  background: var(--c-primary, #C97B3F);
  border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(var(--c-primary-rgb),.18);
}
/* ═══ Выбор вариантов в карточке товара ═══ */
.product-variants {
  margin: 18px 0 22px;
  padding: 18px 0;
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(255,255,255,.08);
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.pv-row { display: flex; align-items: flex-start; gap: 16px; }
.pv-label {
  font-family: 'Montserrat', sans-serif;
  font-size: 13px; font-weight: 700;
  color: var(--c-text-muted, #8B92A0);
  text-transform: uppercase;
  letter-spacing: .4px;
  min-width: 120px;
  padding-top: 9px;
}
.pv-options { display: flex; gap: 8px; flex-wrap: wrap; }
.pv-option {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 9px 14px;
  background: var(--c-bg, #0E1116);
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 8px;
  color: var(--c-text, #EDEEF0);
  font-size: 13px;
  font-weight: 500;
  cursor: pointer;
  transition: all .2s;
  font-family: inherit;
}
.pv-option:hover {
  border-color: rgba(var(--c-primary-rgb),.5);
  color: var(--c-primary-light, #E09B60);
}
.pv-option.is-active {
  background: linear-gradient(135deg, rgba(var(--c-primary-light-rgb),.2), rgba(var(--c-primary-rgb),.3));
  border-color: var(--c-primary, #C97B3F);
  color: #fff;
  box-shadow: 0 0 0 1px var(--c-primary, #C97B3F) inset;
}
.pv-swatch {
  display: inline-block;
  width: 16px; height: 16px;
  border-radius: 50%;
  border: 2px solid rgba(255,255,255,.3);
  flex-shrink: 0;
}
.pv-option.is-active .pv-swatch {
  border-color: var(--c-primary-light, #E09B60);
}

@media (max-width: 550px) {
  .pv-row { flex-direction: column; gap: 8px; }
  .pv-label { min-width: 0; padding-top: 0; }
}
/* ═══ Артикул в корзине ═══ */
.cart-row__sku {
  display: inline-block;
  font-size: 12px;
  color: var(--c-text-muted, #8B92A0);
  background: rgba(255,255,255,.04);
  padding: 2px 8px;
  border-radius: 4px;
  margin: 4px 0 6px;
  font-family: 'Montserrat', monospace;
  letter-spacing: .3px;
}
/* ═══ Счётчик корзины — гарантированно один ═══ */
.cart-link > .cart-badge ~ .cart-badge { display: none !important; }
.cart-link > span:not(.cart-badge) { display: none !important; }
/* ═══ принудительно один badge ═══ */
.cart-link .cart-badge ~ .cart-badge { display: none !important; }

/* ═══ принудительно один badge ═══ */
.cart-link .cart-badge ~ .cart-badge { display: none !important; }

/* ═══ ТЭН: цена в кнопке варианта ═══ */
.pv-option .pv-price {
  margin-left: 8px;
  color: var(--c-primary-light, #E09B60);
  font-weight: 700;
  font-size: 12px;
}
.pv-option.is-active .pv-price { color: #fff; }
/* PV-OPTIONS-COMPACT: ровная сетка 2×2 с выравниванием цен вправо */
.product-variants[data-variant-type="options"] .pv-options {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, max-content)) !important;
  gap: 8px !important;
  width: fit-content !important;
}
.product-variants[data-variant-type="options"] .pv-options .pv-option {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  gap: 14px !important;
  width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  padding: 10px 14px !important;
  white-space: nowrap !important;
}
.product-variants[data-variant-type="options"] .pv-options .pv-option > span:first-child {
  white-space: nowrap;
  flex: 0 0 auto;
}
.product-variants[data-variant-type="options"] .pv-options .pv-option .pv-price {
  margin-left: 0 !important;
  flex: 0 0 auto;
}

@media (max-width: 550px) {
  .product-variants[data-variant-type="options"] .pv-options {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 6px !important;
    width: 100% !important;
  }
  .product-variants[data-variant-type="options"] .pv-options .pv-option {
    padding: 9px 11px !important;
    font-size: 12px !important;
    gap: 8px !important;
  }
}
/* ═══════════════════════════════════════════════════════════════
   МОБИЛЬНАЯ АДАПТАЦИЯ (11.10.2026)
   Всё внутри @media — ПК версию не трогаем
   ═══════════════════════════════════════════════════════════════ */

/* ─── Фикс горизонтального скролла ─── */
html { overflow-x: hidden; }
body { overflow-x: hidden; max-width: 100vw; }

/* ═══ БУРГЕР-МЕНЮ (mobile) ═══ */
@media (max-width: 900px) {

  /* Кнопка-бургер */
  .burger {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px; height: 40px;
    padding: 8px;
    background: transparent;
    border: 0;
    cursor: pointer;
    z-index: 201;
    position: relative;
  }
  .burger span {
    display: block;
    width: 24px; height: 2px;
    background: #fff;
    border-radius: 2px;
    transition: transform .3s, opacity .3s;
  }
  .burger.is-open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
  .burger.is-open span:nth-child(2) { opacity: 0; }
  .burger.is-open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

  /* Скрываем телефон и CTA в шапке */
  .header-phone,
  .header-cta { display: none; }

  /* Само меню — выезжает справа, НЕ растягивает страницу */
  .main-nav {
    position: fixed !important;
    top: 0;
    right: 0;
    bottom: 0;
    width: 320px;
    max-width: 85vw;
    height: 100vh;
    padding: 80px 24px 32px;
    background: var(--c-bg);
    border-left: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    overflow-y: auto;
    z-index: 200;

    /* Прячем через transform — не вызывает overflow */
    transform: translateX(100%);
    visibility: hidden;
    transition: transform .3s ease, visibility .3s ease;
  }
  .main-nav.is-open {
    transform: translateX(0);
    visibility: visible;
  }

  .main-nav .nav-item {
    padding: 14px 16px;
    font-size: 16px;
    border-radius: 8px;
    white-space: normal;
  }

  /* Кнопка закрытия внутри меню */
  .nav-close {
    display: flex !important;
    position: absolute;
    top: 20px;
    right: 20px;
    width: 40px; height: 40px;
    background: rgba(255,255,255,.06);
    border: 0;
    border-radius: 8px;
    color: #fff;
    font-size: 20px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  /* Мобильный CTA в меню */
  .nav-mobile-cta {
    display: flex !important;
    flex-direction: column;
    gap: 10px;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid rgba(255,255,255,.08);
  }

  /* Оверлей */
  .nav-overlay {
    display: block !important;
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,.6);
    backdrop-filter: blur(2px);
    z-index: 199;
    opacity: 0;
    pointer-events: none;
    transition: opacity .3s;
  }
  .nav-overlay.is-open {
    opacity: 1;
    pointer-events: auto;
  }

  /* Блокируем скролл body когда меню открыто */
  body.nav-open { overflow: hidden !important; }

  /* Шапка — уменьшаем паддинги */
  .header-inner {
    padding: 10px 0;
    gap: 12px;
  }
  .logo-name { font-size: 16px; }
  .logo-tag  { font-size: 11px; }
  .logo img  { width: 38px; height: 38px; }
}

@media (max-width: 500px) {
  .main-nav { width: 100vw; max-width: 100vw; padding: 70px 20px 28px; }
  .logo-name { font-size: 15px; }
}

/* ═══ ТАБЛИЦА СРАВНЕНИЯ (mobile) ═══ */
@media (max-width: 900px) {

  .compare-wrap {
    overflow-x: auto !important;
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    margin: 0 -16px;
    padding: 0 16px 16px;
    scrollbar-width: thin;
  }
  .compare-wrap::-webkit-scrollbar { height: 6px; }
  .compare-wrap::-webkit-scrollbar-thumb {
    background: rgba(var(--c-primary-rgb),.4);
    border-radius: 3px;
  }

  .compare-table {
    min-width: 640px !important;
    font-size: 13px;
  }

  .compare-head,
  .compare-row,
  .compare-footer {
    grid-template-columns: 180px repeat(5, 1fr) !important;
  }

  .compare-row__crit { padding: 12px 10px; gap: 6px; }
  .compare-row__crit-icon { width: 26px; height: 26px; font-size: 11px; }
  .compare-row__crit-text { font-size: 12px; line-height: 1.3; }

  .compare-head__col { padding: 32px 4px 12px; }
  .compare-head__name { font-size: 11px; }
  .compare-head__sub  { font-size: 9.5px; }
  .compare-head__icon { width: 32px; height: 32px; font-size: 13px; }

  .compare-row__cell { padding: 10px 4px; }
  .compare-mark { width: 24px; height: 24px; font-size: 11px; }

  .compare-footer__label { padding: 12px 10px; font-size: 11px; }
  .compare-footer__col { padding: 12px 4px; font-size: 12px; }
  .compare-footer__col b { font-size: 16px; }
  .compare-footer__col--best b { font-size: 18px; }

  /* Подсказка — можно листать */
  .compare-wrap::after {
    content: '← листайте →';
    display: block;
    text-align: center;
    font-size: 11px;
    color: rgba(255,255,255,.3);
    padding-top: 8px;
  }
}/* ═══════════════════════════════════════════════════════════════
   СРАВНЕНИЕ — карточки для мобилки (≤900px)
   На ПК показываем таблицу, на мобилке — карточки
   ═══════════════════════════════════════════════════════════════ */

/* По умолчанию (ПК) — карточки скрыты */
.compare-cards { display: none; }

@media (max-width: 900px) {

  /* Таблицу скрываем */
  .compare-wrap { display: none !important; }

  /* Карточки — вертикальный стек */
  .compare-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  .ccard {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
    position: relative;
  }
  .ccard--best {
    border-color: rgba(var(--c-primary-rgb),.5);
    box-shadow: 0 0 0 1px rgba(var(--c-primary-rgb),.2), 0 8px 24px rgba(var(--c-primary-rgb),.15);
  }

  .ccard__head {
    position: relative;
    padding: 22px 20px 18px;
    text-align: center;
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.08), transparent);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .ccard--best .ccard__head {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.18), transparent);
  }

  .ccard__badge {
    position: absolute;
    top: 12px; left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
    color: #fff;
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    padding: 4px 12px;
    border-radius: 999px;
    box-shadow: 0 4px 12px rgba(var(--c-primary-rgb),.4);
  }
  .ccard--best .ccard__icon { margin-top: 20px; }

  .ccard__icon {
    width: 52px; height: 52px;
    margin: 0 auto 12px;
    background: linear-gradient(135deg, rgba(var(--c-primary-light-rgb),.15), rgba(var(--c-primary-rgb),.25));
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-primary-light);
    font-size: 22px;
  }
  .ccard__name {
    font-family: 'Montserrat', sans-serif;
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
  }
  .ccard__sub {
    font-size: 12px;
    color: var(--c-text-muted);
  }

  .ccard__list {
    list-style: none;
    padding: 8px 16px;
    margin: 0;
  }
  .ccard__item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    font-size: 14px;
    border-bottom: 1px dashed rgba(255,255,255,.05);
  }
  .ccard__item:last-child { border-bottom: 0; }

  .ccard__mark {
    flex: 0 0 26px;
    width: 26px; height: 26px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
  }
  .ccard__item.is-ok .ccard__mark {
    background: rgba(80,200,120,.15);
    color: #50c878;
  }
  .ccard__item.is-no .ccard__mark {
    background: rgba(220,80,80,.12);
    color: #dc5050;
  }
  .ccard__crit { color: var(--c-text); }

  .ccard__total {
    display: flex;
    align-items: baseline;
    justify-content: center;
    gap: 6px;
    padding: 16px;
    background: rgba(0,0,0,.2);
    border-top: 1px solid rgba(255,255,255,.06);
  }
  .ccard--best .ccard__total {
    background: rgba(var(--c-primary-rgb),.12);
    border-top-color: rgba(var(--c-primary-rgb),.3);
  }
  .ccard__total b {
    font-family: 'Montserrat', sans-serif;
    font-size: 26px;
    font-weight: 800;
    color: var(--c-primary-light);
  }
  .ccard--best .ccard__total b {
    color: #fff;
    text-shadow: 0 0 20px rgba(var(--c-primary-light-rgb),.5);
  }
  .ccard__total span {
    font-size: 14px;
    color: var(--c-text-muted);
  }
}

/* Чуть уменьшаем на очень узких */
@media (max-width: 380px) {
  .ccard__name { font-size: 15px; }
  .ccard__item { font-size: 13px; padding: 8px 0; }
  .ccard__icon { width: 46px; height: 46px; font-size: 20px; }
}
/* ═══════════════════════════════════════════════════════════════
   КОРЗИНА — фикс багов (11.10.2026)
   ═══════════════════════════════════════════════════════════════ */

/* ─── 1. Пустая корзина — одна колонка, по центру ─── */
.cart-layout--empty {
  grid-template-columns: 1fr !important;
}
.cart-layout--empty .cart-main {
  max-width: 720px;
  margin: 0 auto;
  width: 100%;
}
.cart-layout--empty .cart-sidebar {
  display: none !important;
}

/* ─── 2. Кнопка в пустой корзине — чистая, без наложений ─── */
.cart-empty .btn.btn-primary,
.cart-empty .btn-primary {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 14px 32px !important;
  font-family: 'Montserrat', sans-serif;
  font-size: 14px !important;
  font-weight: 700;
  color: #fff !important;
  background: linear-gradient(135deg, var(--c-primary-light) 0%, var(--c-primary) 100%) !important;
  border: 0 !important;
  border-radius: 10px !important;
  text-decoration: none;
  box-shadow: 0 6px 18px rgba(var(--c-primary-rgb),.35) !important;
  transition: transform .2s, box-shadow .2s;
  position: relative;
  overflow: hidden;
}
.cart-empty .btn.btn-primary:hover,
.cart-empty .btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(var(--c-primary-rgb),.5) !important;
  color: #fff !important;
}
/* Убираем возможные псевдо-эффекты (shine, overlay) */
.cart-empty .btn::before,
.cart-empty .btn::after {
  display: none !important;
  content: none !important;
}

/* ─── 3. Контент пустой корзины — ровно, по центру ─── */
.cart-empty {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  padding: 60px 24px !important;
  background: var(--c-bg-alt, #161A22);
  border-radius: 14px;
  border: 1px solid rgba(255,255,255,.06);
  max-width: 520px;
  margin: 0 auto !important;
  width: 100%;
  box-sizing: border-box;
}

/* ─── 4. Сайдбар — не мигает ─── */
#cartSummary[style*="display:none"] {
  display: none !important;
}
#cartSummary.is-ready {
  display: block !important;
}
/* ═══════════════════════════════════════════════════════════════
   КОРЗИНА — мобильная раскладка строки (11.10.2026)
   ═══════════════════════════════════════════════════════════════ */

@media (max-width: 700px) {

  /* Карточка строки — вертикальная раскладка */
  .cart-row {
    display: grid !important;
    grid-template-columns: 80px 1fr 32px !important;
    grid-template-areas:
      "img  info  remove"
      "img  qty   qty"
      "sum  sum   sum";
    column-gap: 14px !important;
    row-gap: 10px !important;
    padding: 16px 4px !important;
    align-items: start !important;
    position: relative;
  }

  /* Картинка */
  .cart-row__img {
    grid-area: img;
    width: 80px; height: 80px;
    border-radius: 10px;
    overflow: hidden;
    background: #fff;
    flex-shrink: 0;
    align-self: start;
  }
  .cart-row__img img {
    width: 100%; height: 100%;
    object-fit: contain;
    display: block;
  }

  /* Инфо: название + артикул */
  .cart-row__info {
    grid-area: info;
    min-width: 0;
    padding: 0 !important;
    margin: 0 !important;
    display: flex;
    flex-direction: column;
    gap: 4px;
    align-self: start;
  }
  .cart-row__title {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.35;
    color: #fff;
    text-decoration: none;
    word-break: break-word;
    padding: 0 !important;
    margin: 0 !important;
  }
  .cart-row__sku {
    font-size: 11px;
    padding: 2px 8px;
    display: inline-block;
    align-self: flex-start;
  }
  .cart-row__price {
    font-family: 'Montserrat', sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--c-primary-light);
    margin-top: 4px;
  }

  /* Кнопка удаления — справа сверху */
  .cart-row__remove {
    grid-area: remove;
    width: 32px; height: 32px;
    border-radius: 8px;
    background: rgba(220,80,80,.08);
    color: #dc5050;
    border: 0;
    font-size: 18px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    align-self: start;
    padding: 0;
    transition: background .2s;
  }
  .cart-row__remove:hover,
  .cart-row__remove:active {
    background: rgba(220,80,80,.18);
  }

  /* Количество */
  .cart-row__qty {
    grid-area: qty;
    display: inline-flex;
    align-items: center;
    gap: 0;
    background: rgba(255,255,255,.04);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    padding: 4px;
    justify-self: start;
    align-self: center;
    margin-top: 4px;
  }
  .cart-row__qty button {
    width: 32px; height: 32px;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    border-radius: 6px;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .15s;
    padding: 0;
    line-height: 1;
  }
  .cart-row__qty button:hover { background: rgba(var(--c-primary-rgb),.2); }
  .cart-row__qty input {
    width: 44px;
    text-align: center;
    background: transparent;
    border: 0;
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    -moz-appearance: textfield;
    padding: 0;
  }
  .cart-row__qty input::-webkit-outer-spin-button,
  .cart-row__qty input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }

  /* Сумма */
  .cart-row__sum {
    grid-area: sum;
    text-align: right !important;
    font-family: 'Montserrat', sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    padding-top: 8px;
    border-top: 1px dashed rgba(255,255,255,.08);
    margin-top: 4px;
  }
}

/* На очень узких экранах — чуть компактнее */
@media (max-width: 380px) {
  .cart-row {
    grid-template-columns: 64px 1fr 28px !important;
    column-gap: 10px !important;
  }
  .cart-row__img { width: 64px; height: 64px; }
  .cart-row__title { font-size: 13px; }
  .cart-row__price { font-size: 14px; }
}
/* ═══════════════════════════════════════════════════════════════
   ФИКС: сравнение — скрываем ТАБЛИЦУ и показываем КАРТОЧКИ
   ТОЛЬКО на главной (.section-comparison), где есть .compare-cards
   ═══════════════════════════════════════════════════════════════ */

/* По умолчанию карточек нет */
.compare-cards { display: none; }

@media (max-width: 900px) {

  /* ═══ Только для блока .section-comparison (главная) ═══ */
  .section-comparison .compare-wrap {
    display: none !important;
  }
  .section-comparison .compare-cards {
    display: flex;
    flex-direction: column;
    gap: 16px;
  }

  /* ═══ ОТКАТ для остальных страниц (plintusnye-obogrevateli, teplyj-plintus) ═══
     Там .compare-cards нет, значит возвращаем таблицу — через scroll */
  .section:not(.section-comparison) .compare-wrap {
    display: block !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch;
    margin: 0 !important;
    padding: 0 0 16px !important;
  }
  /* И на всякий случай — убираем лишние ::before/::after (подсказки) */
  .section:not(.section-comparison) .compare-wrap::before,
  .section:not(.section-comparison) .compare-wrap::after {
    display: none !important;
  }

  /* На этих страницах таблица с 3-4 колонками — она влезает вертикально
     или скроллится. Уменьшим размер */
  .section:not(.section-comparison) .compare-table {
    min-width: 0 !important;
    width: auto !important;
  }
}

/* ═══ Карточки варианта — стили (только для главной) ═══ */
@media (max-width: 900px) {
  .section-comparison .ccard { /* ... стили уже есть в другом блоке ... */ }
}
/* ═══════════════════════════════════════════════════════════════
   ФИНАЛ: сравнение — таблица на ПК, карточки на мобилке
   Работает ТОЛЬКО там, где есть .compare-cards (главная + обогреватели)
   ═══════════════════════════════════════════════════════════════ */

/* По умолчанию карточки скрыты */
.compare-cards { display: none; }

@media (max-width: 900px) {

  /* Скрываем таблицу, где есть .compare-cards */
  .section-comparison .compare-wrap { display: none !important; }

  /* Показываем карточки */
  .section-comparison .compare-cards {
    display: flex !important;
    flex-direction: column;
    gap: 16px;
  }
}

/* Форс — везде где есть карточки, таблица спрятана на мобилке
   (страховка на случай если забуду класс) */
@media (max-width: 900px) {
  .section:has(.compare-cards) .compare-wrap { display: none !important; }
  .section:has(.compare-cards) .compare-cards { display: flex !important; }
}
/* ═══════════════════════════════════════════════════════════════
   СРАВНЕНИЕ — карточки на мобилке (ФИНАЛ)
   Правило: где есть .compare-cards → карточки, где нет → таблица
   ═══════════════════════════════════════════════════════════════ */

.compare-cards { display: none; }

@media (max-width: 900px) {
  /* Если в секции есть .compare-cards — скрываем таблицу, показываем карточки */
  .section-comparison .compare-wrap { display: none !important; }
  .section-comparison .compare-cards {
    display: flex !important;
    flex-direction: column;
    gap: 16px;
  }

  /* Карточка */
  .ccard {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 16px;
    overflow: hidden;
  }
  .ccard--best {
    border-color: rgba(var(--c-primary-rgb),.5);
    box-shadow: 0 0 0 1px rgba(var(--c-primary-rgb),.2), 0 8px 24px rgba(var(--c-primary-rgb),.15);
  }
  .ccard__head {
    position: relative;
    padding: 22px 20px 18px;
    text-align: center;
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.08), transparent);
    border-bottom: 1px solid rgba(255,255,255,.06);
  }
  .ccard--best .ccard__head {
    background: linear-gradient(180deg, rgba(var(--c-primary-rgb),.18), transparent);
  }
  .ccard__badge {
    position: absolute;
    top: 12px; left: 50%;
    transform: translateX(-50%);
    background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
    color: #fff;
    font-size: 10px; font-weight: 700;
    letter-spacing: .6px; text-transform: uppercase;
    padding: 4px 12px; border-radius: 999px;
    box-shadow: 0 4px 12px rgba(var(--c-primary-rgb),.4);
  }
  .ccard--best .ccard__icon { margin-top: 20px; }
  .ccard__icon {
    width: 52px; height: 52px;
    margin: 0 auto 12px;
    background: linear-gradient(135deg, rgba(var(--c-primary-light-rgb),.15), rgba(var(--c-primary-rgb),.25));
    border-radius: 14px;
    display: flex; align-items: center; justify-content: center;
    color: var(--c-primary-light); font-size: 22px;
  }
  .ccard__name { font-family: 'Montserrat', sans-serif; font-size: 17px; font-weight: 700; color: #fff; margin-bottom: 4px; }
  .ccard__sub  { font-size: 12px; color: var(--c-text-muted); }

  .ccard__list { list-style: none; padding: 8px 16px; margin: 0; }
  .ccard__item {
    display: flex; align-items: center; gap: 12px;
    padding: 10px 0; font-size: 14px;
    border-bottom: 1px dashed rgba(255,255,255,.05);
  }
  .ccard__item:last-child { border-bottom: 0; }
  .ccard__mark {
    flex: 0 0 26px; width: 26px; height: 26px;
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    font-size: 11px;
  }
  .ccard__item.is-ok .ccard__mark { background: rgba(80,200,120,.15); color: #50c878; }
  .ccard__item.is-no .ccard__mark { background: rgba(220,80,80,.12); color: #dc5050; }
  .ccard__crit { color: var(--c-text); }

  .ccard__total {
    display: flex; align-items: baseline; justify-content: center; gap: 6px;
    padding: 16px;
    background: rgba(0,0,0,.2);
    border-top: 1px solid rgba(255,255,255,.06);
  }
  .ccard--best .ccard__total {
    background: rgba(var(--c-primary-rgb),.12);
    border-top-color: rgba(var(--c-primary-rgb),.3);
  }
  .ccard__total b { font-family: 'Montserrat', sans-serif; font-size: 26px; font-weight: 800; color: var(--c-primary-light); }
  .ccard--best .ccard__total b { color: #fff; text-shadow: 0 0 20px rgba(var(--c-primary-light-rgb),.5); }
  .ccard__total span { font-size: 14px; color: var(--c-text-muted); }
}
/* ═══════════════════════════════════════════════════════════════
   БЛОК «ЗАКАЗАТЬ ПРОСТО» — 4 шага (11.10.2026)
   ═══════════════════════════════════════════════════════════════ */
/* ═══════════════════════════════════════════════════════════════
   «ЗАКАЗАТЬ ПРОСТО» — 4 шага (ФИНАЛ 11.10.2026)
   Круглый номер — выступает над карточкой по центру
   ═══════════════════════════════════════════════════════════════ */

.install-steps {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 20px;
  margin-top: 32px;
  position: relative;
}

.install-step {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  text-align: center;
  background: var(--c-bg-alt, #161A22);
  border: 1px solid rgba(255,255,255,.07);
  border-radius: 16px;
  padding: 42px 22px 26px;
  transition: transform .25s, border-color .25s, box-shadow .25s;
}
.install-step:hover {
  transform: translateY(-4px);
  border-color: rgba(var(--c-primary-rgb),.4);
  box-shadow: 0 14px 32px rgba(0,0,0,.4);
}

/* Номер — круг сверху по центру */
.install-step__num {
  position: absolute;
  top: -22px;
  left: 50%;
  transform: translateX(-50%);
  width: 46px;
  height: 46px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--c-primary, #C97B3F), var(--c-primary-dark, #A66330));
  color: #fff;
  border-radius: 50%;
  font-family: 'Montserrat', sans-serif;
  font-weight: 800;
  font-size: 18px;
  line-height: 1;
  box-shadow: 0 8px 20px rgba(var(--c-primary-rgb),.45);
  z-index: 2;
}

/* Иконка — квадратик под номером */
.install-step__icon {
  width: 54px;
  height: 54px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(var(--c-primary-rgb),.12);
  color: var(--c-primary, #C97B3F);
  border: 1px solid rgba(var(--c-primary-rgb),.28);
  border-radius: 14px;
  font-size: 22px;
  margin-bottom: 18px;
}

.install-step__title {
  font-family: 'Montserrat', sans-serif;
  font-size: 16px;
  font-weight: 700;
  color: var(--c-text, #EDEEF0);
  margin: 0 0 10px;
  line-height: 1.3;
}
.install-step__text {
  font-size: 13.5px;
  line-height: 1.6;
  color: var(--c-text-muted, #8B92A0);
  margin: 0;
}

/* Стрелки между карточками — только ПК */
.install-step::after {
  content: '';
  position: absolute;
  top: 50px;
  right: -14px;
  width: 16px;
  height: 16px;
  border-top: 2px solid rgba(var(--c-primary-rgb),.35);
  border-right: 2px solid rgba(var(--c-primary-rgb),.35);
  transform: rotate(45deg);
  display: none;
  z-index: 1;
}
.install-step:last-child::after { display: none; }
@media (min-width: 901px) {
  .install-step:not(:last-child)::after { display: block; }
}

/* ─── Планшет (550–900px) — 2 в ряд ─── */
@media (max-width: 900px) {
  .install-steps {
    grid-template-columns: repeat(2, 1fr);
    gap: 18px;
    margin-top: 30px;
  }
  .install-step::after { display: none !important; }
  .install-step { padding: 38px 18px 22px; }
  .install-step__num { width: 42px; height: 42px; font-size: 17px; top: -20px; }
  .install-step__icon { width: 48px; height: 48px; font-size: 20px; margin-bottom: 14px; }
  .install-step__title { font-size: 15px; }
  .install-step__text { font-size: 13px; }
}

/* ─── Мобилка (<550px) — 1 колонка, номер слева ─── */
@media (max-width: 550px) {
  .install-steps {
    grid-template-columns: 1fr;
    gap: 14px;
    margin-top: 26px;
  }
  .install-step {
    display: grid;
    grid-template-columns: 52px 1fr;
    grid-template-areas:
      "num title"
      "num text";
    column-gap: 14px;
    row-gap: 4px;
    padding: 16px;
    text-align: left;
    align-items: center;
  }
  .install-step__num {
    grid-area: num;
    position: static;
    transform: none;
    width: 44px;
    height: 44px;
    font-size: 17px;
    top: auto;
    left: auto;
    align-self: center;
  }
  .install-step__icon { display: none !important; }
  .install-step__title {
    grid-area: title;
    margin: 0;
    font-size: 15px;
    align-self: end;
  }
  .install-step__text {
    grid-area: text;
    font-size: 13px;
    line-height: 1.45;
    align-self: start;
  }
}

/* Очень узкие */
@media (max-width: 380px) {
  .install-step { padding: 14px; column-gap: 12px; grid-template-columns: 46px 1fr; }
  .install-step__num { width: 40px; height: 40px; font-size: 15px; }
  .install-step__title { font-size: 14px; }
  .install-step__text { font-size: 12.5px; }
}
/* ═══════════════════════════════════════════════════════════════
   Активные фильтры — плашка над сеткой (только чипы, layout не трогаем)
   ═══════════════════════════════════════════════════════════════ */

.catalog-active-chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 20px;
  padding: 12px 16px;
  background: rgba(var(--c-primary-rgb),.06);
  border: 1px solid rgba(var(--c-primary-rgb),.22);
  border-radius: 12px;
}

.catalog-active-chips__label {
  font-size: 13px;
  color: var(--c-text-muted, #8B92A0);
  font-weight: 500;
  margin-right: 4px;
}

.catalog-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 6px 10px 6px 14px;
  background: rgba(var(--c-primary-rgb),.15);
  border: 1px solid rgba(var(--c-primary-rgb),.4);
  border-radius: 999px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  white-space: nowrap;
}

.catalog-chip__x {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: rgba(255,255,255,.1);
  color: #fff;
  font-size: 10px;
  text-decoration: none;
  transition: background .2s;
  flex-shrink: 0;
}
.catalog-chip__x:hover {
  background: var(--c-primary, #C97B3F);
  color: #fff;
}

.catalog-active-chips__reset {
  margin-left: auto;
  font-size: 13px;
  color: var(--c-primary-light, #E09B60);
  text-decoration: none;
  font-weight: 500;
  padding: 4px 8px;
  white-space: nowrap;
}
.catalog-active-chips__reset:hover {
  color: #fff;
  text-decoration: underline;
}

/* Мобильная версия — компактнее */
@media (max-width: 900px) {
  .catalog-active-chips {
    padding: 10px 12px;
    margin-bottom: 14px;
    gap: 6px;
  }
  .catalog-active-chips__label {
    display: none;
  }
  .catalog-chip {
    font-size: 12px;
    padding: 5px 8px 5px 12px;
  }
  .catalog-chip__x {
    width: 16px;
    height: 16px;
    font-size: 9px;
  }
  .catalog-active-chips__reset {
    font-size: 12px;
    padding: 4px 6px;
    margin-left: 0;
  }
}

@media (max-width: 500px) {
  .catalog-active-chips {
    padding: 8px 10px;
  }
  .catalog-chip {
    font-size: 11.5px;
    padding: 5px 8px 5px 10px;
  }
}
/* ═══ Убираем дублирующую «✕ Сбросить» в toolbar (есть в плашке и в форме) ═══ */
.catalog-toolbar__reset {
  display: none !important;
}
/* ═══ Убираем «Сбросить все» из счётчика «Найдено: N товаров» ═══ */
.catalog-meta__reset {
  display: none !important;
}
/* ═══ Убираем дубль крестика: оставляем только .burger.is-open в шапке ═══ */
.nav-close { display: none !important; }

/* Бургер превращается в крестик при открытии — увеличим клик-зону */
.burger.is-open {
  z-index: 210 !important;
}
/* ═══════════════════════════════════════════════════════════════
   PAGINATION-CSS-V1: пагинация каталога
   ═══════════════════════════════════════════════════════════════ */

.catalog-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px;
  margin: 48px 0 20px;
  padding: 0 16px;
}

.catalog-pagination .page-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 42px;
  height: 42px;
  padding: 0 14px;
  background: var(--c-bg-alt, #161A22);
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  color: var(--c-text, #EDEEF0);
  font-family: 'Montserrat', sans-serif;
  font-size: 15px;
  font-weight: 600;
  text-decoration: none;
  cursor: pointer;
  transition: all .2s ease;
  user-select: none;
}

.catalog-pagination .page-link:hover {
  background: rgba(var(--c-primary-rgb),.12);
  border-color: rgba(var(--c-primary-rgb),.5);
  color: var(--c-primary-light, #E09B60);
  transform: translateY(-2px);
}

.catalog-pagination .page-link.is-active {
  background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
  border-color: transparent;
  color: #fff;
  box-shadow: 0 6px 18px rgba(var(--c-primary-rgb),.4);
  cursor: default;
  transform: none;
}

.catalog-pagination .page-dots {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 30px;
  height: 42px;
  color: var(--c-text-muted, #8B92A0);
  font-size: 18px;
  user-select: none;
}

/* Стрелки — компактнее */
.catalog-pagination .page-link:first-child,
.catalog-pagination .page-link:last-child {
  font-size: 17px;
  font-weight: 700;
}

/* Мобильная */
@media (max-width: 600px) {
  .catalog-pagination {
    margin: 32px 0 16px;
    gap: 4px;
  }
  .catalog-pagination .page-link {
    min-width: 36px;
    height: 36px;
    padding: 0 10px;
    font-size: 14px;
    border-radius: 8px;
  }
  /* Скрываем «первую» и «последнюю» на мобилке (мало места) */
  .catalog-pagination .page-link:first-child,
  .catalog-pagination .page-link:last-child {
    display: none;
  }
}

/* Очень узкие */
@media (max-width: 380px) {
  .catalog-pagination .page-link {
    min-width: 32px;
    height: 32px;
    padding: 0 8px;
    font-size: 13px;
  }
}

/* ═══════════════════════════════════════════════════════════════
   PF-FILTER-V1: фильтр портфолио
   ═══════════════════════════════════════════════════════════════ */
.pf-filters { display: flex; gap: 10px; flex-wrap: wrap; justify-content: center; margin: 0 0 32px; }
.pf-filter { padding: 10px 22px; background: var(--c-bg-alt, #161A22); border: 1px solid rgba(255,255,255,.1); border-radius: 999px; color: var(--c-text, #EDEEF0); font-size: 14px; font-weight: 500; cursor: pointer; transition: all .25s; }
.pf-filter:hover { border-color: var(--c-primary, #C97B3F); color: var(--c-primary-light, #E09B60); }
.pf-filter.is-active { background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary)); border-color: transparent; color: #fff; box-shadow: 0 6px 20px rgba(var(--c-primary-rgb),.4); }

.gallery-item-title { position: absolute; left: 0; right: 0; bottom: 0; padding: 12px 14px; background: linear-gradient(0deg, rgba(0,0,0,.85), transparent); color: #fff; font-size: 14px; font-weight: 600; text-align: left; transform: translateY(8px); opacity: 0; transition: all .3s; }
.gallery-item:hover .gallery-item-title { transform: translateY(0); opacity: 1; }

.gallery-item.is-hidden { display: none; }

@media (max-width: 600px) {
  .pf-filters { gap: 8px; margin-bottom: 20px; }
  .pf-filter { padding: 8px 16px; font-size: 13px; }
}

/* COLOR-FILTERS-V1 */
.color-filters{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 24px;max-width:1100px}
.color-filter{padding:8px 16px;background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.1);border-radius:999px;color:var(--c-text);font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s}
.color-filter:hover{border-color:var(--c-primary)}
.color-filter.is-active{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.palette-grid--all{grid-template-columns:repeat(6,1fr)!important;max-height:560px;overflow-y:auto;padding-right:8px}
.palette-swatch.is-hidden{display:none!important}
@media(max-width:900px){.palette-grid--all{grid-template-columns:repeat(4,1fr)!important;max-height:480px}}
@media(max-width:600px){.palette-grid--all{grid-template-columns:repeat(3,1fr)!important;max-height:400px}}

/* ═══ COLOR-RESIZE-V5 ═══ */
.color-filters{display:flex!important;flex-wrap:wrap;gap:8px;justify-content:center;margin:0 auto 20px;max-width:1100px}
.color-filter{padding:8px 16px!important;background:var(--c-bg-alt)!important;border:1px solid rgba(255,255,255,.1)!important;border-radius:999px!important;color:var(--c-text)!important;font-family:inherit;font-size:13.5px;font-weight:600;cursor:pointer;transition:all .2s}
.color-filter:hover{border-color:var(--c-primary)!important}
.color-filter.is-active{background:var(--c-primary)!important;border-color:var(--c-primary)!important;color:#fff!important}
.palette-grid--all{grid-template-columns:repeat(6,1fr)!important;max-height:450px!important;overflow-y:auto!important;padding-right:8px;scrollbar-width:thin}
.palette-grid--all::-webkit-scrollbar{width:6px}
.palette-grid--all::-webkit-scrollbar-thumb{background:rgba(255,255,255,.15);border-radius:3px}
.palette-swatch.is-hidden{display:none!important}
.color-configurator{align-items:flex-start!important}
.color-configurator__preview{max-width:480px!important;margin:0 auto!important}
.color-configurator__preview img,.color-configurator__preview canvas{max-height:48vh!important;width:auto!important;max-width:100%!important;margin:0 auto!important;object-fit:contain!important;display:block!important}
@media (max-width:900px){.palette-grid--all{grid-template-columns:repeat(4,1fr)!important;max-height:400px!important}.color-configurator__preview img,.color-configurator__preview canvas{max-height:40vh!important}}
@media (max-width:600px){.palette-grid--all{grid-template-columns:repeat(3,1fr)!important;max-height:360px!important}}

/* ═══ COLOR-CENTER-V6 ═══ */
.color-configurator__preview{display:flex!important;flex-direction:column!important;justify-content:center!important;align-items:center!important;min-height:480px!important;max-width:520px!important;margin:0 auto!important;padding:24px!important;}
.color-configurator__preview > img,.color-configurator__preview > canvas{display:block!important;max-width:100%!important;max-height:52vh!important;width:auto!important;height:auto!important;object-fit:contain!important;margin:0 auto!important;transition:opacity .25s!important;}
.color-configurator__preview .color-configurator__name{text-align:center!important;margin-top:16px!important;width:100%!important;}
@media (max-width:900px){.color-configurator__preview{min-height:360px!important;padding:18px!important}.color-configurator__preview > img,.color-configurator__preview > canvas{max-height:38vh!important}}
@media (max-width:600px){.color-configurator__preview{min-height:280px!important;padding:14px!important}.color-configurator__preview > img,.color-configurator__preview > canvas{max-height:32vh!important}}

/* ═══ NAV-DROPDOWN-V1 ═══ */
.nav-dropdown{position:relative;display:inline-block}
.nav-item--parent{display:inline-flex;align-items:center;gap:6px}
.nav-item--parent i{font-size:10px;opacity:.7;transition:transform .2s}
.nav-dropdown:hover .nav-item--parent i{transform:rotate(180deg)}
.nav-dropdown__menu{
  position:absolute;top:100%;left:50%;transform:translateX(-50%) translateY(8px);
  min-width:230px;padding:8px;background:var(--c-bg-alt,#1a1a1a);
  border:1px solid rgba(255,255,255,.08);border-radius:12px;
  box-shadow:0 12px 32px rgba(0,0,0,.4);
  opacity:0;visibility:hidden;pointer-events:none;
  transition:opacity .2s,transform .2s,visibility .2s;
  z-index:100;margin-top:4px;
}
.nav-dropdown__menu::before{
  content:'';position:absolute;top:-6px;left:50%;
  transform:translateX(-50%) rotate(45deg);width:12px;height:12px;
  background:var(--c-bg-alt,#1a1a1a);border-left:1px solid rgba(255,255,255,.08);
  border-top:1px solid rgba(255,255,255,.08);
}
.nav-dropdown:hover .nav-dropdown__menu,
.nav-dropdown:focus-within .nav-dropdown__menu{
  opacity:1;visibility:visible;pointer-events:auto;
  transform:translateX(-50%) translateY(0);
}
.nav-dropdown__item{
  display:block;padding:10px 14px;color:var(--c-text,#eee);
  text-decoration:none;border-radius:8px;font-size:14px;
  transition:background .15s,color .15s;
}
.nav-dropdown__item:hover{
  background:rgba(var(--c-primary-rgb),.12);color:var(--c-primary,#D97706);
}
@media (max-width:900px){
  .nav-dropdown{display:block;width:100%}
  .nav-dropdown__menu{
    position:static;transform:none;opacity:1;visibility:visible;
    pointer-events:auto;box-shadow:none;background:transparent;
    border:none;margin:0;padding:0 0 0 16px;min-width:0;
  }
  .nav-dropdown__menu::before{display:none}
  .nav-dropdown__item{font-size:14px;padding:8px 12px}
}

/* ═══ USTROYSTVO PAGE ═══ */
.section--ustro-hero{padding:32px 0 24px}
.section--ustro-scheme{padding:24px 0 48px}
.ustro-hero__intro{margin-top:16px;max-width:820px;font-size:16px;line-height:1.7;color:var(--c-text-muted)}
.ustro-scheme{margin:0 auto;max-width:820px;padding:24px;background:var(--c-bg-alt);border-radius:18px;border:1px solid rgba(255,255,255,.06)}
.ustro-scheme img{width:100%;height:auto;display:block;border-radius:12px;background:#fff}
.section--ustro-block{padding:40px 0}
.ustro-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:24px;margin-top:32px}
.ustro-grid--two{grid-template-columns:repeat(auto-fit,minmax(340px,1fr))}
.ustro-grid--single{grid-template-columns:minmax(0,900px);justify-content:center}
.ustro-card{background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.06);border-radius:16px;overflow:hidden;transition:transform .2s,border-color .2s}
.ustro-card:hover{transform:translateY(-3px);border-color:rgba(var(--c-primary-rgb),.35)}
.ustro-card__img{background:#fff;padding:18px;display:flex;align-items:center;justify-content:center;min-height:220px}
.ustro-card__img img{max-width:100%;max-height:220px;width:auto;height:auto;display:block;object-fit:contain}
.ustro-card__body{padding:20px 22px 24px}
.ustro-card__title{font-family:Montserrat,sans-serif;font-size:17px;font-weight:700;margin:0 0 10px;color:var(--c-text);line-height:1.3}
.ustro-card__text{font-size:14px;line-height:1.65;color:var(--c-text-muted);margin:0}
@media (max-width:700px){
  .ustro-grid,.ustro-grid--two,.ustro-grid--single{grid-template-columns:1fr;gap:18px}
  .ustro-card__img{min-height:180px;padding:14px}
  .ustro-card__img img{max-height:180px}
  .ustro-card__body{padding:16px 18px 20px}
}

/* ═══ USTROYSTVO: фирменный CTA ═══ */
.heaters-cta{display:flex;align-items:center;justify-content:space-between;gap:32px;padding:40px 48px;background:var(--c-bg-alt);border:1px solid rgba(var(--c-primary-rgb),.15);border-radius:20px;flex-wrap:wrap;margin-top:24px}
.heaters-cta__text{display:flex;flex-direction:column;gap:8px;flex:1 1 320px}
.heaters-cta__text b{font-family:var(--font-display);font-size:clamp(20px,2.2vw,28px);font-weight:800;color:var(--c-text);line-height:1.2}
.heaters-cta__text span{font-size:15px;color:var(--c-text-muted);line-height:1.5;max-width:520px}
.heaters-cta__btns{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.heaters-cta__btns .btn{white-space:nowrap}
@media (max-width:700px){.heaters-cta{padding:28px 24px;gap:20px}.heaters-cta__btns{width:100%}.heaters-cta__btns .btn{flex:1 1 auto;justify-content:center}}

/* ═══════════════════════════════════════ */
/* ═══ PAGE-HERO (универсальный) ═══ */
/* ═══════════════════════════════════════ */
.page-hero{position:relative;padding:56px 0 64px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05)}
.page-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;  background:    radial-gradient(circle at 15% 20%, rgba(var(--c-primary-rgb),.14), transparent 45%),    radial-gradient(circle at 85% 80%, rgba(var(--c-primary-rgb),.08), transparent 50%),    linear-gradient(180deg, var(--c-bg-alt) 0%, var(--c-bg) 100%);}
.page-hero__bg::after{content:'';position:absolute;inset:0;  background-image:radial-gradient(rgba(255,255,255,.04) 1px, transparent 1px);  background-size:24px 24px;opacity:.5;}
.page-hero__inner{position:relative;z-index:1;max-width:900px}
.page-hero .breadcrumbs{margin-bottom:32px;font-size:13px;color:var(--c-text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.page-hero .breadcrumbs a{color:var(--c-text-muted);text-decoration:none;transition:color .15s}
.page-hero .breadcrumbs a:hover{color:var(--c-primary)}
.page-hero .breadcrumbs .sep{opacity:.4}
.page-hero .breadcrumbs .current{color:var(--c-text)}
.page-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:18px;background:linear-gradient(135deg,var(--c-primary),#b4621e);color:#fff;font-size:26px;margin-bottom:22px;box-shadow:0 12px 28px rgba(var(--c-primary-rgb),.35)}
.page-hero__title{font-family:var(--font-display);font-size:clamp(28px,4vw,48px);line-height:1.1;font-weight:800;color:var(--c-text);margin:0 0 20px;letter-spacing:-.01em;max-width:820px}
.page-hero__title::after{content:'';display:block;width:72px;height:4px;background:var(--c-primary);border-radius:2px;margin-top:22px}
.page-hero__subtitle{font-size:clamp(15px,1.4vw,18px);line-height:1.7;color:var(--c-text-muted);max-width:720px;margin:0 0 32px}
.page-hero__cta{display:flex;gap:12px;flex-wrap:wrap}
.page-hero__cta .btn{white-space:nowrap}
@media (max-width:700px){
  .page-hero{padding:36px 0 44px}
  .page-hero__icon{width:52px;height:52px;font-size:22px;border-radius:14px;margin-bottom:18px}
  .page-hero__title::after{width:56px;height:3px;margin-top:18px}
  .page-hero__cta .btn{flex:1 1 auto;justify-content:center}
}


/* ═══ PAGE-HERO-COMPACT ═══ */
.page-hero{position:relative;padding:36px 0 40px;overflow:hidden;border-bottom:1px solid rgba(255,255,255,.05)}
.page-hero__bg{position:absolute;inset:0;z-index:0;pointer-events:none;  background:    radial-gradient(circle at 15% 20%, rgba(var(--c-primary-rgb),.12), transparent 40%),    linear-gradient(180deg, var(--c-bg-alt) 0%, var(--c-bg) 100%);}
.page-hero__bg::after{content:'';position:absolute;inset:0;  background-image:radial-gradient(rgba(255,255,255,.03) 1px, transparent 1px);  background-size:22px 22px;opacity:.45;}
.page-hero__inner{position:relative;z-index:1;max-width:860px}
.page-hero .breadcrumbs{margin-bottom:20px;font-size:12.5px;color:var(--c-text-muted);display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.page-hero .breadcrumbs a{color:var(--c-text-muted);text-decoration:none;transition:color .15s}
.page-hero .breadcrumbs a:hover{color:var(--c-primary)}
.page-hero .breadcrumbs .sep{opacity:.4}
.page-hero .breadcrumbs .current{color:var(--c-text)}
.page-hero__icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,var(--c-primary),#b4621e);color:#fff;font-size:18px;margin-bottom:14px;box-shadow:0 8px 20px rgba(var(--c-primary-rgb),.28)}
.page-hero__title{font-family:var(--font-display);font-size:clamp(22px,2.6vw,34px);line-height:1.15;font-weight:800;color:var(--c-text);margin:0 0 14px;letter-spacing:-.01em;max-width:760px}
.page-hero__title::after{content:'';display:block;width:48px;height:3px;background:var(--c-primary);border-radius:2px;margin-top:14px}
.page-hero__subtitle{font-size:clamp(14px,1.2vw,16px);line-height:1.6;color:var(--c-text-muted);max-width:680px;margin:0 0 20px}
.page-hero__cta{display:flex;gap:10px;flex-wrap:wrap}
.page-hero__cta .btn{white-space:nowrap}
.section--ustro-scheme{padding:72px 0 56px !important}
.ustro-scheme{margin-top:8px}
@media (max-width:700px){
  .page-hero{padding:26px 0 30px}
  .page-hero .breadcrumbs{margin-bottom:16px;font-size:11.5px}
  .page-hero__icon{width:38px;height:38px;font-size:16px;border-radius:10px;margin-bottom:12px}
  .page-hero__title::after{width:40px;height:3px;margin-top:12px}
  .page-hero__cta .btn{flex:1 1 auto;justify-content:center}
  .section--ustro-scheme{padding:44px 0 36px !important}
}

/* ═══ GAP-AFTER-HERO ═══ */
.page-hero + section{padding-top:72px !important}
.page-hero + section.no-gap-top{padding-top:24px !important}
.hero-slider + section{padding-top:72px !important}
@media (max-width:700px){
  .page-hero + section{padding-top:44px !important}
  .hero-slider + section{padding-top:44px !important}
}

/* ═══ GAP-BIG-4PAGES ═══ */
/* Увеличенный отступ после hero для 4 страниц */
body[data-page-slug="ustroystvo-sistemy"] .page-hero + section,
body[data-page-slug="plintusnye-obogrevateli"] .page-hero + section,
body[data-page-slug="dostavka"] .page-hero + section,
body[data-page-slug="kontakty"] .page-hero + section {
  padding-top:96px !important;
}
@media (max-width:700px){
  body[data-page-slug="ustroystvo-sistemy"] .page-hero + section,
  body[data-page-slug="plintusnye-obogrevateli"] .page-hero + section,
  body[data-page-slug="dostavka"] .page-hero + section,
  body[data-page-slug="kontakty"] .page-hero + section {
    padding-top:56px !important;
  }
}

/* ═══ GAP-BIG-CALC ═══ */
body[data-page-slug="calc"] .page-hero + section{padding-top:96px !important}
@media (max-width:700px){
  body[data-page-slug="calc"] .page-hero + section{padding-top:56px !important}
}

/* ═══ CATALOG-TRUST-BAR ═══ */
.catalog-trust-bar{padding:24px 0;background:var(--c-bg-alt);border-bottom:1px solid rgba(255,255,255,.04)}
.catalog-trust-bar__grid{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:center;max-width:900px;margin:0 auto}
.catalog-trust-bar .cat-feature{flex:0 1 auto}
.catalog-trust-bar .cat-feature__icon{width:44px;height:44px;font-size:18px;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.25),rgba(var(--c-primary-rgb),.1))}
.catalog-trust-bar .cat-feature__body b{font-size:14.5px;font-weight:700}
.catalog-trust-bar .cat-feature__body span{font-size:12.5px}
.catalog-meta--in-hero{margin-top:24px}
@media (max-width:700px){
  .catalog-trust-bar{padding:18px 0}
  .catalog-trust-bar__grid{gap:16px;justify-content:flex-start}
  .catalog-trust-bar .cat-feature{flex:1 1 100%}
}

/* ═══ CATALOG-HERO-V2 ═══ */

.page-hero__col--left{min-width:0}
.page-hero__col--right{min-width:0;display:flex;justify-content:flex-end}
.page-hero-features{display:flex;flex-direction:column;gap:18px;padding:24px 28px;background:rgba(255,255,255,.03);border:1px solid rgba(var(--c-primary-rgb),.15);border-radius:16px;min-width:260px;max-width:340px;backdrop-filter:blur(8px)}
.page-hero-features .cat-feature{display:flex;align-items:center;gap:14px}
.page-hero-features .cat-feature__icon{flex:0 0 auto;width:42px;height:42px;font-size:17px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.25),rgba(var(--c-primary-rgb),.08));color:var(--c-primary);border-radius:11px}
.page-hero-features .cat-feature__body b{display:block;font-size:14.5px;font-weight:700;color:var(--c-text);line-height:1.2}
.page-hero-features .cat-feature__body span{display:block;font-size:12.5px;color:var(--c-text-muted);margin-top:2px}
@media (max-width:900px){
  
  .page-hero__col--right{justify-content:flex-start}
  .page-hero-features{max-width:none;width:100%;padding:20px;gap:14px}
}
@media (max-width:600px){
  .page-hero-features{padding:16px;gap:12px}
  .page-hero-features .cat-feature__icon{width:38px;height:38px;font-size:15px}
}
.catalog-trust-bar{display:none !important}

/* ═══ CATALOG-HERO-CENTER ═══ */







.page-hero-features{margin:0 !important}
@media (max-width:900px){
  
  
  .page-hero-features{max-width:100% !important;width:100% !important}
}

/* ═══ CATALOG-HERO-NARROW ═══ */



.page-hero-features{width:100% !important;max-width:340px !important;margin:0 !important;padding:22px 24px !important;}




@media (max-width:900px){
  
  
  
  .page-hero-features{max-width:100% !important}
}

/* ═══ CATALOG-HERO-ALIGN ═══ */



.page-hero-features{width:100% !important;max-width:340px !important;margin:0 !important;}
@media (max-width:900px){
  
  
  .page-hero-features{max-width:100% !important}
}

/* ═══ CATALOG-HERO-FIX-WIDTH ═══ */
/* Убираем ВСЕ переопределения .container внутри hero */




.page-hero-features{width:100% !important;max-width:340px !important;margin:0 !important}
@media (max-width:900px){
  
  
  .page-hero-features{max-width:100% !important}
}

/* ═══ CATALOG-HERO-CLEAN ═══ */



.page-hero-features{width:100%;max-width:320px;display:flex;flex-direction:column;gap:16px;padding:22px 24px;background:rgba(255,255,255,.03);border:1px solid rgba(var(--c-primary-rgb),.15);border-radius:16px}
.page-hero-features .cat-feature{display:flex;align-items:center;gap:14px}
.page-hero-features .cat-feature__icon{flex:0 0 auto;width:42px;height:42px;font-size:17px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.25),rgba(var(--c-primary-rgb),.08));color:var(--c-primary);border-radius:11px}
.page-hero-features .cat-feature__body b{display:block;font-size:14.5px;font-weight:700;color:var(--c-text);line-height:1.2}
.page-hero-features .cat-feature__body span{display:block;font-size:12.5px;color:var(--c-text-muted);margin-top:2px}
.page-hero + section{padding-top:72px}
@media (max-width:900px){
  
  
  .page-hero-features{max-width:100%}
  .page-hero + section{padding-top:44px}
}

/* ═══ CATALOG-HERO-FLEX ═══ */



.page-hero-features{width:100% !important;display:flex;flex-direction:column;gap:16px;padding:22px 24px;background:rgba(255,255,255,.03);border:1px solid rgba(var(--c-primary-rgb),.15);border-radius:16px}
.page-hero-features .cat-feature{display:flex;align-items:center;gap:14px}
.page-hero-features .cat-feature__icon{flex:0 0 auto;width:42px;height:42px;font-size:17px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.25),rgba(var(--c-primary-rgb),.08));color:var(--c-primary);border-radius:11px}
.page-hero-features .cat-feature__body b{display:block;font-size:14.5px;font-weight:700;color:var(--c-text);line-height:1.2}
.page-hero-features .cat-feature__body span{display:block;font-size:12.5px;color:var(--c-text-muted);margin-top:2px}


/* ═══ CATALOG-HERO-WIDTH-FIX ═══ */
.page-hero--split .page-hero__inner,.page-hero--split .page-hero__inner--split{max-width:none !important;/* НЕ трогаем padding и margin — их задаёт .container */}
.page-hero--split .page-hero__inner--split{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:56px;align-items:center}
.page-hero--split .page-hero__col--left{display:flex;flex-direction:column;min-width:0}
.page-hero--split .page-hero__col--right{display:flex;align-items:center;justify-content:flex-end;min-width:0}
.page-hero-features{width:100%;max-width:340px;display:flex;flex-direction:column;gap:16px;padding:22px 24px;background:rgba(255,255,255,.03);border:1px solid rgba(var(--c-primary-rgb),.15);border-radius:16px}
.page-hero-features .cat-feature{display:flex;align-items:center;gap:14px}
.page-hero-features .cat-feature__icon{flex:0 0 auto;width:42px;height:42px;font-size:17px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.25),rgba(var(--c-primary-rgb),.08));color:var(--c-primary);border-radius:11px}
.page-hero-features .cat-feature__body b{display:block;font-size:14.5px;font-weight:700;color:var(--c-text);line-height:1.2}
.page-hero-features .cat-feature__body span{display:block;font-size:12.5px;color:var(--c-text-muted);margin-top:2px}
.page-hero + section{padding-top:72px}
@media (max-width:900px){
  .page-hero--split .page-hero__inner--split{grid-template-columns:1fr;gap:24px}
  .page-hero--split .page-hero__col--right{justify-content:flex-start}
  .page-hero-features{max-width:100%}
  .page-hero + section{padding-top:44px}
}

/* ═══ CATALOG-FINAL-V2 ═══ */

.page-hero--split .page-hero__col--left{display:flex !important;flex-direction:column !important;min-width:0 !important}
.page-hero--split .page-hero__col--right{display:flex !important;align-items:center !important;justify-content:flex-end !important;min-width:0 !important}
.page-hero-features{width:100% !important;max-width:340px !important;display:flex !important;flex-direction:column !important;gap:16px !important;padding:22px 24px !important;background:rgba(255,255,255,.03) !important;border:1px solid rgba(var(--c-primary-rgb),.15) !important;border-radius:16px !important}
.page-hero-features .cat-feature{display:flex;align-items:center;gap:14px}
.page-hero-features .cat-feature__icon{flex:0 0 auto;width:42px;height:42px;font-size:17px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,rgba(var(--c-primary-rgb),.25),rgba(var(--c-primary-rgb),.08));color:var(--c-primary);border-radius:11px}
.page-hero-features .cat-feature__body b{display:block;font-size:14.5px;font-weight:700;color:var(--c-text);line-height:1.2}
.page-hero-features .cat-feature__body span{display:block;font-size:12.5px;color:var(--c-text-muted);margin-top:2px}
@media (max-width:900px){.page-hero--split .page-hero__inner--split{grid-template-columns:1fr !important;gap:24px !important;padding:0 16px !important}.page-hero--split .page-hero__col--right{justify-content:flex-start !important}.page-hero-features{max-width:100% !important}}

/* ═══ ALL-PAGES-WIDE ═══ */
/* Единая ширина hero на всех страницах (= .container 1280px) */
.page-hero .page-hero__inner{max-width:1320px !important;margin:0 auto !important;padding:0 24px !important}

/* ═══ PORTFOLIO-FILTERS-CENTER ═══ */
.pf-filters{display:flex !important;justify-content:center !important;align-items:center !important;flex-wrap:wrap !important;gap:10px !important;padding:36px 0 28px !important;margin:0 auto !important}
.pf-filters .pf-filter{padding:9px 18px !important;border-radius:10px !important;font-size:13.5px !important}
@media (max-width:700px){.pf-filters{padding:24px 0 20px !important;gap:8px !important}.pf-filters .pf-filter{padding:7px 14px !important;font-size:12.5px !important}}

/* ═══ DEDUPE-HEADER ═══ */
/* На средних десктопах (901-1300) убираем дубли из шапки.
   Телефон есть в топбаре сверху, кнопка «Замерщик» — в CTA на страницах. */
@media (min-width: 901px) and (max-width: 1300px){
  .header-phone{display:none !important}
  .header-cta{display:none !important}
  /* На всякий случай не даём раздуваться */
  .header-actions{gap:12px !important}
}

/* ═══ HEADER-HARD-FIX ═══ */
/* Жёсткий фикс шапки на 901-1300px. Перебиваем ВСЁ что раздувает. */
@media (min-width: 901px) and (max-width: 1300px){
  .header-phone{display:none !important}
  .header-cta{display:none !important}
  .main-nav{    gap:0 !important;    flex:0 1 auto !important;    margin-left:auto !important;    margin-right:0 !important  }
  .main-nav .nav-item{    padding:6px 8px !important;    font-size:12.5px !important;    white-space:nowrap !important  }
  .main-nav .nav-item--parent i{font-size:9px !important}
  .nav-dropdown{margin:0 !important}
  .logo img{width:36px !important;height:36px !important}
  .logo-name{font-size:15px !important}
  .logo-tag{font-size:10px !important}
  .logo{gap:8px !important}
  .header-actions{gap:8px !important;flex-shrink:0 !important}
  .cart-link{width:38px !important;height:38px !important}
}

/* ═══ HEADER-MAX-FIX ═══ */
/* Максимальная специфичность через .site-header и .topbar */
@media (min-width: 901px) and (max-width: 1300px){
  .site-header .header-phone{display:none !important}
  .site-header .header-cta{display:none !important}
  .site-header .header-inner{padding:0 16px !important}
  .topbar .topbar-inner{padding:0 16px !important}
  .site-header .logo img{width:34px !important;height:34px !important}
  .site-header .logo{gap:6px !important;flex-shrink:0 !important}
  .site-header .logo-name{font-size:14.5px !important;line-height:1.1 !important}
  .site-header .logo-tag{font-size:10px !important}
  .site-header .main-nav{    flex:0 1 auto !important;    gap:0 !important;    min-width:0 !important;    margin-left:auto !important;    margin-right:auto !important  }
  .site-header .main-nav .nav-item{    padding:6px 7px !important;    font-size:12px !important;    letter-spacing:-.2px !important  }
  .site-header .main-nav .nav-item--parent i{font-size:8px !important}
  .site-header .header-actions{gap:8px !important;flex-shrink:0 !important}
  .site-header .cart-link{width:36px !important;height:36px !important}
  .topbar-callback{padding:6px 12px !important;font-size:12px !important}
  .topbar-callback span:not(.topbar-callback__shine){font-size:12px !important}
  .topbar-contacts a{font-size:13px !important}
}

/* ═══ RETURN-BTN-COMPACT ═══ */
@media (min-width: 901px) and (max-width: 1300px){
  .site-header .header-phone{display:none !important}
  .site-header .header-cta{    display:inline-flex !important;    padding:7px 12px !important;    font-size:12.5px !important;    white-space:nowrap !important  }
  .site-header .logo img{width:34px !important;height:34px !important}
  .site-header .logo{gap:6px !important;flex-shrink:0 !important}
  .site-header .logo-name{font-size:14.5px !important;line-height:1.1 !important}
  .site-header .logo-tag{font-size:10px !important}
  .site-header .main-nav{    flex:0 1 auto !important;    gap:0 !important;    margin-left:auto !important;    margin-right:auto !important  }
  .site-header .main-nav .nav-item{    padding:6px 7px !important;    font-size:12px !important;    letter-spacing:-.2px !important  }
  .site-header .main-nav .nav-item--parent i{font-size:8px !important}
  .site-header .header-actions{gap:10px !important;flex-shrink:0 !important}
  .site-header .cart-link{width:36px !important;height:36px !important}
  .site-header .header-inner{padding:0 16px !important}
}

/* TOPBAR-2PHONES-V1 */
.topbar-phones{display:flex;flex-direction:column;gap:2px;align-items:flex-start}
.topbar-phone{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-display,inherit);font-size:14px;font-weight:700;color:var(--c-text);text-decoration:none;white-space:nowrap;line-height:1.25;transition:color .15s}
.topbar-phone i{font-size:11px;color:var(--c-primary, #D97706);width:12px;text-align:center;flex-shrink:0}
.topbar-phone:hover{color:var(--c-primary, #D97706)}

/* TOPBAR-PHONES-ALIGN */
.topbar-phone span{font-variant-numeric:tabular-nums;font-feature-settings:'tnum' 1,'lnum' 1;letter-spacing:0;display:inline-block}
.topbar-phone i{width:16px !important;min-width:16px !important;text-align:center}
.topbar-phone{min-width:180px}

/* TECH-VIDEO-CSS-V1 */
.heaters-scheme-block__img{background:#000;border-radius:12px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.heaters-scheme-block__img .tech-video{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover}
@media (max-width:700px){.heaters-scheme-block__img .tech-video{aspect-ratio:16/10}}


/* SIZE-CARD-V2 + SIZES-3PHOTOS */
.heaters-sizes-photo{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px !important;margin-bottom:36px}
.heaters-sizes-photo__img{position:relative;background:var(--c-bg-alt);border-radius:14px;overflow:hidden;aspect-ratio:4/3}
.heaters-sizes-photo__img img{width:100%;height:100%;object-fit:cover;display:block}
.heaters-sizes-photo__img b{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(to top,rgba(0,0,0,.8),transparent);color:#fff;font-family:var(--font-display,inherit);font-size:13.5px;font-weight:700;text-align:center;letter-spacing:.3px}
.heaters-models{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:16px !important}
.heaters-model{background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:24px 20px;text-align:center;display:flex;flex-direction:column;gap:14px;transition:border-color .2s,transform .2s}
.heaters-model:hover{border-color:rgba(var(--c-primary-rgb),.4);transform:translateY(-2px)}
.heaters-model__size{font-family:var(--font-display,inherit);font-size:24px;font-weight:800;color:var(--c-text);line-height:1.1;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.06)}
.heaters-model__power{display:flex;flex-direction:column;gap:4px}
.heaters-model__power span{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--c-text-muted);opacity:.65;font-weight:600}
.heaters-model__power b{font-size:14px;font-weight:600;color:var(--c-text);line-height:1.35}
.heaters-model__price{display:flex;flex-direction:column;gap:4px;margin-top:auto;padding-top:14px;border-top:1px solid rgba(255,255,255,.06)}
.heaters-model__price span{font-size:11px;text-transform:uppercase;letter-spacing:.7px;color:var(--c-text-muted);opacity:.65;font-weight:600}
.heaters-model__price b{font-family:var(--font-display,inherit);font-size:22px;font-weight:800;color:var(--c-primary, #D97706);line-height:1.1;letter-spacing:-.3px}
@media (max-width:900px){
  .heaters-sizes-photo{grid-template-columns:repeat(2,1fr) !important;gap:12px !important;margin-bottom:28px}
  .heaters-sizes-photo__img:nth-child(3){grid-column:1 / -1;aspect-ratio:16/9}
  .heaters-models{grid-template-columns:1fr !important;gap:12px !important}
  .heaters-model{display:grid;grid-template-columns:auto 1fr 1fr;gap:16px;text-align:left;padding:18px 20px;align-items:center}
  .heaters-model__size{font-size:20px;padding-bottom:0;border-bottom:0;border-right:1px solid rgba(255,255,255,.06);padding-right:16px;min-width:70px;text-align:left}
  .heaters-model__power,.heaters-model__price{margin-top:0;padding-top:0;border-top:0;text-align:left}
  .heaters-model__price b{font-size:18px}
}
@media (max-width:600px){
  .heaters-sizes-photo{grid-template-columns:1fr !important}
  .heaters-sizes-photo__img:nth-child(3){grid-column:auto;aspect-ratio:4/3}
  .heaters-model{grid-template-columns:1fr;gap:10px;text-align:center;padding:20px}
  .heaters-model__size{border-right:0;border-bottom:1px solid rgba(255,255,255,.06);padding-right:0;padding-bottom:12px;text-align:center;min-width:0}
  .heaters-model__power,.heaters-model__price{text-align:center}
  .heaters-model__price b{font-size:22px}
}








/* SIZES-SLIDER-V2 */
.sizes-split{display:grid;grid-template-columns:1.1fr 1fr;gap:48px;align-items:center;margin-top:32px}
.sizes-split__slider{position:relative}
.auto-slider{position:relative;width:100%;aspect-ratio:4/3;border-radius:20px;overflow:hidden;background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.08);padding:24px;display:flex;align-items:center;justify-content:center}
.auto-slider__slide{position:absolute;inset:24px;width:calc(100% - 48px);height:calc(100% - 48px);object-fit:contain;opacity:0;transition:opacity .8s ease}
.auto-slider__slide.is-active{opacity:1}
.auto-slider__dots{position:absolute;left:0;right:0;bottom:14px;display:flex;justify-content:center;gap:8px;z-index:2}
.auto-slider__dot{width:8px;height:8px;border-radius:50%;background:rgba(255,255,255,.35);transition:all .3s}
.auto-slider__dot.is-active{background:var(--c-primary,#D97706);width:24px;border-radius:4px}
.sizes-split__text{display:flex;flex-direction:column;gap:18px}
.sizes-split__title{font-family:var(--font-display,inherit);font-size:26px;font-weight:800;color:var(--c-text);margin:0;line-height:1.2}
.sizes-split__desc{font-size:15px;line-height:1.65;color:var(--c-text-muted);margin:0}
.sizes-split__desc b{color:var(--c-primary,#D97706)}
.sizes-split__list{list-style:none;padding:0;margin:6px 0 8px;display:flex;flex-direction:column;gap:10px}
.sizes-split__list li{display:flex;justify-content:space-between;align-items:center;padding:12px 18px;background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.08);border-radius:10px;font-size:14px}
.sizes-split__list li span{color:var(--c-text-muted);font-weight:600}
.sizes-split__list li b{color:var(--c-text);font-weight:700}
.sizes-split__btn{align-self:flex-start;margin-top:6px}
@media (max-width:900px){
  .sizes-split{grid-template-columns:1fr;gap:28px}
  .sizes-split__title{font-size:22px}
  .auto-slider{aspect-ratio:16/10;padding:16px}
  .auto-slider__slide{inset:16px;width:calc(100% - 32px);height:calc(100% - 32px)}
  .sizes-split__btn{align-self:stretch;text-align:center;justify-content:center}
}

/* ECO-SECTION */
.section--eco{padding:60px 0}
.section--eco .section-head{text-align:center;max-width:900px;margin:0 auto 24px}
.section--eco .section-subtitle{font-size:15px;line-height:1.65;color:var(--c-text-muted);margin:14px auto 0;max-width:800px}
.eco-tagline{display:inline-flex;align-items:center;gap:10px;padding:10px 22px;background:rgba(var(--c-primary-rgb),.1);border:1px solid rgba(var(--c-primary-rgb),.25);border-radius:999px;color:var(--c-primary,#D97706);font-family:var(--font-display,inherit);font-size:14px;font-weight:700;margin:0 auto 40px;width:fit-content;display:block;text-align:center}
.eco-tagline i{color:var(--c-primary,#D97706);margin-right:6px;font-size:15px}
.section--eco .container > .eco-tagline{margin-left:auto;margin-right:auto}
.eco-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:16px}
.eco-card{background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.08);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:border-color .25s}
.eco-card:hover{border-color:rgba(var(--c-primary-rgb),.4)}
.eco-card__img{width:100%;aspect-ratio:1/1;background:var(--c-bg);overflow:hidden;position:relative}
.eco-card__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.eco-card:hover .eco-card__img img{transform:scale(1.04)}
.eco-card__title{font-family:var(--font-display,inherit);font-size:22px;font-weight:800;color:var(--c-text);text-align:center;padding:22px 22px 12px;margin:0;line-height:1.2}
.eco-card__text{font-size:14px;line-height:1.65;color:var(--c-text-muted);padding:0 22px 26px;margin:0;flex:1}
@media (max-width:900px){
  .section--eco{padding:44px 0}
  .eco-grid{grid-template-columns:1fr;gap:20px;max-width:420px;margin-left:auto;margin-right:auto}
  .eco-card__img{aspect-ratio:16/10}
  .eco-card__title{font-size:20px;padding:18px 18px 10px}
  .eco-card__text{padding:0 18px 22px;font-size:13.5px}
  .eco-tagline{font-size:13px;padding:9px 18px}
}

/* COLOR-ZOOM-FIX */
.heaters-color-real__img{aspect-ratio:16/10;background-size:contain;background-position:center;background-repeat:no-repeat;background-color:var(--c-bg)}

/* CHAIN-BG-FIX */
.heaters-chain-photo__img{background:var(--c-bg-alt);aspect-ratio:16/10;padding:20px;display:flex;align-items:center;justify-content:center}
.heaters-chain-photo__img img{max-width:100%;max-height:100%;object-fit:contain}

/* ═══ TOPBAR-MOBILE-V1 ═══ */
@media (max-width:900px){
  .topbar{padding:10px 0}
  .topbar-info{font-size:12.5px;gap:14px}
  .topbar-info span{white-space:nowrap}
  .topbar-contacts{gap:12px}
  .topbar-phones{gap:0}
  .topbar-phone{font-size:12.5px;gap:5px}
  .topbar-phone i{width:11px;font-size:10px}
  .topbar-callback{padding:7px 14px;font-size:12px}
}
@media (max-width:700px){
  .topbar{padding:12px 0}
  .topbar-inner{flex-direction:column;gap:10px;text-align:center}
  .topbar-info{justify-content:center;flex-wrap:wrap;gap:10px 16px;font-size:12px;text-align:center}
  .topbar-info span{white-space:normal}
  .topbar-contacts{flex-direction:column;gap:8px;width:100%;align-items:center}
  .topbar-phones{flex-direction:row;gap:20px;justify-content:center;flex-wrap:wrap;width:100%}
  .topbar-phone{font-size:13px;gap:6px;justify-content:center}
  .topbar-phone i{width:auto;font-size:11px}
  .topbar-callback{width:100%;max-width:340px;justify-content:center;padding:9px 16px;font-size:13px}
  .topbar-callback__shine{display:none}
}
@media (max-width:480px){
  .topbar{padding:10px 0}
  .topbar-info{font-size:11px;gap:8px 12px}
  .topbar-info span i{margin-right:3px;font-size:10px}
  .topbar-phones{flex-direction:column;gap:4px}
  .topbar-phone{font-size:12.5px}
  .topbar-callback{padding:8px 14px;font-size:12px;max-width:100%}
}

/* ═══════ TOPBAR-MOBILE-FINAL ═══════ */
@media (max-width:900px){.topbar{padding:10px 0}.topbar-inner{gap:14px;flex-wrap:wrap}.topbar-info{gap:14px;font-size:12.5px}.topbar-info span{white-space:nowrap}.topbar-contacts{gap:12px}.topbar-phones{gap:0}.topbar-phone{font-size:12.5px;gap:5px;min-width:0}.topbar-phone i{width:11px !important;min-width:11px !important;font-size:10px}.topbar-callback{padding:7px 14px;font-size:12px}}
@media (max-width:700px){.topbar{padding:14px 0}.topbar-inner{flex-direction:column;gap:10px;text-align:center;align-items:center}.topbar-info{justify-content:center;flex-wrap:wrap;gap:10px 16px;font-size:12px;text-align:center;width:100%}.topbar-info span{white-space:normal}.topbar-info span:last-child{display:inline}.topbar-info i{margin-right:4px}.topbar-contacts{flex-direction:column;gap:10px;width:100%;align-items:center}.topbar-contacts a:first-child{display:inline-flex !important}.topbar-phones{flex-direction:row;gap:20px;justify-content:center;flex-wrap:wrap;width:100%}.topbar-phone{font-size:13px;gap:6px;justify-content:center;min-width:0}.topbar-phone i{width:auto !important;min-width:auto !important;font-size:11px}.topbar-phone span{font-size:13px}.topbar-callback{width:100%;max-width:360px;justify-content:center;padding:10px 18px;font-size:13px;border-radius:24px}.topbar-callback__shine{display:none}.topbar-callback span:not(.topbar-callback__shine){display:inline !important}}
@media (max-width:480px){.topbar{padding:12px 0}.topbar-info{font-size:11.5px;gap:8px 14px}.topbar-info span i{margin-right:3px;font-size:10px}.topbar-phones{flex-direction:column;gap:6px;align-items:center}.topbar-phone{font-size:13px;justify-content:center}.topbar-phone i{font-size:11px}.topbar-callback{padding:9px 16px;font-size:12.5px;max-width:100%}}

/* ═══════ TOPBAR-MOBILE-FINAL-V2 ═══════ */
@media (max-width:900px){.topbar{padding:10px 0}.topbar-inner{gap:14px;flex-wrap:wrap}.topbar-info{gap:14px;font-size:12.5px}.topbar-info span{white-space:nowrap}.topbar-contacts{gap:12px}.topbar-phones{gap:0}.topbar-phone{font-size:12.5px;gap:5px;min-width:0}.topbar-phone i{width:11px !important;min-width:11px !important;font-size:10px}.topbar-callback{padding:7px 14px;font-size:12px}}
@media (max-width:700px){.topbar{padding:14px 0}.topbar-inner{flex-direction:column;gap:10px;text-align:center;align-items:center}.topbar-info{justify-content:center;flex-wrap:wrap;gap:10px 16px;font-size:12px;text-align:center;width:100%}.topbar-info span{white-space:normal}.topbar-info span:last-child{display:inline}.topbar-info i{margin-right:4px}.topbar-contacts{flex-direction:column;gap:12px;width:100%;align-items:center}.topbar-contacts a:first-child{display:inline-flex !important}.topbar-phones{flex-direction:row;gap:20px;justify-content:center;flex-wrap:wrap;width:100%}.topbar-phone{font-size:13px;gap:6px;justify-content:center;min-width:0}.topbar-phone i{width:auto !important;min-width:auto !important;font-size:11px}.topbar-phone span{font-size:13px}.topbar-callback{width:auto;max-width:none;padding:9px 20px;font-size:13px;border-radius:22px}.topbar-callback__shine{display:block}.topbar-callback span:not(.topbar-callback__shine){display:inline !important}}
@media (max-width:480px){.topbar{padding:12px 0}.topbar-info{font-size:11.5px;gap:8px 14px}.topbar-info span i{margin-right:3px;font-size:10px}.topbar-phones{flex-direction:column;gap:6px;align-items:center}.topbar-phone{font-size:13px;justify-content:center}.topbar-phone i{font-size:11px}.topbar-callback{padding:8px 16px;font-size:12.5px;width:auto;max-width:none}}

/* CATALOG-PREVIEW-CENTER */
#catalog-preview .section-subtitle{margin:0 auto !important;max-width:640px;text-align:center}
#catalog-preview .section-head{text-align:center}
#catalog-preview .section-title{text-align:center}

/* ═══════ ALL-BLOCKS-CENTER ═══════ */
.section-head{text-align:center;margin-left:auto;margin-right:auto}
.section-head .section-subtitle{margin-left:auto !important;margin-right:auto !important;text-align:center}
.section-head .section-title{text-align:center}
.section-head > .tag{display:inline-block;margin-left:auto;margin-right:auto}
.section-video .section-head{text-align:center;margin-left:auto;margin-right:auto}
.section-video .section-subtitle{margin-left:auto !important;margin-right:auto !important;text-align:center}
@media (max-width:700px){
  .section-head .section-subtitle{margin-left:auto !important;margin-right:auto !important}
  .section-video .section-subtitle{margin-left:auto !important;margin-right:auto !important}
}



/* ZAPIS-STRETCH-V3 */
.zapis-grid{align-items:stretch !important}
.zapis-info{display:flex !important;flex-direction:column !important;height:100% !important}
.zapis-info__title{margin-top:0 !important;margin-bottom:26px !important}
.zapis-info__list{flex:1 1 auto !important;display:flex !important;flex-direction:column !important;justify-content:space-between !important;gap:0 !important;margin-bottom:32px !important;list-style:none;padding:0}
.zapis-info__list li{display:flex;gap:16px;align-items:flex-start;padding:10px 0}
.zapis-info__icon{flex:0 0 auto;width:46px !important;height:46px !important;font-size:17px !important}
.zapis-info__list b{display:block;font-size:15px !important;margin-bottom:4px !important;color:var(--c-text)}
.zapis-info__list span{display:block;font-size:13px !important;line-height:1.55;color:var(--c-text-muted)}
.zapis-guarantees{margin-top:auto !important;padding-top:24px !important;border-top:1px solid rgba(255,255,255,.08)}
.zapis-form-wrap{display:flex !important;flex-direction:column !important;height:100% !important}
.zapis-form{display:flex !important;flex-direction:column !important;height:100% !important}
.zapis-form .btn,.zapis-form button[type=submit]{margin-top:auto !important}
@media (max-width:900px){.zapis-grid{align-items:start !important}.zapis-info,.zapis-form-wrap,.zapis-form{height:auto !important}.zapis-info__list{flex:0 1 auto !important;gap:16px !important}.zapis-info__list li{padding:0}.zapis-guarantees{margin-top:0 !important}}


/* CATALOG-ALIGN-FINAL */
.page-hero--split .page-hero__inner--split{max-width:1320px !important;margin:0 auto !important;padding:0 24px !important;display:grid !important;grid-template-columns:minmax(0,1fr) 340px !important;gap:56px !important;align-items:center !important}
.page-hero--split .page-hero__title{max-width:none !important}

/* COMPLECT-CLICK-CSS */
.complect-card{cursor:pointer}
.complect-card:hover{transform:translateY(-4px);border-color:rgba(var(--c-primary-rgb),.4);box-shadow:0 16px 36px rgba(0,0,0,.35)}


/* PRODUCT-PARTS-CSS */
.product-parts{margin-top:28px;padding-top:24px;border-top:1px solid rgba(255,255,255,.08)}
.product-parts__title{font-family:Montserrat,sans-serif;font-size:18px;font-weight:700;color:var(--c-text);margin:0 0 16px;line-height:1.3}
.product-parts__grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px}
.product-part{display:flex;gap:12px;align-items:center;background:var(--c-bg-alt);border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:8px;transition:border-color .2s}
.product-part:hover{border-color:rgba(var(--c-primary-rgb),.35)}
.product-part__img{flex:0 0 auto;width:52px;height:52px;background:#fff;border-radius:8px;overflow:hidden;display:flex;align-items:center;justify-content:center}
.product-part__img img{width:100%;height:100%;object-fit:contain}
.product-part__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.product-part__body b{font-size:13px;font-weight:700;color:var(--c-text);line-height:1.25;display:block}
.product-part__body span{font-size:11.5px;color:var(--c-text-muted);line-height:1.3;display:block}
@media (max-width:900px){.product-parts__grid{grid-template-columns:1fr}}
@media (max-width:500px){.product-part__img{width:44px;height:44px}.product-part__body b{font-size:12.5px}.product-part__body span{font-size:11px}}


/* PV-COLORS-FINAL */
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-row,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-row{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-bottom:16px}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-label,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-label{min-width:0;padding:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-options,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-option,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-option{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;font-size:13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-option > span:last-child,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-option > span:last-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:600px){.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-options,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-options{grid-template-columns:1fr}}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-bottom:14px}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-label{min-width:0;padding:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-options{display:flex;flex-wrap:wrap;gap:8px;width:auto;justify-content:flex-start}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-option{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;width:auto;flex:0 0 auto;font-size:13px;white-space:nowrap}

/* PV-COLORS-FINAL */
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-row,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-row{display:flex;flex-direction:column;gap:12px;align-items:stretch;margin-bottom:16px}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-label,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-label{min-width:0;padding:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-options,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-options{display:grid;grid-template-columns:1fr 1fr;gap:8px;width:100%}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-option,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-option{display:flex;align-items:center;gap:10px;padding:10px 14px;width:100%;font-size:13px;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-option > span:last-child,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-option > span:last-child{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media (max-width:600px){.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ZHIDK"] .pv-options,.product-variants[data-variant-type="combo"][data-sku-prefix^="AG-ELEKTR"] .pv-options{grid-template-columns:1fr}}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-row{display:flex;flex-direction:column;gap:12px;align-items:flex-start;margin-bottom:14px}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-label{min-width:0;padding:0;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-options{display:flex;flex-wrap:wrap;gap:8px;width:auto;justify-content:flex-start}
.product-variants[data-variant-type="combo"]:not([data-sku-prefix^="AG-ZHIDK"]):not([data-sku-prefix^="AG-ELEKTR"]) .pv-option{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;width:auto;flex:0 0 auto;font-size:13px;white-space:nowrap}

/* PRODUCT-PART-QTY-CSS */
.product-part__qty{font-style:normal;font-size:11px;font-weight:700;color:var(--c-primary,#D97706);background:rgba(var(--c-primary-rgb),.12);padding:2px 7px;border-radius:4px;margin-left:auto;white-space:nowrap;flex-shrink:0}
.product-part__qty.is-na{color:var(--c-text-muted);background:rgba(255,255,255,.05);font-weight:500;font-style:italic;opacity:.75}
.product-part__body b{display:flex;align-items:center;gap:8px;justify-content:space-between}




/* PRODUCT-PART-ZOOM-V2 */
.product-part__img{position:relative;z-index:1;transition:z-index 0s .15s}
.product-part:hover .product-part__img{z-index:100}
.product-part__img img{transition:transform .35s cubic-bezier(.2,.8,.3,1),box-shadow .35s;transform-origin:center center;cursor:zoom-in;position:relative;z-index:2}
.product-part:hover .product-part__img img{transform:scale(2.8);box-shadow:0 8px 32px rgba(0,0,0,.6);border-radius:8px;z-index:200}

/* CATALOG-MOBILE-V1 */
@media (max-width:900px){
.page-hero--split .page-hero__inner--split{grid-template-columns:1fr !important;gap:20px !important;padding:0 16px !important}
.page-hero--split .page-hero__col--left,.page-hero--split .page-hero__col--right{width:100% !important;max-width:100% !important}
.page-hero--split .page-hero-features{max-width:100% !important;padding:16px 18px !important;gap:12px !important;margin-top:8px}
.page-hero--split .page-hero-features .cat-feature{gap:12px}
.page-hero--split .page-hero-features .cat-feature__icon{width:38px !important;height:38px !important;font-size:15px !important}
.page-hero--split .page-hero-features .cat-feature__body b{font-size:13.5px !important}
.page-hero--split .page-hero-features .cat-feature__body span{font-size:11.5px !important}
.page-hero--split .catalog-meta--in-hero{margin-top:12px !important}
}
@media (max-width:700px){
.page-hero--split{padding:24px 0 20px !important}
.page-hero--split .page-hero__icon{width:36px !important;height:36px !important;font-size:15px !important;margin-bottom:10px !important;border-radius:10px !important}
.page-hero--split .page-hero__title{font-size:22px !important;margin-bottom:10px !important;line-height:1.2 !important}
.page-hero--split .page-hero__title::after{width:40px !important;height:3px !important;margin-top:12px !important}
.page-hero--split .page-hero__subtitle{font-size:14px !important;margin-bottom:12px !important;line-height:1.5 !important}
.page-hero--split .catalog-meta__cnt{padding:6px 12px !important;font-size:12px !important}
.page-hero--split .catalog-meta__cnt b{font-size:13px !important}
.page-hero--split .page-hero-features{padding:14px 16px !important;gap:10px !important}
.page-hero--split .page-hero-features .cat-feature__icon{width:34px !important;height:34px !important;font-size:14px !important}
.page-hero--split .page-hero-features .cat-feature__body b{font-size:13px !important}
.page-hero--split .page-hero-features .cat-feature__body span{font-size:11px !important}
}
@media (max-width:400px){
.page-hero--split .page-hero__title{font-size:20px !important}
.page-hero--split .page-hero__subtitle{font-size:13px !important}
}

/* PRODUCT-PAGE-MOBILE-V1 */
@media (max-width:900px){
  .product-page-wrap{padding:12px 0 60px}
  .product-page-wrap .container{padding:0 16px}
  .product-wrap{gap:24px;margin-bottom:40px}
  .product-gallery__main{border-radius:10px}
  .product-gallery__thumbs{gap:8px;margin-top:10px}
  .product-gallery__thumbs .thumb{width:56px;height:56px;border-radius:6px}
  .product-title{font-size:22px !important;line-height:1.25}
  .product-price,.price-value{font-size:24px !important}
  .product-actions{gap:8px}
  .product-actions .btn{flex:1 1 auto;justify-content:center}
  .product-full{margin-top:20px}
  .product-full h3{font-size:18px}
  .product-variants{margin:14px 0 16px;padding:14px 0}
  .pv-option{font-size:12.5px;padding:9px 12px}
}
@media (max-width:700px){
  .product-page-wrap{padding:8px 0 50px}
  .product-wrap{gap:20px;margin-bottom:32px}
  .product-gallery__main{border-radius:8px}
  .product-gallery__thumbs{gap:6px;margin-top:8px;justify-content:center}
  .product-gallery__thumbs .thumb{width:48px;height:48px;border-radius:5px}
  .product-title{font-size:19px !important;margin-bottom:10px !important}
  .product-price,.price-value{font-size:22px !important}
  .product-actions{flex-direction:column;gap:8px;width:100%}
  .product-actions .btn,.product-actions button{width:100%}
  .product-full{margin-top:16px;padding-top:16px}
  .product-full h3{font-size:16px;margin-bottom:10px}
  .product-full p{font-size:13.5px;line-height:1.55}
  .product-variants{margin:12px 0 14px;padding:12px 0;gap:10px}
  .pv-label{font-size:11px}
  .pv-option{font-size:12px;padding:9px 12px;gap:6px}
  .pv-swatch{width:14px;height:14px}
}
@media (max-width:400px){
  .product-title{font-size:17px !important}
  .product-price,.price-value{font-size:20px !important}
  .pv-option{font-size:11.5px;padding:8px 10px}
  .product-gallery__thumbs .thumb{width:42px;height:42px}
}
@media (max-width:900px){
  .product-gallery{position:sticky;top:0;z-index:5;background:var(--c-bg,#0E1116);padding-bottom:8px}
}


/* PRODUCT-SPECS-LIST */
.product-full h3{font-family:Montserrat,sans-serif;font-size:18px;font-weight:700;color:var(--c-text);margin:24px 0 14px;line-height:1.3}
.product-specs-list{list-style:none;padding:0 0 0 0;margin:0;display:flex;flex-direction:column;gap:8px}
.product-specs-list li{position:relative;padding:0 0 0 22px;font-size:14px;line-height:1.5;color:var(--c-text)}
.product-specs-list li::before{content:'';position:absolute;left:6px;top:9px;width:6px;height:6px;border-radius:50%;background:var(--c-primary,#D97706)}
.product-specs-list li b{color:var(--c-text);font-weight:600;margin-right:4px}
@media (max-width:700px){.product-full h3{font-size:16px;margin:20px 0 12px}.product-specs-list li{font-size:13.5px;padding-left:20px}.product-specs-list li::before{left:5px;top:8px;width:5px;height:5px}}





/* PRODUCT-GALLERY-WHITE */
.product-gallery{max-width:400px !important;width:100%}
.product-gallery__main{aspect-ratio:unset !important;height:400px !important;background:#fff !important;border-radius:12px;padding:20px !important;box-sizing:border-box}
.product-gallery__main img{width:100% !important;height:100% !important;object-fit:contain !important;object-position:center center !important}
.product-gallery__thumbs{gap:6px !important;margin-top:10px !important;justify-content:flex-start}
.product-gallery__thumbs .thumb{width:52px !important;height:52px !important;border-radius:6px !important;background:#fff !important}
.product-wrap{grid-template-columns:minmax(0, 400px) minmax(0, 1fr) !important;gap:40px !important}
@media (max-width:900px){
  .product-gallery{max-width:100% !important}
  .product-gallery__main{height:320px !important;padding:16px !important}
  .product-gallery__thumbs .thumb{width:46px !important;height:46px !important}
  .product-wrap{grid-template-columns:1fr !important;gap:20px !important}
}
@media (max-width:400px){
  .product-gallery__main{height:260px !important}
  .product-gallery__thumbs .thumb{width:42px !important;height:42px !important}
}

/* ═══════════════════════════════════════════════════════════════════
   PAGE-CONTENT-CSS — типографика для пользовательского HTML из админки
   ═══════════════════════════════════════════════════════════════════ */
.section--page-content { padding: 40px 0 0; }
.section--page-content .page-content {
    max-width: 900px;
    margin: 0 auto;
    font-size: 16px;
    line-height: 1.75;
    color: var(--c-text);
}
.page-content h1,
.page-content h2 {
    font-family: var(--font-display);
    font-size: clamp(24px, 2.5vw, 32px);
    font-weight: 800;
    color: var(--c-text);
    margin: 32px 0 16px;
    line-height: 1.2;
}
.page-content h3 {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 700;
    color: var(--c-text);
    margin: 24px 0 12px;
    line-height: 1.3;
}
.page-content h4 {
    font-size: 17px;
    font-weight: 700;
    color: var(--c-text);
    margin: 20px 0 10px;
}
.page-content p { margin: 0 0 16px; }
.page-content a {
    color: var(--c-primary);
    text-decoration: none;
    border-bottom: 1px dashed rgba(var(--c-primary-rgb),.4);
    transition: border-color .15s;
}
.page-content a:hover { border-bottom-style: solid; }
.page-content strong { color: var(--c-text); font-weight: 700; }
.page-content em { font-style: italic; }
.page-content ul,
.page-content ol {
    margin: 0 0 16px;
    padding-left: 22px;
}
.page-content li { margin-bottom: 8px; }
.page-content ul li::marker { color: var(--c-primary); }
.page-content ol li::marker { color: var(--c-primary); font-weight: 700; }
.page-content blockquote {
    border-left: 3px solid var(--c-primary);
    background: rgba(var(--c-primary-rgb),.05);
    padding: 16px 20px;
    margin: 20px 0;
    border-radius: 0 8px 8px 0;
    color: var(--c-text-muted);
    font-style: italic;
}
.page-content code {
    font-family: 'JetBrains Mono', Consolas, monospace;
    font-size: .9em;
    background: rgba(var(--c-primary-rgb),.08);
    color: var(--c-primary-light);
    padding: 2px 8px;
    border-radius: 5px;
}
.page-content pre {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.08);
    border-radius: 10px;
    padding: 16px 20px;
    overflow-x: auto;
    margin: 20px 0;
}
.page-content pre code {
    background: none;
    color: var(--c-text);
    padding: 0;
}
.page-content img {
    max-width: 100%;
    height: auto;
    border-radius: 12px;
    margin: 16px 0;
    display: block;
}
.page-content iframe,
.page-content video {
    max-width: 100%;
    border-radius: 12px;
    margin: 16px 0;
    display: block;
}
.page-content iframe {
    aspect-ratio: 16/9;
    width: 100%;
    height: auto;
    border: 0;
}
.page-content hr {
    border: 0;
    height: 1px;
    background: rgba(255,255,255,.1);
    margin: 32px 0;
}
.page-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0;
    font-size: 14.5px;
}
.page-content th,
.page-content td {
    padding: 10px 14px;
    text-align: left;
    border-bottom: 1px solid rgba(255,255,255,.08);
}
.page-content th {
    background: var(--c-bg-alt);
    color: var(--c-text);
    font-weight: 700;
    font-size: 13px;
    text-transform: uppercase;
    letter-spacing: .5px;
}
.page-content td { color: var(--c-text-muted); }
.page-content svg { max-width: 100%; height: auto; }
@media (max-width: 700px) {
    .section--page-content { padding: 24px 0 0; }
    .page-content { font-size: 15px; }
}
/* /PAGE-CONTENT-CSS */




/* Иконка расчёта — заметная */
.calc-result-box {
    display: flex !important;
    align-items: center !important;
    gap: 20px !important;
    text-align: left !important;
}
.calc-result-box__icon {
    flex-shrink: 0 !important;
    width: 80px !important;
    height: 80px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, rgba(201, 123, 63, 0.15), rgba(201, 123, 63, 0.05)) !important;
    border: 1px solid rgba(201, 123, 63, 0.25) !important;
    border-radius: 14px !important;
    padding: 10px !important;
    overflow: hidden !important;
}
.calc-result-box__icon img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    display: block !important;
}
.calc-result-box__body {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
}

@media (max-width: 540px) {
    .calc-result-box {
        flex-direction: column !important;
        text-align: center !important;
        gap: 16px !important;
    }
    .calc-result-box__icon {
        width: 64px !important;
        height: 64px !important;
    }
    .calc-result-box__body {
        text-align: center !important;
    }
}


/* Иконка расчёта — заметная */
.calc-result-box {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    text-align: left !important;
}
.calc-result-box__icon {
    display: flex !important;
    width: 90px !important;
    height: 90px !important;
    min-width: 90px !important;
    min-height: 90px !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, rgba(201,123,63,0.22), rgba(201,123,63,0.08)) !important;
    border: 1.5px solid rgba(201,123,63,0.4) !important;
    border-radius: 16px !important;
    padding: 8px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 16px rgba(201,123,63,0.15) !important;
}
.calc-result-box__icon img {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
.calc-result-box__body {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
}

@media (max-width: 540px) {
    .calc-result-box {
        flex-direction: column !important;
        text-align: center !important;
        gap: 16px !important;
    }
    .calc-result-box__icon {
        width: 72px !important;
        height: 72px !important;
        min-width: 72px !important;
        min-height: 72px !important;
    }
    .calc-result-box__body {
        text-align: center !important;
    }
}

/* Иконка расчёта — белый фон, крупная */
.calc-result-box {
    display: flex !important;
    align-items: center !important;
    gap: 24px !important;
    text-align: left !important;
}
.calc-result-box__icon {
    display: flex !important;
    width: 96px !important;
    height: 96px !important;
    min-width: 96px !important;
    min-height: 96px !important;
    align-items: center !important;
    justify-content: center !important;
    background: #ffffff !important;
    border: 2px solid rgba(201, 123, 63, 0.35) !important;
    border-radius: 16px !important;
    padding: 8px !important;
    overflow: hidden !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15) !important;
}
.calc-result-box__icon img {
    display: block !important;
    max-width: 100% !important;
    max-height: 100% !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}
.calc-result-box__body {
    flex: 1 !important;
    min-width: 0 !important;
    text-align: left !important;
}

@media (max-width: 540px) {
    .calc-result-box {
        flex-direction: column !important;
        text-align: center !important;
        gap: 16px !important;
    }
    .calc-result-box__icon {
        width: 80px !important;
        height: 80px !important;
        min-width: 80px !important;
        min-height: 80px !important;
    }
    .calc-result-box__body {
        text-align: center !important;
    }
    .calc-engineer-avatar {
        width: 64px !important;
        height: 64px !important;
        min-width: 64px !important;
        min-height: 64px !important;
    }
}

/* CALC-IMG-V7: аватар, баннер в сайдбаре и валидация */
.calc-engineer-avatar {
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    min-height: 72px !important;
    border-radius: 50% !important;
    overflow: hidden !important;
    clip-path: circle(50% at 50% 50%) !important;
    position: relative !important;
    background: #ffffff !important;
    display: block !important;
    flex-shrink: 0 !important;
    box-shadow: 0 4px 14px rgba(201, 123, 63, 0.25) !important;
}
.calc-engineer-avatar img {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
    object-position: center bottom !important;
    display: block !important;
}

/* Баннер с иконкой расчёта в сайдбаре */



/* Блок результата — без иконки, обычный */
.calc-result-box {
    display: block !important;
    text-align: center !important;
}
.calc-result-box__body {
    text-align: center !important;
}

/* Подсветка ошибки на шаге */
.calc-step.has-error {
    animation: calcShake 0.4s ease-in-out;
}
.calc-step.has-error .calc-options-grid,
.calc-step.has-error .calc-fields-row {
    box-shadow: 0 0 0 2px rgba(239, 68, 68, 0.4);
    border-radius: 12px;
    transition: box-shadow 0.2s;
}
@keyframes calcShake {
    0%, 100% { transform: translateX(0); }
    25%      { transform: translateX(-6px); }
    75%      { transform: translateX(6px); }
}

@media (max-width: 540px) {
    .calc-engineer-avatar {
        width: 60px !important;
        height: 60px !important;
        min-width: 60px !important;
        min-height: 60px !important;
    }
}
/* NOTIF-ERROR-MODAL-V1: красивая модалка ошибки валидации */
.calc-error-modal {
    position: fixed; inset: 0;
    background: rgba(0, 0, 0, 0.75);
    backdrop-filter: blur(6px);
    display: none;
    align-items: center; justify-content: center;
    z-index: 9999;
    padding: 20px;
    animation: calcErrFadeIn 0.2s ease-out;
}
.calc-error-modal.is-open { display: flex; }
@keyframes calcErrFadeIn { from { opacity: 0; } to { opacity: 1; } }

.calc-error-modal__box {
    background: linear-gradient(135deg, #1A1F28 0%, #0E1116 100%);
    border: 1px solid rgba(239, 68, 68, 0.35);
    border-radius: 20px;
    padding: 36px 32px 28px;
    max-width: 400px;
    width: 100%;
    text-align: center;
    box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6), 0 0 0 1px rgba(239, 68, 68, 0.08);
    animation: calcErrScaleIn 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
    position: relative;
    overflow: hidden;
}
@keyframes calcErrScaleIn {
    from { transform: scale(0.9) translateY(20px); opacity: 0; }
    to   { transform: scale(1) translateY(0); opacity: 1; }
}
.calc-error-modal__box::before {
    content: '';
    position: absolute;
    top: 0; left: 0; right: 0;
    height: 3px;
    background: linear-gradient(90deg, transparent, #EF4444, transparent);
}

.calc-error-modal__icon {
    width: 76px; height: 76px;
    margin: 0 auto 22px;
    background: rgba(239, 68, 68, 0.1);
    border: 2px solid rgba(239, 68, 68, 0.4);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #EF4444;
    font-size: 1.9rem;
    position: relative;
    animation: calcErrIconPulse 0.6s ease-out 0.2s;
}
.calc-error-modal__icon::after {
    content: '';
    position: absolute;
    inset: -8px;
    border-radius: 50%;
    border: 1px solid rgba(239, 68, 68, 0.2);
    animation: calcErrRing 1.5s ease-out 0.4s;
}
@keyframes calcErrIconPulse {
    0%   { transform: scale(0.8); }
    50%  { transform: scale(1.05); }
    100% { transform: scale(1); }
}
@keyframes calcErrRing {
    0%   { transform: scale(0.9); opacity: 0.8; }
    100% { transform: scale(1.3); opacity: 0; }
}

.calc-error-modal__title {
    color: #FFFFFF;
    font-size: 1.35rem;
    font-weight: 700;
    margin: 0 0 10px;
    line-height: 1.3;
}
.calc-error-modal__text {
    color: #8B92A0;
    font-size: 0.98rem;
    line-height: 1.6;
    margin: 0 0 24px;
}

/* ONLINE-BADGE-V1: плашка «Сейчас онлайн» */
.calc-engineer-online {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 6px;
    padding: 4px 12px;
    background: rgba(74, 222, 128, 0.12);
    border: 1px solid rgba(74, 222, 128, 0.35);
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
    color: #4ADE80;
    line-height: 1;
}
100% { transform: scale(1.8); opacity: 0; }
}
.calc-engineer-online__text {
    white-space: nowrap;
}

/* BTN-SHINE-V1: серебристая полоса пробегает по кнопке (копия эффекта topbar-callback) */
.btn-shine {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}
.btn-shine::before {
    content: '';
    position: absolute;
    top: 0;
    left: -75%;
    width: 40%;
    height: 100%;
    background: linear-gradient(
        120deg,
        rgba(255,255,255,0) 0%,
        rgba(255,255,255,.15) 20%,
        rgba(255,255,255,.75) 45%,
        rgba(255,255,255,.85) 50%,
        rgba(255,255,255,.75) 55%,
        rgba(255,255,255,.15) 80%,
        rgba(255,255,255,0) 100%
    );
    transform: skewX(-20deg);
    animation: cbShine 3.5s ease-in-out infinite;
    pointer-events: none;
    z-index: 1;
}
.btn-shine > *,
.btn-shine > i,
.btn-shine > span {
    position: relative;
    z-index: 2;
}

/* Отключаем на мобильных — там не видно, экономит ресурсы */
@media (max-width: 700px) {
    .btn-shine::before { display: none; }
}

/* SIDEBAR-UI-V1: новый дизайн блока «После получения ответов» */
.calc-sidebar-heading {
    margin: 22px 0 14px;
    padding-bottom: 10px;
    border-bottom: 1px solid rgba(var(--c-primary-rgb), .18);
    font-size: 0.98rem;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.4;
    letter-spacing: .1px;
}

.calc-benefits {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.calc-benefit {
    display: flex;
    align-items: center;
    gap: 12px;
    font-size: 0.92rem;
    color: var(--c-text-muted);
    line-height: 1.5;
    padding: 4px 0;
}

.calc-benefit__check {
    flex-shrink: 0;
    width: 26px;
    height: 26px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), .12);
    border: 1px solid rgba(var(--c-primary-rgb), .3);
    border-radius: 8px;
    color: var(--c-primary);
    font-size: 11px;
}

.calc-benefit__text {
    flex: 1;
    min-width: 0;
}

/* Первый пункт — с картинкой */
.calc-benefit--featured {
    padding: 12px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb), .08), rgba(var(--c-primary-rgb), .02));
    border: 1px solid rgba(var(--c-primary-rgb), .2);
    border-radius: 12px;
    align-items: center;
    font-size: 0.95rem;
    color: var(--c-text);
    margin-bottom: 4px;
}

.calc-benefit--featured .calc-benefit__icon {
    flex-shrink: 0;
    width: 52px;
    height: 52px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 10px;
    padding: 6px;
    box-shadow: 0 2px 8px rgba(var(--c-primary-rgb), .2);
}

.calc-benefit--featured .calc-benefit__icon img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
}

.calc-benefit--featured .calc-benefit__text strong {
    color: var(--c-primary-light);
    font-weight: 700;
}

.calc-sidebar-note {
    margin-top: 18px;
    padding-top: 16px;
    border-top: 1px solid rgba(var(--c-primary-rgb), .1);
    font-size: 0.82rem;
    color: var(--c-text-muted);
    line-height: 1.55;
    opacity: 0.85;
}

/* CONTACTS-ALIGN-V1: выравнивание формы и контактов по высоте */
.contacts-grid > .contacts-info,
.contacts-grid > .calc-wrapper {
    height: 100%;
}
.contacts-grid > .calc-wrapper {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 40px 32px;
    max-width: none;
    margin: 0;
}
.contacts-grid > .calc-wrapper > form {
    width: 100%;
}

/* Мобильная версия — как было */
@media (max-width: 768px) {
    .contacts-grid > .calc-wrapper {
        padding: 28px 20px;
    }
}





/* FORM-STRETCH-V2: точная растяжка формы до низа блока контактов */
.contacts-grid > .calc-wrapper {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
    padding: 32px !important;
    max-width: none !important;
    margin: 0 !important;
    height: 100% !important;
    box-sizing: border-box !important;
}
.contacts-grid > .calc-wrapper > .calc-form {
    flex: 1 !important;
    margin-bottom: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    grid-template-rows: auto auto 1fr auto !important;
    gap: 18px !important;
    align-content: stretch !important;
}
.contacts-grid > .calc-wrapper > .calc-form > .calc-field {
    display: flex !important;
    flex-direction: column !important;
    justify-content: flex-start !important;
}
.contacts-grid > .calc-wrapper > .calc-form > .calc-field:nth-of-type(3) {
    justify-content: space-between !important;
}
.contacts-grid > .calc-wrapper > .calc-form > .calc-field:nth-of-type(3) textarea {
    flex: 1 !important;
    min-height: 90px !important;
}

@media (max-width: 768px) {
    .contacts-grid > .calc-wrapper {
        padding: 24px 18px !important;
    }
}


/* CONTACTS-UNDERLINE-V1: убрать подчёркивание у ссылок-карточек контактов */
a.contact-item,
a.contact-item:hover,
a.contact-item:focus,
a.contact-item:visited {
    text-decoration: none !important;
    color: inherit !important;
}


/* CATALOG-CARD-IMG-V1: белый фон для картинок категорий на главной */
.catalog-card-image {
    background: #ffffff !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 28px !important;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    border-radius: 12px 12px 0 0;
    position: relative;
}
.catalog-card-image img {
    width: 100%;
    height: 100%;
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.35s ease;
}
.catalog-card:hover .catalog-card-image img {
    transform: scale(1.05);
}
@media (max-width: 700px) {
    .catalog-card-image { padding: 20px !important; }
}


/* CATALOG-CARD-FIX-V1: карточка не двигается, только картинка зумится */
.catalog-card-body {
    padding: 26px 26px 30px !important;
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 0;
}
.catalog-card-title {
    font-family: var(--font-display);
    font-size: 20px !important;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 10px 0 !important;
    color: #FFF !important;
}
.catalog-card-desc {
    font-size: 14px !important;
    color: var(--c-text-muted);
    line-height: 1.5;
    margin: 0 0 20px 0 !important;
    flex: 1;
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    min-height: 63px;
}
.catalog-card-price {
    font-family: var(--font-display);
    font-size: 20px !important;
    font-weight: 800;
    color: var(--c-primary);
    margin: 0 0 14px 0 !important;
    letter-spacing: 0.3px;
}
.catalog-card-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    font-weight: 600;
    color: var(--c-primary);
    transition: gap 0.2s ease, color 0.2s ease;
    align-self: flex-start;
}
.catalog-card:hover .catalog-card-link {
    gap: 14px;
    color: var(--c-primary-light);
}

/* Плавный zoom картинки (уже был, оставляем) */
.catalog-card-image img {
    transition: transform 0.45s cubic-bezier(0.25, 0.46, 0.45, 0.94) !important;
}
.catalog-card:hover .catalog-card-image img {
    transform: scale(1.06) !important;
}

@media (max-width: 700px) {
    .catalog-card-body { padding: 20px 20px 24px !important; }
    .catalog-card-title { font-size: 18px !important; }
    .catalog-card-price { font-size: 18px !important; }
}


/* PRODUCT-WHITE-BG-V1: белый фон под картинками товаров в каталоге */
.product-card .product-card-image,
.product-card-image,
.product-card__image-link .product-card-image {
    background: #ffffff !important;
    padding: 18px !important;
}
.product-card .product-card-image .pc-img,
.product-card .product-card-image img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
}
.product-card .product-card-image .pc-img--hover {
    position: absolute;
    inset: 18px;
    width: calc(100% - 36px);
    height: calc(100% - 36px);
}
/* На мобильных — чуть меньше отступов */
@media (max-width: 700px) {
    .product-card .product-card-image,
    .product-card-image { padding: 14px !important; }
    .product-card .product-card-image .pc-img--hover { inset: 14px; width: calc(100% - 28px); height: calc(100% - 28px); }
}


/* COMPLECT-WHITE-BG-V1: белый фон под картинками комплектаций */
.complect-card__img {
    background: #ffffff !important;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    aspect-ratio: 16 / 10;
    border-radius: 12px;
    margin: 0 0 18px 0;
    overflow: hidden;
}
.complect-card__img img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    transition: transform 0.4s ease;
}
.complect-card:hover .complect-card__img img {
    transform: scale(1.04);
}

@media (max-width: 700px) {
    .complect-card__img { padding: 16px; }
}


/* HEATERS-WHITE-BG-V1: белые фоны на странице обогревателей */

/* 1. Слайдер «Как подобрать мощность» */
.auto-slider {
    background: #ffffff !important;
}

/* 2. Штекер/Коннектор — белый фон (перебиваем тёмный) */
.heaters-chain-photo__img {
    background: #ffffff !important;
    padding: 24px !important;
}
.heaters-chain-photo__img img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
}

/* 3. Цвета «Белый/Коричневый» — белый фон вокруг фото */
.heaters-color-real__img {
    background-color: #ffffff !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
}

@media (max-width: 700px) {
    .heaters-chain-photo__img { padding: 18px !important; }
}














/* HEATERS-CHAIN-V10: золотое кольцо без теней */
.heaters-chain-photo__item {
    background: var(--c-bg-alt) !important;
    border: 1px solid rgba(255,255,255,.08) !important;
    border-radius: 16px !important;
    overflow: hidden !important;
    padding: 0 !important;
    transition: transform .25s, border-color .25s, box-shadow .25s !important;
    display: flex !important;
    flex-direction: column !important;
}
.heaters-chain-photo__item:hover {
    transform: translateY(-4px) !important;
    border-color: rgba(var(--c-primary-rgb),.4) !important;
    box-shadow: 0 12px 30px rgba(0,0,0,.35) !important;
}

.heaters-chain-photo__img {
    background: #ffffff !important;
    padding: 20px 18px !important;
    margin: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    aspect-ratio: auto !important;
    max-width: 100% !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Картинка с ЗОЛОТЫМ кольцом, без теней */
.heaters-chain-photo__img img {
    width: 240px !important;
    height: 240px !important;
    max-width: 240px !important;
    max-height: 240px !important;
    object-fit: contain !important;
    display: block !important;
    border-radius: 50% !important;
    padding: 0 !important;
    box-sizing: border-box !important;
    background:
        linear-gradient(#ffffff, #ffffff) padding-box,
        linear-gradient(135deg,
            #FFF4CC 0%,
            #FFD966 20%,
            #E8B33A 40%,
            #B8860B 55%,
            #E8B33A 70%,
            #FFD966 85%,
            #FFF4CC 100%
        ) border-box !important;
    border: 3px solid transparent !important;
    box-shadow: none !important;
    transition: transform 0.35s ease !important;
}
.heaters-chain-photo__item:hover .heaters-chain-photo__img img {
    transform: scale(1.03) !important;
}

.heaters-chain-photo__body {
    padding: 22px 24px 24px !important;
    text-align: left !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    align-items: flex-start !important;
}
.heaters-chain-photo__title {
    font-family: Montserrat, sans-serif !important;
    font-size: 18px !important;
    font-weight: 800 !important;
    color: var(--c-primary-light) !important;
    margin: 0 !important;
    line-height: 1.3 !important;
    text-align: left !important;
    padding: 0 !important;
    letter-spacing: 0.2px !important;
}
.heaters-chain-photo__title::after {
    display: none !important;
}
.heaters-chain-photo__body p {
    font-family: Montserrat, sans-serif !important;
    font-size: 13.5px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    color: var(--c-text-muted) !important;
    margin: 0 !important;
    max-width: 100% !important;
    text-align: left !important;
}
.heaters-chain-photo__body p strong,
.heaters-chain-photo__body p b {
    color: var(--c-primary-light) !important;
    font-weight: 700 !important;
}

@media (max-width: 700px) {
    .heaters-chain-photo__img { padding: 16px 14px !important; }
    .heaters-chain-photo__img img {
        width: 200px !important;
        height: 200px !important;
        max-width: 200px !important;
        max-height: 200px !important;
        border-width: 2.5px !important;
    }
    .heaters-chain-photo__title { font-size: 16px !important; }
    .heaters-chain-photo__body p { font-size: 13px !important; }
}

/* SECTION-CASES-V1: блок «Наши объекты» на главной */
.section-cases .section-head {
    text-align: center;
    margin-bottom: 48px;
}

.cases-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 22px;
    max-width: 1200px;
    margin: 0 auto 36px;
}
@media (max-width: 992px) {
    .cases-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 640px) {
    .cases-grid { grid-template-columns: 1fr; gap: 16px; max-width: 480px; }
}

.case-card {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 16px;
    overflow: hidden;
    transition: transform .35s ease, border-color .35s ease, box-shadow .35s ease;
    display: flex;
    flex-direction: column;
}
.case-card:hover {
    border-color: rgba(var(--c-primary-rgb),.5);
    box-shadow: 0 20px 48px rgba(0,0,0,.4);
    transform: translateY(-4px);
}

.case-card__img {
    position: relative;
    aspect-ratio: 4/3;
    background: var(--c-bg);
    overflow: hidden;
}
.case-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .55s cubic-bezier(.25,.46,.45,.94);
}
.case-card:hover .case-card__img img {
    transform: scale(1.06);
}

.case-card__ph {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    color: rgba(255,255,255,.15);
    font-size: 2.5rem;
}

.case-card__badge {
    position: absolute;
    top: 14px;
    left: 14px;
    padding: 6px 12px;
    background: rgba(14, 17, 22, 0.85);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    color: var(--c-primary-light);
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border-radius: 8px;
    border: 1px solid rgba(201, 123, 63, 0.4);
    z-index: 2;
}

.case-card__body {
    padding: 18px 20px 20px;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.case-card__meta {
    display: flex;
    align-items: center;
    gap: 6px;
    font-size: 13px;
    color: var(--c-text-muted);
    font-weight: 500;
}
.case-card__meta i {
    color: var(--c-primary);
    font-size: 12px;
}
.case-card__dot {
    opacity: 0.4;
}

.case-card__desc {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.35;
}

.cases-more {
    text-align: center;
    margin-top: 8px;
}
.cases-more .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 28px;
    font-size: 15px;
    font-weight: 600;
    border: 1.5px solid rgba(var(--c-primary-rgb),.5);
    background: transparent;
    color: var(--c-primary-light);
    border-radius: 10px;
    text-decoration: none;
    transition: all .3s ease;
}
.cases-more .btn:hover {
    background: rgba(var(--c-primary-rgb),.1);
    border-color: var(--c-primary);
    gap: 14px;
}



/* CASES-PREMIUM-ANIM: премиальная анимация для карточек кейсов */
.section-cases .case-card.fx-ready {
    opacity: 0;
    transform: translateY(38px) scale(0.96);
    filter: blur(8px);
    transition:
        opacity 0.85s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.85s cubic-bezier(0.16, 1, 0.3, 1),
        filter 0.85s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform, filter;
}
.section-cases .case-card.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* Заголовок блока — мягче */
.section-cases .section-head.fx-ready {
    transform: translateY(20px);
    transition:
        opacity 0.9s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.9s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Кнопка «Смотреть всё» — появляется с лёгким подъёмом */
.section-cases .cases-more.fx-ready {
    transform: translateY(24px);
    transition:
        opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
        transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Уважаем настройки ОС */
@media (prefers-reduced-motion: reduce) {
    .section-cases .case-card.fx-ready,
    .section-cases .case-card.fx-ready.fx-in {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}

/* SAVINGS-BLOCK-V1: блок «Экономия в фокусе» */
.savings-block {
    max-width: 860px;
    margin: 56px auto 0;
    padding: 0 4px;
}

/* Hero-карточка */
.savings-hero {
    background:
        radial-gradient(ellipse at top, rgba(74,222,128,.08) 0%, transparent 60%),
        linear-gradient(180deg, rgba(22,26,34,.95), rgba(14,17,22,.98));
    border: 1px solid rgba(74,222,128,.28);
    border-radius: 20px;
    padding: 40px 32px 32px;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.savings-hero::before {
    content: '';
    position: absolute;
    top: -120px;
    left: 50%;
    transform: translateX(-50%);
    width: 380px;
    height: 380px;
    background: radial-gradient(circle, rgba(74,222,128,.1), transparent 65%);
    pointer-events: none;
}

.savings-hero__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 64px;
    height: 64px;
    background: rgba(74,222,128,.12);
    color: #4ADE80;
    border-radius: 50%;
    font-size: 1.7rem;
    margin-bottom: 18px;
    position: relative;
    z-index: 1;
}

.savings-hero__label {
    font-size: 14px;
    font-weight: 600;
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 8px;
    position: relative;
    z-index: 1;
}

.savings-hero__amount {
    font-family: Montserrat, sans-serif;
    font-size: clamp(2.6rem, 6vw, 3.6rem);
    font-weight: 900;
    color: #4ADE80;
    line-height: 1;
    letter-spacing: -1px;
    margin-bottom: 12px;
    position: relative;
    z-index: 1;
    text-shadow: 0 4px 24px rgba(74,222,128,.25);
}
.savings-hero__amount span {
    font-size: 0.55em;
    font-weight: 700;
    opacity: 0.85;
    margin-left: 4px;
}

.savings-hero__sub {
    font-size: 15px;
    color: var(--c-text);
    margin-bottom: 24px;
    position: relative;
    z-index: 1;
}
.savings-hero__sub b {
    color: #4ADE80;
    font-weight: 800;
}

.savings-hero__list {
    list-style: none;
    padding: 0;
    margin: 0 auto 28px;
    max-width: 480px;
    display: flex;
    flex-direction: column;
    gap: 10px;
    text-align: left;
    position: relative;
    z-index: 1;
}
.savings-hero__list li {
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 14px;
    color: var(--c-text);
    line-height: 1.4;
}
.savings-hero__list i {
    flex-shrink: 0;
    color: #4ADE80;
    font-size: 13px;
    background: rgba(74,222,128,.12);
    width: 22px;
    height: 22px;
    border-radius: 50%;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.savings-hero__list b {
    color: #4ADE80;
    font-weight: 700;
    margin: 0 2px;
}

.savings-hero__cta {
    position: relative;
    z-index: 1;
}
.savings-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 16px 32px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(201,123,63,.35);
    transition: transform .25s ease, box-shadow .25s ease, gap .25s ease;
    letter-spacing: 0.2px;
}
.savings-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(201,123,63,.5);
    gap: 14px;
}
.savings-btn i {
    font-size: 13px;
}

.savings-hero__note {
    margin-top: 10px;
    font-size: 12.5px;
    color: var(--c-text-muted);
}

/* Раскрывающаяся таблица */
.savings-details {
    margin-top: 20px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    overflow: hidden;
    transition: border-color .25s ease;
}
.savings-details:hover {
    border-color: rgba(255,255,255,.12);
}
.savings-details summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 18px 22px;
    cursor: pointer;
    font-size: 14px;
    font-weight: 600;
    color: var(--c-text-muted);
    user-select: none;
    list-style: none;
    transition: color .2s ease;
}
.savings-details summary::-webkit-details-marker { display: none; }
.savings-details summary:hover { color: var(--c-text); }
.savings-details summary i {
    font-size: 12px;
    color: var(--c-primary);
    transition: transform .3s ease;
}
.savings-details[open] summary i {
    transform: rotate(180deg);
}

.savings-table {
    border-top: 1px solid rgba(255,255,255,.06);
}

.savings-row {
    display: grid;
    grid-template-columns: 1.3fr 1fr 1fr 1fr;
    border-bottom: 1px solid rgba(255,255,255,.04);
}
.savings-row:last-child { border-bottom: 0; }

.savings-cell {
    padding: 14px 16px;
    font-size: 13.5px;
    color: var(--c-text);
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    border-left: 1px solid rgba(255,255,255,.04);
}
.savings-cell:first-child { border-left: 0; }
.savings-cell--crit {
    justify-content: flex-start;
    text-align: left;
    color: var(--c-text-muted);
    font-size: 13px;
    font-weight: 500;
}
.savings-cell--best {
    background: rgba(201,123,63,.06);
    color: var(--c-primary-light);
    font-weight: 600;
}

.savings-row--head .savings-cell {
    font-family: Montserrat, sans-serif;
    font-size: 12.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: var(--c-text-muted);
    background: rgba(255,255,255,.02);
    padding: 12px 16px;
}
.savings-row--head .savings-cell--best {
    color: var(--c-primary-light);
}

.savings-row--total .savings-cell {
    font-weight: 800;
    font-size: 14px;
    background: rgba(255,255,255,.025);
    border-top: 2px solid rgba(255,255,255,.08);
}
.savings-row--total .savings-cell--best {
    background: rgba(201,123,63,.12);
    color: var(--c-primary-light);
}

.savings-note {
    padding: 16px 22px;
    font-size: 12px;
    color: var(--c-text-muted);
    line-height: 1.55;
    display: flex;
    gap: 8px;
    align-items: flex-start;
    border-top: 1px solid rgba(255,255,255,.04);
}
.savings-note i {
    color: var(--c-primary);
    opacity: 0.7;
    flex-shrink: 0;
    margin-top: 2px;
}

/* Мобильная адаптация */
@media (max-width: 700px) {
    .savings-block { margin-top: 40px; }
    .savings-hero { padding: 32px 20px 26px; }
    .savings-hero__icon { width: 56px; height: 56px; font-size: 1.5rem; margin-bottom: 14px; }
    .savings-hero__sub { font-size: 14px; margin-bottom: 20px; }
    .savings-hero__list { margin-bottom: 22px; }
    .savings-hero__list li { font-size: 13px; }
    .savings-btn { padding: 14px 24px; font-size: 14px; }
    .savings-hero__note { font-size: 12px; }

    /* Скрываем 3-ю и 4-ю колонки, показываем только плинтус vs радиаторы */
    .savings-row {
        grid-template-columns: 1.4fr 1fr 1fr;
    }
    .savings-row > .savings-cell:nth-child(4) {
        display: none;
    }
    .savings-cell { padding: 12px 10px; font-size: 12.5px; }
    .savings-cell--crit { font-size: 12px; }
    .savings-row--head .savings-cell { font-size: 11px; padding: 10px 10px; }
}

/* GUARANTEE-BLOCK-V1: блок «Гарантия 5 лет» */
.guarantee-wrap {
    display: grid;
    grid-template-columns: 1fr 1.6fr;
    gap: 32px;
    max-width: 1100px;
    margin: 0 auto;
    align-items: stretch;
}
@media (max-width: 900px) {
    .guarantee-wrap { grid-template-columns: 1fr; gap: 24px; }
}

/* Левая часть — щит + 5 лет */
.guarantee-hero {
    background:
        radial-gradient(ellipse at top, rgba(74,222,128,.08) 0%, transparent 55%),
        linear-gradient(180deg, rgba(22,26,34,.95), rgba(14,17,22,.98));
    border: 1px solid rgba(74,222,128,.28);
    border-radius: 20px;
    padding: 40px 28px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    position: relative;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,.45);
}
.guarantee-hero::before {
    content: '';
    position: absolute;
    top: -140px;
    left: 50%;
    transform: translateX(-50%);
    width: 340px;
    height: 340px;
    background: radial-gradient(circle, rgba(74,222,128,.12), transparent 65%);
    pointer-events: none;
}

.guarantee-hero__shield {
    width: 80px;
    height: 80px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(74,222,128,.12);
    border: 2px solid rgba(74,222,128,.35);
    border-radius: 50%;
    color: #4ADE80;
    font-size: 2rem;
    margin-bottom: 22px;
    position: relative;
    z-index: 1;
    box-shadow: 0 0 0 10px rgba(74,222,128,.04);
}

.guarantee-hero__years {
    display: flex;
    align-items: baseline;
    gap: 6px;
    margin-bottom: 6px;
    position: relative;
    z-index: 1;
}
.guarantee-hero__num {
    font-family: Montserrat, sans-serif;
    font-size: clamp(4.5rem, 10vw, 6rem);
    font-weight: 900;
    color: #4ADE80;
    line-height: 0.9;
    letter-spacing: -3px;
    text-shadow: 0 4px 30px rgba(74,222,128,.3);
}
.guarantee-hero__unit {
    font-family: Montserrat, sans-serif;
    font-size: 1.7rem;
    font-weight: 800;
    color: #4ADE80;
    letter-spacing: -1px;
}
.guarantee-hero__label {
    font-size: 14px;
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 1.5px;
    font-weight: 600;
    position: relative;
    z-index: 1;
}

/* Правая часть */
.guarantee-info {
    display: flex;
    flex-direction: column;
    gap: 18px;
}
.guarantee-info__block {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 14px;
    padding: 20px 24px;
}
.guarantee-info__block--in {
    border-color: rgba(74,222,128,.2);
}
.guarantee-info__title {
    display: flex;
    align-items: center;
    gap: 10px;
    font-family: Montserrat, sans-serif;
    font-size: 15px;
    font-weight: 700;
    color: var(--c-text);
    margin-bottom: 12px;
}
.guarantee-info__block--in .guarantee-info__title i {
    color: #4ADE80;
}
.guarantee-info__block--note .guarantee-info__title i {
    color: var(--c-primary-light);
}
.guarantee-info__list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.guarantee-info__list li {
    position: relative;
    padding-left: 22px;
    font-size: 14px;
    color: var(--c-text);
    line-height: 1.5;
}
.guarantee-info__list li::before {
    content: '✓';
    position: absolute;
    left: 0;
    top: 0;
    color: #4ADE80;
    font-weight: 800;
    font-size: 14px;
}
.guarantee-info__text {
    font-size: 13.5px;
    color: var(--c-text-muted);
    line-height: 1.6;
    margin: 0;
}

/* Документы */
.guarantee-docs {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
}
@media (max-width: 600px) { .guarantee-docs { grid-template-columns: 1fr; } }

.guarantee-doc {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 14px 16px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    text-decoration: none;
    color: inherit;
    transition: border-color .25s ease, background .25s ease;
}
.guarantee-doc:hover {
    border-color: rgba(var(--c-primary-rgb), .5);
    background: rgba(201,123,63,.04);
}
.guarantee-doc__icon {
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(201,123,63,.12);
    color: var(--c-primary-light);
    border-radius: 10px;
    font-size: 1.1rem;
    flex-shrink: 0;
}
.guarantee-doc__title {
    font-family: Montserrat, sans-serif;
    font-size: 13.5px;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.3;
    margin-bottom: 3px;
}
.guarantee-doc__meta {
    font-size: 12px;
    color: var(--c-text-muted);
    display: flex;
    align-items: center;
    gap: 6px;
}
.guarantee-doc__meta i {
    color: var(--c-primary);
    font-size: 10px;
}

/* CTA */
.guarantee-cta {
    display: flex;
    align-items: center;
    gap: 16px;
    flex-wrap: wrap;
    padding-top: 4px;
}
.guarantee-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 14px 26px;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    font-family: Montserrat, sans-serif;
    font-size: 14.5px;
    font-weight: 700;
    text-decoration: none;
    border-radius: 12px;
    box-shadow: 0 10px 28px rgba(201,123,63,.35);
    transition: transform .25s ease, box-shadow .25s ease;
}
.guarantee-btn:hover {
    transform: translateY(-2px);
    box-shadow: 0 14px 34px rgba(201,123,63,.5);
}
.guarantee-cta__note {
    font-size: 12.5px;
    color: var(--c-text-muted);
}

@media (max-width: 700px) {
    .guarantee-hero { padding: 32px 20px; }
    .guarantee-hero__shield { width: 68px; height: 68px; font-size: 1.7rem; margin-bottom: 16px; }
    .guarantee-info__block { padding: 16px 18px; }
    .guarantee-info__title { font-size: 14px; }
    .guarantee-info__list li { font-size: 13px; }
    .guarantee-info__text { font-size: 13px; }
    .guarantee-cta { flex-direction: column; align-items: flex-start; gap: 10px; }
}

/* GUARANTEE-COPPER-V1: медь в фоне/границах, зелёный — только на щит и «5 лет» */

/* Левая карточка — медный фон вместо зелёного */
.guarantee-hero {
    background:
        radial-gradient(ellipse at top, rgba(var(--c-primary-rgb),.08) 0%, transparent 55%),
        linear-gradient(180deg, rgba(22,26,34,.95), rgba(14,17,22,.98)) !important;
    border: 1px solid rgba(var(--c-primary-rgb),.32) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.45) !important;
}
.guarantee-hero::before {
    background: radial-gradient(circle, rgba(var(--c-primary-rgb),.1), transparent 65%) !important;
}

/* Щит — остаётся зелёным (символ гарантии) */
.guarantee-hero__shield {
    background: rgba(74,222,128,.12) !important;
    border: 2px solid rgba(74,222,128,.35) !important;
    color: #4ADE80 !important;
    box-shadow: 0 0 0 10px rgba(var(--c-primary-rgb),.06) !important;  /* свечение — медь */
}

/* «5 лет» — остаётся зелёным */
.guarantee-hero__num,
.guarantee-hero__unit {
    color: #4ADE80 !important;
}
.guarantee-hero__num {
    text-shadow: 0 4px 30px rgba(74,222,128,.25) !important;
}

/* Блок «Что входит» — границы и иконка в медь */
.guarantee-info__block--in {
    border-color: rgba(var(--c-primary-rgb),.28) !important;
    background: rgba(var(--c-primary-rgb),.025) !important;
}
.guarantee-info__block--in .guarantee-info__title i {
    color: var(--c-primary-light) !important;
}

/* Чекмарки остаются зелёными — это символ «✓ есть в гарантии» */
/* .guarantee-info__list li::before — не трогаем */

/* Блок «Условия» — оставляем нейтральным (без изменений) */

/* SAVINGS-COPPER-V1: медь в фоне/границах, зелёный — только на цифру и акценты */

/* Фон карточки — медный вместо зелёного */
.savings-hero {
    background:
        radial-gradient(ellipse at top, rgba(var(--c-primary-rgb),.1) 0%, transparent 60%),
        linear-gradient(180deg, rgba(22,26,34,.95), rgba(14,17,22,.98)) !important;
    border: 1px solid rgba(var(--c-primary-rgb),.35) !important;
    box-shadow: 0 20px 60px rgba(0,0,0,.45) !important;
}
.savings-hero::before {
    background: radial-gradient(circle, rgba(var(--c-primary-rgb),.1), transparent 65%) !important;
}

/* Иконка «порося» — остаётся зелёной (символ экономии) */
.savings-hero__icon {
    background: rgba(74,222,128,.12) !important;
    color: #4ADE80 !important;
    box-shadow: 0 0 0 8px rgba(var(--c-primary-rgb),.06) !important;  /* свечение — медь */
}

/* Крупная цифра — остаётся зелёной (главный акцент) */
.savings-hero__amount {
    color: #4ADE80 !important;
    text-shadow: 0 4px 24px rgba(74,222,128,.25) !important;
}

/* Подзаголовок «3 333 ₽ в месяц» — акцент на меди */
.savings-hero__sub b {
    color: var(--c-primary-light) !important;
}

/* Список — галочки остаются зелёными, суммы в списке — медь */
.savings-hero__list i {
    background: rgba(74,222,128,.12) !important;
    color: #4ADE80 !important;
}
.savings-hero__list b {
    color: var(--c-primary-light) !important;
}

/* «Как мы считаем» — при hover цвет меди */
.savings-details:hover {
    border-color: rgba(var(--c-primary-rgb),.2) !important;
}

/* В раскрытой таблице — акцент меди на «Тёплый плинтус» */
.savings-row--head .savings-cell--best {
    color: var(--c-primary-light) !important;
}


/* Tooltip */
/* Пульсация Telegram — привлекает внимание в первые секунды */
@keyframes fabPulse {
    0%   { box-shadow: 0 8px 22px rgba(34,158,217,.45), 0 0 0 0 rgba(42,171,238,.55); }
    70%  { box-shadow: 0 8px 22px rgba(34,158,217,.45), 0 0 0 16px rgba(42,171,238,0); }
    100% { box-shadow: 0 8px 22px rgba(34,158,217,.45), 0 0 0 0 rgba(42,171,238,0); }
}
/* iPhone с вырезом — safe-area */
@supports (padding: max(0px)) {
    }

/* Мобильный — компактнее */


/* Уважаем настройки ОС (уменьшение анимаций) */


/* FAB-V2: объединённая кнопка связи (раскрывающаяся) */
.cw {
    position: fixed;
    right: 32px;
    bottom: 100px;
    z-index: 9990;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.cw__actions {
    display: flex;
    flex-direction: column;
    gap: 12px;
    margin-bottom: 12px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(10px);
    transition: opacity .28s cubic-bezier(.2,.8,.3,1),
                visibility .28s,
                transform .28s cubic-bezier(.2,.8,.3,1);
    pointer-events: none;
}
.cw.is-open .cw__actions {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    pointer-events: auto;
}

.cw__action {
    position: relative;
    width: 52px;
    height: 52px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 8px 22px rgba(0,0,0,.4);
    transition: transform .2s ease, box-shadow .2s ease;
}
.cw__action:hover { transform: scale(1.08); }
.cw__action svg { width: 22px; height: 22px; margin-left: -2px; }
.cw__action i { font-size: 18px; }

.cw__action--tg {
    background: linear-gradient(135deg, #2AABEE, #229ED9);
    box-shadow: 0 8px 22px rgba(34,158,217,.45);
}
.cw__action--tg:hover { box-shadow: 0 12px 30px rgba(34,158,217,.65); }

.cw__action--phone {
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    box-shadow: 0 8px 22px rgba(201,123,63,.45);
}
.cw__action--phone:hover { box-shadow: 0 12px 30px rgba(201,123,63,.65); }

.cw__tooltip {
    position: absolute;
    right: calc(100% + 12px);
    top: 50%;
    transform: translateY(-50%) translateX(6px);
    background: rgba(14,17,22,.96);
    color: #fff;
    padding: 7px 12px;
    border-radius: 8px;
    font-size: 12.5px;
    font-weight: 600;
    font-family: Montserrat, sans-serif;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity .2s ease, transform .2s ease;
    box-shadow: 0 8px 24px rgba(0,0,0,.5);
    border: 1px solid rgba(255,255,255,.1);
}
.cw__action:hover .cw__tooltip {
    opacity: 1;
    transform: translateY(-50%) translateX(0);
}

.cw__toggle {
    position: relative;
    width: 56px;
    height: 56px;
    border-radius: 50%;
    border: none;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    font-size: 20px;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 8px 24px rgba(201,123,63,.5);
    transition: transform .25s ease, box-shadow .25s ease;
    animation: fabPulse 2.8s infinite;
}
.cw__toggle:hover {
    transform: scale(1.06);
    box-shadow: 0 12px 32px rgba(201,123,63,.7);
    animation: none;
}
.cw.is-open 

70%  { box-shadow: 0 8px 24px rgba(201,123,63,.5), 0 0 0 16px rgba(201,123,63,0); }
    100% { box-shadow: 0 8px 24px rgba(201,123,63,.5), 0 0 0 0 rgba(201,123,63,0); }
}

@supports (padding: max(0px)) {
    .cw {
        right: max(32px, env(safe-area-inset-right));
        bottom: max(100px, calc(env(safe-area-inset-bottom) + 100px));
    }
}

@media (max-width: 600px) {
    .cw { right: 16px; bottom: 88px; }
    .cw__action { width: 48px; height: 48px; }
    .cw__action svg { width: 20px; height: 20px; }
    .cw__action i { font-size: 16px; }
    .cw__toggle { width: 52px; height: 52px; font-size: 18px; }
    .cw__tooltip { display: none; }
}

@media (prefers-reduced-motion: reduce) {
    
    .cw__actions { transition: none !important; }
}

/* FAB-FIX-V1: FAB выше, пульсация убрана, кнопка «Наверх» не пересекается */

/* FAB — поднят выше, чтобы был явный зазор с «Наверх» */
.cw {
    bottom: 120px !important;  /* было 100px → зазор с scroll-top ~36px */
}
@media (max-width: 600px) {
    .cw { bottom: 100px !important; }
}

/* Убираем пульсацию — она создаёт «размытое пятно» под кнопкой */

/* Убираем размытую тень — оставляем только чёткую */
/* Кнопка «Наверх» — чуть меньше и ниже, чтобы не привлекать внимание */
.scroll-top {
    width: 44px !important;
    height: 44px !important;
    bottom: 24px !important;
    right: 32px !important;
    font-size: 15px !important;
    border-radius: 12px !important;
    box-shadow: 0 4px 14px rgba(var(--c-primary-rgb), .3) !important;
}
@media (max-width: 600px) {
    .scroll-top {
        width: 42px !important;
        height: 42px !important;
        bottom: 18px !important;
    }
}





/* CW-FINAL: чистые правила для иконок кнопки связи */
.cw__icon-open,
.cw__icon-close {
    position: absolute;
    transition: opacity .2s ease, transform .3s ease;
}

/* Закрыто: 💬 видна, ✕ скрыт */
.cw__icon-open {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}
.cw__icon-close {
    opacity: 0;
    transform: rotate(-90deg) scale(0.5);
}

/* Открыто: 💬 скрыта, ✕ виден */
.cw.is-open .cw__icon-open {
    opacity: 0;
    transform: rotate(90deg) scale(0.5);
}
.cw.is-open .cw__icon-close {
    opacity: 1;
    transform: rotate(0deg) scale(1);
}

/* Пульсация кнопки */
.cw__toggle {
    animation: fabPulse 2.8s infinite;
}
.cw__toggle:hover {
    animation: none;
}
.cw.is-open .cw__toggle {
    animation: none;
}

@media (prefers-reduced-motion: reduce) {
    .cw__toggle { animation: none !important; }
}

/* CW-CENTER-V1: выравнивание выезжающих кнопок по центру над главной */
.cw {
    align-items: center !important;
}

/* Tooltip — показываем справа от иконки (чтобы не наезжал на центр) */
.cw__tooltip {
    right: auto !important;
    left: calc(100% + 12px) !important;
    transform: translateY(-50%) translateX(-6px) !important;
}
.cw__action:hover .cw__tooltip {
    transform: translateY(-50%) translateX(0) !important;
}
.cw__tooltip::after {
    left: auto !important;
    right: 100% !important;
    border-left-color: transparent !important;
    border-right-color: rgba(14,17,22,.96) !important;
}

/* GUARANTEE-BTN-TG-V1: Telegram-кнопка в блоке гарантии */
.guarantee-btn--tg {
    background: linear-gradient(135deg, #2AABEE, #229ED9) !important;
    box-shadow: 0 10px 28px rgba(34,158,217,.35) !important;
}
.guarantee-btn--tg:hover {
    box-shadow: 0 14px 34px rgba(34,158,217,.55) !important;
}
.guarantee-btn--tg i {
    font-size: 16px;
}

/* PROCESS-V2: «Что входит в монтаж под ключ» — 6 карточек в 3 колонки */
.process-grid--six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 992px) {
    .process-grid--six { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .process-grid--six { grid-template-columns: 1fr; }
}

.process-item--v2 {
    padding: 32px 24px 28px;
    text-align: center;
    position: relative;
}
.process-item--v2 .process-item__icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    margin: 0 0 20px 0;
    background: rgba(var(--c-primary-rgb), .1);
    color: var(--c-primary-light);
    border: 1px solid rgba(var(--c-primary-rgb), .25);
    border-radius: 14px;
    font-size: 22px;
    transition: transform .25s ease, background .25s ease;
}
.process-item--v2:hover .process-item__icon {
    background: rgba(var(--c-primary-rgb), .18);
    transform: scale(1.08);
}
.process-item--v2 .process-title {
    font-family: Montserrat, sans-serif;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}
.process-item--v2 .process-desc {
    font-size: 13.5px;
    color: var(--c-text-muted);
    line-height: 1.55;
    margin: 0;
}

/* GUARANTEE-BTN-VK-V1: кнопка ВКонтакте в блоке гарантии */
.guarantee-btn--vk {
    background: linear-gradient(135deg, #0077FF, #0050C8) !important;
    box-shadow: 0 10px 28px rgba(0, 119, 255, .35) !important;
}
.guarantee-btn--vk:hover {
    box-shadow: 0 14px 34px rgba(0, 119, 255, .55) !important;
}
.guarantee-btn--vk i {
    font-size: 17px;
}

/* FAQ-CTA-STYLE-V1: красивая карточка «Не нашли ответ?» */
.faq-cta {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 28px !important;
    max-width: 900px !important;
    margin: 48px auto 0 !important;
    padding: 28px 36px !important;
    text-align: left !important;
    background:
        linear-gradient(135deg,
            rgba(var(--c-primary-rgb), .08),
            rgba(var(--c-primary-rgb), .02)
        ) !important;
    border: 1px solid rgba(var(--c-primary-rgb), .28) !important;
    border-top: 1px solid rgba(var(--c-primary-rgb), .28) !important;
    border-radius: 18px !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .25) !important;
    transition: border-color .25s ease, box-shadow .25s ease !important;
    position: relative !important;
    overflow: hidden !important;
}
.faq-cta::before {
    content: '' !important;
    position: absolute !important;
    left: 0 !important;
    top: 0 !important;
    bottom: 0 !important;
    width: 4px !important;
    background: linear-gradient(180deg, var(--c-primary), var(--c-primary-dark)) !important;
}
.faq-cta:hover {
    border-color: rgba(var(--c-primary-rgb), .45) !important;
    box-shadow: 0 14px 38px rgba(0, 0, 0, .35) !important;
}

/* Текст — крупный, белый, с иконкой */
.faq-cta p {
    font-family: Montserrat, sans-serif !important;
    font-size: 18px !important;
    font-weight: 700 !important;
    color: var(--c-text) !important;
    margin: 0 !important;
    line-height: 1.35 !important;
    padding-left: 68px !important;
    position: relative !important;
}
.faq-cta p::before {
    content: '508' !important;  /* fa-user-tie */
    font-family: 'Font Awesome 6 Free' !important;
    font-weight: 900 !important;
    position: absolute !important;
    left: 0 !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 52px !important;
    height: 52px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)) !important;
    color: #fff !important;
    border-radius: 14px !important;
    font-size: 22px !important;
    box-shadow: 0 8px 20px rgba(var(--c-primary-rgb), .35) !important;
}

/* Кнопка — медная, крупная, акцентная */
.faq-cta .btn,
.faq-cta .btn-outline {
    flex-shrink: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    padding: 15px 30px !important;
    font-family: Montserrat, sans-serif !important;
    font-size: 14.5px !important;
    font-weight: 700 !important;
    color: #fff !important;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)) !important;
    border: none !important;
    border-radius: 12px !important;
    text-decoration: none !important;
    box-shadow: 0 8px 22px rgba(var(--c-primary-rgb), .4) !important;
    transition: transform .25s ease, box-shadow .25s ease !important;
    white-space: nowrap !important;
    letter-spacing: 0.2px !important;
}
.faq-cta .btn:hover,
.faq-cta .btn-outline:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 30px rgba(var(--c-primary-rgb), .6) !important;
    background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary)) !important;
    color: #fff !important;
}

/* Мобильный */
@media (max-width: 860px) {
    .faq-cta {
        flex-direction: column !important;
        text-align: center !important;
        gap: 22px !important;
        padding: 26px 22px !important;
    }
    .faq-cta p {
        padding-left: 0 !important;
        padding-top: 72px !important;
        font-size: 16px !important;
    }
    .faq-cta p::before {
        left: 50% !important;
        top: 0 !important;
        transform: translateX(-50%) !important;
        width: 56px !important;
        height: 56px !important;
    }
    .faq-cta .btn,
    .faq-cta .btn-outline {
        width: 100% !important;
        justify-content: center !important;
        padding: 14px 24px !important;
    }
}
@media (max-width: 600px) {
    .faq-cta { margin-top: 36px !important; padding: 22px 18px !important; }
    .faq-cta p { font-size: 15px !important; padding-top: 64px !important; }
    .faq-cta p::before { width: 48px !important; height: 48px !important; font-size: 20px !important; }
    .faq-cta .btn, .faq-cta .btn-outline { font-size: 14px !important; }
}

/* B2B-BLOCK-V1 */
.b2b-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 22px; max-width: 1200px; margin: 0 auto 44px; }
@media (max-width: 992px) { .b2b-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; } }
@media (max-width: 600px) { .b2b-grid { grid-template-columns: 1fr; gap: 14px; } }
.b2b-card { background: var(--c-bg-alt); border: 1px solid rgba(255,255,255,.06); border-radius: 16px; padding: 28px 24px 26px; text-align: center; transition: transform .3s, border-color .3s, box-shadow .3s; position: relative; }
.b2b-card:hover { border-color: rgba(var(--c-primary-rgb),.35); box-shadow: 0 12px 28px rgba(0,0,0,.3); transform: translateY(-4px); }
.b2b-card__icon { width: 60px; height: 60px; display: inline-flex; align-items: center; justify-content: center; background: rgba(var(--c-primary-rgb),.1); color: var(--c-primary-light); border: 1px solid rgba(var(--c-primary-rgb),.25); border-radius: 16px; font-size: 24px; margin: 0 auto 18px; }
.b2b-card__title { font-family: Montserrat, sans-serif; font-size: 17px; font-weight: 700; color: var(--c-text); margin: 0 0 10px; line-height: 1.3; }
.b2b-card__desc { font-size: 13.5px; color: var(--c-text-muted); line-height: 1.55; margin: 0; }
.b2b-cta { display: flex; align-items: center; justify-content: space-between; gap: 28px; max-width: 1000px; margin: 0 auto; padding: 28px 36px; background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.1), rgba(var(--c-primary-rgb),.02)); border: 1px solid rgba(var(--c-primary-rgb),.3); border-radius: 18px; box-shadow: 0 10px 30px rgba(0,0,0,.25); position: relative; overflow: hidden; }
.b2b-cta::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 4px; background: linear-gradient(180deg, var(--c-primary), var(--c-primary-dark)); }
.b2b-cta__text h3 { font-family: Montserrat, sans-serif; font-size: 19px; font-weight: 800; color: var(--c-text); margin: 0 0 8px; }
.b2b-cta__text p { font-size: 14px; color: var(--c-text-muted); margin: 0; }
.b2b-cta__actions { display: flex; flex-direction: column; align-items: flex-end; gap: 10px; flex-shrink: 0; }
.b2b-cta__link { font-size: 13px; color: var(--c-text-muted); text-decoration: none; display: inline-flex; align-items: center; gap: 6px; }
.b2b-cta__link:hover { color: var(--c-primary-light); gap: 10px; }
.b2b-cta__link i { font-size: 11px; }
@media (max-width: 860px) {
    .b2b-cta { flex-direction: column; text-align: center; gap: 20px; padding: 26px 22px; }
    .b2b-cta__actions { align-items: center; width: 100%; }
    .b2b-cta__actions .btn { width: 100%; text-align: center; }
}

/* CATALOG-CALC-H2-V1 */
.catalog-h2 {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 800;
    color: var(--c-text);
    line-height: 1.3;
    letter-spacing: -0.3px;
    margin: 0 0 24px;
    padding: 0;
    text-align: left;
}
.calc-h2 {
    font-family: var(--font-display);
    font-size: clamp(1.4rem, 2.5vw, 1.85rem);
    font-weight: 800;
    color: var(--c-text);
    line-height: 1.3;
    letter-spacing: -0.3px;
    margin: 0 0 24px;
    padding: 0;
    text-align: center;
}
@media (max-width: 600px) {
    .catalog-h2, .calc-h2 { font-size: 1.2rem; margin-bottom: 18px; }
}




/* FEATURE-ALT-BLOCK-V1 */
.feature-alt-section {
    padding: 80px 0;
}
@media (max-width: 700px) {
    .feature-alt-section { padding: 50px 0; }
}

.feature-alt-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    max-width: 900px;
    margin: 0 auto;
}
@media (max-width: 700px) {
    .feature-alt-grid { grid-template-columns: 1fr; gap: 16px; }
}

.feature-alt-item {
    display: flex;
    align-items: flex-start;
    gap: 20px;
    padding: 32px 28px;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb), .08), rgba(var(--c-primary-rgb), .02));
    border: 1px solid rgba(var(--c-primary-rgb), .28);
    border-radius: 16px;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
}
.feature-alt-item:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb), .5);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .3);
}

.feature-alt-icon {
    flex-shrink: 0;
    width: 64px;
    height: 64px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
    color: #fff;
    border-radius: 16px;
    font-size: 1.7rem;
    box-shadow: 0 6px 16px rgba(var(--c-primary-rgb), .35);
}

.feature-alt-body {
    flex: 1;
    min-width: 0;
}

.feature-alt-title {
    font-family: Montserrat, sans-serif;
    font-size: 22px;
    font-weight: 800;
    color: var(--c-text);
    margin: 0 0 8px;
    line-height: 1.25;
}

.feature-alt-accent {
    background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.feature-alt-desc {
    font-size: 15px;
    color: var(--c-text-muted);
    line-height: 1.5;
    margin: 0;
}

@media (max-width: 480px) {
    .feature-alt-item { padding: 24px 20px; gap: 16px; }
    .feature-alt-icon { width: 54px; height: 54px; font-size: 1.4rem; }
    .feature-alt-title { font-size: 19px; }
    .feature-alt-desc { font-size: 14px; }
}

/* EPOCH-HISTORY-V1 */
.section-epochs {
    padding: 80px 0;
}

.epochs-list {
    max-width: 1200px;
    margin: 0 auto;
}

.epoch-block {
    margin-bottom: 48px;
}
.epoch-block:last-child {
    margin-bottom: 0;
}

.epoch-head {
    display: flex;
    align-items: baseline;
    gap: 16px;
    margin-bottom: 24px;
    padding-bottom: 14px;
    border-bottom: 2px solid rgba(var(--c-primary-rgb), .2);
}

.epoch-range {
    font-family: var(--font-display);
    font-size: 28px;
    font-weight: 900;
    color: var(--c-primary-light);
    letter-spacing: -0.5px;
    line-height: 1;
    white-space: nowrap;
}

.epoch-title {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--c-text-muted);
    margin: 0;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.5px;
}

.epoch-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 20px;
}

.epoch-card {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 14px;
    padding: 24px 22px 22px;
    transition: transform .25s ease, border-color .25s ease, box-shadow .25s ease;
    position: relative;
    overflow: hidden;
}
.epoch-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--c-primary), var(--c-primary-dark));
    opacity: 0;
    transition: opacity .25s ease;
}
.epoch-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb), .35);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
}
.epoch-card:hover::before {
    opacity: 1;
}

.epoch-card__year {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 900;
    color: var(--c-primary-light);
    line-height: 1;
    margin-bottom: 12px;
    letter-spacing: -0.5px;
}

.epoch-card__title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.35;
}

.epoch-card__desc {
    font-size: 13.5px;
    color: var(--c-text-muted);
    line-height: 1.55;
    margin: 0;
}

@media (max-width: 700px) {
    .section-epochs { padding: 50px 0; }
    .epoch-block { margin-bottom: 36px; }
    .epoch-head {
        flex-direction: column;
        gap: 6px;
        margin-bottom: 18px;
        padding-bottom: 10px;
    }
    .epoch-range { font-size: 24px; }
    .epoch-title { font-size: 15px; }
    .epoch-grid { gap: 14px; }
    .epoch-card { padding: 20px 18px 18px; }
    .epoch-card__year { font-size: 22px; margin-bottom: 10px; }
    .epoch-card__title { font-size: 15px; }
    .epoch-card__desc { font-size: 13px; }
}



/* TIMELINE-V1 — Хронология с линией, точками и ghost years */
.section-epochs-accordion {
    padding: 80px 0;
}

/* Контейнер с вертикальной линией */
.epochs-accordion {
    max-width: 1000px;
    margin: 0 auto;
    position: relative;
    padding-left: 40px;
}

.epochs-accordion::before {
    content: '';
    position: absolute;
    left: 15px;
    top: 20px;
    bottom: 20px;
    width: 2px;
    background: linear-gradient(180deg,
        rgba(var(--c-primary-rgb), .1) 0%,
        rgba(var(--c-primary-rgb), .4) 50%,
        rgba(var(--c-primary-rgb), .1) 100%);
}

.epoch-item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 16px;
    margin-bottom: 20px;
    overflow: hidden;
    transition: border-color .3s ease, box-shadow .3s ease;
    position: relative;
}
.epoch-item:last-child {
    margin-bottom: 0;
}

/* Точка на линии времени */
.epoch-item::before {
    content: '';
    position: absolute;
    left: -33px;
    top: 32px;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background: var(--c-bg);
    border: 2px solid rgba(var(--c-primary-rgb), .4);
    transition: all .3s ease;
    z-index: 2;
}
.epoch-item::after {
    content: '';
    position: absolute;
    left: -27px;
    top: 38px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: rgba(var(--c-primary-rgb), .4);
    transition: all .3s ease;
    z-index: 3;
}

.epoch-item[open] {
    border-color: rgba(var(--c-primary-rgb), .5);
    box-shadow: 0 12px 40px rgba(0, 0, 0, .35), 0 0 0 1px rgba(var(--c-primary-rgb), .1);
}
.epoch-item[open]::before {
    background: var(--c-primary);
    border-color: var(--c-primary);
    box-shadow: 0 0 20px rgba(var(--c-primary-rgb), .6);
    transform: scale(1.2);
}
.epoch-item[open]::after {
    background: var(--c-bg);
    width: 6px;
    height: 6px;
    left: -28px;
    top: 37px;
}

.epoch-item:hover:not([open]) {
    border-color: rgba(var(--c-primary-rgb), .3);
}
.epoch-item:hover:not([open])::before {
    border-color: rgba(var(--c-primary-rgb), .7);
}

/* Summary */
.epoch-summary {
    list-style: none;
    padding: 22px 28px 22px 24px;
    display: flex;
    align-items: center;
    gap: 16px;
    cursor: pointer;
    user-select: none;
    transition: background .2s ease;
    position: relative;
}
.epoch-summary::-webkit-details-marker {
    display: none;
}
.epoch-summary:hover {
    background: rgba(var(--c-primary-rgb), .03);
}

.epoch-summary__range {
    font-family: var(--font-display);
    font-size: 24px;
    font-weight: 900;
    color: var(--c-primary-light);
    letter-spacing: -0.5px;
    line-height: 1;
    white-space: nowrap;
    min-width: 140px;
}

.epoch-summary__title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.3;
    flex: 1;
}

.epoch-summary__count {
    font-size: 12px;
    font-weight: 600;
    color: var(--c-text-muted);
    background: rgba(var(--c-primary-rgb), .1);
    padding: 4px 11px;
    border-radius: 12px;
    white-space: nowrap;
    border: 1px solid rgba(var(--c-primary-rgb), .15);
}

.epoch-summary__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 34px;
    height: 34px;
    color: var(--c-primary-light);
    transition: transform .35s cubic-bezier(0.34, 1.56, 0.64, 1);
    flex-shrink: 0;
    background: rgba(var(--c-primary-rgb), .08);
    border-radius: 50%;
}
.epoch-item[open] .epoch-summary__icon {
    transform: rotate(180deg);
    background: rgba(var(--c-primary-rgb), .18);
}

/* Content */
.epoch-content {
    padding: 0 28px 28px 24px;
    animation: epochFadeIn .4s ease;
    position: relative;
    overflow: hidden;
}

/* Ghost year — гигантские полупрозрачные цифры */
.epoch-content::before {
    content: attr(data-ghost);
    position: absolute;
    right: -10px;
    bottom: -40px;
    font-family: var(--font-display);
    font-size: 160px;
    font-weight: 900;
    color: var(--c-primary);
    opacity: 0.04;
    line-height: 1;
    pointer-events: none;
    letter-spacing: -8px;
    user-select: none;
    white-space: nowrap;
}

@keyframes epochFadeIn {
    from {
        opacity: 0;
        transform: translateY(-10px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}

.epoch-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
    padding-top: 8px;
    position: relative;
    z-index: 1;
}

.epoch-card {
    background: rgba(var(--c-primary-rgb), .04);
    border: 1px solid rgba(var(--c-primary-rgb), .15);
    border-radius: 12px;
    padding: 22px 20px 20px;
    transition: border-color .25s ease, transform .25s ease, background .25s ease;
    position: relative;
    overflow: hidden;
}
.epoch-card::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 3px;
    height: 100%;
    background: linear-gradient(180deg, var(--c-primary), var(--c-primary-dark));
    opacity: 0;
    transition: opacity .25s ease;
}
.epoch-card:hover {
    border-color: rgba(var(--c-primary-rgb), .45);
    transform: translateY(-3px);
    background: rgba(var(--c-primary-rgb), .07);
}
.epoch-card:hover::before {
    opacity: 1;
}

.epoch-card__year {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 900;
    color: var(--c-primary-light);
    line-height: 1;
    margin-bottom: 10px;
    letter-spacing: -0.5px;
    display: inline-block;
}
.epoch-card__title {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 8px;
    line-height: 1.35;
}
.epoch-card__desc {
    font-size: 13px;
    color: var(--c-text-muted);
    line-height: 1.55;
    margin: 0;
}

/* Мобильный */
@media (max-width: 768px) {
    .section-epochs-accordion {
        padding: 50px 0;
    }
    .epochs-accordion {
        padding-left: 28px;
    }
    .epochs-accordion::before {
        left: 7px;
    }
    .epoch-item::before {
        left: -27px;
        top: 22px;
        width: 14px;
        height: 14px;
    }
    .epoch-item::after {
        left: -21px;
        top: 27px;
    }
    .epoch-item[open]::after {
        left: -22px;
        top: 26px;
    }
    .epoch-summary {
        padding: 18px 20px 18px 18px;
        flex-wrap: wrap;
        gap: 10px 14px;
    }
    .epoch-summary__range {
        font-size: 18px;
        min-width: auto;
    }
    .epoch-summary__title {
        font-size: 14px;
        order: 3;
        flex-basis: 100%;
    }
    .epoch-summary__count {
        font-size: 11px;
        padding: 3px 9px;
    }
    .epoch-summary__icon {
        width: 30px;
        height: 30px;
        margin-left: auto;
    }
    .epoch-content {
        padding: 0 20px 20px 18px;
    }
    .epoch-content::before {
        font-size: 100px;
        right: -5px;
        bottom: -20px;
    }
    .epoch-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }
    .epoch-card {
        padding: 18px 16px 16px;
    }
    .epoch-card__year {
        font-size: 22px;
    }
    .epoch-card__title {
        font-size: 14px;
    }
    .epoch-card__desc {
        font-size: 12.5px;
    }
}




/* Hint для карточек-ссылок */
.section-teply-tv .tv-card__link-hint {
    margin-top: 10px;
    font-size: 12.5px;
    color: var(--c-primary-light);
    font-weight: 600;
    opacity: 0;
    transform: translateY(4px);
    transition: opacity .25s ease, transform .25s ease;
}
.section-teply-tv .tv-card--link:hover .tv-card__link-hint {
    opacity: 1;
    transform: translateY(0);
}
.section-teply-tv .tv-card--link:hover .tv-card__overlay {
    opacity: .6;
}
.section-teply-tv .tv-card--link:hover .tv-card__name {
    color: var(--c-primary-light);
}

@media (max-width: 600px) {
    .section-teply-tv .tv-card__play {
        width: 56px !important;
        height: 56px !important;
    }
    .section-teply-tv .tv-card__play::before {
        border-width: 11px 0 11px 17px !important;
    }
    .section-teply-tv .tv-card__link-hint {
        opacity: 1;
        transform: translateY(0);
    }
}





/* TV-PLAY-GLOBAL-V1 — базовые стили для /portfolio/ и других страниц */
.tv-card__play {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .35);
    border: 0;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background .22s ease;
    z-index: 5;
}

.tv-card__play::before {
    content: '';
    width: 62px;
    height: 62px;
    border-radius: 50%;
    background: rgba(255, 255, 255, .95);
    box-shadow: 0 6px 20px rgba(0, 0, 0, .4);
    transition: transform .22s ease;
}

.tv-card__play::after {
    content: '';
    position: absolute;
    border-style: solid;
    border-width: 13px 0 13px 22px;
    border-color: transparent transparent transparent var(--c-primary, #C97B3F);
    margin-left: 5px;
}

.tv-card:hover .tv-card__play {
    background: rgba(0, 0, 0, .5);
}

.tv-card:hover .tv-card__play::before {
    transform: scale(1.1);
}

/* Для /portfolio/ — специфичные правила (section--tv) */
.section--tv .tv-card__play {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    background: rgba(0, 0, 0, .35) !important;
    border: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    border-radius: 0 !important;
    cursor: pointer;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: background .22s ease !important;
}

.section--tv .tv-card__play::before {
    content: '' !important;
    display: block !important;
    width: 62px !important;
    height: 62px !important;
    border-radius: 50% !important;
    background: rgba(255, 255, 255, .95) !important;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .4) !important;
    transition: transform .22s ease !important;
    border: 0 !important;
    position: relative !important;
}

.section--tv .tv-card__play::after {
    content: '' !important;
    position: absolute !important;
    left: 50% !important;
    top: 50% !important;
    transform: translate(-40%, -50%) !important;
    border-style: solid !important;
    border-width: 13px 0 13px 22px !important;
    border-color: transparent transparent transparent var(--c-primary, #C97B3F) !important;
    background: none !important;
    width: 0 !important;
    height: 0 !important;
}

.section--tv .tv-card:hover .tv-card__play {
    background: rgba(0, 0, 0, .5) !important;
}

.section--tv .tv-card:hover .tv-card__play::before {
    transform: scale(1.1) !important;
}

/* Мобильные размеры для /portfolio/ */
@media (max-width: 600px) {
    .tv-card__play::before { width: 52px; height: 52px; }
    .tv-card__play::after { border-width: 11px 0 11px 18px; }
}

/* TV-SCOPED-V1 — только для /teplyj-plintus/ (перебивает глобальные) */
.section-teply-tv .tv-card {
    position: relative;
    overflow: hidden;
    display: block;
    text-decoration: none;
    border: 0;
    padding: 0;
    margin: 0;
    width: 100%;
    text-align: left;
    cursor: pointer;
    background-color: var(--c-bg-alt);
    background-size: cover;
    background-position: center;
    border-radius: 16px;
    transition: transform .3s ease, box-shadow .3s ease;
    font: inherit;
    color: inherit;
}

.section-teply-tv .tv-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .4);
}

.section-teply-tv .tv-card__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg, rgba(0, 0, 0, .15) 0%, rgba(0, 0, 0, .65) 100%);
    transition: background .25s ease;
    pointer-events: none;
}

.section-teply-tv .tv-card:hover .tv-card__overlay {
    background: linear-gradient(180deg, rgba(0, 0, 0, .35) 0%, rgba(0, 0, 0, .75) 100%);
}

.section-teply-tv .tv-card__play {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    inset: auto !important;
    transform: translate(-50%, -50%) !important;
    width: 72px !important;
    height: 72px !important;
    border-radius: 50% !important;
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)) !important;
    border: 3px solid rgba(255, 255, 255, .95) !important;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .5) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 6 !important;
    pointer-events: none !important;
    transition: transform .25s ease !important;
    animation: tvPlayPulse 2.4s infinite !important;
    padding: 0 !important;
    margin: 0 !important;
}

.section-teply-tv .tv-card:hover .tv-card__play {
    transform: translate(-50%, -50%) scale(1.1) !important;
    animation: none !important;
}

.section-teply-tv .tv-card__play::before {
    content: '' !important;
    width: 0 !important;
    height: 0 !important;
    border-style: solid !important;
    border-width: 14px 0 14px 22px !important;
    border-color: transparent transparent transparent #fff !important;
    margin-left: 6px !important;
    display: block !important;
    background: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    position: static !important;
    transform: none !important;
    transition: none !important;
}

.section-teply-tv .tv-card__play::after {
    content: none !important;
    display: none !important;
}

@keyframes tvPlayPulse {
    0%, 100% {
        box-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 0 rgba(var(--c-primary-rgb), .6);
    }
    50% {
        box-shadow: 0 10px 30px rgba(0, 0, 0, .5), 0 0 0 14px rgba(var(--c-primary-rgb), 0);
    }
}

.section-teply-tv .tv-card__body {
    position: relative;
    z-index: 2;
    padding: 22px 22px 20px;
    margin-top: 240px;
}

.section-teply-tv .tv-card__name {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 6px;
    line-height: 1.3;
}

.section-teply-tv .tv-card__sub {
    font-size: 13.5px;
    color: rgba(255, 255, 255, .85);
    line-height: 1.4;
}

.section-teply-tv .tv-card--link:hover .tv-card__name {
    color: var(--c-primary-light);
}

@media (max-width: 600px) {
    .section-teply-tv .tv-card__play {
        width: 60px !important;
        height: 60px !important;
    }
    .section-teply-tv .tv-card__play::before {
        border-width: 12px 0 12px 18px !important;
    }
    .section-teply-tv .tv-card__body {
        padding: 18px 18px 16px;
        margin-top: 200px;
    }
    .section-teply-tv .tv-card__name { font-size: 15px; }
    .section-teply-tv .tv-card__sub { font-size: 12.5px; }
}

/* HIDE-PLAY-TEPLY-V1: skryt krug play tolko na /teplyj-plintus/ */
.section-teply-tv .tv-card__play {
    display: none !important;
}


/* STEPS-ORDER-V1 — 4 shaga "Zakazat prosto" */
.section-steps-order {
    padding: 80px 0;
}

.steps-order-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1180px;
    margin: 0 auto 40px;
}
@media (max-width: 992px) {
    .steps-order-grid { grid-template-columns: repeat(2, 1fr); gap: 18px; }
}
@media (max-width: 600px) {
    .steps-order-grid { grid-template-columns: 1fr; gap: 14px; max-width: 480px; }
}

.step-order-item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 16px;
    padding: 32px 24px 26px;
    text-align: center;
    position: relative;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.step-order-item:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb), .35);
    box-shadow: 0 12px 32px rgba(0, 0, 0, .3);
}

.step-order-num {
    position: absolute;
    top: 14px;
    right: 16px;
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 900;
    color: rgba(var(--c-primary-rgb), .12);
    line-height: 1;
    letter-spacing: -2px;
    pointer-events: none;
}

.step-order-icon {
    width: 64px;
    height: 64px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), .1);
    color: var(--c-primary-light);
    border: 1px solid rgba(var(--c-primary-rgb), .25);
    border-radius: 16px;
    font-size: 1.5rem;
    margin: 0 auto 18px;
    transition: background .3s ease, transform .3s ease;
}
.step-order-item:hover .step-order-icon {
    background: rgba(var(--c-primary-rgb), .18);
    transform: scale(1.05);
}

.step-order-title {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}

.step-order-desc {
    font-size: 13.5px;
    color: var(--c-text-muted);
    line-height: 1.55;
    margin: 0;
}

/* Stroka pro sertifikaty */
.steps-order-cert {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 10px;
    max-width: 900px;
    margin: 0 auto;
    padding: 16px 24px;
    background: rgba(var(--c-primary-rgb), .05);
    border: 1px dashed rgba(var(--c-primary-rgb), .25);
    border-radius: 12px;
    font-size: 14px;
    color: var(--c-text-muted);
    flex-wrap: wrap;
    text-align: center;
}
.steps-order-cert > i {
    color: var(--c-primary-light);
    font-size: 1.1rem;
}
.steps-order-cert a {
    color: var(--c-primary-light);
    font-weight: 600;
    text-decoration: none;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    transition: gap .25s ease, color .25s ease;
}
.steps-order-cert a:hover {
    color: var(--c-primary);
    gap: 10px;
}
.steps-order-cert a i {
    font-size: 11px;
}

@media (max-width: 600px) {
    .section-steps-order { padding: 50px 0; }
    .step-order-item { padding: 28px 20px 22px; }
    .step-order-num { font-size: 36px; top: 10px; right: 12px; }
    .step-order-icon { width: 56px; height: 56px; font-size: 1.3rem; }
    .step-order-title { font-size: 16px; }
    .step-order-desc { font-size: 13px; }
    .steps-order-cert { font-size: 13px; padding: 14px 18px; }
}


/* Usilennye effekty dlya kartinok vnutri etih blokov */
.complect-card .complect-card__img img,
.howworks-card .howworks-card__gif img,
.app-card .app-card__img img,
.mont-step .mont-step__img img,
.work-item img,
.standard-color-card .standard-color-card__img img {
    transition: transform 0.7s cubic-bezier(0.16, 1, 0.3, 1), filter 0.7s ease;
    will-change: transform, filter;
}

.complect-card.fx-ready .complect-card__img img,
.howworks-card.fx-ready .howworks-card__gif img,
.app-card.fx-ready .app-card__img img,
.mont-step.fx-ready .mont-step__img img,
.work-item.fx-ready img,
.standard-color-card.fx-ready .standard-color-card__img img {
    filter: blur(6px);
    transform: scale(1.08);
}

.complect-card.fx-ready.fx-in .complect-card__img img,
.howworks-card.fx-ready.fx-in .howworks-card__gif img,
.app-card.fx-ready.fx-in .app-card__img img,
.mont-step.fx-ready.fx-in .mont-step__img img,
.work-item.fx-ready.fx-in img,
.standard-color-card.fx-ready.fx-in .standard-color-card__img img {
    filter: blur(0);
    transform: scale(1);
}

/* Uvazhaem nastrojki OS */
@media (prefers-reduced-motion: reduce) {
    .complect-card.fx-ready,
    .howworks-card.fx-ready,
    .standard-color-card.fx-ready,
    .app-card.fx-ready,
    .mont-step.fx-ready,
    .work-item.fx-ready {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .complect-card.fx-ready .complect-card__img img,
    .howworks-card.fx-ready .howworks-card__gif img,
    .app-card.fx-ready .app-card__img img,
    .mont-step.fx-ready .mont-step__img img,
    .work-item.fx-ready img,
    .standard-color-card.fx-ready .standard-color-card__img img {
        filter: none !important;
        transform: none !important;
    }
}

/* TEPLY-IMG-ANIM-V2 — animacii dlya vseh blokov s kartinkami na /teplyj-plintus/ */

/* 1. Komplektacii */
.complect-card.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.complect-card.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.complect-card.fx-ready .complect-card__img img {
    filter: blur(6px);
    transform: scale(1.08);
    transition: filter 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.complect-card.fx-ready.fx-in .complect-card__img img {
    filter: blur(0);
    transform: scale(1);
}

/* 2. Kak eto rabotaet */
.howworks-card.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.howworks-card.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.howworks-card.fx-ready .howworks-card__gif img {
    filter: blur(6px);
    transform: scale(1.08);
    transition: filter 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.howworks-card.fx-ready.fx-in .howworks-card__gif img {
    filter: blur(0);
    transform: scale(1);
}

/* 3. Standartnye tsveta */
.standard-color-card.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.standard-color-card.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* 4. Primenenie */
.app-card.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.app-card.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.app-card.fx-ready .app-card__img img {
    filter: blur(6px);
    transform: scale(1.08);
    transition: filter 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.app-card.fx-ready.fx-in .app-card__img img {
    filter: blur(0);
    transform: scale(1);
}

/* 5. Montazh (sekciya mont-section, klassy .mont-step) */
.mont-step.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.mont-step.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.mont-step.fx-ready .mont-step__img img {
    filter: blur(6px);
    transform: scale(1.08);
    transition: filter 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.mont-step.fx-ready.fx-in .mont-step__img img {
    filter: blur(0);
    transform: scale(1);
}

/* 6. Primery rabot (sekciya s .work-item) */
.work-item.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.work-item.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}
.work-item.fx-ready img {
    filter: blur(6px);
    transform: scale(1.08);
    transition: filter 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.work-item.fx-ready.fx-in img {
    filter: blur(0);
    transform: scale(1);
}

/* 7. Znakovye obekty (bez kartinok, esli net — bazovaya animaciya) */
.objects-grid .object-item.fx-ready,
.znakovye-item.fx-ready,
.objects-section .section-head.fx-ready {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.objects-grid .object-item.fx-ready.fx-in,
.znakovye-item.fx-ready.fx-in,
.objects-section .section-head.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0);
}

/* Uvazhaem prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .complect-card.fx-ready, .howworks-card.fx-ready, .standard-color-card.fx-ready,
    .app-card.fx-ready, .mont-step.fx-ready, .work-item.fx-ready,
    .objects-grid .object-item.fx-ready, .znakovye-item.fx-ready, .objects-section .section-head.fx-ready {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .complect-card.fx-ready img, .howworks-card.fx-ready img, .app-card.fx-ready img,
    .mont-step.fx-ready img, .work-item.fx-ready img {
        filter: none !important;
        transform: none !important;
    }
}

/* OBJECT-CARD-ANIM-V1 — animacii dlya «Znakovyh obektov» */
.object-card.fx-ready {
    opacity: 0;
    transform: translateY(28px) scale(0.97);
    transition: opacity 0.65s cubic-bezier(0.16, 1, 0.3, 1), transform 0.65s cubic-bezier(0.16, 1, 0.3, 1);
    will-change: opacity, transform;
}
.object-card.fx-ready.fx-in {
    opacity: 1;
    transform: translateY(0) scale(1);
}

/* Kartinka vnutri - cherez background-image, poetomu animiruem sam blok */
.object-card.fx-ready .object-card__img {
    filter: blur(6px);
    transform: scale(1.08);
    transition: filter 0.7s ease, transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.object-card.fx-ready.fx-in .object-card__img {
    filter: blur(0);
    transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
    .object-card.fx-ready {
        opacity: 1 !important;
        transform: none !important;
        transition: none !important;
    }
    .object-card.fx-ready .object-card__img {
        filter: none !important;
        transform: none !important;
    }
}



/* MAIN-DIVIDERS-V1: vosstanavlivaem mednye poloski na glavnoy */
.kuznya-sec .section::after {
    display: block !important;
}
/* Ubiraem polosku pod samoy posledney sekciey stranicy */
.kuznya-sec:last-of-type .section:last-of-type::after {
    display: none !important;
}


/* MOBILE-COMPARE-V1: mobilnaya adaptatsiya tablitsy sravneniya na /teplyj-plintus/ */
@media (max-width: 900px) {
    /* Obnylyaem szhatie tablitsy, davaya ej minimalnuyu shirinu */
    .section:not(.section-comparison) .compare-table {
        min-width: 680px !important;
        width: 680px !important;
    }
    
    /* Obvorachivaem v skroll s otstupami po krayam */
    .section:not(.section-comparison) .compare-wrap {
        display: block !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch;
        margin: 0 -16px !important;
        padding: 0 16px 16px !important;
        position: relative;
        scrollbar-width: thin;
        scrollbar-color: rgba(var(--c-primary-rgb), .5) rgba(255, 255, 255, .05);
    }
    
    /* Gradientnye teni po krayam - podskazka chto mozhno skrollit */
    .section:not(.section-comparison) .compare-wrap::before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 16px;
        width: 24px;
        background: linear-gradient(90deg, var(--c-bg) 0%, transparent 100%);
        pointer-events: none;
        z-index: 3;
    }
    .section:not(.section-comparison) .compare-wrap::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        bottom: 16px;
        width: 24px;
        background: linear-gradient(270deg, var(--c-bg) 0%, transparent 100%);
        pointer-events: none;
        z-index: 3;
    }
    
    /* Stilizatsiya skrollbara */
    .section:not(.section-comparison) .compare-wrap::-webkit-scrollbar {
        height: 6px;
    }
    .section:not(.section-comparison) .compare-wrap::-webkit-scrollbar-track {
        background: rgba(255, 255, 255, .05);
        border-radius: 3px;
        margin: 0 16px;
    }
    .section:not(.section-comparison) .compare-wrap::-webkit-scrollbar-thumb {
        background: rgba(var(--c-primary-rgb), .5);
        border-radius: 3px;
    }
    .section:not(.section-comparison) .compare-wrap::-webkit-scrollbar-thumb:hover {
        background: rgba(var(--c-primary-rgb), .8);
    }
    
    /* Pervaya kolonka (kriterii) - sticky, chtoby ne uezzhala pri skrolle */
    .section:not(.section-comparison) .compare-head__crit,
    .section:not(.section-comparison) .compare-row__crit {
        position: sticky !important;
        left: 0;
        background: var(--c-bg-alt) !important;
        z-index: 2;
        min-width: 180px !important;
        max-width: 180px !important;
        border-right: 1px solid rgba(var(--c-primary-rgb), .15);
    }
    
    /* Umen'shaem shrift no ne silno */
    .section:not(.section-comparison) .compare-head__name {
        font-size: 13px;
    }
    .section:not(.section-comparison) .compare-head__sub {
        font-size: 11px;
    }
    .section:not(.section-comparison) .compare-row__crit-text {
        font-size: 12px;
    }
    .section:not(.section-comparison) .compare-row__crit {
        padding: 12px 12px !important;
    }
    
    /* Umenshaem padding yacheek no ostavlyaem chitaemymi */
    .section:not(.section-comparison) .compare-row__cell {
        min-width: 80px;
        padding: 12px 8px;
    }
}

@media (max-width: 600px) {
    /* Na malen'kih ekranah - eshe kompaktnee */
    .section:not(.section-comparison) .compare-table {
        min-width: 600px !important;
        width: 600px !important;
    }
    .section:not(.section-comparison) .compare-head__crit,
    .section:not(.section-comparison) .compare-row__crit {
        min-width: 150px !important;
        max-width: 150px !important;
        padding: 10px 8px !important;
    }
    .section:not(.section-comparison) .compare-row__crit-text {
        font-size: 11px;
    }
    .section:not(.section-comparison) .compare-row__cell {
        min-width: 70px;
        padding: 10px 6px;
    }
    .section:not(.section-comparison) .compare-mark {
        width: 24px;
        height: 24px;
        font-size: 10px;
    }
}

/* MOBILE-CTA-V1: knopki v CTA-bloke na mobil'nyh */
@media (max-width: 700px) {
    .heaters-cta {
        flex-direction: column !important;
        text-align: center !important;
        align-items: stretch !important;
        gap: 20px !important;
    }
    .heaters-cta__text {
        text-align: center !important;
    }
    .heaters-cta__btns {
        width: 100% !important;
        flex-direction: column !important;
        gap: 12px !important;
    }
    .heaters-cta__btns .btn {
        width: 100% !important;
        justify-content: center !important;
        padding: 16px 20px !important;
        font-size: 15px !important;
    }
}
@media (max-width: 480px) {
    .heaters-cta__btns .btn {
        padding: 14px 16px !important;
        font-size: 14px !important;
    }
}

/* COMPARE-RELIABLE-V1: nadezhnoe perekluchenie tablitsa -> kartochki na mobil'nyh */
@media (max-width: 900px) {
    /* Skryvaem tablitsu na stranitsah s .section-comparison */
    .section.section-comparison .compare-wrap,
    .section-comparison .compare-wrap {
        display: none !important;
    }
    /* Pokazyvaem kartochki */
    .section.section-comparison .compare-cards,
    .section-comparison .compare-cards {
        display: flex !important;
        flex-direction: column !important;
        gap: 16px !important;
    }
}
@media (min-width: 901px) {
    /* Na desktop - tablitsa, kartochki skryty */
    .section-comparison .compare-cards {
        display: none !important;
    }
    .section-comparison .compare-wrap {
        display: block !important;
    }
}


/* CALC-SUBTITLE-V1: podzagolovok + 3 fakta pod H2 na /calc/ */
.calc-subtitle {
    font-family: var(--font-body);
    font-size: 15px;
    color: var(--c-text-muted);
    text-align: center;
    max-width: 640px;
    margin: -12px auto 24px;
    line-height: 1.55;
}

.calc-facts {
    display: flex;
    justify-content: center;
    gap: 32px;
    max-width: 800px;
    margin: 0 auto 36px;
    padding: 20px 24px;
    background: rgba(var(--c-primary-rgb), .04);
    border: 1px solid rgba(var(--c-primary-rgb), .15);
    border-radius: 14px;
    flex-wrap: wrap;
}

.calc-fact {
    display: flex;
    align-items: center;
    gap: 12px;
}

.calc-fact__icon {
    flex-shrink: 0;
    width: 42px;
    height: 42px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), .12);
    color: var(--c-primary-light);
    border: 1px solid rgba(var(--c-primary-rgb), .25);
    border-radius: 10px;
    font-size: 1rem;
}

.calc-fact__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.3;
}

.calc-fact__text b {
    font-family: var(--font-display);
    font-size: 14px;
    font-weight: 700;
    color: var(--c-text);
}

.calc-fact__text span {
    font-size: 12px;
    color: var(--c-text-muted);
}

@media (max-width: 700px) {
    .calc-subtitle {
        font-size: 14px;
        margin: -8px auto 20px;
        padding: 0 4px;
    }
    .calc-facts {
        gap: 14px;
        padding: 16px 18px;
        margin-bottom: 28px;
        flex-direction: column;
        align-items: stretch;
    }
    .calc-fact {
        justify-content: flex-start;
    }
    .calc-fact__icon {
        width: 38px;
        height: 38px;
        font-size: 0.9rem;
    }
    .calc-fact__text b {
        font-size: 13.5px;
    }
    .calc-fact__text span {
        font-size: 11.5px;
    }
}

/* CALC-PROGRESS-V2: krugi + liniya + odna stroka Shag N iz 7 */
.calc-progress {
    position: relative !important;
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    max-width: 540px !important;
    margin: 0 auto 14px !important;
    padding: 8px 0 !important;
    gap: 0 !important;
    flex-wrap: nowrap !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}
.calc-progress::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 20px;
    right: 20px;
    height: 2px;
    background: rgba(255, 255, 255, .08);
    z-index: 0;
    transform: translateY(-50%);
    border-radius: 2px;
}
.calc-progress-item {
    position: relative !important;
    z-index: 1 !important;
    padding: 0 !important;
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    min-width: 0 !important;
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: row !important;
    gap: 0 !important;
}
.calc-progress-num {
    width: 34px !important;
    height: 34px !important;
    border-radius: 50% !important;
    background: var(--c-bg-alt) !important;
    border: 2px solid rgba(255, 255, 255, .14) !important;
    color: var(--c-text-muted) !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: all .35s cubic-bezier(.16, 1, .3, 1) !important;
    font-family: var(--font-display) !important;
    line-height: 1 !important;
}
.calc-progress-item.active .calc-progress-num {
    background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark)) !important;
    border-color: var(--c-primary-light) !important;
    color: #fff !important;
    box-shadow: 0 0 0 5px rgba(var(--c-primary-rgb), .15), 0 4px 14px rgba(var(--c-primary-rgb), .45) !important;
    transform: scale(1.1) !important;
}
.calc-progress-item.done .calc-progress-num {
    background: rgba(var(--c-primary-rgb), .22) !important;
    border-color: rgba(var(--c-primary-rgb), .55) !important;
    color: var(--c-primary-light) !important;
    font-size: 0 !important;
}
.calc-progress-item.done .calc-progress-num::before {
    content: '\2713';
    font-size: 15px;
    font-weight: 800;
}
.calc-progress-label {
    display: none !important;
}
.calc-progress-info {
    text-align: center;
    font-family: var(--font-body);
    font-size: 13px;
    color: var(--c-text-muted);
    margin: 0 auto 32px;
    letter-spacing: .2px;
}
.calc-progress-info b {
    color: var(--c-primary-light);
    font-weight: 700;
    margin: 0 2px;
}
@media (max-width: 700px) {
    .calc-progress { max-width: 100% !important; padding: 6px 0 !important; }
    .calc-progress-num { width: 30px !important; height: 30px !important; font-size: 12px !important; }
    .calc-progress-item.active .calc-progress-num { transform: scale(1.05) !important; }
    .calc-progress-info { font-size: 12.5px; margin-bottom: 24px; }
}
@media (max-width: 420px) {
    .calc-progress-num { width: 26px !important; height: 26px !important; font-size: 11px !important; border-width: 1.5px !important; }
    .calc-progress-item.done .calc-progress-num::before { font-size: 13px; }
}



/* Sderzhannyy teplo-zelenyy fon vmesto yarkogo */
.calc-engineer-online {
    padding: 5px 14px 5px 12px !important;
    background: linear-gradient(135deg, rgba(74, 222, 128, .07), rgba(201, 123, 63, .05)) !important;
    border: 1px solid rgba(74, 222, 128, .18) !important;
    border-radius: 999px !important;
    gap: 9px !important;
    margin-top: 8px !important;
    backdrop-filter: blur(2px);
    transition: border-color .3s ease, background .3s ease;
}
.calc-engineer-online:hover {
    border-color: rgba(74, 222, 128, .3) !important;
}

/* Tekst — kompaktnyy, legkiy */
.calc-engineer-online__text {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .2px !important;
    color: rgba(237, 238, 240, .85) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

/* Tochka — men'she, myagche, bez tolsto go kol'tsa */
.calc-engineer-online__dot {
    position: relative !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #4ADE80 !important;
    box-shadow: 0 0 6px rgba(74, 222, 128, .55) !important;
    flex-shrink: 0 !important;
}

/* Myagkiy medlennyy puls vmesto tol stogo kol'tsa */
@keyframes onlineSoftPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: .6;
    }
    70% {
        transform: translate(-50%, -50%) scale(2.2);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.2);
        opacity: 0;
    }
}

/* Na mobilnom — kompaktnee */
@media (max-width: 600px) {
    .calc-engineer-online {
        padding: 4px 11px 4px 10px !important;
        gap: 7px !important;
    }
    .calc-engineer-online__text { font-size: 11.5px !important; }
    .calc-engineer-online__dot { width: 6px !important; height: 6px !important; }
}

/* Uvazhaem nastrojki OS */
@media (prefers-reduced-motion: reduce) {
    }


/* ONLINE-BADGE-V3: ispravlennaya pulsatsiya (bez smeshcheniya) */

/* Sderzhannyy fon */
.calc-engineer-online {
    padding: 5px 14px 5px 12px !important;
    background: linear-gradient(135deg, rgba(74, 222, 128, .07), rgba(201, 123, 63, .05)) !important;
    border: 1px solid rgba(74, 222, 128, .18) !important;
    border-radius: 999px !important;
    gap: 9px !important;
    margin-top: 8px !important;
    transition: border-color .3s ease;
}
.calc-engineer-online__text {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .2px !important;
    color: rgba(237, 238, 240, .85) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

/* Tochka — pozitsioniruetsya normal'no, z-index: 1 chtoby byt' sverhu */
.calc-engineer-online__dot {
    position: relative !important;
    width: 7px !important;
    height: 7px !important;
    border-radius: 50% !important;
    background: #4ADE80 !important;
    box-shadow: 0 0 6px rgba(74, 222, 128, .55) !important;
    flex-shrink: 0 !important;
    z-index: 1 !important;
}

/* ::after — PRAVIL'NYY poryadok: inset: auto DO top/left, bez z-index: -1 */
@keyframes onlineSoftPulse {
    0% {
        transform: translate(-50%, -50%) scale(1);
        opacity: 0.6;
    }
    70% {
        transform: translate(-50%, -50%) scale(2.2);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.2);
        opacity: 0;
    }
}

@media (max-width: 600px) {
    .calc-engineer-online { padding: 4px 11px 4px 10px !important; gap: 7px !important; }
    .calc-engineer-online__text { font-size: 11.5px !important; }
    .calc-engineer-online__dot { width: 6px !important; height: 6px !important; }
}

@media (prefers-reduced-motion: reduce) {
    }


/* ONLINE-BADGE-V4: chistyy puls (odno pravilo, zamedlenno, zametno) */

.calc-engineer-online {
    padding: 5px 14px 5px 12px !important;
    background: linear-gradient(135deg, rgba(74, 222, 128, .07), rgba(201, 123, 63, .05)) !important;
    border: 1px solid rgba(74, 222, 128, .18) !important;
    border-radius: 999px !important;
    gap: 9px !important;
    margin-top: 8px !important;
    display: inline-flex !important;
    align-items: center !important;
    transition: border-color .3s ease;
}
.calc-engineer-online__text {
    font-size: 12px !important;
    font-weight: 500 !important;
    letter-spacing: .2px !important;
    color: rgba(237, 238, 240, .9) !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
}

/* Tochka - zelenaya, s myagkim svecheniem */
.calc-engineer-online__dot {
    position: relative !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #4ADE80 !important;
    box-shadow: 0 0 8px rgba(74, 222, 128, 0.6) !important;
    flex-shrink: 0 !important;
    z-index: 2 !important;
}

/* Puls - rasshiryaetsya ot tochki i rastvoryaetsya */
70% {
        transform: translate(-50%, -50%) scale(2.5);
        opacity: 0;
    }
    100% {
        transform: translate(-50%, -50%) scale(2.5);
        opacity: 0;
    }
}

@media (max-width: 600px) {
    .calc-engineer-online { padding: 4px 11px 4px 10px !important; gap: 7px !important; }
    .calc-engineer-online__text { font-size: 11.5px !important; }
    .calc-engineer-online__dot { width: 7px !important; height: 7px !important; }
}


/* ONLINE-BADGE-V5: prostoy puls cherez inset + scale (bez translate) */

.calc-engineer-online__dot {
    position: relative !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #4ADE80 !important;
    box-shadow: 0 0 8px rgba(74, 222, 128, 0.6) !important;
    flex-shrink: 0 !important;
    overflow: visible !important;
}

/* ::after zanimaet ves' roditel (inset: 0), masshtabiruetsya ot tsentra */
100% {
        transform: scale(1.8);
        opacity: 0;
    }
}

/* Fallback dlya brauzerov s prefers-reduced-motion — tochka bez pulsa, no vidna */
@media (prefers-reduced-motion: reduce) {
    }


/* PULSE-RIPPLE-V1: volny-kol'tsa vmesto naduvayushchegosya shara */

.calc-engineer-online__dot {
    position: relative !important;
    width: 8px !important;
    height: 8px !important;
    border-radius: 50% !important;
    background: #4ADE80 !important;
    box-shadow: 0 0 8px rgba(74, 222, 128, 0.6) !important;
    flex-shrink: 0 !important;
}

/* Dva kol'tsa s zaderzhkoy - effekt ryabi */
.calc-engineer-online__dot::before,
.calc-engineer-online__dot::after {
    content: '' !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: 50% !important;
    border: 1.5px solid #4ADE80 !important;
    background: transparent !important;
    pointer-events: none !important;
    animation: rippleRing 3.2s cubic-bezier(0.2, 0.8, 0.3, 1) infinite !important;
}
.calc-engineer-online__dot::after {
    animation-delay: 1.6s !important;
}

@keyframes rippleRing {
    0% {
        transform: scale(1);
        opacity: 0.7;
    }
    100% {
        transform: scale(1.7);
        opacity: 0;
    }
}

@media (prefers-reduced-motion: reduce) {
    .calc-engineer-online__dot::before,
    .calc-engineer-online__dot::after {
        animation: none !important;
        display: none !important;
    }
}


/* ENGINEER-MOBILE-V1: kompaktnyy blok inzhenera na mobilnom */
.calc-engineer-mobile { display: none; }

@media (max-width: 1100px) {
    .calc-engineer-mobile {
        display: flex !important;
        align-items: center;
        gap: 14px;
        padding: 14px 18px;
        margin: 0 auto 20px;
        max-width: 540px;
        background: linear-gradient(135deg, rgba(201, 123, 63, .06), rgba(201, 123, 63, .02));
        border: 1px solid rgba(201, 123, 63, .22);
        border-radius: 14px;
    }
    .calc-engineer-mobile__avatar {
        flex-shrink: 0;
        width: 52px;
        height: 52px;
        border-radius: 50%;
        background: linear-gradient(135deg, var(--c-primary), var(--c-primary-dark));
        overflow: hidden;
        display: flex;
        align-items: flex-end;
        justify-content: center;
        box-shadow: 0 4px 12px rgba(201, 123, 63, .3);
    }
    .calc-engineer-mobile__avatar img {
        width: 100%;
        height: 100%;
        object-fit: contain;
        object-position: center bottom;
        display: block;
    }
    .calc-engineer-mobile__body {
        flex: 1;
        min-width: 0;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    .calc-engineer-mobile__name {
        font-family: var(--font-display);
        font-size: 14px;
        font-weight: 700;
        color: var(--c-text);
        line-height: 1.2;
    }
    .calc-engineer-mobile__role {
        font-size: 12px;
        color: var(--c-text-muted);
        line-height: 1.2;
        margin-bottom: 4px;
    }
    .calc-engineer-mobile__online {
        display: inline-flex;
        align-items: center;
        gap: 6px;
    }
    .calc-engineer-mobile .calc-engineer-online__text {
        font-size: 11.5px !important;
        font-weight: 500 !important;
        color: rgba(237, 238, 240, .85) !important;
        white-space: nowrap !important;
        line-height: 1.2 !important;
    }
}

@media (max-width: 420px) {
    .calc-engineer-mobile { padding: 12px 14px; gap: 12px; }
    .calc-engineer-mobile__avatar { width: 46px; height: 46px; }
    .calc-engineer-mobile__name { font-size: 13px; }
    .calc-engineer-mobile__role { font-size: 11.5px; }
    .calc-engineer-mobile .calc-engineer-online__text { font-size: 11px !important; }
}


/* MODAL-ERROR-MOBILE-V1: mobilnaya adaptatsiya modal oshibki */
@media (max-width: 600px) {
    .calc-error-modal {
        padding: 16px !important;
        align-items: flex-end !important;
    }
    .calc-error-modal__box {
        max-width: 100% !important;
        padding: 28px 22px 22px !important;
        border-radius: 18px !important;
        animation: modalSlideUp 0.3s cubic-bezier(.16,1,.3,1) !important;
    }
    .calc-error-modal__icon {
        width: 64px !important;
        height: 64px !important;
        font-size: 1.8rem !important;
        margin: 0 auto 18px !important;
    }
    .calc-error-modal__title {
        font-size: 1.2rem !important;
        margin: 0 0 8px !important;
    }
    .calc-error-modal__text {
        font-size: 0.92rem !important;
        margin: 0 0 20px !important;
    }
    .calc-error-modal__box .btn,
    .calc-error-modal__box button {
        width: 100% !important;
        padding: 14px 20px !important;
        font-size: 15px !important;
        justify-content: center !important;
    }
}

@keyframes modalSlideUp {
    from {
        transform: translateY(40px);
        opacity: 0;
    }
    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@media (max-width: 380px) {
    .calc-error-modal__box { padding: 24px 18px 18px !important; }
    .calc-error-modal__icon { width: 56px !important; height: 56px !important; font-size: 1.6rem !important; }
    .calc-error-modal__title { font-size: 1.1rem !important; }
}


/* ABOUT-NUMBERS-V1: 4 kartochki s tsiframi vmesto заглушек */

.about-numbers {
    display: grid !important;
    grid-template-columns: 1.3fr 1fr !important;
    grid-template-rows: repeat(3, 1fr) !important;
    gap: 14px !important;
    aspect-ratio: 1 / 1 !important;
    align-items: stretch !important;
}

.about-number {
    position: relative;
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.1), rgba(var(--c-bg-alt-rgb),.95));
    border: 1px solid rgba(var(--c-primary-rgb),.18);
    border-radius: 16px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 18px 14px;
    overflow: hidden;
    transition: transform .3s cubic-bezier(.16,1,.3,1), border-color .3s, box-shadow .3s, background .3s;
}
.about-number::before {
    content: '';
    position: absolute;
    top: -30px; right: -30px;
    width: 100px; height: 100px;
    background: radial-gradient(circle, rgba(var(--c-primary-rgb),.18), transparent 70%);
    pointer-events: none;
}
.about-number:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb),.5);
    box-shadow: 0 12px 28px rgba(0,0,0,.35);
    background: linear-gradient(135deg, rgba(var(--c-primary-rgb),.16), rgba(var(--c-bg-alt-rgb),.95));
}

.about-number i {
    font-size: 22px;
    color: var(--c-primary-light);
    margin-bottom: 10px;
    opacity: .9;
    transition: transform .3s;
}
.about-number:hover i {
    transform: scale(1.1);
}

.about-number__value {
    font-family: var(--font-display);
    font-size: 26px;
    font-weight: 900;
    color: var(--c-text);
    line-height: 1;
    letter-spacing: -.5px;
    margin-bottom: 6px;
    background: linear-gradient(135deg, var(--c-primary-light), var(--c-primary));
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
}

.about-number__label {
    font-size: 11.5px;
    color: var(--c-text-muted);
    line-height: 1.3;
    font-weight: 500;
}

/* Pervaya (bol'shaya) - na 2 ryada */
.about-number--big {
    grid-row: 1 / span 3;
    grid-column: 1;
    padding: 24px 18px;
}
.about-number--big i {
    font-size: 32px;
    margin-bottom: 14px;
}
.about-number--big .about-number__value {
    font-size: 44px;
    margin-bottom: 8px;
}
.about-number--big .about-number__label {
    font-size: 13px;
}

/* Tri malen'kie - v pravom stolbtse */
.about-number:not(.about-number--big) {
    grid-column: 2;
}

/* Mobil'naya versiya */
@media (max-width: 700px) {
    .about-numbers {
        grid-template-columns: 1fr 1fr !important;
        grid-template-rows: auto !important;
        aspect-ratio: auto !important;
        gap: 10px !important;
    }
    .about-number--big {
        grid-row: auto !important;
        grid-column: 1 / -1 !important;
    }
    .about-number:not(.about-number--big) {
        grid-column: auto !important;
    }
    .about-number__value { font-size: 22px; }
    .about-number--big .about-number__value { font-size: 36px; }
    .about-number i { font-size: 20px; margin-bottom: 8px; }
    .about-number--big i { font-size: 28px; }
    .about-number__label { font-size: 11px; }
}


/* ABOUT-CLEAN-V1: «Kto my» na vsyu shirinu, chitaemo */

/* Odna kolonka vmesto dvuh */
.about-intro {
    display: block !important;
    max-width: 900px !important;
    margin: 0 auto !important;
}

/* Tekst — shirokiy, s komfortnym mezhstrochnym */
.about-intro__text {
    max-width: 100% !important;
}
.about-intro__text .section-title {
    margin-bottom: 28px !important;
}
.about-intro__text p {
    font-size: 16.5px !important;
    line-height: 1.7 !important;
    margin-bottom: 18px !important;
    max-width: 800px !important;
}

/* Knopki chut' ottyanuty */
.about-intro__actions {
    margin-top: 32px !important;
    display: flex;
    gap: 14px;
    flex-wrap: wrap;
}

@media (max-width: 700px) {
    .about-intro__text p {
        font-size: 15px !important;
    }
    .about-intro__actions {
        flex-direction: column;
        align-items: stretch;
    }
    .about-intro__actions .btn {
        width: 100%;
        justify-content: center;
    }
}


/* GEOGRAPHY-V1: geografiya proektov na /o-nas/ */
.geo-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 20px;
    max-width: 1000px;
    margin: 0 auto 32px;
}
@media (max-width: 800px) {
    .geo-grid { grid-template-columns: 1fr; gap: 14px; max-width: 460px; }
}
.geo-card {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, .06);
    border-radius: 16px;
    padding: 28px 22px 24px;
    text-align: center;
    transition: transform .3s ease, border-color .3s ease, box-shadow .3s ease;
}
.geo-card:hover {
    transform: translateY(-3px);
    border-color: rgba(var(--c-primary-rgb), .35);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .3);
}
.geo-card__icon {
    width: 56px;
    height: 56px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), .1);
    color: var(--c-primary-light);
    border: 1px solid rgba(var(--c-primary-rgb), .25);
    border-radius: 14px;
    font-size: 22px;
    margin: 0 auto 16px;
}
.geo-card__name {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}
.geo-card__desc {
    font-size: 13.5px;
    color: var(--c-text-muted);
    line-height: 1.55;
    margin: 0;
}
.geo-types {
    max-width: 800px;
    margin: 0 auto 28px;
    text-align: center;
}
.geo-types__head {
    font-family: var(--font-display);
    font-size: 13px;
    font-weight: 700;
    color: var(--c-text-muted);
    text-transform: uppercase;
    letter-spacing: 1.2px;
    margin-bottom: 16px;
}
.geo-types__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}
.geo-type {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 8px 16px;
    background: rgba(var(--c-primary-rgb), .06);
    border: 1px solid rgba(var(--c-primary-rgb), .18);
    border-radius: 999px;
    font-size: 13px;
    color: var(--c-text);
    font-weight: 500;
}
.geo-type i {
    color: var(--c-primary-light);
    font-size: 12px;
}
.geo-cta {
    text-align: center;
    margin-top: 8px;
}
.geo-cta .btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}
@media (max-width: 600px) {
    .geo-card { padding: 24px 18px 20px; }
    .geo-card__icon { width: 48px; height: 48px; font-size: 19px; margin-bottom: 14px; }
    .geo-card__name { font-size: 16px; }
    .geo-card__desc { font-size: 13px; }
    .geo-type { padding: 7px 13px; font-size: 12px; }
}


/* CERT-FRAME-WOOD-V1: ramka «derevo temnyy oreh» 18px */

.cert-frame {
    display: inline-block;
    padding: 18px;
    background:
        repeating-linear-gradient(95deg,
            #2b1810 0px, #3d2418 3px, #4a2d1c 6px, #3d2418 9px, #2b1810 12px
        ),
        linear-gradient(180deg, #3d2418, #1a0f08);
    border-radius: 3px;
    box-shadow:
        0 14px 40px rgba(0,0,0,.6),
        inset 0 0 0 1px rgba(184,115,51,.4),
        inset 0 0 0 3px rgba(0,0,0,.6),
        inset 0 0 30px rgba(0,0,0,.7);
    position: relative;
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;
}
.cert-frame::before {
    content: '';
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(184,115,51,.35);
    box-shadow: 0 0 15px rgba(0,0,0,.6) inset;
    pointer-events: none;
}
.cert-frame:hover {
    transform: translateY(-4px);
    box-shadow:
        0 20px 50px rgba(0,0,0,.7),
        0 0 40px rgba(184,115,51,.25),
        inset 0 0 0 1px rgba(184,115,51,.6),
        inset 0 0 0 3px rgba(0,0,0,.6),
        inset 0 0 30px rgba(0,0,0,.7);
}
.cert-frame img {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 1px;
    position: relative;
    z-index: 1;
}

@media (max-width: 700px) {
    .cert-frame { padding: 12px; }
    .cert-frame::before { inset: 12px; }
}


/* CERT-FRAME-WOOD-V2: derevo temnyy oreh 18px dlya <a class="certificate-item cert-frame"> */

/* Display — chtoby ne slomat' flex-grid */
.certificate-item.cert-frame {
    display: block;
    padding: 18px;
    background:
        repeating-linear-gradient(95deg,
            #2b1810 0px, #3d2418 3px, #4a2d1c 6px, #3d2418 9px, #2b1810 12px
        ),
        linear-gradient(180deg, #3d2418, #1a0f08);
    border-radius: 3px;
    box-shadow:
        0 14px 40px rgba(0,0,0,.6),
        inset 0 0 0 1px rgba(184,115,51,.4),
        inset 0 0 0 3px rgba(0,0,0,.6),
        inset 0 0 30px rgba(0,0,0,.7);
    overflow: visible;
    border: 0;
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;
}

/* Mednyy kontur vnutri ramki */
.certificate-item.cert-frame::before {
    content: '';
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(184,115,51,.35);
    box-shadow: 0 0 15px rgba(0,0,0,.6) inset;
    pointer-events: none;
    z-index: 2;
    border-radius: 1px;
}

.certificate-item.cert-frame:hover {
    transform: translateY(-4px);
    box-shadow:
        0 20px 50px rgba(0,0,0,.7),
        0 0 40px rgba(184,115,51,.25),
        inset 0 0 0 1px rgba(184,115,51,.6),
        inset 0 0 0 3px rgba(0,0,0,.6),
        inset 0 0 30px rgba(0,0,0,.7);
}

/* Ubiraem staroe beloe passpartu s kartinki */
.certificate-item.cert-frame img {
    border: 0 !important;
    border-radius: 1px;
    position: relative;
    z-index: 1;
}

@media (max-width: 700px) {
    .certificate-item.cert-frame { padding: 12px; }
    .certificate-item.cert-frame::before { inset: 12px; }
}
@media (max-width: 480px) {
    .certificate-item.cert-frame { padding: 8px; }
    .certificate-item.cert-frame::before { inset: 8px; }
}


/* CERT-TEXTURE-V1: realnaya tekstura dereva dlya ramki */
/* Istochnik: /themes/plintus/assets/images/certificates/walnut-dark.jpg */

.certificate-item.cert-frame {
    background:
        linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)),
        url('/themes/plintus/assets/images/certificates/walnut-dark.jpg') center center / cover no-repeat !important;
    background-color: #3d2418 !important;
}

/* Mednyy kontur ostaetsya */
.certificate-item.cert-frame::before {
    border: 1px solid rgba(184,115,51,.45) !important;
    box-shadow:
        0 0 12px rgba(0,0,0,.7) inset,
        0 0 8px rgba(184,115,51,.2) !important;
}


/* CERT-FRAME-WOOD-V3: ramka 14px, bez vnutrennego kontura */

.certificate-item.cert-frame {
    padding: 14px !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)),
        url('/themes/plintus/assets/images/certificates/walnut-dark.jpg') center center / cover no-repeat !important;
    background-color: #3d2418 !important;
    border: 0 !important;
    border-radius: 3px !important;
    box-shadow:
        0 14px 40px rgba(0,0,0,.6),
        inset 0 0 0 1px rgba(184,115,51,.4),
        inset 0 0 0 2px rgba(0,0,0,.55),
        inset 0 0 25px rgba(0,0,0,.65) !important;
    overflow: visible !important;
    position: relative;
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;
}

/* UbiRAEM vnutrenniy mednyy kontur polnostyu */
.certificate-item.cert-frame::before {
    display: none !important;
    content: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

.certificate-item.cert-frame:hover {
    transform: translateY(-4px);
    box-shadow:
        0 20px 50px rgba(0,0,0,.7),
        0 0 40px rgba(184,115,51,.25),
        inset 0 0 0 1px rgba(184,115,51,.6),
        inset 0 0 0 2px rgba(0,0,0,.55),
        inset 0 0 25px rgba(0,0,0,.65) !important;
}

.certificate-item.cert-frame img {
    border: 0 !important;
    border-radius: 1px;
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    height: auto;
}

@media (max-width: 700px) {
    .certificate-item.cert-frame { padding: 10px !important; }
}
@media (max-width: 480px) {
    .certificate-item.cert-frame { padding: 8px !important; }
}


/* CERT-FRAME-WOOD-V4: ramka odinakovoy shiriny so vseh storon */
/* Ubiraem aspect-ratio 3/4 u konteynera — on daval lishniy zazor snizu */

.certificate-item.cert-frame {
    aspect-ratio: auto !important;
    height: auto !important;
    padding: 14px !important;
    background:
        linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)),
        url('/themes/plintus/assets/images/certificates/walnut-dark.jpg') center center / cover no-repeat !important;
    background-color: #3d2418 !important;
    border: 0 !important;
    border-radius: 3px !important;
    box-shadow:
        0 14px 40px rgba(0,0,0,.6),
        inset 0 0 0 1px rgba(184,115,51,.4),
        inset 0 0 0 2px rgba(0,0,0,.55),
        inset 0 0 25px rgba(0,0,0,.65) !important;
    overflow: hidden !important;
    display: block !important;
    box-sizing: border-box !important;
    line-height: 0 !important;
    font-size: 0 !important;
    position: relative;
    transition: transform .35s cubic-bezier(.16,1,.3,1), box-shadow .35s;
}

/* Ubiraem vnutrenniy kontur */
.certificate-item.cert-frame::before {
    display: none !important;
    content: none !important;
}

.certificate-item.cert-frame:hover {
    transform: translateY(-4px);
    box-shadow:
        0 20px 50px rgba(0,0,0,.7),
        0 0 40px rgba(184,115,51,.25),
        inset 0 0 0 1px rgba(184,115,51,.6),
        inset 0 0 0 2px rgba(0,0,0,.55),
        inset 0 0 25px rgba(0,0,0,.65) !important;
}

/* Kartinka — naturalnye proportsii, bez obrezki */
.certificate-item.cert-frame img {
    display: block !important;
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
    border: 0 !important;
    border-radius: 1px !important;
    object-fit: contain !important;
    position: relative;
    z-index: 1;
    line-height: 1 !important;
}

@media (max-width: 700px) {
    .certificate-item.cert-frame { padding: 10px !important; }
}
@media (max-width: 480px) {
    .certificate-item.cert-frame { padding: 8px !important; }
}


/* NAV-ACTIVE-V1: podsvetka aktivnogo punkta menyu */
.nav-item.is-active,
.nav-item--parent.is-active {
    color: var(--c-primary-light) !important;
    position: relative;
}
.nav-item.is-active::after {
    content: '';
    position: absolute;
    left: 8px;
    right: 8px;
    bottom: -4px;
    height: 2px;
    background: var(--c-primary);
    border-radius: 2px;
    box-shadow: 0 0 8px rgba(var(--c-primary-rgb), .5);
}
.nav-dropdown__item.is-active {
    color: var(--c-primary-light) !important;
    background: rgba(var(--c-primary-rgb), .08) !important;
}
@media (max-width: 900px) {
    .nav-item.is-active::after { display: none; }
    .nav-item.is-active { font-weight: 700; }
}


/* FAB-SIZE-MATCH-V1: FAB = scroll-top (44px), vyravnivanie po pravomu krayu */

/* ==== DESKTOP ==== */
.cw {
    right: 32px !important;
    bottom: 100px !important;
    align-items: center !important;
}

/* Glavnaya knopka FAB — 44px (kak scroll-top) */
.cw__toggle {
    width: 44px !important;
    height: 44px !important;
}
.cw__toggle svg,
.cw__toggle i {
    width: 20px !important;
    height: 20px !important;
    font-size: 18px !important;
}

/* Vyezzhayushchie knopki — tozhe 44px */
.cw__action {
    width: 44px !important;
    height: 44px !important;
}
.cw__action svg {
    width: 18px !important;
    height: 18px !important;
}
.cw__action i {
    font-size: 16px !important;
}

/* ==== MOBILKA (<=600px) ==== */
@media (max-width: 600px) {
    .cw {
        right: 16px !important;
        bottom: 88px !important;
    }
    .cw__toggle {
        width: 42px !important;
        height: 42px !important;
    }
    .cw__toggle svg,
    .cw__toggle i {
        width: 18px !important;
        height: 18px !important;
        font-size: 16px !important;
    }
    .cw__action {
        width: 42px !important;
        height: 42px !important;
    }
    .cw__action svg {
        width: 16px !important;
        height: 16px !important;
    }
    .cw__action i {
        font-size: 15px !important;
    }
    /* Scroll-top — tot zhe otstup sprava, chtoby vyravnivanie po krayu */
    .scroll-top {
        right: 16px !important;
    }
}


/* SELECT-DARK-V1: chitaemye option v kalkulyatore i na vsem sayte */

/* color-scheme: dark — brauzer risuet nativnyy dropdown v temnoy teme */
.calc-field select,
select {
    color-scheme: dark !important;
}

/* Yavnye tsveta dlya option (starye brauzery) */
.calc-field select option,
select option {
    background-color: #1A1F28 !important;
    color: #E8EAED !important;
    font-size: 15px !important;
    padding: 10px 14px !important;
}

/* Vybrannaya (checked) option — mednym */
.calc-field select option:checked,
select option:checked {
    background-color: #2A2F3A !important;
    color: #D89460 !important;
}


/* CALC-LOGO-V1: logo vmesto inzhenera v kalkulyatore */
.calc-engineer-logo {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 24px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}

.calc-engineer-logo__img {
    border-radius: 12px;
    flex-shrink: 0;
}

.calc-engineer-logo__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    line-height: 1.15;
}

.calc-engineer-logo__name {
    font-family: var(--font-display);
    font-size: 20px;
    font-weight: 800;
    color: var(--c-text);
    line-height: 1;
    letter-spacing: -.2px;
}

.calc-engineer-logo__tag {
    font-size: 12px;
    font-weight: 600;
    color: var(--c-primary-light, #D89460);
    letter-spacing: .5px;
    text-transform: uppercase;
}

@media (max-width: 600px) {
    .calc-engineer-logo { gap: 12px; margin-bottom: 18px; padding-bottom: 16px; }
    .calc-engineer-logo__img { width: 38px !important; height: 38px !important; }
    .calc-engineer-logo__name { font-size: 18px; }
    .calc-engineer-logo__tag { font-size: 11px; }
}


/* ONLINE-PULSE-ON-V1: vozvrashchaem pulsatsiyu tochki */

/* Perebivaem 'display: none' iz PULSE-RIPPLE-V1 */
.calc-engineer-online__dot::before,
.calc-engineer-online__dot::after {
    content: '' !important;
    display: block !important;
    position: absolute !important;
    inset: -1px !important;
    border-radius: 50% !important;
    border: 1.5px solid #4ADE80 !important;
    background: transparent !important;
    pointer-events: none !important;
    animation: onlinePulseReturn 2.4s cubic-bezier(0.2, 0.8, 0.3, 1) infinite !important;
}

.calc-engineer-online__dot::after {
    animation-delay: 1.2s !important;
}

@keyframes onlinePulseReturn {
    0% {
        transform: scale(0.9);
        opacity: 0.85;
    }
    70% {
        transform: scale(2.4);
        opacity: 0;
    }
    100% {
        transform: scale(2.4);
        opacity: 0;
    }
}

/* Uvazhaem prefers-reduced-motion */
@media (prefers-reduced-motion: reduce) {
    .calc-engineer-online__dot::before,
    .calc-engineer-online__dot::after {
        animation: none !important;
    }
}


/* CALC-LOGO-RESPONSIVE-V1: verhniy blok — tolko mobilka, saydbar — tolko desktop */

/* Verhniy blok (bez --sidebar) skryt na desktop, pokazyvaem na <=1100px */
.calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
    display: none !important;
}

@media (max-width: 1100px) {
    .calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
        display: flex !important;
        align-items: center;
        gap: 14px;
        padding: 14px 18px;
        margin: 0 auto 20px;
        max-width: 540px;
        background: linear-gradient(135deg, rgba(201, 123, 63, .06), rgba(201, 123, 63, .02));
        border: 1px solid rgba(201, 123, 63, .22);
        border-radius: 14px;
        border-bottom: 1px solid rgba(201, 123, 63, .22);
        padding-bottom: 14px;
    }
}

@media (max-width: 420px) {
    .calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
        padding: 12px 14px;
        gap: 12px;
    }
}

/* Saydbar-blok (--sidebar) — tolko desktop, no on i tak vnutri .calc-sidebar,
   kotoryy skryt na <=1100px. Ostavlyaem na vsyakiy sluchay */
@media (max-width: 1100px) {
    .calc-engineer-logo--sidebar {
        display: none !important;
    }
}


/* CALC-LOGO-A-V1: logo + Mr.Tektum pill + divider + online badge */

.calc-engineer-logo {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 20px;
}

.calc-engineer-logo__text {
    display: flex;
    flex-direction: column;
    gap: 6px;
    line-height: 1.15;
    min-width: 0;
}

.calc-engineer-logo__name {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 800;
    color: var(--c-text);
    line-height: 1;
    letter-spacing: -.2px;
}

/* Mr.Tektum — mednaya pilyul'ka */
.calc-engineer-logo__tag {
    display: inline-block;
    align-self: flex-start;
    padding: 3px 10px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .6px;
    text-transform: uppercase;
    color: var(--c-primary-light, #D89460);
    background: rgba(184, 115, 51, .12);
    border: 1px solid rgba(184, 115, 51, .35);
    border-radius: 999px;
    line-height: 1.4;
}

/* Tonkiy mednyy razdelitel */
.calc-engineer-logo__divider {
    display: block;
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(184, 115, 51, .35), transparent);
    margin: 2px 0;
}

/* Plashka 'Отвечу за 15 минут' */
.calc-engineer-logo .calc-engineer-online {
    align-self: flex-start;
    margin-top: 2px !important;
}

/* Mobilka */
@media (max-width: 600px) {
    .calc-engineer-logo { gap: 12px; margin-bottom: 16px; }
    .calc-engineer-logo__img { width: 38px !important; height: 38px !important; }
    .calc-engineer-logo__name { font-size: 16px; }
    .calc-engineer-logo__tag { font-size: 10px; padding: 2px 8px; }
}


/* CALC-LOGO-FRAME-V1: ramka vokrug logo v saydbare (kak na mobilke) */

/* Saydbar-blok poluchaet tu zhe ramku, chto i verhniy blok na mobilke */
.calc-engineer-logo.calc-engineer-logo--sidebar {
    padding: 14px 16px !important;
    margin-bottom: 18px !important;
    background: linear-gradient(135deg, rgba(201, 123, 63, .07), rgba(201, 123, 63, .02)) !important;
    border: 1px solid rgba(201, 123, 63, .22) !important;
    border-radius: 12px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03), 0 4px 14px rgba(0, 0, 0, .15) !important;
    position: relative;
    overflow: hidden;
}

/* Myagkoe mednoe svechenie v uglu (aktsent) */
.calc-engineer-logo.calc-engineer-logo--sidebar::before {
    content: '';
    position: absolute;
    top: -20px;
    right: -20px;
    width: 80px;
    height: 80px;
    background: radial-gradient(circle, rgba(201, 123, 63, .18), transparent 70%);
    pointer-events: none;
}

/* Verhniy blok na mobilke — to zhe samoe, no bez dublirovaniya border-bottom */
.calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
    border-bottom: none !important;
    padding-bottom: 14px !important;
}

/* Na ochen uz kih ekranah umenshaem otstupy ramki */
@media (max-width: 480px) {
    .calc-engineer-logo.calc-engineer-logo--sidebar,
    .calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
        padding: 12px 14px !important;
        margin-bottom: 14px !important;
    }
}


/* CALC-LOGO-2STR-V1: «Тёплый Плинтус» v odnu stroku s logo, Mr.Tektum nizhe */

.calc-engineer-logo {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 10px !important;
    margin-bottom: 20px !important;
}

.calc-engineer-logo__top {
    display: flex;
    align-items: center;
    gap: 14px;
}

.calc-engineer-logo__bottom {
    display: flex;
    flex-direction: column;
    gap: 6px;
    padding-left: 58px;
}

@media (max-width: 600px) {
    .calc-engineer-logo__top { gap: 12px; }
    .calc-engineer-logo__bottom { padding-left: 50px; }
}


/* CALC-LOGO-2STR-V2: zhestkaya perestroyka v 2 stroki, perebivaem staroe */

/* Roditel — kolonka, na vsyu shirinu */
body .calc-engineer-logo,
body .calc-engineer-logo.calc-engineer-logo--sidebar,
body .calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Verhnyaya stroka: logo + «Тёплый Плинтус» */
body .calc-engineer-logo > .calc-engineer-logo__top {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 14px !important;
    width: 100% !important;
}

body .calc-engineer-logo > .calc-engineer-logo__top > img {
    flex-shrink: 0 !important;
    display: block !important;
}

/* Nizhnyaya stroka: Mr.Tektum + divider + online */
body .calc-engineer-logo > .calc-engineer-logo__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    gap: 6px !important;
    padding-left: 58px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body .calc-engineer-logo > .calc-engineer-logo__bottom > .calc-engineer-logo__divider {
    width: 100% !important;
    max-width: 220px !important;
    margin: 2px 0 !important;
}

@media (max-width: 600px) {
    body .calc-engineer-logo > .calc-engineer-logo__top { gap: 12px !important; }
    body .calc-engineer-logo > .calc-engineer-logo__bottom { padding-left: 50px !important; }
}


/* CALC-LOGO-DUPFIX-V1: perebivaem V2 obshchee display: flex */

/* Verhniy blok (bez --sidebar) — skryt na desktop */
body .calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
    display: none !important;
}

/* Verhniy blok — pokazyvaem tolko na mobilke/planshete */
@media (max-width: 1100px) {
    body .calc-engineer-logo:not(.calc-engineer-logo--sidebar) {
        display: flex !important;
        flex-direction: column !important;
        align-items: stretch !important;
        gap: 8px !important;
        padding: 14px 18px !important;
        margin: 0 auto 20px !important;
        max-width: 540px !important;
        background: linear-gradient(135deg, rgba(201, 123, 63, .06), rgba(201, 123, 63, .02)) !important;
        border: 1px solid rgba(201, 123, 63, .22) !important;
        border-radius: 14px !important;
        box-sizing: border-box !important;
    }
}

/* Saydbar — 2 stroki (__top i __bottom) */
body .calc-engineer-logo.calc-engineer-logo--sidebar {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 8px !important;
}


/* CALC-LOGO-NOWRAP-V1: imya v odnu stroku, logo po centru, Mr.Tektum pod imenem */

/* Verhnyaya stroka: logo + imya v odnu liniyu, po centru */
body .calc-engineer-logo .calc-engineer-logo__top {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: 100% !important;
}

body .calc-engineer-logo .calc-engineer-logo__top > img {
    width: 40px !important;
    height: 40px !important;
    flex-shrink: 0 !important;
    display: block !important;
}

/* Imya — VSEGDA v odnu stroku, nikogda ne perenosit */
body .calc-engineer-logo .calc-engineer-logo__name {
    white-space: nowrap !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
}

/* Nizhnyaya stroka: Mr.Tektum + divider + online
   padding-left = shirina logo (40px) + gap (12px) = 52px
   chtoby nachinalos rovno pod «Тёплый Плинтус» */
body .calc-engineer-logo .calc-engineer-logo__bottom {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
    padding-left: 52px !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Divider — korotkiy, ne na vsyu shirinu */
body .calc-engineer-logo .calc-engineer-logo__divider {
    width: 180px !important;
    max-width: 100% !important;
    margin: 3px 0 !important;
}

/* Na ochen uzkih — umen'shaem logo i imya */
@media (max-width: 480px) {
    body .calc-engineer-logo .calc-engineer-logo__top > img {
        width: 34px !important;
        height: 34px !important;
    }
    body .calc-engineer-logo .calc-engineer-logo__name {
        font-size: 15px !important;
    }
    body .calc-engineer-logo .calc-engineer-logo__bottom {
        padding-left: 46px !important;
    }
}


/* CALC-LOGO-LEVEL-V1 */
body .calc-engineer-logo { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
body .calc-engineer-logo .calc-engineer-logo__name { white-space: nowrap !important; font-size: 17px !important; font-weight: 800 !important; line-height: 1.1 !important; }
body .calc-engineer-logo .calc-engineer-logo__mid { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; }
body .calc-engineer-logo .calc-engineer-logo__mid > img { width: 40px !important; height: 40px !important; flex-shrink: 0 !important; display: block !important; }
body .calc-engineer-logo .calc-engineer-logo__right { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 6px !important; }
body .calc-engineer-logo .calc-engineer-logo__right .calc-engineer-logo__tag { align-self: flex-start !important; margin: 0 !important; }
body .calc-engineer-logo .calc-engineer-logo__divider { display: block !important; width: 160px !important; height: 1px !important; margin: 0 !important; background: linear-gradient(90deg, transparent, rgba(184,115,51,.35), transparent) !important; }
body .calc-engineer-logo > .calc-engineer-online { align-self: flex-start !important; margin: 0 !important; }


/* CALC-LOGO-FINAL-V1 */
body .calc-engineer-logo { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; text-align: left !important; }
body .calc-engineer-logo .calc-engineer-logo__name { display: block !important; white-space: nowrap !important; font-size: 17px !important; font-weight: 800 !important; line-height: 1.1 !important; width: auto !important; }
body .calc-engineer-logo .calc-engineer-logo__mid { display: flex !important; flex-direction: row !important; align-items: center !important; gap: 12px !important; }
body .calc-engineer-logo .calc-engineer-logo__mid > img { width: 44px !important; height: 44px !important; flex-shrink: 0 !important; display: block !important; margin: 0 !important; }
body .calc-engineer-logo .calc-engineer-logo__right { display: flex !important; flex-direction: column !important; align-items: flex-start !important; gap: 8px !important; }
body .calc-engineer-logo .calc-engineer-logo__right .calc-engineer-logo__tag { align-self: flex-start !important; margin: 0 !important; }
body .calc-engineer-logo .calc-engineer-logo__right .calc-engineer-logo__divider { display: block !important; width: 160px !important; max-width: 100% !important; height: 1px !important; margin: 0 !important; background: linear-gradient(90deg, rgba(184,115,51,.45), rgba(184,115,51,.15)) !important; }
body .calc-engineer-logo > .calc-engineer-online { align-self: flex-start !important; margin: 0 !important; }
@media (max-width: 480px) {
  body .calc-engineer-logo .calc-engineer-logo__name { font-size: 15px !important; }
  body .calc-engineer-logo .calc-engineer-logo__mid > img { width: 36px !important; height: 36px !important; }
  body .calc-engineer-logo .calc-engineer-logo__right .calc-engineer-logo__divider { width: 130px !important; }
}


/* CALC-LOGO-REAL-V1: name → [logo+tag] → divider → online */
body .calc-engineer-logo,
body .calc-engineer-logo.calc-engineer-logo--sidebar {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 8px !important;
    text-align: left !important;
}

body .calc-engineer-logo > .calc-engineer-logo__name {
    display: block !important;
    white-space: nowrap !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    width: auto !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__mid {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 12px !important;
    width: auto !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__mid > img {
    width: 44px !important;
    height: 44px !important;
    flex-shrink: 0 !important;
    display: block !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__mid > .calc-engineer-logo__tag {
    align-self: center !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__divider {
    display: block !important;
    width: 100% !important;
    max-width: 260px !important;
    height: 1px !important;
    margin: 2px 0 !important;
    background: linear-gradient(90deg, rgba(184,115,51,.5), rgba(184,115,51,.15), transparent) !important;
}

body .calc-engineer-logo > .calc-engineer-online {
    align-self: flex-start !important;
    margin: 0 !important;
}

@media (max-width: 480px) {
    body .calc-engineer-logo > .calc-engineer-logo__name { font-size: 15px !important; }
    body .calc-engineer-logo > .calc-engineer-logo__mid > img { width: 36px !important; height: 36px !important; }
}


/* CALC-LOGO-TRUE-V1: name sverhu, [logo | tag+divider] v ryad, online snizu */

body .calc-engineer-logo,
body .calc-engineer-logo.calc-engineer-logo--sidebar {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 6px !important;
}

body .calc-engineer-logo > .calc-engineer-logo__name {
    display: block !important;
    white-space: nowrap !important;
    font-size: 17px !important;
    font-weight: 800 !important;
    line-height: 1.1 !important;
    margin: 0 !important;
}

/* mid: logo sleva + right sprava, po centru drug druga */
body .calc-engineer-logo > .calc-engineer-logo__mid {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    gap: 12px !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__mid > img {
    width: 44px !important;
    height: 44px !important;
    flex-shrink: 0 !important;
    display: block !important;
    margin: 0 !important;
}

/* right: tag sverhu, divider pod nim */
body .calc-engineer-logo > .calc-engineer-logo__mid > .calc-engineer-logo__right {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 4px !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__mid > .calc-engineer-logo__right > .calc-engineer-logo__tag {
    display: inline-block !important;
    align-self: flex-start !important;
    margin: 0 !important;
}

body .calc-engineer-logo > .calc-engineer-logo__mid > .calc-engineer-logo__right > .calc-engineer-logo__divider {
    display: block !important;
    width: 150px !important;
    max-width: 100% !important;
    height: 1px !important;
    margin: 0 !important;
    background: linear-gradient(90deg, rgba(184,115,51,.5), rgba(184,115,51,.15), transparent) !important;
}

/* online pod vsem */
body .calc-engineer-logo > .calc-engineer-online {
    align-self: flex-start !important;
    margin: 2px 0 0 !important;
}

@media (max-width: 480px) {
    body .calc-engineer-logo > .calc-engineer-logo__name { font-size: 15px !important; }
    body .calc-engineer-logo > .calc-engineer-logo__mid > img { width: 36px !important; height: 36px !important; }
    body .calc-engineer-logo > .calc-engineer-logo__mid > .calc-engineer-logo__right > .calc-engineer-logo__divider { width: 120px !important; }
}


/* LB-FRAME-V1: ramka vokrug sertifikata v lightbox */
.lb-img.lb-img--cert {
    padding: 28px;
    background:
        linear-gradient(180deg, rgba(0,0,0,.15), rgba(0,0,0,.35)),
        url('/themes/plintus/assets/images/certificates/walnut-dark.jpg') center center / cover no-repeat,
        #3d2418;
    border-radius: 3px;
    box-shadow:
        0 20px 60px rgba(0,0,0,.7),
        inset 0 0 0 1px rgba(184,115,51,.45),
        inset 0 0 0 3px rgba(0,0,0,.55),
        inset 0 0 30px rgba(0,0,0,.7);
    box-sizing: border-box;
    max-height: calc(100vh - 120px) !important;
}

@media (max-width: 700px) {
    .lb-img.lb-img--cert {
        padding: 16px;
        max-height: calc(100vh - 80px) !important;
    }
}

@media (max-width: 480px) {
    .lb-img.lb-img--cert {
        padding: 12px;
    }
}


/* USTRO-SCHEME-CAPTION-V1: podpis pod skhemoy ustroystva */
.ustro-scheme__caption {
    max-width: 820px;
    margin: 28px auto 0;
    text-align: center;
    font-size: 16px;
    line-height: 1.7;
    color: var(--c-text-muted);
    font-style: italic;
}
@media (max-width: 700px) {
    .ustro-scheme__caption {
        margin-top: 20px;
        font-size: 14.5px;
    }
}


/* USTRO-INTRO-V1: vvedenie s 2 variantami */
.section--ustro-intro {
    padding: 24px 0 40px;
}

.ustro-intro {
    max-width: 1080px;
    margin: 0 auto;
}

.ustro-intro__lead {
    font-size: clamp(16px, 1.5vw, 18px);
    line-height: 1.7;
    color: var(--c-text);
    text-align: center;
    max-width: 820px;
    margin: 0 auto 40px;
}

.ustro-intro__variants {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}

.ustro-intro__variant {
    background: var(--c-bg-alt);
    border: 1px solid rgba(var(--c-primary-rgb), 0.2);
    border-radius: 16px;
    padding: 28px 26px 24px;
    transition: border-color 0.3s, transform 0.3s, box-shadow 0.3s;
}

.ustro-intro__variant:hover {
    border-color: rgba(var(--c-primary-rgb), 0.5);
    transform: translateY(-3px);
    box-shadow: 0 12px 32px rgba(0, 0, 0, 0.3);
}

.ustro-intro__variant-icon {
    width: 52px;
    height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), 0.12);
    border: 1px solid rgba(var(--c-primary-rgb), 0.3);
    border-radius: 12px;
    color: var(--c-primary-light, #E09B60);
    font-size: 22px;
    margin-bottom: 16px;
}

.ustro-intro__variant-title {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}

.ustro-intro__variant-text {
    font-size: 15px;
    line-height: 1.65;
    color: var(--c-text-muted);
    margin: 0;
}

@media (max-width: 768px) {
    .ustro-intro__variants {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .ustro-intro__lead {
        margin-bottom: 28px;
    }
    .ustro-intro__variant {
        padding: 22px 20px 20px;
    }
    .ustro-intro__variant-title {
        font-size: 17px;
    }
    .ustro-intro__variant-text {
        font-size: 14px;
    }
}


/* USTRO-LEAD-ACCENT-V1: aktsentnaya liniya sleva dlya lead-abzatsa */
.section--ustro-intro .ustro-intro__lead {
    text-align: left;
    font-size: 19px;
    line-height: 1.75;
    color: var(--c-text);
    max-width: 820px;
    margin: 48px auto 40px;
    padding: 4px 0 4px 24px;
    border-left: 4px solid var(--c-primary);
    border-radius: 2px;
    font-weight: 500;
    letter-spacing: 0.01em;
}

@media (max-width: 768px) {
    .section--ustro-intro .ustro-intro__lead {
        font-size: 16.5px;
        line-height: 1.7;
        margin: 32px auto 28px;
        padding-left: 18px;
        border-left-width: 3px;
    }
}

@media (max-width: 480px) {
    .section--ustro-intro .ustro-intro__lead {
        font-size: 15.5px;
        padding-left: 14px;
    }
}


/* USTRO-CARDS-AC-V1: kompaktnee, spiski, tsveta ikonok */

/* Sektsiya — uzhe, chtoby kartochki byli sorazmerny */
.section--ustro-intro .ustro-intro {
    max-width: 900px;
}

/* Grid — odinakovaya vysota */
.section--ustro-intro .ustro-intro__variants {
    align-items: stretch;
    gap: 20px;
}

/* Kartochka — kompaktnee */
.section--ustro-intro .ustro-intro__variant {
    padding: 24px 22px 22px;
    display: flex;
    flex-direction: column;
}

/* Ikony — raznogo tsveta */
.section--ustro-intro .ustro-intro__variant-icon--liquid {
    background: rgba(59, 130, 246, 0.12);
    border-color: rgba(59, 130, 246, 0.35);
    color: #60A5FA;
}

.section--ustro-intro .ustro-intro__variant-icon--electric {
    background: rgba(245, 158, 11, 0.12);
    border-color: rgba(245, 158, 11, 0.35);
    color: #FBBF24;
}

/* Spisok vnutri kartochki */
.ustro-intro__variant-list {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.ustro-intro__variant-list li {
    position: relative;
    padding-left: 22px;
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--c-text-muted);
}

.ustro-intro__variant-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8px;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--c-primary);
}

@media (max-width: 768px) {
    .section--ustro-intro .ustro-intro__variant {
        padding: 20px 18px 18px;
    }
    .ustro-intro__variant-list li {
        font-size: 14px;
    }
}


/* DELIVERY-V1: blok vybora dostavki */
.delivery-section {
    margin: 24px 0;
    padding: 20px;
    background: rgba(255,255,255,0.02);
    border: 1px solid rgba(255,255,255,0.06);
    border-radius: 12px;
}

.delivery-title {
    margin: 0 0 16px;
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
}

.delivery-methods {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px;
    margin-bottom: 20px;
}

.delivery-method {
    position: relative;
    cursor: pointer;
    margin: 0 !important;
}

.delivery-method input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.delivery-method__body {
    display: flex;
    gap: 12px;
    align-items: center;
    padding: 14px 16px;
    background: var(--c-bg-alt);
    border: 2px solid rgba(255,255,255,0.08);
    border-radius: 10px;
    transition: all 0.2s;
}

.delivery-method:hover .delivery-method__body {
    border-color: rgba(201,123,63,0.4);
}

.delivery-method input:checked + .delivery-method__body {
    border-color: var(--c-primary);
    background: rgba(201,123,63,0.08);
}

.delivery-method__icon {
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(201,123,63,0.12);
    border-radius: 8px;
    color: var(--c-primary);
    font-size: 18px;
    flex-shrink: 0;
}

.delivery-method__title {
    font-size: 14px;
    font-weight: 600;
    color: var(--c-text);
    margin-bottom: 2px;
}

.delivery-method__desc {
    font-size: 12px;
    color: var(--c-text-muted);
}

.delivery-courier,
.delivery-pvz {
    margin-top: 16px;
}

.ymap-container {
    width: 100%;
    height: 320px;
    margin-top: 12px;
    border-radius: 10px;
    overflow: hidden;
    border: 1px solid rgba(255,255,255,0.08);
    background: var(--c-bg-alt);
}

.delivery-pvz__hint {
    padding: 12px 14px;
    background: rgba(59,130,246,0.08);
    border: 1px solid rgba(59,130,246,0.25);
    border-radius: 8px;
    font-size: 13px;
    color: var(--c-text-muted);
    margin-bottom: 12px;
    line-height: 1.5;
}

.delivery-pvz__hint i {
    color: #60A5FA;
    margin-right: 6px;
}

.delivery-pvz__btn {
    margin-bottom: 12px;
}

@media (max-width: 700px) {
    .delivery-methods { grid-template-columns: 1fr; }
    .ymap-container { height: 240px; }
    .delivery-section { padding: 16px; }
}


/* CDEK-PVZ-LINK-V1 */
.pvz-map-link { margin: 12px 0 20px; padding: 16px; background: rgba(59, 130, 246, 0.06); border: 1px solid rgba(59, 130, 246, 0.25); border-radius: 10px; }
.pvz-map-link__btn { display: inline-flex; align-items: center; gap: 8px; padding: 10px 18px; background: #3B82F6; color: #fff; border-radius: 8px; font-size: 14px; font-weight: 600; text-decoration: none; transition: background 0.2s, transform 0.2s; }
.pvz-map-link__btn:hover { background: #2563EB; transform: translateY(-1px); }
.pvz-map-link__ext { font-size: 11px; opacity: 0.7; }
.pvz-map-link__hint { margin: 10px 0 0; font-size: 12.5px; color: var(--c-text-muted); line-height: 1.5; }
@media (max-width: 700px) { .pvz-map-link__btn { width: 100%; justify-content: center; padding: 12px 16px; } }


/* DOSTAVKA-SINGLE-V1: odna kolonka dlya «Доставка по России» bez logotipa */
.delivery-tk.delivery-tk--single {
    max-width: 820px;
    margin: 0 auto;
    grid-template-columns: 1fr !important;
}
.delivery-tk--single .delivery-tk__list {
    padding-left: 0;
}
.pay-logos {
    text-align: center;
    padding: 24px 20px;
    background: rgba(255,255,255,.02);
    border: 1px solid rgba(255,255,255,.06);
    border-radius: 12px;
    margin-top: 32px;
}
.pay-logos h3 {
    color: var(--c-primary);
    font-size: 17px;
    margin: 0 0 12px;
}
.pay-note {
    color: var(--c-text-muted);
    font-size: 14px;
    margin: 0;
    line-height: 1.6;
}


/* DELIVERY-LIST-V1: kompaktnyy spisok dlya «Доставка по Москве» */
.delivery-list {
    list-style: none;
    padding: 0;
    margin: 0;
    max-width: 820px;
    margin: 0 auto;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255,255,255,.07);
    border-radius: 14px;
    overflow: hidden;
}

.delivery-list__item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 18px 24px;
    border-bottom: 1px solid rgba(255,255,255,.06);
}
.delivery-list__item:last-child {
    border-bottom: none;
}

.delivery-list__title {
    font-family: var(--font-display);
    font-size: 15px;
    font-weight: 700;
    color: var(--c-text);
    flex-shrink: 0;
}

.delivery-list__desc {
    font-size: 14px;
    color: var(--c-text-muted);
    text-align: right;
    line-height: 1.5;
}

@media (max-width: 700px) {
    .delivery-list__item {
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
        padding: 16px 20px;
    }
    .delivery-list__desc {
        text-align: left;
    }
}


/* DELIVERY-INFO-AUTOFIT-V1: karty raspredelyayutsya po shirine (2 ili 3) */
.delivery-info {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)) !important;
}


/* DELIVERY-TEXT-V1: tekst s aktsentom (bez kartochek) */

.delivery-text {
    list-style: none;
    padding: 0;
    margin: 0 auto;
    max-width: 780px;
}

.delivery-text__item {
    display: flex;
    align-items: flex-start;
    gap: 18px;
    padding: 22px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}
.delivery-text__item:first-child {
    padding-top: 0;
}
.delivery-text__item:last-child {
    border-bottom: none;
    padding-bottom: 0;
}

.delivery-text__icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), 0.12);
    color: var(--c-primary-light, #E09B60);
    border: 1px solid rgba(var(--c-primary-rgb), 0.28);
    border-radius: 50%;
    font-size: 18px;
    margin-top: 2px;
}

.delivery-text__body {
    flex: 1;
    min-width: 0;
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.delivery-text__title {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.3;
}

.delivery-text__desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: var(--c-text-muted);
}

.delivery-text__desc--single {
    font-size: 15.5px;
    color: var(--c-text);
    line-height: 1.5;
}

@media (max-width: 700px) {
    .delivery-text__item {
        gap: 14px;
        padding: 18px 0;
    }
    .delivery-text__icon {
        width: 38px;
        height: 38px;
        font-size: 16px;
    }
    .delivery-text__title {
        font-size: 15px;
    }
    .delivery-text__desc {
        font-size: 13.5px;
    }
}


/* DELIVERY-DOTS-V1: punkty-markery (variant 5) */
.delivery-dots {
    max-width: 820px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.delivery-dots__block {
    display: flex;
    flex-direction: column;
    gap: 14px;
}

.delivery-dots__head {
    display: flex;
    align-items: center;
    gap: 14px;
}

.delivery-dots__icon {
    flex: 0 0 auto;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    background: rgba(var(--c-primary-rgb), 0.12);
    color: var(--c-primary-light, #E09B60);
    border: 1px solid rgba(var(--c-primary-rgb), 0.3);
    border-radius: 50%;
    font-size: 18px;
}

.delivery-dots__title {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    color: var(--c-text);
    line-height: 1.3;
}

.delivery-dots__list {
    list-style: none;
    padding: 0 0 0 58px;
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.delivery-dots__list li {
    position: relative;
    padding-left: 22px;
    font-size: 15px;
    line-height: 1.6;
    color: var(--c-text-muted);
}

.delivery-dots__list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 9px;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--c-primary);
    box-shadow: 0 0 8px rgba(var(--c-primary-rgb), 0.5);
}

@media (max-width: 700px) {
    .delivery-dots { gap: 22px; }
    .delivery-dots__icon { width: 38px; height: 38px; font-size: 16px; }
    .delivery-dots__title { font-size: 16px; }
    .delivery-dots__list { padding-left: 52px; gap: 8px; }
    .delivery-dots__list li { font-size: 14.5px; padding-left: 20px; }
}


/* DOSTAVKA-PRO-V1: edinyy stil dlya stranitsy dostavki */
.section--delivery, .section--payments, .section--how, .section--faq {
    padding-top: 80px !important;
    padding-bottom: 80px !important;
}
.section--requisites {
    padding-top: 40px !important;
    padding-bottom: 60px !important;
}

.section--delivery .tag,
.section--payments .tag,
.section--how .tag,
.section--faq .tag {
    display: inline-block;
    padding: 6px 16px;
    background: rgba(var(--c-primary-rgb), 0.1);
    border: 1px solid rgba(var(--c-primary-rgb), 0.3);
    border-radius: 999px;
    color: var(--c-primary-light, #E09B60);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 1.5px;
    margin-bottom: 20px;
}

.delivery-dots--wide {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 28px !important;
    max-width: 1200px !important;
}
.delivery-dots--wide .delivery-dots__block {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    padding: 28px 24px 24px;
}
.delivery-dots--wide .delivery-dots__list {
    padding-left: 0;
}
@media (max-width: 900px) {
    .delivery-dots--wide { grid-template-columns: 1fr !important; gap: 20px !important; }
}

.pay-card {
    padding: 28px 24px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
    height: 100%;
}
.pay-card:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb), 0.5);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
}
.pay-card h3 {
    font-family: var(--font-display);
    font-size: 18px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 12px;
    line-height: 1.35;
}
.pay-card p {
    font-size: 14.5px;
    line-height: 1.65;
    color: var(--c-text-muted);
    margin: 0;
}
.pay-card__icon {
    width: 56px;
    height: 56px;
    background: rgba(var(--c-primary-rgb), 0.12);
    border: 1px solid rgba(var(--c-primary-rgb), 0.3);
    border-radius: 14px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-primary-light, #E09B60);
    font-size: 22px;
    margin-bottom: 18px;
}

.pay-grid {
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)) !important;
    gap: 24px !important;
    max-width: 1080px;
    margin: 0 auto 40px !important;
}

.how-steps {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    max-width: 1200px;
    margin: 0 auto;
    position: relative;
}
.how-step {
    position: relative;
    padding: 32px 24px 28px;
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 16px;
    transition: transform 0.3s, border-color 0.3s, box-shadow 0.3s;
}
.how-step:hover {
    transform: translateY(-4px);
    border-color: rgba(var(--c-primary-rgb), 0.4);
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
}
.how-step__num {
    position: absolute;
    top: 20px;
    right: 24px;
    font-family: var(--font-display);
    font-size: 42px;
    font-weight: 900;
    color: rgba(var(--c-primary-rgb), 0.15);
    line-height: 1;
    letter-spacing: -2px;
}
.how-step__icon {
    width: 48px;
    height: 48px;
    background: rgba(var(--c-primary-rgb), 0.12);
    border: 1px solid rgba(var(--c-primary-rgb), 0.3);
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--c-primary-light, #E09B60);
    font-size: 20px;
    margin-bottom: 20px;
}
.how-step__title {
    font-family: var(--font-display);
    font-size: 17px;
    font-weight: 700;
    color: var(--c-text);
    margin: 0 0 10px;
    line-height: 1.3;
}
.how-step__text {
    font-size: 14px;
    line-height: 1.6;
    color: var(--c-text-muted);
    margin: 0;
}
@media (max-width: 900px) {
    .how-steps { grid-template-columns: repeat(2, 1fr); gap: 16px; }
}
@media (max-width: 500px) {
    .how-steps { grid-template-columns: 1fr; }
}

.faq-list {
    max-width: 860px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.faq-item {
    background: var(--c-bg-alt);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
    overflow: hidden;
    transition: border-color 0.3s;
}
.faq-item[open] {
    border-color: rgba(var(--c-primary-rgb), 0.4);
}
.faq-q {
    padding: 20px 56px 20px 24px;
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 600;
    color: var(--c-text);
    cursor: pointer;
    list-style: none;
    position: relative;
    line-height: 1.4;
    transition: color 0.2s;
}
.faq-q::-webkit-details-marker { display: none; }
.faq-q::after {
    content: '+';
    position: absolute;
    right: 24px;
    top: 50%;
    transform: translateY(-50%);
    font-size: 24px;
    font-weight: 300;
    color: var(--c-primary);
    line-height: 1;
    transition: transform 0.2s;
}
.faq-item[open] .faq-q::after {
    content: '−';
}
.faq-q:hover {
    color: var(--c-primary-light, #E09B60);
}
.faq-a {
    padding: 0 24px 20px;
    font-size: 15px;
    line-height: 1.7;
    color: var(--c-text-muted);
}

.section--delivery .section-title,
.section--payments .section-title,
.section--how .section-title,
.section--faq .section-title {
    font-size: clamp(28px, 3.5vw, 42px) !important;
    margin-bottom: 16px !important;
}
.section--delivery .section-subtitle,
.section--payments .section-subtitle,
.section--how .section-subtitle,
.section--faq .section-subtitle {
    font-size: 17px !important;
    line-height: 1.6 !important;
    max-width: 680px !important;
}
.section--delivery .section-head,
.section--payments .section-head,
.section--how .section-head,
.section--faq .section-head {
    margin-bottom: 48px !important;
}

.requisites {
    max-width: 720px;
    margin: 0 auto;
    text-align: center;
    padding: 32px 24px;
    background: rgba(255, 255, 255, 0.02);
    border: 1px solid rgba(255, 255, 255, 0.06);
    border-radius: 12px;
}
.requisites h3 {
    font-family: var(--font-display);
    font-size: 16px;
    font-weight: 700;
    color: var(--c-text-muted);
    margin: 0 0 14px;
    text-transform: uppercase;
    letter-spacing: 1px;
}
.requisites p {
    font-size: 15px;
    line-height: 1.7;
    color: var(--c-text);
    margin: 0 0 6px;
}
.requisites a {
    color: var(--c-primary-light, #E09B60);
    text-decoration: none;
}
.requisites a:hover {
    text-decoration: underline;
}


/* PAY-LOGOS-GRID-V2: logotipy platezhnyh sistem i CDEK */
.pay-logos__grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 20px;
    padding: 16px 0;
}
.pay-logos__grid img {
    height: 32px;
    width: auto;
    max-width: 100px;
    object-fit: contain;
    opacity: 0.9;
    transition: opacity 0.2s, transform 0.2s;
}
.pay-logos__grid img:hover {
    opacity: 1;
    transform: scale(1.06);
}

.delivery-dots__head {
    display: flex;
    align-items: center;
    gap: 14px;
}
.delivery-dots__logo {
    height: 22px;
    width: auto;
    margin-left: auto;
    opacity: 0.85;
}

@media (max-width: 600px) {
    .pay-logos__grid { gap: 14px; }
    .pay-logos__grid img { height: 24px; max-width: 70px; }
    .delivery-dots__logo { height: 18px; }
}


/* PAY-LOGOS-GRID-V3: brendovye logotipy (Visa/MC/MIR/SBP) */
.pay-logos__grid {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 24px;
    padding: 8px 0;
}
.pay-logos__grid img {
    height: 36px;
    width: auto;
    max-width: 64px;
    object-fit: contain;
    opacity: 1;
    transition: transform 0.2s;
    border-radius: 6px;
}
.pay-logos__grid img:hover {
    transform: scale(1.08);
}

@media (max-width: 600px) {
    .pay-logos__grid { gap: 16px; }
    .pay-logos__grid img { height: 30px; max-width: 54px; }
}

/* PAYMENT-METHOD-V1: vybor sposoba oplaty na checkout */
.payment-section { margin: 22px 0 12px; }
.payment-title { font-family: var(--font-display); font-size: 16px; font-weight: 700; margin: 0 0 12px; color: var(--c-text); }
.payment-methods { display: flex; flex-direction: column; gap: 10px; }
.payment-method { display: block; cursor: pointer; position: relative; }
.payment-method input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.payment-method__body { display: flex; gap: 14px; padding: 14px 16px; background: var(--c-bg-alt); border: 1.5px solid rgba(255,255,255,.08); border-radius: 12px; transition: border-color .2s, background .2s; align-items: center; }
.payment-method input:checked + .payment-method__body { border-color: var(--c-primary); background: rgba(var(--c-primary-rgb),.06); }
.payment-method:hover .payment-method__body { border-color: rgba(var(--c-primary-rgb),.4); }
.payment-method__icon { flex: 0 0 auto; width: 44px; height: 44px; border-radius: 10px; background: rgba(var(--c-primary-rgb),.1); color: var(--c-primary-light); display: flex; align-items: center; justify-content: center; font-size: 18px; border: 1px solid rgba(var(--c-primary-rgb),.25); }
.payment-method__title { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--c-text); margin-bottom: 3px; }
.payment-method__desc { font-size: 13px; color: var(--c-text-muted); line-height: 1.4; }