@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700&display=swap");

/* ===== Общий современный слой оформления ===== */
:root {
    --sidebar-width: 300px;
    --ink: #203443;
    --muted: #637786;
    --bg: #eef3f7;
    --surface: rgba(255,255,255,.96);
    --line: rgba(32,52,67,.10);
    --blue: #2d8fca;
    --blue-dark: #2173a5;
    --red: #e85a43;
    --red-dark: #c94734;
    --green: #2fa56f;
    --shadow: 0 10px 30px rgba(28,49,64,.10);
    --shadow-hover: 0 16px 38px rgba(28,49,64,.16);
}
html { scroll-behavior: smooth; }
body {
    font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
    color: var(--ink);
    background:
        radial-gradient(circle at 82% 12%, rgba(45,143,202,.10), transparent 31%),
        radial-gradient(circle at 67% 88%, rgba(232,90,67,.07), transparent 28%),
        linear-gradient(135deg, #f8fafc 0%, var(--bg) 100%) !important;
    overflow-x: hidden;
}
.sidebar {
    width: var(--sidebar-width) !important;
    background: linear-gradient(165deg,
        #142735 0%,
        #24445a 28%,
        #1d3547 52%,
        #284b61 74%,
        #142635 100%) !important;
    background-size: 140% 190% !important;
    animation: sidebar-flow 18s ease-in-out infinite;
    box-shadow:
        12px 0 34px rgba(14,32,44,.20),
        2px 0 0 rgba(255,255,255,.045);
    border-right: 1px solid rgba(111,186,226,.14);
    isolation: isolate;
}
.sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(circle at 18% 8%, rgba(232,90,67,.08), transparent 25%),
        radial-gradient(circle at 84% 30%, rgba(45,143,202,.10), transparent 30%);
}
.sidebar::after {
    content: "";
    position: absolute;
    top: 0;
    right: -1px;
    width: 3px;
    height: 100%;
    pointer-events: none;
    background: linear-gradient(180deg,
        rgba(232,90,67,.52) 0%,
        rgba(255,255,255,.16) 42%,
        rgba(45,143,202,.58) 100%);
    box-shadow: 3px 0 16px rgba(45,143,202,.12);
    opacity: .72;
}
@keyframes sidebar-flow {
    0%, 100% { background-position: 50% 0%; }
    50% { background-position: 50% 100%; }
}
.logo {
    width: 235px !important;
    max-width: 100%;
    height: auto;
    margin-bottom: 34px !important;
    border-radius: 0 !important;
    filter: drop-shadow(0 9px 18px rgba(0,0,0,.28));
    transition: transform .35s ease, filter .35s ease;
}
.logo:hover {
    transform: translateY(-3px) scale(1.025);
    filter: drop-shadow(0 12px 20px rgba(0,0,0,.27));
}
.contacts { color: rgba(255,255,255,.90); }
.contacts h3 { border-color: rgba(255,255,255,.28) !important; }
.contacts a { transition: opacity .2s ease; }
.contacts a:hover { opacity: .78; }
.sidebar-btn, .btn, .brand-btn {
    position: relative;
    overflow: hidden;
    border-radius: 10px !important;
    transition: transform .18s ease, box-shadow .22s ease, background-color .22s ease, filter .22s ease !important;
}
.sidebar-btn {
    background: linear-gradient(180deg, rgba(58,160,230,.96) 0%, rgba(45,137,198,.96) 100%) !important;
    border: 1px solid rgba(255,255,255,.08);
    box-shadow: 0 5px 14px rgba(0,0,0,.14);
}
.sidebar-btn:hover {
    background: linear-gradient(180deg, #49a9e9 0%, #2a7fb8 100%) !important;
    transform: translateY(-2px);
    box-shadow: 0 9px 20px rgba(0,0,0,.20);
}
.sidebar-btn.is-current {
    background: rgba(255,255,255,.15) !important;
    outline: 1px solid rgba(255,255,255,.22);
}
.main-content {
    width: calc(100% - var(--sidebar-width)) !important;
    max-width: none !important;
    margin-left: var(--sidebar-width) !important;
}
.main-content > :not(script):not(noscript) {
    width: 100%;
    max-width: 980px;
    margin-left: auto;
    margin-right: auto;
}
.main-content-wrapper {
    width: calc(100% - var(--sidebar-width));
    margin-left: var(--sidebar-width) !important;
}
.main-content-wrapper .main-content {
    width: 100% !important;
    max-width: 900px !important;
    margin-left: 0 !important;
}
.page-conditioners .main-content {
    min-height: 100vh;
    justify-content: center;
    text-align: center;
}
.page-conditioners .description, .page-conditioners .buttons { max-width: 800px; }
.page-index .main-content { min-height: 100vh; }
.page-index .options { max-width: 820px; }
h1 {
    color: var(--ink) !important;
    letter-spacing: -.5px;
}
h1::after {
    content: "";
    display: block;
    width: 76px;
    height: 4px;
    margin: 14px auto 0;
    border-radius: 999px;
    background: linear-gradient(90deg, var(--red), var(--blue));
    box-shadow: 0 3px 10px rgba(45,143,202,.18);
}
.description, .option-card, .price-list, .work-hours, .docs-section, .error-codes, .select-prompt, .spoiler-content {
    background: var(--surface) !important;
    border: 1px solid var(--line);
    box-shadow: var(--shadow) !important;
    border-radius: 16px !important;
}
.description { color: #445d6d; }
.option-card {
    position: relative;
    border: 1px solid rgba(32,52,67,.08);
    transform: translateZ(0);
}
.option-card::before {
    content: "";
    position: absolute;
    left: 0; top: 0; right: 0; height: 4px;
    background: var(--blue);
}
.option-card.heater-card::before { background: var(--red); }
.option-card:hover {
    transform: translateY(-8px) scale(1.01) !important;
    box-shadow: var(--shadow-hover) !important;
}
.option-card .option-image { transition: transform .35s ease, filter .35s ease; }
.option-card:hover .option-image { transform: scale(1.035); filter: saturate(1.04) contrast(1.02); }
.btn { box-shadow: 0 6px 15px rgba(24,58,78,.12); }
.btn:hover { transform: translateY(-2px); box-shadow: 0 10px 22px rgba(24,58,78,.18); }
.brand-btn { box-shadow: 0 4px 10px rgba(45,143,202,.14); }
.brand-btn:hover { transform: translateY(-2px); filter: brightness(1.04); }
.brand-btn.active { box-shadow: 0 6px 15px rgba(232,90,67,.20); }
table { border-radius: 10px; }
th { color: var(--ink); }
.js-enabled .reveal-on-scroll {
    opacity: 0;
    transform: translateY(14px);
    transition: opacity .5s ease, transform .5s ease;
}
.js-enabled .reveal-on-scroll.is-visible { opacity: 1; transform: translateY(0); }
.ui-ripple {
    position: absolute;
    border-radius: 50%;
    pointer-events: none;
    background: rgba(255,255,255,.34);
    transform: scale(0);
    animation: ui-ripple .52s ease-out;
}
@keyframes ui-ripple { to { transform: scale(4); opacity: 0; } }
@media (prefers-reduced-motion: reduce) {
    *, *::before, *::after {
        scroll-behavior: auto !important;
        transition-duration: .01ms !important;
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
    }
    .sidebar { animation: none !important; }
}
@media (max-width: 900px) {
    :root { --sidebar-width: 100%; }
    .sidebar {
        position: relative !important;
        width: 100% !important;
        height: auto !important;
        box-shadow: 0 8px 24px rgba(17,37,51,.12);
    }
    .sidebar {
        animation-duration: 22s;
        box-shadow: 0 9px 26px rgba(17,37,51,.16);
        border-right: 0;
        border-bottom: 1px solid rgba(111,186,226,.14);
    }
    .sidebar::after {
        top: auto;
        right: 0;
        bottom: -1px;
        width: 100%;
        height: 3px;
        background: linear-gradient(90deg,
            rgba(232,90,67,.50),
            rgba(255,255,255,.14),
            rgba(45,143,202,.58));
        box-shadow: 0 3px 14px rgba(45,143,202,.10);
    }
    .logo { width: 182px !important; max-width: 78vw; margin-bottom: 15px !important; }
    .main-content, .main-content-wrapper {
        width: 100% !important;
        margin-left: 0 !important;
        min-height: auto !important;
    }
    .main-content-wrapper .main-content { width: 100% !important; }
    .page-conditioners .main-content { min-height: auto; }
    h1::after { margin-top: 11px; }
}
@media (max-width: 480px) {
    body { background: #f3f6f8 !important; }
    .sidebar { padding: 16px !important; }
    .main-content { padding-left: 16px !important; padding-right: 16px !important; }
    .description, .selector-box, .price-list, .work-hours, .docs-section, .error-codes { border-radius: 13px !important; }
    h1 { line-height: 1.12; }
}

/* Телефонная кнопка остаётся зелёной как главный CTA */
.sidebar-btn[href^="tel:"] {
    background: #2fa56f !important;
}
.sidebar-btn[href^="tel:"]:hover {
    background: #278d5f !important;
}


/* ===== Главная: новые иконки карточек ===== */
.page-index .option-image {
    max-width: 210px;
    height: 200px !important;
    margin-left: auto;
    margin-right: auto;
    filter: drop-shadow(0 10px 18px rgba(18,44,60,.10));
}
.page-index .heater-card:hover {
    box-shadow: 0 18px 42px rgba(232,90,67,.20) !important;
}
.page-index .cooler-card:hover {
    box-shadow: 0 18px 42px rgba(45,143,202,.22) !important;
}
.page-index .heater-card:hover .option-image {
    filter: drop-shadow(0 12px 22px rgba(232,90,67,.22));
}
.page-index .cooler-card:hover .option-image {
    filter: drop-shadow(0 12px 22px rgba(45,143,202,.24));
}



/* ===== Компактная погода в сайдбаре ===== */
.weather-card--compact {
    width: 100%;
    margin: 0 0 16px;
    padding: 10px 11px 9px;
    border-radius: 14px;
    color: #fff;
    background:
        radial-gradient(circle at 10% 0%, rgba(255,255,255,.12), transparent 36%),
        linear-gradient(155deg, rgba(255,255,255,.075), rgba(255,255,255,.025));
    border: 1px solid rgba(255,255,255,.11);
    box-shadow: inset 0 1px 0 rgba(255,255,255,.07), 0 7px 18px rgba(0,0,0,.10);
}
.weather-compact__main {
    display: flex;
    align-items: center;
    gap: 9px;
}
.weather-compact__icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 11px;
    font-size: 23px;
    line-height: 1;
    background: linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.05));
    box-shadow: inset 0 1px 0 rgba(255,255,255,.09);
}
.weather-compact__reading {
    flex: 1;
    min-width: 0;
}
.weather-compact__row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 8px;
}
.weather-compact__place {
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .15px;
    white-space: nowrap;
}
.weather-compact__temp {
    font-size: 23px;
    line-height: 1;
    font-weight: 800;
    letter-spacing: -.4px;
    white-space: nowrap;
}
.weather-compact__desc {
    margin-top: 3px;
    font-size: 11.5px;
    line-height: 1.25;
    color: rgba(255,255,255,.76);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.weather-compact__hint {
    margin-top: 8px;
    padding-top: 7px;
    border-top: 1px solid rgba(255,255,255,.09);
    font-size: 11.5px;
    line-height: 1.32;
    color: rgba(255,255,255,.88);
}
@media (max-width: 900px) {
    .weather-card--compact {
        max-width: 340px;
        margin-left: auto;
        margin-right: auto;
        margin-bottom: 13px;
    }
}


/* ===== v5: фирменные кнопки ===== */
.sidebar-btn,
.btn,
.brand-btn {
    position: relative;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    gap: 10px;
    min-height: 46px;
    padding: 12px 18px !important;
    font-weight: 700 !important;
    letter-spacing: .15px;
    text-decoration: none !important;
    border-radius: 14px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    overflow: hidden;
    isolation: isolate;
    box-shadow:
        0 10px 22px rgba(10,24,34,.18),
        inset 0 1px 0 rgba(255,255,255,.12) !important;
    transition:
        transform .22s ease,
        box-shadow .22s ease,
        border-color .22s ease,
        filter .22s ease,
        background .22s ease !important;
}

.sidebar-btn::before,
.btn::before,
.brand-btn::before {
    content: "";
    position: absolute;
    inset: 1px;
    border-radius: inherit;
    z-index: -1;
    background:
        linear-gradient(180deg, rgba(255,255,255,.12), rgba(255,255,255,.03) 35%, rgba(255,255,255,.02) 100%),
        linear-gradient(135deg, #223a4d 0%, #2a5674 54%, #173246 100%);
}

.sidebar-btn::after,
.btn::after,
.brand-btn::after {
    content: "›";
    font-size: 18px;
    line-height: 1;
    opacity: .84;
    transform: translateX(0);
    transition: transform .22s ease, opacity .22s ease;
}

.sidebar-btn:hover,
.btn:hover,
.brand-btn:hover {
    transform: translateY(-3px);
    border-color: rgba(152,214,255,.24) !important;
    box-shadow:
        0 16px 28px rgba(10,24,34,.24),
        inset 0 1px 0 rgba(255,255,255,.14),
        0 0 0 1px rgba(255,255,255,.03);
    filter: saturate(1.03);
}

.sidebar-btn:hover::after,
.btn:hover::after,
.brand-btn:hover::after {
    transform: translateX(3px);
    opacity: 1;
}

.sidebar-btn:active,
.btn:active,
.brand-btn:active {
    transform: translateY(-1px) scale(.992);
}

.sidebar-btn {
    width: 100%;
    justify-content: space-between;
    background: transparent !important;
    color: #fff !important;
}
.sidebar-btn::before {
    background:
        linear-gradient(90deg, rgba(232,90,67,.24) 0%, rgba(255,255,255,.04) 42%, rgba(45,143,202,.20) 100%),
        linear-gradient(135deg, #224258 0%, #2b5877 52%, #173246 100%);
}
.sidebar-btn.is-current {
    border-color: rgba(255,255,255,.24) !important;
    box-shadow:
        0 14px 26px rgba(10,24,34,.24),
        inset 0 1px 0 rgba(255,255,255,.16),
        inset 3px 0 0 rgba(232,90,67,.85);
}
.sidebar-btn.is-current::before {
    background:
        linear-gradient(90deg, rgba(232,90,67,.28) 0%, rgba(255,255,255,.06) 42%, rgba(45,143,202,.24) 100%),
        linear-gradient(135deg, #2c516b 0%, #366a8e 52%, #1d415a 100%);
}

.btn,
.brand-btn {
    color: #fff !important;
    background: transparent !important;
}
.btn::before,
.brand-btn::before {
    background:
        linear-gradient(90deg, rgba(232,90,67,.22) 0%, rgba(255,255,255,.05) 45%, rgba(45,143,202,.22) 100%),
        linear-gradient(135deg, #26445a 0%, #2d6181 55%, #1c3548 100%);
}
.btn-works::before,
.brand-btn::before {
    background:
        linear-gradient(90deg, rgba(45,143,202,.24) 0%, rgba(255,255,255,.05) 40%, rgba(45,143,202,.18) 100%),
        linear-gradient(135deg, #27506a 0%, #2f7097 55%, #1f4158 100%);
}
.btn-prices::before,
.btn[href*="prices"]::before {
    background:
        linear-gradient(90deg, rgba(232,90,67,.28) 0%, rgba(255,255,255,.04) 45%, rgba(232,90,67,.18) 100%),
        linear-gradient(135deg, #6c2e28 0%, #c44f3d 58%, #7e3329 100%);
}

/* лёгкий фирменный кант */
.sidebar-btn > *, .btn > *, .brand-btn > * { position: relative; z-index: 1; }
.sidebar-btn,
.btn,
.brand-btn {
    background-image: linear-gradient(90deg, rgba(232,90,67,.0), rgba(255,255,255,.0)) !important;
}
.sidebar-btn::marker,
.btn::marker,
.brand-btn::marker { content: none; }

/* CTA call button остаётся зелёной, но в новом стиле */
.sidebar-btn[href^="tel:"] {
    color: #fff !important;
    border-color: rgba(173,245,213,.18) !important;
}
.sidebar-btn[href^="tel:"]::before {
    background:
        linear-gradient(90deg, rgba(255,255,255,.08) 0%, rgba(255,255,255,.03) 100%),
        linear-gradient(135deg, #2c8d60 0%, #35b475 60%, #25724f 100%);
}
.sidebar-btn[href^="tel:"]::after {
    content: "✆";
    font-size: 16px;
}
.sidebar-btn[href^="tel:"]:hover {
    box-shadow:
        0 16px 30px rgba(17,74,50,.28),
        inset 0 1px 0 rgba(255,255,255,.14);
}

/* компактнее на мобиле */
@media (max-width: 900px) {
    .sidebar-btn,
    .btn,
    .brand-btn {
        min-height: 44px;
        padding: 11px 16px !important;
        border-radius: 13px !important;
    }
    .sidebar-btn::after,
    .btn::after,
    .brand-btn::after {
        font-size: 17px;
    }
}


/* ===== v6: фирменный стиль, размеры как у старых кнопок ===== */
.sidebar-btn {
    min-height: 0 !important;
    padding: 10px 15px !important;
    font-size: 14px !important;
    line-height: 1.2 !important;
    border-radius: 10px !important;
    gap: 7px !important;
    box-sizing: border-box;
}
.sidebar-btn::after {
    font-size: 15px !important;
}

.btn {
    min-height: 0 !important;
    padding: 12px 25px !important;
    line-height: 1.2 !important;
    border-radius: 10px !important;
    gap: 8px !important;
}
.btn::after {
    font-size: 16px !important;
}

.brand-btn {
    min-height: 0 !important;
    padding: 12px 20px !important;
    font-size: 16px !important;
    line-height: 1.2 !important;
    border-radius: 10px !important;
    gap: 8px !important;
}
.brand-btn::after {
    font-size: 16px !important;
}

/* Наведение сохраняем, но движение чуть меньше — компактнее визуально */
.sidebar-btn:hover,
.btn:hover,
.brand-btn:hover {
    transform: translateY(-2px) !important;
}

@media (max-width: 900px) {
    .sidebar-btn {
        min-height: 0 !important;
        padding: 9px 12px !important;
        font-size: 14px !important;
    }
    .btn {
        min-height: 0 !important;
        padding: 11px 22px !important;
    }
    .brand-btn {
        min-height: 0 !important;
        padding: 10px 16px !important;
    }
}

@media (max-width: 480px) {
    .sidebar-btn {
        padding: 8px 10px !important;
        font-size: 13px !important;
    }
}


/* ===== v7: типографика и иконки блока контактов ===== */
.contact-panel {
    font-family: "Manrope", "Segoe UI", Arial, sans-serif;
    color: rgba(255,255,255,.92);
}
.contact-panel .contacts-title {
    margin: 0 0 12px;
    padding: 0 0 9px;
    font-family: "Manrope", "Segoe UI", Arial, sans-serif;
    font-size: 17px;
    line-height: 1.25;
    font-weight: 700;
    letter-spacing: .35px;
    color: #fff;
    border-bottom: 1px solid rgba(255,255,255,.22) !important;
}
.contact-panel .contact-line {
    position: relative;
    display: flex;
    align-items: flex-start;
    gap: 9px;
    margin: 7px 0;
    padding-left: 26px;
    font-size: 13px;
    line-height: 1.45;
}
.contact-panel .contact-line::before {
    content: "";
    position: absolute;
    left: 0;
    top: 2px;
    width: 17px;
    height: 17px;
    flex: 0 0 17px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: 17px 17px;
    opacity: .95;
}
.contact-panel .contact-phone {
    align-items: center;
    margin: 6px 0;
}
.contact-panel .contact-phone::before {
    top: 50%;
    transform: translateY(-50%);
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23cceeff' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.79 19.79 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.12.9.33 1.78.62 2.63a2 2 0 0 1-.45 2.11L8 9.73a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.85.29 1.73.5 2.63.62A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
}
.contact-panel .contact-phone a {
    color: #fff !important;
    text-decoration: none !important;
    font-size: 14px;
    line-height: 1.25;
    font-weight: 600;
    letter-spacing: .18px;
    transition: color .18s ease, transform .18s ease, text-shadow .18s ease;
}
.contact-panel .contact-phone a:hover {
    color: #d8f1ff !important;
    opacity: 1 !important;
    transform: translateX(2px);
    text-shadow: 0 0 12px rgba(83,177,232,.26);
}
.contact-panel .contact-address {
    margin-top: 10px;
    color: rgba(255,255,255,.78);
}
.contact-panel .contact-address::before {
    top: 2px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffb0a3' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 12-9 12S3 17 3 10a9 9 0 1 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
}
.contact-panel .contact-address {
    display: block;
}
.contact-panel .contact-label {
    display: inline;
    margin-right: 4px;
    color: rgba(255,255,255,.96);
    font-weight: 600;
}
.contact-panel .contact-address__text {
    color: rgba(255,255,255,.76);
    font-weight: 400;
}

@media (max-width: 900px) {
    .contact-panel .contacts-title {
        font-size: 16px;
        margin-bottom: 10px;
    }
    .contact-panel .contact-line {
        font-size: 12.5px;
        margin: 6px 0;
    }
    .contact-panel .contact-phone a {
        font-size: 13.5px;
    }
}


/* ===== v8: база заправочных объёмов ===== */
.page-zapravka .container { max-width: 1120px !important; }
.page-zapravka .main-content { padding-top: 34px !important; }
.page-zapravka .brand-buttons {
    position: static !important;
    background: transparent !important;
    padding: 0 !important;
    margin: 0 !important;
    gap: 8px !important;
}
.page-zapravka .brand-btn {
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 8px 13px !important;
    font-size: 13px !important;
    border-radius: 10px !important;
    flex: 0 0 auto !important;
}
.page-zapravka .brand-btn::after { display: none !important; }
.page-zapravka .brand-btn--china {
    border-color: rgba(232,90,67,.18) !important;
}
.page-zapravka .brand-btn--china::before {
    background:
        linear-gradient(90deg, rgba(232,90,67,.22), rgba(255,255,255,.035) 44%, rgba(45,143,202,.16)),
        linear-gradient(135deg, #29485d, #315f7d 54%, #203a4d) !important;
}
.ac-data-note {
    display: flex;
    gap: 13px;
    align-items: flex-start;
    margin: 0 auto 18px;
    padding: 14px 16px;
    max-width: 980px;
    border: 1px solid rgba(232,90,67,.17);
    border-radius: 14px;
    background: linear-gradient(135deg, rgba(255,255,255,.96), rgba(255,248,246,.94));
    box-shadow: 0 8px 22px rgba(32,52,67,.07);
    color: #526776;
    font-size: 13px;
    line-height: 1.5;
}
.ac-data-note strong { color: #253d4d; }
.ac-data-note__icon {
    flex: 0 0 28px;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    display: grid;
    place-items: center;
    color: #fff;
    font-weight: 800;
    background: linear-gradient(145deg, #ed654e, #c74633);
    box-shadow: 0 5px 12px rgba(232,90,67,.22);
}
.ac-search-wrap {
    max-width: 980px;
    margin: 0 auto 18px;
    padding: 16px;
    border: 1px solid rgba(32,52,67,.09);
    border-radius: 16px;
    background: rgba(255,255,255,.96);
    box-shadow: var(--shadow);
}
.ac-search-label {
    margin: 0 0 8px 2px;
    font-size: 13px;
    font-weight: 800;
    color: #334d5d;
}
.ac-search-box { position: relative; display: flex; align-items: center; }
.ac-search-icon {
    position: absolute;
    left: 14px;
    top: 50%;
    transform: translateY(-53%);
    color: var(--blue);
    font-size: 25px;
    pointer-events: none;
}
.ac-search {
    width: 100%;
    height: 48px;
    padding: 0 46px 0 45px;
    border: 1px solid rgba(32,52,67,.14);
    border-radius: 12px;
    outline: none;
    background: #f8fafc;
    color: #203443;
    font: 600 15px/1.2 Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}
.ac-search:focus {
    background: #fff;
    border-color: rgba(45,143,202,.56);
    box-shadow: 0 0 0 4px rgba(45,143,202,.10);
}
.ac-search-clear {
    position: absolute;
    right: 8px;
    width: 32px;
    height: 32px;
    border: 0;
    border-radius: 9px;
    background: transparent;
    color: #80909a;
    font-size: 23px;
    cursor: pointer;
}
.ac-search-clear:hover { background: #edf3f7; color: #334d5d; }
.ac-search-meta { margin: 7px 2px 0; font-size: 11px; color: #82929c; }
.brand-group, .brand-directory {
    max-width: 980px;
    margin: 0 auto 15px;
    padding: 14px 15px;
    border: 1px solid rgba(32,52,67,.09);
    border-radius: 15px;
    background: rgba(255,255,255,.92);
    box-shadow: 0 7px 20px rgba(32,52,67,.06);
}
.brand-group-title {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 11px;
    font-size: 14px;
    font-weight: 800;
    color: #263f50;
}
.brand-group-badge {
    padding: 3px 7px;
    border-radius: 999px;
    color: #bd4836;
    background: rgba(232,90,67,.10);
    font-size: 10px;
    letter-spacing: .2px;
    text-transform: uppercase;
}
.brand-directory summary {
    list-style: none;
    display: flex;
    align-items: center;
    justify-content: space-between;
    cursor: pointer;
    font-size: 14px;
    font-weight: 800;
    color: #2c4657;
    user-select: none;
}
.brand-directory summary::-webkit-details-marker { display: none; }
.brand-directory summary::after {
    content: "+";
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: #eef4f7;
    color: var(--blue-dark);
    font-size: 19px;
    transition: transform .2s ease;
}
.brand-directory[open] summary::after { transform: rotate(45deg); }
.brand-directory summary span { margin-left: auto; margin-right: 10px; color: #8b9aa4; font-size: 11px; font-weight: 700; }
.brand-directory .brand-buttons { margin-top: 13px !important; padding-top: 12px !important; border-top: 1px solid rgba(32,52,67,.08); }
.page-zapravka .select-prompt { max-width: 980px; padding: 20px !important; font-size: 15px !important; }
.page-zapravka .spoiler-content { max-width: 1100px; margin-left: auto; margin-right: auto; }
.spoiler-content--china { border-top: 4px solid rgba(232,90,67,.76) !important; }
.brand-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.brand-section-heading h2 { margin: 0; color: #253f50; }
.brand-section-heading span {
    padding: 4px 9px;
    border-radius: 999px;
    background: linear-gradient(90deg, rgba(232,90,67,.12), rgba(45,143,202,.10));
    color: #647985;
    font-size: 11px;
    font-weight: 800;
}
.china-data-note {
    margin: 13px 0 0;
    padding: 10px 12px;
    border-radius: 10px;
    background: #f7fafc;
    color: #6f818c;
    font-size: 11px;
    line-height: 1.45;
}
.ac-search-results {
    max-width: 980px;
    margin: 0 auto 18px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}
.ac-search-results[hidden] { display: none !important; }
.ac-result-card {
    padding: 13px;
    border: 1px solid rgba(32,52,67,.09);
    border-radius: 14px;
    background: rgba(255,255,255,.97);
    box-shadow: 0 7px 18px rgba(32,52,67,.07);
}
.ac-result-head { display: flex; align-items: center; gap: 9px; margin-bottom: 10px; min-width: 0; }
.ac-result-head strong { font-size: 15px; color: #243d4d; overflow-wrap: anywhere; }
.ac-result-brand {
    flex: 0 0 auto;
    padding: 4px 7px;
    border-radius: 7px;
    background: linear-gradient(135deg, rgba(232,90,67,.10), rgba(45,143,202,.11));
    color: #456171;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}
.ac-result-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 7px; }
.ac-result-grid > div { min-width: 0; padding: 7px 8px; border-radius: 9px; background: #f5f8fa; }
.ac-result-grid span { display: block; margin-bottom: 3px; color: #8a9aa4; font-size: 9px; text-transform: uppercase; letter-spacing: .25px; }
.ac-result-grid b { display: block; color: #3b5362; font-size: 11px; overflow-wrap: anywhere; }
.ac-result-charge { background: linear-gradient(135deg, rgba(232,90,67,.08), rgba(45,143,202,.07)) !important; }
.ac-result-charge b { color: #1f6f9f; font-size: 13px; }
.ac-search-empty {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 5px;
    padding: 20px;
    border: 1px dashed rgba(32,52,67,.16);
    border-radius: 14px;
    background: rgba(255,255,255,.85);
    color: #738691;
    text-align: center;
    font-size: 13px;
}
.ac-search-empty strong { color: #344e5e; font-size: 15px; }
@media (max-width: 760px) {
    .page-zapravka .main-content { padding: 15px 10px !important; }
    .ac-data-note { font-size: 12px; }
    .ac-search-wrap, .brand-group, .brand-directory { border-radius: 13px; }
    .page-zapravka .brand-btn { padding: 8px 11px !important; font-size: 12px !important; }
    .ac-search-results { grid-template-columns: 1fr; }
    .ac-result-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ac-search { font-size: 14px; }
}


/* ===== v9: стабильное состояние кнопок ===== */
.sidebar-btn:focus, .sidebar-btn:active,
.btn:focus, .btn:active,
.brand-btn:focus, .brand-btn:active {
    box-sizing: border-box !important;
}
.sidebar-btn:active, .btn:active, .brand-btn:active {
    transform: translateY(0) scale(.985) !important;
}

/* ===== v9: A/C database, рынки ===== */
.page-ac-v9 .main-content { padding: 34px 26px 60px !important; align-items: stretch !important; justify-content: flex-start !important; }
.ac-v9-container { width:100%; max-width:1160px; margin:0 auto; }
.ac-v9-container > h1 { margin: 8px 0 28px; }
.ac-market-section { max-width: 1040px; margin: 0 auto 18px; }
.ac-market-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:18px; margin: 24px 0 12px; }
.ac-market-heading h2 { margin:0; color:#294252; font-size:20px; }
.ac-market-heading p { margin:4px 0 0; color:#7a8d99; font-size:12px; }
.ac-base-counter { flex:0 0 auto; padding:6px 10px; border-radius:999px; background:rgba(45,143,202,.09); color:#3c657d; font-size:11px; font-weight:800; }
.ac-market-list { display:grid; gap:10px; }
.ac-market-card { border:1px solid rgba(32,52,67,.09); border-radius:15px; background:rgba(255,255,255,.94); box-shadow:0 7px 20px rgba(32,52,67,.06); overflow:hidden; }
.ac-market-card summary { list-style:none; display:flex; align-items:center; gap:12px; min-height:58px; padding:10px 14px; cursor:pointer; user-select:none; }
.ac-market-card summary::-webkit-details-marker { display:none; }
.ac-market-code { display:grid; place-items:center; flex:0 0 38px; width:38px; height:38px; border-radius:11px; color:#fff; font-size:11px; font-weight:900; letter-spacing:.5px; background:linear-gradient(145deg,#e85a43,#2d8fca); box-shadow:0 5px 12px rgba(45,143,202,.18); }
.ac-market-summary-text { flex:1; min-width:0; display:flex; flex-direction:column; }
.ac-market-summary-text strong { color:#294252; font-size:14px; }
.ac-market-summary-text small { color:#82939e; font-size:11px; margin-top:2px; }
.ac-market-count { flex:0 0 auto; color:#7f919d; font-size:10px; font-weight:800; }
.ac-market-card summary::after { content:'+'; display:grid; place-items:center; width:28px; height:28px; border-radius:9px; background:#eef4f7; color:#287aa9; font-size:20px; transition:transform .2s ease; }
.ac-market-card[open] summary::after { transform:rotate(45deg); }
.ac-market-brands { display:flex; flex-wrap:wrap; gap:8px; padding:0 14px 14px 64px; border-top:1px solid rgba(32,52,67,.06); padding-top:12px; }
.ac-brand-btn { box-sizing:border-box; width:auto; max-width:100%; min-width:0; min-height:0; flex:0 0 auto; display:inline-flex; align-items:center; gap:7px; padding:7px 11px; border:1px solid rgba(45,143,202,.16); border-radius:10px; color:#315267; background:linear-gradient(180deg,#fff,#f5f9fb); box-shadow:0 4px 10px rgba(32,52,67,.06); font:700 12px/1.2 Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',Arial,sans-serif; cursor:pointer; transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease,background .15s ease; }
.ac-brand-btn small { display:grid; place-items:center; min-width:20px; height:18px; padding:0 5px; border-radius:999px; background:#eaf2f6; color:#718792; font-size:9px; }
.ac-brand-btn:hover { transform:translateY(-1px); border-color:rgba(45,143,202,.34); box-shadow:0 7px 14px rgba(32,52,67,.09); }
.ac-brand-btn:focus, .ac-brand-btn:active, .ac-brand-btn.is-selected { width:auto !important; min-width:0 !important; max-width:100% !important; min-height:0 !important; flex:0 0 auto !important; padding:7px 11px !important; }
.ac-brand-btn:active { transform:scale(.98); }
.ac-brand-btn.is-selected { color:#fff; border-color:transparent; background:linear-gradient(100deg,#d95742,#2d8fca); box-shadow:0 7px 16px rgba(45,143,202,.16); }
.ac-brand-btn.is-selected small { background:rgba(255,255,255,.18); color:#fff; }
.ac-brand-result { max-width:1120px; margin:18px auto 0; padding:18px; border:1px solid rgba(32,52,67,.09); border-radius:16px; background:rgba(255,255,255,.97); box-shadow:var(--shadow); }
.ac-brand-result[hidden]{display:none!important;}
.ac-brand-head { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:12px; }
.ac-brand-head h2 { margin:0; color:#263f50; font-size:24px; }
.ac-brand-head p { margin:4px 0 0; color:#83949e; font-size:11px; }
.ac-brand-head > span { flex:0 0 auto; padding:5px 9px; border-radius:999px; background:linear-gradient(90deg,rgba(232,90,67,.10),rgba(45,143,202,.10)); color:#627986; font-size:10px; font-weight:800; }
.ac-table-wrap { overflow:auto; border-radius:12px; border:1px solid rgba(32,52,67,.08); }
.ac-data-table { width:100%; min-width:860px; border-collapse:collapse; margin:0; background:#fff; }
.ac-data-table th { position:sticky; top:0; z-index:2; padding:10px; background:#eef4f7; color:#405d6d; font-size:10px; text-transform:uppercase; letter-spacing:.25px; }
.ac-data-table td { padding:10px; border-top:1px solid #edf1f3; color:#566d7a; font-size:11px; vertical-align:top; }
.ac-data-table td:first-child { color:#2d4757; min-width:170px; }
.ac-data-table tr:hover td { background:#f9fbfc; }
.ac-refrigerant { display:inline-block; padding:3px 7px; border-radius:7px; background:#edf5fa; color:#287aa9; font-weight:800; }
.ac-charge strong { color:#d14d39; font-size:13px; }
.ac-result-sub { color:#758994; font-size:11px; margin:-5px 0 8px; }
.ac-result-open { margin-top:10px; padding:7px 10px; border:0; border-radius:9px; background:#edf4f8; color:#2f6f94; font-size:11px; font-weight:800; cursor:pointer; }
.ac-result-open:hover { background:#e1eef5; }

@media (max-width:760px){
    .page-ac-v9 .main-content{padding:18px 10px 40px!important;}
    .ac-market-heading{align-items:flex-start;flex-direction:column;gap:8px;}
    .ac-market-brands{padding-left:14px;}
    .ac-market-summary-text small{display:none;}
    .ac-market-count{display:none;}
    .ac-brand-head{align-items:flex-start;}
    .ac-brand-head h2{font-size:21px;}
}

/* ===== v9: DP pump selector ===== */
.page-dp .main-content { padding:34px 22px 60px !important; align-items:stretch !important; justify-content:flex-start !important; }
.pump-app { width:100%; max-width:880px; margin:0 auto; }
.pump-app > h1 { margin:10px 0 8px; }
.pump-lead { margin:0 0 22px; text-align:center; color:#788c98; font-size:13px; }
.pump-side-note { margin-top:auto; }
.pump-side-note p { font-size:12px; line-height:1.5; color:rgba(255,255,255,.72); }
.pump-panel, .pump-result, .pump-reference { margin:0 0 14px; border:1px solid rgba(32,52,67,.09); border-radius:16px; background:rgba(255,255,255,.96); box-shadow:var(--shadow); }
.pump-panel { padding:18px; }
.pump-step { display:flex; align-items:center; gap:10px; margin-bottom:13px; color:#2c4657; }
.pump-step > span { display:grid; place-items:center; width:28px; height:28px; border-radius:9px; color:#fff; background:linear-gradient(145deg,#e85a43,#2d8fca); font-size:12px; font-weight:900; }
.pump-step strong { font-size:15px; }
.pump-manufacturers, .pump-voltage-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pump-maker, .pump-voltage, .pump-model, .pump-reset { box-sizing:border-box; border:1px solid rgba(32,52,67,.10); border-radius:12px; cursor:pointer; font-family:inherit; font-weight:800; transition:.18s ease; }
.pump-maker { min-height:52px; color:#fff; font-size:17px; }
.pump-maker--webasto { background:linear-gradient(135deg,#367ca7,#245a79); }
.pump-maker--eber { background:linear-gradient(135deg,#e6634d,#b94434); }
.pump-maker:hover, .pump-voltage:hover, .pump-model:hover, .pump-reset:hover { transform:translateY(-2px); box-shadow:0 9px 18px rgba(32,52,67,.12); }
.pump-maker.is-selected { outline:3px solid rgba(45,143,202,.14); }
.pump-search { width:100%; height:44px; margin-bottom:11px; padding:0 13px; border:1px solid rgba(32,52,67,.13); border-radius:11px; outline:0; background:#f8fafc; font:600 14px/1.2 inherit; }
.pump-search:focus { border-color:rgba(45,143,202,.48); box-shadow:0 0 0 4px rgba(45,143,202,.09); background:#fff; }
.pump-model-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; }
.pump-model { min-height:42px; padding:8px 10px; background:linear-gradient(180deg,#fff,#f2f6f8); color:#385465; font-size:12px; }
.pump-model.is-selected, .pump-voltage.is-selected { color:#fff; border-color:transparent; background:linear-gradient(100deg,#d95742,#2d8fca); }
.pump-voltage { min-height:50px; background:#edf3f6; color:#365366; font-size:18px; }
.pump-result { padding:24px 18px; text-align:center; border-top:5px solid #2fa56f; }
.pump-result__model { color:#7a8c97; font-size:14px; font-weight:800; }
.pump-result__label { margin-top:12px; color:#8b9aa3; font-size:10px; font-weight:900; letter-spacing:1.2px; }
.pump-result__pump { margin:4px 0 0; color:#243f50; font-size:39px; line-height:1.05; font-weight:900; }
.pump-result__voltage { margin:8px 0 15px; color:#2fa56f; font-size:25px; font-weight:900; }
.pump-result__note { max-width:620px; margin:0 auto; padding:12px 14px; border-radius:11px; background:#f4f7f9; color:#536b79; font-size:13px; line-height:1.5; }
.pump-reset { margin-top:15px; padding:9px 14px; background:#314e60; color:#fff; font-size:12px; }
.pump-reference { overflow:hidden; }
.pump-reference summary { padding:13px 16px; cursor:pointer; color:#365365; font-size:13px; font-weight:800; }
.pump-reference__content { display:grid; gap:8px; padding:0 14px 14px; }
.pump-reference__content > div { display:grid; gap:3px; padding:10px 11px; border-radius:10px; background:#f5f8fa; }
.pump-reference__content b { color:#29495c; font-size:12px; }
.pump-reference__content span { color:#718590; font-size:11px; line-height:1.4; }
@media(max-width:700px){.pump-model-grid{grid-template-columns:repeat(2,minmax(0,1fr));}.page-dp .main-content{padding:18px 12px 40px!important;}.pump-result__pump{font-size:32px;}}


/* ===== v10: восстановление базовой геометрии новых служебных страниц ===== */
.page-ac-v9,
.page-dp {
    margin: 0 !important;
    padding: 0 !important;
    display: flex !important;
    min-height: 100vh !important;
}
.page-ac-v9 .sidebar,
.page-dp .sidebar {
    width: 300px !important;
    padding: 30px 20px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    position: fixed !important;
    left: 0 !important;
    top: 0 !important;
    bottom: auto !important;
    height: 100vh !important;
    box-sizing: border-box !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    z-index: 1000 !important;
}
.page-ac-v9 .sidebar-content {
    width: 100%;
    min-height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}
.page-ac-v9 .sidebar-buttons,
.page-dp .sidebar-buttons {
    display: flex !important;
    flex-direction: column !important;
    gap: 10px !important;
    width: 100% !important;
    margin-top: 20px !important;
}
.page-ac-v9 .main-content,
.page-dp .main-content {
    flex: 1 1 auto !important;
    width: calc(100% - 300px) !important;
    min-width: 0 !important;
    min-height: 100vh !important;
    margin-left: 300px !important;
    box-sizing: border-box !important;
}
.page-ac-v9 .main-content > .ac-v9-container {
    width: 100% !important;
    max-width: 1160px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-dp .main-content > .pump-app {
    width: 100% !important;
    max-width: 880px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.page-ac-v9 .contact-panel,
.page-dp .pump-side-note {
    width: 100%;
}

/* A/C кнопки марки: геометрия одинакова до/после клика */
.page-ac-v9 .ac-brand-btn,
.page-ac-v9 .ac-brand-btn:hover,
.page-ac-v9 .ac-brand-btn:focus,
.page-ac-v9 .ac-brand-btn:active,
.page-ac-v9 .ac-brand-btn.is-selected {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    min-height: 0 !important;
    height: auto !important;
    flex: 0 0 auto !important;
    padding: 7px 11px !important;
    line-height: 1.2 !important;
}

@media (max-width: 900px) {
    .page-ac-v9,
    .page-dp {
        display: flex !important;
        flex-direction: column !important;
    }
    .page-ac-v9 .sidebar,
    .page-dp .sidebar {
        position: relative !important;
        left: auto !important;
        top: auto !important;
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        padding: 20px !important;
    }
    .page-ac-v9 .sidebar-content {
        min-height: 0;
    }
    .page-ac-v9 .main-content,
    .page-dp .main-content {
        width: 100% !important;
        min-height: auto !important;
        margin-left: 0 !important;
    }
    .page-ac-v9 .sidebar-buttons,
    .page-dp .sidebar-buttons {
        flex-direction: row !important;
        flex-wrap: wrap !important;
        justify-content: center !important;
    }
    .page-ac-v9 .sidebar-btn,
    .page-dp .sidebar-btn {
        flex: 1 1 150px !important;
        width: auto !important;
        max-width: 200px !important;
    }
}

@media (max-width: 480px) {
    .page-ac-v9 .sidebar,
    .page-dp .sidebar {
        padding: 16px !important;
    }
    .page-ac-v9 .sidebar-btn,
    .page-dp .sidebar-btn {
        flex-basis: 120px !important;
        min-width: 120px !important;
    }
}


/* ===== v11: точечная правка zapravka ===== */
/* Контакты + кнопки снова сидят у нижней части сайдбара, как на остальных страницах */
.page-ac-v9 .contact-panel {
    margin-top: auto !important;
}
.page-ac-v9 .sidebar-buttons {
    margin-top: 20px !important;
    margin-bottom: 0 !important;
}

/* Нижняя подсказка выровнена по тому же контейнеру, что и выбор рынка */
.page-ac-v9 .select-prompt {
    box-sizing: border-box !important;
    display: block !important;
    width: 100% !important;
    max-width: 1040px !important;
    margin: 0 auto !important;
    padding: 20px !important;
}

@media (max-width: 900px) {
    .page-ac-v9 .contact-panel {
        margin-top: 0 !important;
    }
    .page-ac-v9 .select-prompt {
        max-width: 100% !important;
    }
}


/* ===== v12: zapravka direct-sidebar + unified module width ===== */
.page-ac-v9 .sidebar > .contact-panel { margin-top:auto !important; width:100% !important; flex:0 0 auto !important; }
.page-ac-v9 .sidebar > .sidebar-buttons { width:100% !important; margin-top:20px !important; margin-bottom:0 !important; flex:0 0 auto !important; }
.page-ac-v9 .ac-data-note, .page-ac-v9 .ac-search-wrap, .page-ac-v9 .ac-search-results, .page-ac-v9 .ac-market-section, .page-ac-v9 .select-prompt { box-sizing:border-box !important; width:100% !important; max-width:1040px !important; margin-left:auto !important; margin-right:auto !important; }
@media(max-width:900px){.page-ac-v9 .sidebar > .contact-panel{margin-top:0 !important}.page-ac-v9 .ac-data-note,.page-ac-v9 .ac-search-wrap,.page-ac-v9 .ac-search-results,.page-ac-v9 .ac-market-section,.page-ac-v9 .select-prompt{max-width:100% !important}}


/* ===== v13: кнопки без изменения геометрии при клике ===== */
/* Убираем старый ripple полностью: клик не должен добавлять никаких DOM-элементов в кнопку */
.ui-ripple { display: none !important; }

/* Сайдбар: высота жёстко постоянная во всех состояниях */
.sidebar-btn,
.sidebar-btn:hover,
.sidebar-btn:focus,
.sidebar-btn:focus-visible,
.sidebar-btn:active,
.sidebar-btn.is-current {
    box-sizing: border-box !important;
    width: 100% !important;
    height: 38px !important;
    min-height: 38px !important;
    max-height: 38px !important;
    padding: 0 15px !important;
    margin-top: 0;
    margin-bottom: 0;
    line-height: 1 !important;
    white-space: nowrap;
    align-items: center !important;
    justify-content: space-between !important;
}
.sidebar-btn:hover { transform: translateY(-2px) !important; }
.sidebar-btn:active { transform: translateY(0) !important; }
.sidebar-btn:focus, .sidebar-btn:focus-visible {
    outline: 2px solid rgba(142,207,244,.28);
    outline-offset: 2px;
}

/* Основные кнопки страниц: padding и line-height неизменны после клика */
.btn,
.btn:hover,
.btn:focus,
.btn:focus-visible,
.btn:active {
    box-sizing: border-box !important;
    min-height: 42px !important;
    padding: 10px 22px !important;
    line-height: 20px !important;
    align-items: center !important;
    justify-content: center !important;
}
.btn:active { transform: translateY(0) !important; }

/* Кнопки выбора брендов/разделов — тоже без скачков */
.brand-btn,
.brand-btn:hover,
.brand-btn:focus,
.brand-btn:focus-visible,
.brand-btn:active,
.brand-btn.active {
    box-sizing: border-box !important;
    min-height: 40px !important;
    height: 40px !important;
    max-height: 40px !important;
    padding: 0 16px !important;
    line-height: 1 !important;
    align-items: center !important;
}
.brand-btn:active { transform: translateY(0) !important; }

/* Марки в новом A/C-справочнике: выбранная кнопка остаётся той же высоты */
.page-ac-v9 .ac-brand-btn,
.page-ac-v9 .ac-brand-btn:hover,
.page-ac-v9 .ac-brand-btn:focus,
.page-ac-v9 .ac-brand-btn:focus-visible,
.page-ac-v9 .ac-brand-btn:active,
.page-ac-v9 .ac-brand-btn.is-selected {
    box-sizing: border-box !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 34px !important;
    min-height: 34px !important;
    max-height: 34px !important;
    padding: 0 11px !important;
    line-height: 1 !important;
    flex: 0 0 auto !important;
    align-items: center !important;
}
.page-ac-v9 .ac-brand-btn:active { transform: none !important; }

/* Кнопка карты на странице графика теперь фирменная */
.page-vremya .map-link.btn {
    width: auto !important;
    min-width: 230px;
    margin: 20px auto !important;
    color: #fff !important;
    text-decoration: none !important;
}

@media (max-width: 900px) {
    .sidebar-btn,
    .sidebar-btn:hover,
    .sidebar-btn:focus,
    .sidebar-btn:focus-visible,
    .sidebar-btn:active,
    .sidebar-btn.is-current {
        width: auto !important;
        height: 36px !important;
        min-height: 36px !important;
        max-height: 36px !important;
        padding: 0 12px !important;
    }
    .btn,
    .btn:hover,
    .btn:focus,
    .btn:focus-visible,
    .btn:active {
        min-height: 40px !important;
        padding: 9px 18px !important;
    }
}

@media (max-width: 480px) {
    .sidebar-btn,
    .sidebar-btn:hover,
    .sidebar-btn:focus,
    .sidebar-btn:focus-visible,
    .sidebar-btn:active,
    .sidebar-btn.is-current {
        height: 34px !important;
        min-height: 34px !important;
        max-height: 34px !important;
        padding: 0 10px !important;
        font-size: 13px !important;
    }
}


/* ===== v15: финальная унификация сайдбаров ===== */
.sidebar > .contacts.contact-panel {
    width: 100% !important;
    margin-top: auto !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
}
.sidebar > .sidebar-buttons {
    width: 100% !important;
    margin-top: 20px !important;
    margin-bottom: 0 !important;
    flex: 0 0 auto !important;
    box-sizing: border-box !important;
}
.sidebar .contact-panel .contact-phone,
.sidebar .contact-panel .contact-address {
    width: 100%;
    box-sizing: border-box;
}
.sidebar .contact-panel .contact-phone a {
    display: inline-block;
}
.sidebar-call-btn {
    margin-top: 15px !important;
}
@media (max-width: 900px) {
    .sidebar > .contacts.contact-panel { margin-top: 0 !important; }
    .sidebar > .sidebar-buttons { margin-top: 16px !important; }
}


/* ===== v17: модернизация внутренних справочных страниц ===== */
.modern-page-shell {
    width: 100%;
    max-width: 1040px !important;
    margin: 0 auto;
    box-sizing: border-box;
}
.modern-page-heading { text-align:center; margin: 0 auto 28px; max-width: 860px; }
.modern-page-heading h1 { margin-bottom: 12px !important; }
.modern-page-heading p { margin: 0; color: var(--muted); font-size: 15px; line-height: 1.55; }
.modern-eyebrow {
    display:inline-flex; align-items:center; min-height:28px; padding:0 12px; margin-bottom:10px;
    border-radius:999px; background:rgba(45,143,202,.09); color:#2779a9; font:700 12px/1 Manrope,Arial,sans-serif;
    letter-spacing:.5px; text-transform:uppercase;
}

/* Поиск */
.modern-search-card {
    width:100%; max-width:880px; margin:0 auto 8px; display:flex; align-items:center; gap:10px;
    padding:8px 10px 8px 14px; box-sizing:border-box; background:rgba(255,255,255,.96);
    border:1px solid rgba(32,52,67,.11); border-radius:15px; box-shadow:0 10px 28px rgba(28,49,64,.08);
}
.modern-search-icon { color:#2d8fca; font-size:25px; line-height:1; transform:rotate(-12deg); }
.modern-search-card input { flex:1; min-width:0; border:0; outline:0; background:transparent; font:500 15px/1.3 Manrope,Arial,sans-serif; color:var(--ink); padding:7px 2px; }
.modern-search-card input::placeholder { color:#91a0aa; }
.modern-search-card button { width:32px; height:32px; border:0; border-radius:10px; background:#edf3f7; color:#657b8a; cursor:pointer; font-size:20px; line-height:1; }
.modern-search-card button:hover { background:#e2edf3; color:#24475e; }
.modern-search-status { max-width:880px; margin:0 auto 20px; text-align:right; color:#83939e; font-size:12px; }

/* Наши работы — раскрывающиеся карточки */
.works-shell { max-width: 940px !important; }
.works-accordion { display:flex; flex-direction:column; gap:14px; }
.work-accordion-card { background:#fff; border:1px solid rgba(32,52,67,.09); border-radius:18px; box-shadow:0 10px 28px rgba(28,49,64,.08); overflow:hidden; transition:box-shadow .25s ease, transform .25s ease, border-color .25s ease; }
.work-accordion-card:hover { transform:translateY(-2px); box-shadow:0 15px 36px rgba(28,49,64,.13); border-color:rgba(45,143,202,.16); }
.work-accordion-card.is-open { border-color:rgba(232,90,67,.22); box-shadow:0 17px 40px rgba(28,49,64,.14); }
.work-accordion-head { width:100%; border:0; background:transparent; display:grid; grid-template-columns:140px 1fr 42px; gap:18px; align-items:center; padding:14px 16px; text-align:left; cursor:pointer; color:inherit; font:inherit; }
.work-thumb { position:relative; width:140px; height:94px; border-radius:13px; overflow:hidden; background:linear-gradient(135deg,#eaf1f5,#dbe6ec); display:block; }
.work-thumb img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; z-index:2; }
.work-thumb-placeholder { position:absolute; inset:0; display:grid; place-items:center; color:#7692a3; background:linear-gradient(135deg,rgba(232,90,67,.10),rgba(45,143,202,.13)); }
.work-thumb-placeholder svg { width:42px; height:42px; }
.work-head-copy { display:flex; flex-direction:column; min-width:0; }
.work-kicker { color:#d75a45; font:700 11px/1.2 Manrope,Arial,sans-serif; text-transform:uppercase; letter-spacing:.65px; margin-bottom:5px; }
.work-accordion-title { color:#203443; font:700 17px/1.35 Manrope,Arial,sans-serif; }
.work-accordion-meta { margin-top:5px; color:#2d8fca; font:600 12px/1.3 Manrope,Arial,sans-serif; }
.work-preview { margin-top:7px; color:#657986; font-size:13px; line-height:1.45; }
.work-expand-icon { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; background:#edf4f8; color:#2d789f; font-size:22px; transition:transform .25s ease, background .25s ease; }
.work-accordion-card.is-open .work-expand-icon { transform:rotate(45deg); background:#fff0ed; color:#d4503d; }
.work-accordion-detail { padding:0 74px 19px 174px; color:#485f6e; font-size:14px; line-height:1.65; }
.work-accordion-detail p { margin:0; padding-top:15px; border-top:1px solid rgba(32,52,67,.08); }

/* Документы */
.docs-modern-stack, .errors-modern-stack { display:flex; flex-direction:column; gap:12px; }
.docs-modern-panel, .errors-modern-panel { background:rgba(255,255,255,.97); border:1px solid rgba(32,52,67,.09); border-radius:16px; box-shadow:0 9px 26px rgba(28,49,64,.075); overflow:hidden; }
.docs-modern-panel > summary, .errors-modern-panel > summary { list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px; padding:17px 20px; user-select:none; }
.docs-modern-panel > summary::-webkit-details-marker, .errors-modern-panel > summary::-webkit-details-marker { display:none; }
.docs-modern-panel > summary > span:first-child, .errors-modern-panel > summary > span:first-child { display:flex; flex-direction:column; gap:3px; }
.docs-modern-panel summary strong, .errors-modern-panel summary strong { font:700 16px/1.35 Manrope,Arial,sans-serif; color:#203443; }
.docs-modern-panel summary small, .errors-modern-panel summary small { color:#84949f; font-size:12px; }
.details-chevron { width:30px; height:30px; border-radius:9px; display:grid; place-items:center; background:#edf3f7; color:#507083; transition:transform .2s ease; }
details[open] > summary .details-chevron { transform:rotate(180deg); }
.doc-modern-list { border-top:1px solid rgba(32,52,67,.07); }
.doc-modern-row { display:grid; grid-template-columns:44px 1fr auto 28px; gap:12px; align-items:center; padding:12px 18px; color:inherit; text-decoration:none; border-bottom:1px solid rgba(32,52,67,.065); transition:background .18s ease, transform .18s ease; }
.doc-modern-row:last-of-type { border-bottom:0; }
.doc-modern-row:hover { background:linear-gradient(90deg,rgba(232,90,67,.035),rgba(45,143,202,.055)); }
.doc-file-icon { width:38px; height:38px; border-radius:11px; display:grid; place-items:center; background:linear-gradient(145deg,#eef5f8,#dde9ef); color:#2d759d; box-shadow:inset 0 1px 0 #fff; }
.doc-file-icon span { font:800 9px/1 Manrope,Arial,sans-serif; letter-spacing:.2px; }
.doc-modern-copy { min-width:0; display:flex; flex-direction:column; gap:3px; }
.doc-modern-copy strong { color:#284050; font:600 14px/1.35 Manrope,Arial,sans-serif; }
.doc-modern-copy small { color:#8b9aa4; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.doc-size-pill { border-radius:999px; background:#f1f5f7; color:#607581; padding:5px 8px; font:700 11px/1 Manrope,Arial,sans-serif; white-space:nowrap; }
.doc-open-arrow { color:#7c94a1; font-size:17px; transition:transform .18s ease, color .18s ease; }
.doc-modern-row:hover .doc-open-arrow { transform:translate(2px,-2px); color:#2d8fca; }
.doc-section-empty { padding:16px 20px; color:#8b9aa4; font-size:13px; }

/* Коды ошибок */
.errors-shell { max-width:1040px !important; }
.errors-modern-panel > summary { border-left:4px solid #7893a4; }
.errors-webasto > summary { border-left-color:#e85a43; }
.errors-eber > summary { border-left-color:#2d8fca; }
.errors-planar > summary { border-left-color:#e2a23a; }
.errors-table-scroll { overflow:auto; border-top:1px solid rgba(32,52,67,.07); }
.errors-modern-table { width:100%; border-collapse:separate; border-spacing:0; font-size:13px; background:#fff; }
.errors-modern-table th { position:sticky; top:0; z-index:1; padding:10px 12px; background:#edf3f6; color:#456071; font:700 12px/1.3 Manrope,Arial,sans-serif; text-align:left; border-bottom:1px solid #dfe8ed; }
.errors-modern-table td { padding:10px 12px; vertical-align:top; color:#435b69; border-bottom:1px solid #edf1f3; line-height:1.45; }
.errors-modern-table tr:last-child td { border-bottom:0; }
.errors-modern-table tbody tr:hover td { background:#f8fbfc; }
.error-code-cell { white-space:nowrap; font:800 12px/1.2 Manrope,Arial,sans-serif; color:#245f81 !important; }
.error-code-cell::before { content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:#2d8fca; vertical-align:1px; }
.errors-webasto .error-code-cell::before { background:#e85a43; }
.errors-planar .error-code-cell::before { background:#e2a23a; }
.errors-modern-note { margin:0; padding:12px 18px 15px; background:#fbfcfd; color:#7c8e99; font-size:12px; line-height:1.45; border-top:1px solid rgba(32,52,67,.06); }
.error-section-empty { padding:18px; color:#8b9aa4; font-size:13px; }

/* Прайсы */
.prices-shell { max-width:960px !important; --price-accent:#e85a43; --price-accent-soft:rgba(232,90,67,.09); }
.prices-cooler { --price-accent:#2d8fca; --price-accent-soft:rgba(45,143,202,.10); }
.prices-modern-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:13px; }
.price-modern-card { position:relative; min-height:110px; display:grid; grid-template-columns:38px 1fr; grid-template-rows:auto 1fr; column-gap:13px; padding:17px 18px; box-sizing:border-box; background:rgba(255,255,255,.97); border:1px solid rgba(32,52,67,.085); border-radius:17px; box-shadow:0 9px 25px rgba(28,49,64,.075); transition:transform .2s ease, box-shadow .2s ease, border-color .2s ease; overflow:hidden; }
.price-modern-card::after { content:""; position:absolute; left:0; top:0; bottom:0; width:4px; background:var(--price-accent); opacity:.9; }
.price-modern-card:hover { transform:translateY(-3px); box-shadow:0 14px 32px rgba(28,49,64,.12); border-color:color-mix(in srgb,var(--price-accent) 20%, transparent); }
.price-modern-index { grid-row:1/3; width:34px; height:34px; display:grid; place-items:center; border-radius:10px; background:var(--price-accent-soft); color:var(--price-accent); font:800 11px/1 Manrope,Arial,sans-serif; }
.price-modern-copy { min-width:0; padding-right:110px; }
.price-modern-copy h2 { margin:0; color:#263f4e; font:700 15px/1.4 Manrope,Arial,sans-serif; }
.price-modern-copy p { margin:7px 0 0; color:#7b8d98; font-size:12px; line-height:1.45; }
.price-modern-value { position:absolute; top:17px; right:16px; padding:7px 10px; border-radius:999px; background:var(--price-accent-soft); color:var(--price-accent); font:800 13px/1 Manrope,Arial,sans-serif; white-space:nowrap; }
.prices-modern-disclaimer { margin-top:16px; padding:13px 15px; border-radius:13px; background:#f2f6f8; border:1px solid rgba(32,52,67,.07); color:#6c7f8b; font-size:12px; line-height:1.5; }
.prices-modern-cta { margin-top:16px; display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 18px; border-radius:17px; background:linear-gradient(135deg,#213c50,#2d5873); box-shadow:0 12px 28px rgba(22,49,66,.16); color:#fff; }
.prices-modern-cta > div { display:flex; flex-direction:column; gap:3px; }
.prices-modern-cta strong { font:700 15px/1.3 Manrope,Arial,sans-serif; }
.prices-modern-cta span { color:rgba(255,255,255,.72); font-size:12px; }
.price-book-btn { width:auto !important; min-width:125px !important; flex:0 0 auto; }

@media (max-width:900px) {
    .modern-page-shell { max-width:100% !important; }
    .work-accordion-head { grid-template-columns:115px 1fr 36px; gap:13px; }
    .work-thumb { width:115px; height:82px; }
    .work-accordion-detail { padding-left:144px; padding-right:54px; }
    .prices-modern-grid { grid-template-columns:1fr; }
}
@media (max-width:620px) {
    .modern-page-heading p { font-size:14px; }
    .work-accordion-head { grid-template-columns:82px 1fr 30px; gap:11px; padding:12px; }
    .work-thumb { width:82px; height:72px; border-radius:11px; }
    .work-accordion-title { font-size:14px; }
    .work-preview { display:none; }
    .work-accordion-detail { padding:0 14px 16px; }
    .doc-modern-row { grid-template-columns:38px 1fr auto; padding:11px 12px; gap:9px; }
    .doc-open-arrow { display:none; }
    .doc-modern-copy small { display:none; }
    .doc-size-pill { font-size:10px; }
    .errors-modern-panel > summary, .docs-modern-panel > summary { padding:14px; }
    .errors-modern-table { min-width:680px; }
    .price-modern-card { grid-template-columns:34px 1fr; padding:15px; }
    .price-modern-copy { padding-right:0; padding-top:34px; }
    .price-modern-value { top:14px; right:14px; }
    .prices-modern-cta { align-items:flex-start; flex-direction:column; }
    .price-book-btn { width:100% !important; }
}


/* v18: gallery inside admin-managed "Наши работы" */
.work-detail-text p { margin: 0 0 12px; }
.work-detail-text p:last-child { margin-bottom: 0; }
.work-detail-gallery {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
    margin-top: 16px;
}
.work-detail-gallery figure { margin: 0; min-width: 0; }
.work-detail-gallery img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 12px;
    border: 1px solid rgba(32,52,67,.10);
    box-shadow: 0 7px 18px rgba(17,37,51,.08);
}
.work-detail-gallery figcaption {
    margin-top: 6px;
    color: #71818c;
    font-size: 12px;
    line-height: 1.35;
}
.work-date { color: #81909a; font-size: 12px; font-weight: 700; }
@media (max-width: 700px) { .work-detail-gallery { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 430px) { .work-detail-gallery { grid-template-columns: 1fr; } }
