/*
Theme Name: Woodmart Child - Бани №1
Template: woodmart
Version: 2.0
Description: Дизайн-система v2 — токены dp-m.ru, Exo 2 + Inter
*/

/* ═══════════════════════════════════════════════════════════════════
   0. ДИЗАЙН-ТОКЕНЫ — единый источник для всего сайта.
   Документация: docs/knowledge/design-system.md
   ═══════════════════════════════════════════════════════════════════ */
:root {
    --wd-container-w: 1222px !important;

    /* ── Высота sticky-шапки (для scroll-padding и spacers) ── */
    --bani1-header-h: 80px;

    /* ── Горизонтальные отступы контейнеров (стандарт 2026-05-27) ──
       Единое значение для ВСЕХ секций. На каждом breakpoint своё.
       НЕ хардкодить 16/24/28 в правилах — использовать var(). */
    --bani1-pad-x: 20px;            /* desktop default */
    --bani1-pad-x-mobile: 20px;     /* ≤767 */
    --bani1-pad-x-tablet: 24px;     /* 768-1024 */

    /* ── Вертикальные отступы между секциями (стандарт 2026-07-08) ──
       Единое значение сверху/снизу для ВСЕХ контентных секций.
       Секции: padding: var(--bani1-section-y) 0. Мобайл — переопределён ниже.
       НЕ хардкодить 48/60/64/80 — использовать var(). */
    --bani1-section-y: 80px;        /* desktop */

    /* ── Карточные радиусы ── */
    --bani1-radius-card: 12px;      /* FAQ-таблетки, hub-карточки, trust-strip */
    --bani1-radius-pill: 8px;       /* кнопки, чипы */

    /* ── Hover-фоны для card-style блоков ── */
    --bani1-card-bg: #f7f8f7;       /* базовый фон карточек (FAQ, accordion) */
    --bani1-card-bg-hover: #f0f3f0; /* hover */
    --bani1-card-bg-soft: #f8faf8;  /* soft-зелёный trust-strip */

    /* ── Брендовая палитра (для справки, исп. напрямую в правилах) ── */
    --bani1-green: #259e49;
    --bani1-green-dark: #1e8a3e;
}

@media (max-width: 767px) {
    :root {
        --bani1-pad-x: var(--bani1-pad-x-mobile);
        --bani1-section-y: 48px;         /* мобайл — секции автоматически */
        --bani1-header-h: 64px;          /* перенесено из дублей ниже */
    }
}
@media (min-width: 768px) and (max-width: 1024px) {
    :root { --bani1-pad-x: var(--bani1-pad-x-tablet); }
}

/* Плавная прокрутка по якорям + offset чтобы заголовок секции не прятался
   под sticky-шапкой. Действует для всех ссылок вида <a href="#section">.
   Не нужно JS — браузер сам делает плавно и уважает prefers-reduced-motion.
   См. ADR-007 §«Принципы».

   Селектор html:root (специфичность 0-1-1) — нужен потому что WoodMart
   позже в каскаде ставит `html { scroll-behavior: auto }`. Без повышения
   специфичности наш `html { smooth }` (0-0-1) теряется в каскаде по
   правилу «последнее побеждает». Не !important — чистая специфичность. */
html:root {
    scroll-behavior: smooth;
    scroll-padding-top: var(--bani1-header-h);
}
/* (--bani1-header-h: 64px на mobile перенесён в общий :root-блок в начале файла) */
@media (prefers-reduced-motion: reduce) {
    html:root { scroll-behavior: auto; }
}

/* === 1. ТЕКСТ: Inter для body-level элементов === */
/* НЕ трогаем h1-h6 — они берут Exo 2 из --wd-title-font */
body,
p, span, a, li, td, th, label,
input, textarea, select, button,
.elementor-widget-text-editor,
.xts-nav-main > li > a,
.xts-nav-main .xts-nav-link {
    font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* === 2. ЗАГОЛОВКИ: Exo 2 через CSS-переменную WoodMart === */
/* WoodMart base.min.css уже ставит h1-h6 { font-family: var(--wd-title-font) } */
/* Но wd_title виджеты используют .title класс внутри .title-wrapper */
.wd-title .title-wrapper .title,
.wd-title .title-wrapper .title-subtitle {
    font-family: var(--wd-title-font), sans-serif;
}

/* WoodMart infobox/banner текст → Inter */
.wd-info-box .info-box-inner,
.wd-banner .banner-subtitle,
.wd-text-block-wrapper {
    font-family: var(--wd-text-font), sans-serif;
}

/* === 2.1 ДИЗАЙН-СИСТЕМА: единый заголовок секций === */
.bani1-section-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 36px;
    font-weight: 700;
    color: #1a1a1a;
    text-align: left;
    line-height: 1.2;
    margin: 0 0 32px;
}
.bani1-section-title span {
    color: #259e49;
}
@media (max-width: 1024px) {
    .bani1-section-title { font-size: 30px; }
}
@media (max-width: 767px) {
    .bani1-section-title { font-size: 26px; margin-bottom: 24px; }
}

/* === 3. Скрытие магазинных элементов === */
.xts-header-el.xts-header-cart,
.xts-header-el.xts-header-compare,
.xts-header-el.xts-header-wishlist,
.xts-header-el.xts-header-my-account,
.xts-header-el.xts-header-search,
.woocommerce-result-count,
.woocommerce-ordering,
.xts-shop-tools,
.xts-action-btn.xts-style-icon.xts-compare-btn,
.xts-action-btn.xts-style-icon.xts-wishlist-btn {
    display: none !important;
}

/* === 4. Типографика — сглаживание === */
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    text-rendering: optimizeLegibility;
}

/* === 5. Кнопки (скоуп: контентная зона) === */
.site-content .elementor-button,
.site-content .wd-button-wrapper .btn {
    border-radius: 5px;
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 14px;
}

.elementor-button-wrapper .elementor-button {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    letter-spacing: 0.02em;
}

/* === 6. Ссылки и акценты === */
a:hover {
    color: #0F8C00;
}

/* === 7. Мобильная кликабельность телефона === */
.info-box-title a[href^="tel:"] {
    font-weight: 600;
    white-space: nowrap;
}

/* === 8. Каталог: кнопки заявки на товарах === */
.bani1-cta-block {
    display: flex;
    gap: 12px;
    margin: 20px 0;
    flex-wrap: wrap;
}
.bani1-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 28px;
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    text-decoration: none;
    transition: all 0.2s ease;
    cursor: pointer;
    line-height: 1;
}
.bani1-btn-primary {
    background: #259e49;
    color: #fff;
    border: 2px solid #259e49;
}
.bani1-btn-primary:hover {
    background: #0F8C00;
    border-color: #0F8C00;
    color: #fff;
}
.bani1-btn-outline {
    background: transparent;
    color: #242424;
    border: 2px solid #242424;
}
.bani1-btn-outline:hover {
    background: #242424;
    color: #fff;
}









/* === 9. Каталог: корзинные элементы скрыты (сайт — лидогенерация) === */
/* Все товары simple — вариаций нет. Кнопка «В корзину» и счётчик количества не нужны */
.single-product .single_add_to_cart_button,
.single-product .quantity,
.single-product .wd-buy-now-btn {
    display: none !important;
}

/* Скрыть магазинные виджеты в хедере */
.woocommerce .xts-cart-widget,
.xts-header-cart,
.single-product .woocommerce-tabs .reviews_tab {
    display: none !important;
}


/* === 10. Форма заявки WPForms на товарах === */
/* Обёртка формы */
.bani1-form-wrapper {
    background: #f7f7f7;
    border-radius: 8px;
    padding: 24px;
    width: 100%;
    margin-bottom: 8px;
}
.bani1-form-title {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: #242424;
    margin: 0 0 16px 0;
    text-align: center;
}

/* WPForms поля */
.bani1-form-wrapper .wpforms-field {
    margin-bottom: 12px;
}
.bani1-form-wrapper .wpforms-field-label {
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #666;
    margin-bottom: 4px;
}
.bani1-form-wrapper input[type="text"],
.bani1-form-wrapper input[type="email"],
.bani1-form-wrapper input[type="tel"],
.bani1-form-wrapper textarea,
.bani1-form-wrapper select {
    font-family: "Inter", sans-serif;
    font-size: 15px;
    padding: 10px 14px;
    border: 1px solid #ddd;
    border-radius: 5px;
    background: #fff;
    color: #242424;
    width: 100%;
    transition: border-color 0.2s;
}
.bani1-form-wrapper input:focus,
.bani1-form-wrapper textarea:focus {
    border-color: #259e49;
    outline: none;
    box-shadow: 0 0 0 2px rgba(37, 158, 73, 0.15);
}

/* Чекбокс согласия */
.bani1-form-wrapper .wpforms-field-checkbox .wpforms-field-label-inline {
    font-size: 12px;
    color: #6b7280;
    line-height: 1.4;
}

/* Кнопка отправки */
.bani1-form-wrapper .wpforms-submit-container {
    margin-top: 8px;
}
.bani1-form-wrapper .wpforms-submit {
    background: #259e49 !important;
    color: #fff !important;
    border: none !important;
    border-radius: 5px !important;
    font-family: "Inter", sans-serif !important;
    font-weight: 600 !important;
    font-size: 15px !important;
    padding: 12px 24px !important;
    width: 100%;
    cursor: pointer;
    transition: background 0.2s ease;
}
.bani1-form-wrapper .wpforms-submit:hover {
    background: #0F8C00 !important;
}

/* Сообщение после отправки */
.bani1-form-wrapper .wpforms-confirmation-container-full {
    background: #e8f5e9;
    border-radius: 5px;
    padding: 20px;
    text-align: center;
    font-family: "Inter", sans-serif;
}

/* Скрыть поле «Проект» (заполняется автоматически) */
.bani1-form-wrapper .wpforms-field-hidden,
#wpforms-13489-field_2-container {
    display: none !important;
}

/* Кнопка «Позвонить» под формой — на всю ширину */
.bani1-cta-block {
    flex-direction: column;
    align-items: stretch;
}
.bani1-cta-block .bani1-btn-outline {
    text-align: center;
    width: 100%;
}

/* Мобильная адаптация */
@media (max-width: 767px) {
    .bani1-form-wrapper {
        padding: var(--bani1-pad-x);     /* стандарт 20px */
    }
    .bani1-form-title {
        font-size: 18px;
    }
}


/* === 10.1 Trust-полоска на товарной странице ===
   2026-05-27: убраны 2 серых border, заменены на мягкий фон + radius.
   Современный паттерн: блок выделен фоном, не графической рамкой. */
.bani1-trust-strip {
    padding: 14px var(--bani1-pad-x);    /* стандарт отступов — см. design-system.md */
    margin: 12px 0 16px;
    background: var(--bani1-card-bg-soft);
    border-radius: var(--bani1-radius-card);
}
.bani1-trust-items {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}
.bani1-trust-item {
    display: flex;
    align-items: center;
    gap: 6px;
}
.bani1-trust-item svg {
    flex-shrink: 0;
}
.bani1-trust-item span {
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #242424;
    white-space: nowrap;
}
.bani1-trust-proof {
    margin-top: 10px;
    font-family: "Inter", sans-serif;
    font-size: 12px;
    color: #999;
    line-height: 1.4;
}
.bani1-trust-proof a {
    color: #259e49;
    text-decoration: none;
    font-weight: 500;
}
.bani1-trust-proof a:hover {
    color: #0F8C00;
    text-decoration: underline;
}
@media (max-width: 767px) {
    .bani1-trust-items {
        gap: 10px;
    }
    .bani1-trust-item span {
        font-size: 12px;
    }
    .bani1-trust-proof {
        font-size: 11px;
    }
}


/* === 11. Layout товара: скрыть лишнее, показать нужное === */

/* Планировки убраны из WC-галереи (хранятся в ACF plan_image) →
   все изображения в галерее — рендеры (16:9) → прыжков высоты нет →
   aspect-ratio не нужен, WoodMart FlexSlider управляет размерами нативно. */
/* Убрать мета (артикул, категории) — не нужно клиенту */
.single-product .wd-single-meta,
.single-product .product_meta {
    display: none !important;
}

/* Скрыть строку «Комплектация» в форме вариаций — реальных комплектаций нет.
   Дефолт «Стандарт» выбран у всех товаров → кнопка «Купить» работает корректно.
   Убрать это правило когда появятся реальные комплектации. */
.variations tr:has(> th > label[for="pa_komplektacziya"]) {
    display: none;
}

/* Убрать рейтинг (нет отзывов = пустые звёзды) */
.single-product .wd-single-rating,
.single-product .woocommerce-product-rating {
    display: none !important;
}

/* Убрать standalone заголовок "Описание" перед контентом (табы уже подписаны) */
.single-product .elementor-widget-wd_title[data-id="3319dc20"] {
    display: none !important;
}

/* Убрать wishlist на товаре (строительный клиент не «добавляет в избранное» баню) */
.single-product .wd-wishlist-btn,
.single-product .xts-wishlist-btn {
    display: none !important;
}

/* Вариации: красивые лейблы */
.single-product .variations th.label label {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #242424;
}
.single-product .variations td.value select {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    padding: 8px 12px;
    border: 1px solid #ddd;
    border-radius: 5px;
}

/* Цена: крупнее */
.single-product .wd-single-price .price {
    font-family: "Exo 2", sans-serif;
    font-weight: 700;
    font-size: 28px;
    color: #242424;
}
.single-product .wd-single-price .price del {
    font-size: 18px;
    color: #999;
}

/* Название товара */
.single-product .wd-single-title h1 {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 28px;
    line-height: 1.25;
    color: #242424;
    margin-bottom: 8px;
}

/* Табы: скрыты — заменены аккордеоном (секция 30).
   ВАЖНО: используем visibility:hidden вместо display:none —
   WoodMart gallery JS зависит от layout-расчётов и ломается при display:none на табах */
.single-product .wd-single-tabs,
.single-product .woocommerce-tabs,
.single-product .elementor-widget-wd_single_product_tabs {
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
    border: none !important;
}
/* Elementor-контейнер, обёртывающий виджет табов — схлопнуть */
.single-product .e-con:has(.elementor-widget-wd_single_product_tabs) {
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}
/* Пустые Elementor-контейнеры в Layout товара — схлопнуть
   (подрядчик оставил пустой e-con в Layout 11535) */
.single-product .elementor > .e-con:has(> .e-con-inner:empty) {
    display: none !important;
}
/* Product area margin-bottom: Elementor ставит 60px (gap до табов),
   но табы скрыты — уменьшаем до 20px для плавного перехода к аккордеону */
.single-product .elementor-11535 .elementor-element-4ee1e85d {
    --margin-bottom: 20px !important;
    margin-bottom: 20px !important;
}
@media (max-width: 1024px) {
    .single-product .elementor-11535 .elementor-element-4ee1e85d {
        --margin-bottom: 16px !important;
        margin-bottom: 16px !important;
    }
}
/* DEPRECATED: стили ниже неактивны пока табы скрыты */
.single-product .wd-single-tabs.DEPRECATED-tabs {
    border: none !important;
    background: transparent !important;
}
.single-product .wd-single-tabs .wd-all-open-title {
    border: none !important;
    border-bottom: 2px solid transparent !important;
    padding: 12px 0;
    margin-right: 32px;
}
.single-product .wd-single-tabs .wd-all-open-title.wd-active,
.single-product .wd-single-tabs .wd-all-open-title:hover {
    border-bottom-color: #259e49 !important;
}
.single-product .wd-single-tabs .wd-all-open-title span {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 18px;
    color: #666;
    transition: color 0.2s;
}
.single-product .wd-single-tabs .wd-all-open-title.wd-active span,
.single-product .wd-single-tabs .wd-all-open-title:hover span {
    color: #242424;
}
.single-product .wd-single-tabs .woocommerce-Tabs-panel {
    font-family: "Inter", sans-serif;
    font-size: 15px;
    line-height: 1.7;
    color: #333;
    border: none !important;
    padding-top: 24px;
}

/* Таблица характеристик: зебра вместо бордеров */
.single-product .shop_attributes {
    border: none !important;
    border-collapse: collapse;
}
.single-product .shop_attributes th,
.single-product .shop_attributes td {
    border: none !important;
    padding: 10px 14px;
}
.single-product .shop_attributes th {
    font-family: "Inter", sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #666;
}
.single-product .shop_attributes td {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #242424;
}
.single-product .shop_attributes tr:nth-child(even) {
    background: #f7f7f7;
}
.single-product .shop_attributes tr:nth-child(odd) {
    background: #fff;
}

/* Описание WC: скрыто — контент теперь в аккордеоне (секция 30) */
.single-product .wd-single-content,
.single-product .elementor-widget-wd_single_product_content {
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}
.single-product .e-con:has(.elementor-widget-wd_single_product_content) {
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    padding: 0 !important;
    margin: 0 !important;
}
.single-product .wd-single-content h2,
.single-product .wd-single-content h3 {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    margin-top: 24px;
    margin-bottom: 12px;
}
.single-product .wd-single-content h2 { font-size: 22px; }
.single-product .wd-single-content h3 { font-size: 18px; }
.single-product .wd-single-content p {
    margin-bottom: 12px;
}
.single-product .wd-single-content ul,
.single-product .wd-single-content ol {
    margin-left: 20px;
    margin-bottom: 12px;
}

/* Мобильная адаптация товара */
@media (max-width: 767px) {
    .single-product .wd-single-price .price {
        font-size: 22px;
    }
    .single-product .wd-single-title h1 {
        font-size: 22px;
    }
    .single-product .wd-single-tabs .wd-all-open-title span {
        font-size: 18px;
    }
}


/* === 11.4 СТАНДАРТ ОТСТУПОВ: товарная страница (mobile)
   ────────────────────────────────────────────────────────────
   WoodMart-блоки .wd-single-title/price/add-cart и наши собственные
   .bani1-spec-card/summary-cta-wrap по умолчанию НЕ имеют горизонт.
   padding на mobile → текст прижат к краю экрана.
   Унифицируем: var(--bani1-pad-x) = 20px на мобиле.
   Галерею (.wd-single-gallery) НЕ трогаем — full-bleed фото OK на mobile.
   См. docs/knowledge/design-system.md */
@media (max-width: 767px) {
    body.single-product .wd-single-title,
    body.single-product .wd-single-price,
    body.single-product .wd-swatch-layout-inline.wd-single-add-cart,
    body.single-product .bani1-spec-card,
    body.single-product .bani1-summary-cta-wrap,
    body.single-product .wd-single-meta,
    body.single-product .product_meta {
        padding-left: var(--bani1-pad-x);
        padding-right: var(--bani1-pad-x);
        box-sizing: border-box;
    }
}

/* === 11.5. ЧТО ВХОДИТ: визуальный блок на товарной странице === */

.bani1-includes-section {
    max-width: 1222px;
    margin: 0 auto;
    padding: 48px var(--bani1-pad-x);
}

@media (max-width: 767px) {
    .bani1-includes-section {
        padding: 32px var(--bani1-pad-x);
    }
}

/* === 12. Каталог главной: затемнение + hover + grid 2×2 === */

/* Контейнер баннеров — grid 2×2 */
[data-id="847d084"] {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 20px !important;
}
[data-id="847d084"] > .elementor-element {
    flex: 0 0 calc(50% - 10px) !important;
    max-width: calc(50% - 10px) !important;
    width: calc(50% - 10px) !important;
}

/* Равномерное затемнение фото (как dp-m.ru) */
[data-id="4f96eb9"] .promo-banner {
    position: relative;
    overflow: hidden;
}
[data-id="4f96eb9"] .promo-banner::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.35);
    transition: background 0.3s ease;
    z-index: 1;
    pointer-events: none;
}
/* При наведении — затемнение уходит, фото светлеет */
[data-id="4f96eb9"] .promo-banner:hover::after {
    background: rgba(0, 0, 0, 0.15);
}

/* Название поверх overlay */
[data-id="4f96eb9"] .wd-banner .wrapper-content-banner {
    background: transparent !important;
    backdrop-filter: none !important;
    border: none !important;
    z-index: 2;
    position: relative;
}
[data-id="4f96eb9"] .wd-banner .banner-title {
    text-shadow: 0 2px 8px rgba(0,0,0,0.4);
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: #fff;
}

/* Баннеры — одинаковая высота */
[data-id="847d084"] .promo-banner-wrapper,
[data-id="847d084"] .promo-banner {
    height: 100%;
}
[data-id="847d084"] .promo-banner {
    min-height: 280px;
}
[data-id="847d084"] .promo-banner .promo-banner-image {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* Мобилка: одна колонка */
@media (max-width: 767px) {
    [data-id="847d084"] > .elementor-element {
        flex: 0 0 100% !important;
        max-width: 100% !important;
        width: 100% !important;
    }
    [data-id="847d084"] .promo-banner {
        min-height: 220px;
    }
    [data-id="4f96eb9"] .wd-banner .banner-title {
        font-size: 18px;
    }
}

/* Планшет: по 2, но компактнее */
@media (min-width: 768px) and (max-width: 1024px) {
    [data-id="847d084"] {
        gap: 15px !important;
    }
    [data-id="847d084"] > .elementor-element {
        flex: 0 0 calc(50% - 8px) !important;
        max-width: calc(50% - 8px) !important;
    }
    [data-id="847d084"] .promo-banner {
        min-height: 240px;
    }
}

/* === 13. Скрываем старый Elementor hero (заменён PHP hero) === */
.page-id-13123 .elementor-element-0df16f2 { display: none; }

/* === 14. Hero: светлый split-layout === */
.bani1-hero {
    background: #f8f8f8;
    padding: 100px 20px 60px;
}
.bani1-hero-inner {
    max-width: 1222px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    gap: 48px;
}
/* Левая колонка — текст */
.bani1-hero-text {
    flex: 1 1 55%;
    min-width: 0;
}
.bani1-hero-tag {
    display: inline-block;
    font-family: "Inter", sans-serif;
    font-size: 13px;
    font-weight: 500;
    color: #259e49;
    letter-spacing: 0.02em;
    margin-bottom: 16px;
}
.bani1-hero h1 {
    font-family: "Exo 2", sans-serif;
    font-size: 42px;
    font-weight: 700;
    line-height: 1.2;
    color: #222;
    margin: 0 0 12px;
}
.bani1-hero .hero-subtitle {
    font-family: "Inter", sans-serif;
    font-size: 17px;
    color: #555;
    line-height: 1.55;
    margin: 0 0 28px;
    max-width: 480px;
}
/* Кнопки */
.bani1-hero-buttons {
    display: flex;
    gap: 12px;
    flex-wrap: wrap;
}
.bani1-hero-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 32px;
    border-radius: 8px;
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    cursor: pointer;
    border: none;
    transition: background 0.3s, box-shadow 0.3s, border-color 0.3s;
    min-height: 48px;
}
.bani1-hero-btn-green {
    background: #259e49;
    color: #fff;
    border: 2px solid #259e49;
}
.bani1-hero-btn-green:hover {
    background: #0F8C00;
    border-color: #0F8C00;
    box-shadow: 0 4px 15px rgba(37,158,73,0.3);
}
.bani1-hero-btn.btn-tg-hero {
    background: transparent;
    color: #222;
    border: 2px solid #ddd;
}
.bani1-hero-btn.btn-tg-hero:hover {
    border-color: #259e49;
    color: #259e49;
}
.bani1-hero-btn svg {
    margin-right: 6px;
    flex-shrink: 0;
}
/* Правая колонка — видео + рейтинг */
.bani1-hero-media {
    flex: 1 1 45%;
    min-width: 0;
}
.bani1-hero-video-wrap {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 20px 60px rgba(0,0,0,0.05);
}
.bani1-hero-video-wrap video {
    width: 100%;
    display: block;
    aspect-ratio: 16/9;
    object-fit: cover;
}
/* Рейтинг под видео */
.bani1-hero-rating {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-top: 16px;
    padding: 12px 16px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    width: fit-content;
}
.bani1-hero-rating .rating-score {
    font-family: "Exo 2", sans-serif;
    font-size: 32px;
    font-weight: 700;
    color: #259e49;
    line-height: 1;
}
.bani1-hero-rating .rating-info {
    font-family: "Inter", sans-serif;
    font-size: 12px;
    color: #777;
    line-height: 1.3;
}
.bani1-hero-rating .rating-stars {
    color: #f5a623;
    font-size: 16px;
    letter-spacing: 2px;
}

/* Hero: Tablet (769-1024px) */
@media (max-width: 1024px) {
    .bani1-hero { padding: 80px 20px 40px; }
    .bani1-hero-inner { gap: 32px; }
    .bani1-hero-text { flex: 1 1 50%; }
    .bani1-hero-media { flex: 1 1 50%; }
    .bani1-hero h1 { font-size: 36px; }
    .bani1-hero .hero-subtitle { font-size: 15px; }
}

/* Hero: Mobile (≤767px) */
@media (max-width: 767px) {
    .bani1-hero { padding: 80px 16px 32px; }
    .bani1-hero-inner {
        flex-direction: column;
        gap: 24px;
    }
    .bani1-hero h1 { font-size: 32px; }
    .bani1-hero .hero-subtitle { font-size: 15px; max-width: none; }
    .bani1-hero-buttons { flex-direction: column; }
    .bani1-hero-btn { width: 100%; justify-content: center; }
    /* На мобиле: poster вместо видео (14MB экономия) */
    .bani1-hero-video-wrap video { display: none; }
    .bani1-hero-video-wrap {
        background-image: url('/wp-content/uploads/hero-poster.jpg');
        background-size: cover;
        background-position: center;
        aspect-ratio: 16/9;
    }
}

/* === 15. Hub-страницы: карточный layout серий === */
/* Страницы: katalog-bani, katalog-doma */

/* Карточки серий: hover-эффект */
.page-id-9781 .elementor-element > .e-con > .elementor-element[class*='e-con'],
.page-id-9747 .elementor-element > .e-con > .elementor-element[class*='e-con'] {
    transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.page-id-9781 .elementor-element > .e-con > .elementor-element[class*='e-con']:hover,
.page-id-9747 .elementor-element > .e-con > .elementor-element[class*='e-con']:hover {
    box-shadow: 0 4px 20px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

/* Кнопки в карточках серий */
.page-id-9781 .elementor-button,
.page-id-9747 .elementor-button {
    background-color: #259e49;
    color: #fff;
    border-radius: 5px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 24px;
    transition: background-color 0.3s ease;
    border: none;
}
.page-id-9781 .elementor-button:hover,
.page-id-9747 .elementor-button:hover {
    background-color: #0F8C00;
    color: #fff;
}

/* Placeholder фото серий (серый блок) */
.page-id-9781 .e-con .e-con:first-child,
.page-id-9747 .e-con .e-con:first-child {
    border-radius: 8px 8px 0 0;
}

/* Заголовки h1 hub-страниц */
.page-id-9781 h1,
.page-id-9747 h1,
.page-id-9811 h1,
.page-id-9821 h1 {
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    color: #242424;
}

/* Заглушки хозблоков/комплексов */
.page-id-9811 .e-con,
.page-id-9821 .e-con {
    font-family: 'Inter', sans-serif;
}

/* === 16. Серийные страницы === */
/* Страницы: seriya-terma-*, seriya-villa-* */
/* Скоуп: .parent-pageid-9781 (бани), .parent-pageid-9747 (дома) */

/* --- 16.1 Карточки моделей --- */
/* Каждая карточка = cms_block через elementor-shortcode */
.parent-pageid-9781 .elementor-shortcode > .elementor[data-elementor-post-type="cms_block"] > .e-con.e-parent,
.parent-pageid-9747 .elementor-shortcode > .elementor[data-elementor-post-type="cms_block"] > .e-con.e-parent {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 8px rgba(0,0,0,0.08);
    overflow: hidden;
    transition: box-shadow 0.3s ease, transform 0.3s ease;
    margin-bottom: 20px;
}
.parent-pageid-9781 .elementor-shortcode > .elementor[data-elementor-post-type="cms_block"] > .e-con.e-parent:hover,
.parent-pageid-9747 .elementor-shortcode > .elementor[data-elementor-post-type="cms_block"] > .e-con.e-parent:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,0.08);
    transform: translateY(-2px);
}

/* Заголовок модели (h3 с ссылкой) */
.parent-pageid-9781 .elementor-widget-woocommerce-product-title h3,
.parent-pageid-9747 .elementor-widget-woocommerce-product-title h3 {
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 20px;
    color: #242424;
    line-height: 1.3;
    margin-bottom: 4px;
}
.parent-pageid-9781 .elementor-widget-woocommerce-product-title h3 a,
.parent-pageid-9747 .elementor-widget-woocommerce-product-title h3 a {
    color: inherit;
    text-decoration: none;
}
.parent-pageid-9781 .elementor-widget-woocommerce-product-title h3 a:hover,
.parent-pageid-9747 .elementor-widget-woocommerce-product-title h3 a:hover {
    color: #259e49;
}

/* Цена в карточках */
.parent-pageid-9781 .elementor-heading-title[style*='color: rgb(37, 158, 73)'],
.parent-pageid-9747 .elementor-heading-title[style*='color: rgb(37, 158, 73)'] {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 22px;
}

/* Текст скидки/описания в карточке */
.parent-pageid-9781 .elementor-shortcode .wd-text-block p,
.parent-pageid-9747 .elementor-shortcode .wd-text-block p {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #666;
    line-height: 1.5;
}

/* Кнопки в карточках: «Подробнее» (bordered) */
.parent-pageid-9781 .elementor-shortcode .btn-style-bordered,
.parent-pageid-9747 .elementor-shortcode .btn-style-bordered {
    background: transparent;
    color: #259e49;
    border: 2px solid #259e49;
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 24px;
    transition: all 0.3s ease;
}
.parent-pageid-9781 .elementor-shortcode .btn-style-bordered:hover,
.parent-pageid-9747 .elementor-shortcode .btn-style-bordered:hover {
    background: #259e49;
    color: #fff;
}

/* Кнопки в карточках: «Оставить заявку» (default/primary) */
.parent-pageid-9781 .elementor-shortcode .btn-style-default.btn-color-primary,
.parent-pageid-9747 .elementor-shortcode .btn-style-default.btn-color-primary {
    background: #259e49;
    color: #fff;
    border: none;
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    padding: 10px 24px;
    transition: background 0.3s ease;
}
.parent-pageid-9781 .elementor-shortcode .btn-style-default.btn-color-primary:hover,
.parent-pageid-9747 .elementor-shortcode .btn-style-default.btn-color-primary:hover {
    background: #0F8C00;
}

/* --- 16.2 Героический баннер серии --- */
.parent-pageid-9781 .woodmart-title-container.title.wd-fontsize-xxxl,
.parent-pageid-9747 .woodmart-title-container.title.wd-fontsize-xxxl {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    color: #fff;
}
.parent-pageid-9781 .title-after_title h4,
.parent-pageid-9747 .title-after_title h4 {
    font-family: 'Exo 2', sans-serif;
    font-weight: 400;
    font-style: italic;
}
.parent-pageid-9781 .title-after_title p,
.parent-pageid-9747 .title-after_title p {
    font-family: 'Inter', sans-serif;
    line-height: 1.6;
}

/* --- 16.3 Секционные заголовки (bordered style) --- */
.parent-pageid-9781 .wd-title-style-bordered .title,
.parent-pageid-9747 .wd-title-style-bordered .title {
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    color: #242424;
}
.parent-pageid-9781 .wd-title-style-bordered .title-after_title,
.parent-pageid-9747 .wd-title-style-bordered .title-after_title {
    font-family: 'Inter', sans-serif;
    color: #666;
}

/* Заголовки h1-h4 на серийных страницах */
.parent-pageid-9781 h1, .parent-pageid-9781 h2, .parent-pageid-9781 h3, .parent-pageid-9781 h4,
.parent-pageid-9747 h1, .parent-pageid-9747 h2, .parent-pageid-9747 h3, .parent-pageid-9747 h4 {
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    color: #242424;
}

/* --- 16.4 Аккордеон комплектаций --- */
.parent-pageid-9781 .wd-accordion.wd-style-shadow,
.parent-pageid-9747 .wd-accordion.wd-style-shadow {
    border-radius: 8px;
    overflow: hidden;
}
.parent-pageid-9781 .wd-accordion-item,
.parent-pageid-9747 .wd-accordion-item {
    border-bottom: 1px solid #eee;
}
.parent-pageid-9781 .wd-accordion-item:last-child,
.parent-pageid-9747 .wd-accordion-item:last-child {
    border-bottom: none;
}
.parent-pageid-9781 .wd-accordion-title,
.parent-pageid-9747 .wd-accordion-title {
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #242424;
    padding: 16px 20px;
    transition: background 0.2s ease;
}
.parent-pageid-9781 .wd-accordion-title:hover,
.parent-pageid-9747 .wd-accordion-title:hover {
    background: #f7f7f7;
}
.parent-pageid-9781 .wd-accordion-title .img-wrapper img,
.parent-pageid-9747 .wd-accordion-title .img-wrapper img {
    width: 28px;
    height: 28px;
    margin-right: 12px;
    flex-shrink: 0;
}
.parent-pageid-9781 .wd-accordion-content,
.parent-pageid-9747 .wd-accordion-content {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    padding: 0 20px 16px;
}

/* --- 16.5 Сетка дополнительных опций --- */
/* Опции: изображение + текст + цена + кнопка */
.parent-pageid-9781 .elementor-shortcode .btn-style-link,
.parent-pageid-9747 .elementor-shortcode .btn-style-link {
    color: #259e49;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 13px;
    text-decoration: none;
    transition: color 0.2s ease;
}
.parent-pageid-9781 .elementor-shortcode .btn-style-link:hover,
.parent-pageid-9747 .elementor-shortcode .btn-style-link:hover {
    color: #0F8C00;
}

/* --- 16.6 Карусели отзывов и видеообзоров --- */
.parent-pageid-9781 .wd-carousel-container,
.parent-pageid-9747 .wd-carousel-container {
    margin: 0 -10px;
}
.parent-pageid-9781 .wd-carousel-item,
.parent-pageid-9747 .wd-carousel-item {
    padding: 0 10px;
}
/* Стрелки навигации */
.parent-pageid-9781 .wd-btn-arrow,
.parent-pageid-9747 .wd-btn-arrow {
    background: #fff;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    border-radius: 50%;
    width: 40px;
    height: 40px;
    transition: box-shadow 0.2s ease;
}
.parent-pageid-9781 .wd-btn-arrow:hover,
.parent-pageid-9747 .wd-btn-arrow:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.10);
}

/* Видео iframe — адаптивность */
.parent-pageid-9781 .wd-carousel-item iframe,
.parent-pageid-9747 .wd-carousel-item iframe {
    border-radius: 8px;
    max-width: 100%;
}

/* --- 16.7 Текстовые отзывы (wd_testimonials) --- */
.parent-pageid-9781 .wd-testimon,
.parent-pageid-9747 .wd-testimon {
    background: #fff;
    border-radius: 8px;
    box-shadow: 0 1px 6px rgba(0,0,0,0.08);
    padding: 20px;
}
.parent-pageid-9781 .wd-testimon-text,
.parent-pageid-9747 .wd-testimon-text {
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    line-height: 1.6;
    color: #555;
}
.parent-pageid-9781 .wd-testimon-name,
.parent-pageid-9747 .wd-testimon-name {
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    color: #242424;
}

/* --- 16.8 Кнопки общие (вне карточек) --- */
.parent-pageid-9781 .elementor-button,
.parent-pageid-9747 .elementor-button {
    border-radius: 5px;
    font-family: 'Inter', sans-serif;
    font-weight: 600;
    font-size: 14px;
    transition: all 0.3s ease;
}

/* Кнопка CTA в герое */
.parent-pageid-9781 .btn-style-default.btn-color-primary,
.parent-pageid-9747 .btn-style-default.btn-color-primary {
    background-color: #259e49;
    color: #fff;
    border: none;
}
.parent-pageid-9781 .btn-style-default.btn-color-primary:hover,
.parent-pageid-9747 .btn-style-default.btn-color-primary:hover {
    background-color: #0F8C00;
    color: #fff;
}

/* --- 16.9 Breadcrumbs --- */
.parent-pageid-9781 .wd-breadcrumbs,
.parent-pageid-9747 .wd-breadcrumbs,
.page-id-9781 .wd-breadcrumbs,
.page-id-9747 .wd-breadcrumbs {
    font-family: 'Inter', sans-serif;
    font-size: 13px;
    color: #999;
}
.parent-pageid-9781 .wd-breadcrumbs a,
.parent-pageid-9747 .wd-breadcrumbs a,
.page-id-9781 .wd-breadcrumbs a,
.page-id-9747 .wd-breadcrumbs a {
    color: #666;
    text-decoration: none;
}
.parent-pageid-9781 .wd-breadcrumbs a:hover,
.parent-pageid-9747 .wd-breadcrumbs a:hover,
.page-id-9781 .wd-breadcrumbs a:hover,
.page-id-9747 .wd-breadcrumbs a:hover {
    color: #259e49;
}

/* --- 16.10 Мобильная адаптация серийных страниц --- */
@media (max-width: 767px) {
    /* Карточки моделей: одна колонка */
    .parent-pageid-9781 .elementor-shortcode > .elementor[data-elementor-post-type="cms_block"] > .e-con.e-parent {
        margin-bottom: 16px;
    }
    .parent-pageid-9781 .elementor-widget-woocommerce-product-title h3,
    .parent-pageid-9747 .elementor-widget-woocommerce-product-title h3 {
        font-size: 18px;
    }
    .parent-pageid-9781 .elementor-heading-title[style*='color: rgb(37, 158, 73)'],
    .parent-pageid-9747 .elementor-heading-title[style*='color: rgb(37, 158, 73)'] {
        font-size: 20px;
    }
    /* Секционные заголовки */
    .parent-pageid-9781 .wd-fontsize-xxl,
    .parent-pageid-9747 .wd-fontsize-xxl {
        font-size: 22px !important;
    }
    /* Аккордеон */
    .parent-pageid-9781 .wd-accordion-title,
    .parent-pageid-9747 .wd-accordion-title {
        padding: 12px 16px;
        font-size: 14px;
    }
    /* Видео iframe */
    .parent-pageid-9781 .wd-carousel-item iframe,
    .parent-pageid-9747 .wd-carousel-item iframe {
        border-radius: 6px;
    }
}

@media (min-width: 768px) and (max-width: 1024px) {
    .parent-pageid-9781 .elementor-widget-woocommerce-product-title h3,
    .parent-pageid-9747 .elementor-widget-woocommerce-product-title h3 {
        font-size: 18px;
    }
}


/* === 17. Рестайл товарной страницы: воздух и минимализм === */

/* Галерея: убрать рамки */
.single-product .woocommerce-product-gallery {
    border: none !important;
}
.single-product .woocommerce-product-gallery__image {
    border: none !important;
}

/* Цена: больше воздуха */
.single-product .wd-single-price {
    padding: 12px 0 20px;
    margin-bottom: 4px;
}

/* Межсекционные отступы (dp-m: щедрый воздух) */
/* wd-single-content и wd-single-tabs скрыты — отступы через .bani1-product-accordion (секция 30) */
.single-product .related.products {
    padding-top: 48px;
    margin-top: 48px;
    border: none !important;
    border-top: 1px solid #eee !important;
}

/* Related products: чистые карточки */
.single-product .related.products > h2 {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 22px;
    margin-bottom: 20px;
}

/* Убрать WoodMart рамки на карточках в related */
.single-product .related.products .product {
    border: none !important;
}

/* FAQ товарной — УДАЛЁН (2026-03-27) */

/* Мобильная адаптация воздуха */
@media (max-width: 767px) {
    /* wd-single-content и wd-single-tabs скрыты — мобильные отступы через .bani1-product-accordion */
    .single-product .related.products {
        padding-top: 32px;
        margin-top: 32px;
    }
    /* .bani1-faq-product removed */
}


/* === 18. Sticky CTA мобильный === */
.bani1-sticky-cta {
    display: none;
}
@media (max-width: 767px) {
    /* Компактная плавающая кнопка-пилюля слева (FAB мессенджеров — справа, пара) */
    .bani1-sticky-cta {
        position: fixed;
        left: 12px;
        bottom: 14px;
        right: auto;
        z-index: 99998;
        /* без фона-полосы — сама кнопка ниже */
    }
    /* префикс .bani1-sticky-cta — специфичность 0,2,0, перебивает глобальный
       :is(.btn, button, …){background:#F3F3F3} темы WoodMart (0,1,0, грузится позже) */
    .bani1-sticky-cta .bani1-sticky-btn {
        background: #259e49;
        color: #fff;
        border: none;
        border-radius: 999px;          /* пилюля */
        height: 48px;
        padding: 0 22px;
        display: inline-flex;
        align-items: center;
        font-family: "Exo 2", sans-serif;
        font-weight: 700;
        font-size: 15px;
        white-space: nowrap;
        box-shadow: 0 6px 18px rgba(37,158,73,.45);
        cursor: pointer;
        transition: background 0.2s;
    }
    .bani1-sticky-cta .bani1-sticky-btn:active { background: #1c8a3e; }
    /* Плавающая пилюля не резервирует полосу снизу (раньше была полоса 60px) */
    body.single-product.bani1-sticky-visible { padding-bottom: 0; }
}


/* === 19. Floating-кластер мессенджеров (был bani1-tg-float, расширен) ===
   3 круглые кнопки вертикально: Telegram, Max, ВКонтакте. Каждая со своим
   фирменным цветом. Появляется в правом нижнем углу. Каждая отстреливает
   data-ym-goal в Яндекс.Метрику. */
.bani1-float-cluster {
    position: fixed;
    bottom: 24px;
    right: 24px;
    z-index: 99997;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bani1-float-btn {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #fff;
    text-decoration: none;
    box-shadow: 0 3px 10px rgba(0,0,0,0.10);
    transition: transform 0.2s, box-shadow 0.2s;
    position: relative;
}
.bani1-float-btn:hover {
    transform: scale(1.08);
    box-shadow: 0 5px 16px rgba(0,0,0,0.14);
    color: #fff;
}
.bani1-float-btn--tg  { background: #229ED9; }            /* Telegram blue */
.bani1-float-btn--max { background: #fff; padding: 0; }   /* Max — фон убираем, фавикон уже с фоном */
.bani1-float-btn--max img { border-radius: 50%; width: 48px; height: 48px; display: block; }
.bani1-float-btn--vk  { background: #0077FF; }            /* VK blue */

/* Текстовая подпись справа от кнопки (показывается при hover) */
.bani1-float-label {
    position: absolute;
    right: calc(100% + 10px);
    top: 50%;
    transform: translateY(-50%);
    padding: 6px 12px;
    background: rgba(36, 36, 36, 0.92);
    color: #fff;
    border-radius: 6px;
    font-family: 'Exo 2', sans-serif;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    opacity: 0;
    pointer-events: none;
    transition: opacity 0.2s, transform 0.2s;
}
.bani1-float-btn:hover .bani1-float-label {
    opacity: 1;
    transform: translateY(-50%) translateX(-2px);
}
@media (max-width: 767px) {
    .bani1-float-cluster { bottom: 16px; right: 12px; gap: 8px; }
    .bani1-float-btn { width: 42px; height: 42px; }
    .bani1-float-btn--max img { width: 42px; height: 42px; }
    .bani1-float-label { display: none; }                 /* на мобиле tooltip не показываем */
}

/* === FAB: на мобильном кластер свёрнут в одну кнопку-тоггл, тап раскрывает 3 мессенджера ===
   Десктоп не трогаем — тоггл скрыт, 3 кнопки видны всегда. */
.bani1-float-cluster { pointer-events: none; }            /* пустая зона свёрнутого кластера пропускает клики сквозь */
.bani1-float-cluster > * { pointer-events: auto; }
/* префикс .bani1-float-cluster — спецификичность 0,2,0, перебивает глобальный сброс
   :is(button...){display:inline-flex} (0,1,0), иначе тоггл вылезает на десктопе */
.bani1-float-cluster .bani1-float-toggle { display: none; }   /* десктоп: тоггла нет */

@media (max-width: 767px) {
    .bani1-float-cluster .bani1-float-toggle {
        display: flex; align-items: center; justify-content: center;
        width: 48px; height: 48px; border-radius: 50%; border: none;
        background: #259e49; color: #fff; cursor: pointer;
        box-shadow: 0 6px 18px rgba(37,158,73,.45);
        position: relative; z-index: 2; -webkit-tap-highlight-color: transparent;
    }
    .bani1-float-toggle svg {
        position: absolute; top: 50%; left: 50%; width: 24px; height: 24px;
        margin: -12px 0 0 -12px; transition: opacity .2s, transform .25s;
    }
    .bani1-float-toggle .ic-close { opacity: 0; transform: rotate(-90deg); }
    .bani1-float-cluster.is-open .bani1-float-toggle { background: #1c8a3e; }
    .bani1-float-cluster.is-open .bani1-float-toggle .ic-chat  { opacity: 0; transform: rotate(90deg); }
    .bani1-float-cluster.is-open .bani1-float-toggle .ic-close { opacity: 1; transform: rotate(0); }

    /* мессенджеры свёрнуты по умолчанию, раскрываются при .is-open (выезжают вверх) */
    .bani1-float-cluster .bani1-float-btn {
        opacity: 0; transform: translateY(14px) scale(.5);
        pointer-events: none; transition: opacity .22s, transform .26s;
    }
    .bani1-float-cluster.is-open .bani1-float-btn {
        opacity: 1; transform: none; pointer-events: auto;
    }
    .bani1-float-cluster.is-open .bani1-float-btn:nth-child(3) { transition-delay: .02s; }
    .bani1-float-cluster.is-open .bani1-float-btn:nth-child(2) { transition-delay: .06s; }
    .bani1-float-cluster.is-open .bani1-float-btn:nth-child(1) { transition-delay: .10s; }
}


/* (Секция 20 удалена — спойлер характеристик заменён аккордеоном, секция 30) */


/* === 21. Хедер: скрытие демо-иконок WoodMart === */
img[src*="wd-furniture"] {
    display: none !important;
}
/* Замена на SVG-иконку телефона */
.xts-header-el .info-box-icon:has(img[src*="wd-furniture"]) {
    position: relative;
    min-width: 24px;
    min-height: 24px;
}
.xts-header-el .info-box-icon:has(img[src*="wd-furniture"])::before {
    content: "";
    display: block;
    width: 24px;
    height: 24px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23259e49'%3E%3Cpath d='M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}


/* === 22. FAQ аккордеон v1 — УДАЛЁН (2026-05-08) ===
   Был блок «Частые вопросы» с классами .bani1-faq-section, -title, -container,
   -item, -question, -answer, -arrow. Объединён с v2-блоком FAQ из page-template-main-v2.php.
   Markup удалён из functions.php, CSS удалён здесь. */


/* === 23. Скрыть демо-футер WoodMart === */
.wd-footer {
    display: none !important;
}

/* === 23.5. Pre-footer CTA (зелёная полоса) === */
.bani1-prefooter {
    background: #259e49;
    padding: 35px 20px;
    text-align: center;
    margin-top: 40px;
}
.bani1-prefooter-inner {
    max-width: 1222px;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 20px;
    flex-wrap: wrap;
}
.bani1-prefooter h3 {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: #fff;
    margin: 0;
}
.bani1-prefooter .prefooter-btn {
    display: inline-block;
    padding: 12px 28px;
    border-radius: 6px;
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: background 0.3s, box-shadow 0.3s;
    cursor: pointer;
    border: none;
}
.bani1-prefooter .btn-white {
    background: #fff;
    color: #259e49;
    font-size: 16px;
    padding: 14px 32px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    display: inline-flex;
    align-items: center;
}
.bani1-prefooter .btn-white:hover {
    background: #f0f0f0;
    box-shadow: 0 4px 16px rgba(0,0,0,0.05);
    transform: translateY(-1px);
}
@media (max-width: 767px) {
    .bani1-prefooter h3 { font-size: 18px; }
    .bani1-prefooter-inner { flex-direction: column; gap: 12px; }
}

/* === 24. Кастомный футер Бани №1 === */
.bani1-footer {
    background: #1a1a1a;
    color: #ccc;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    line-height: 1.6;
    padding: 48px 0 0;
}
.bani1-footer a {
    color: #ccc;
    text-decoration: none;
    transition: color 0.2s;
}
.bani1-footer a:hover {
    color: #fff;
}
.bani1-footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    display: grid;
    grid-template-columns: 1.5fr 1fr 1fr 1.2fr;
    gap: 40px;
}
.bani1-footer-logo {
    font-family: "Exo 2", sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: #fff;
    margin-bottom: 12px;
}
.bani1-footer-about p {
    color: #999;
    font-size: 13px;
    margin: 0 0 16px;
}
.bani1-footer-socials {
    display: flex;
    gap: 14px;
}
.bani1-footer-socials a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(255,255,255,0.08);
    color: #ccc;
    transition: background 0.2s, color 0.2s, transform 0.2s;
}
.bani1-footer-socials a:hover {
    background: #259e49;
    color: #fff;
    transform: translateY(-2px);
}
.bani1-footer-socials a svg { width: 22px; height: 22px; }
.bani1-footer-col h4 {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 15px;
    color: #fff;
    margin: 0 0 16px;
}
.bani1-footer-col ul {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bani1-footer-col ul li {
    margin-bottom: 8px;
}
.bani1-footer-col ul li a {
    font-size: 13px;
    color: #999;
}
.bani1-footer-col ul li a:hover {
    color: #fff;
}
.bani1-footer-phone {
    display: block;
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: #fff !important;
    margin-bottom: 8px;
}
.bani1-footer-contacts p {
    color: #999;
    font-size: 13px;
    margin: 0 0 8px;
}
/* Ссылки на Яндекс.Карты в адресах выставок — мягкое подчёркивание, hover ярче */
.bani1-footer-venues a {
    color: #ccc;
    text-decoration: none;
    border-bottom: 1px dashed rgba(255,255,255,0.25);
    padding-bottom: 1px;
    transition: color 0.2s, border-color 0.2s;
}
.bani1-footer-venues a:hover {
    color: #fff;
    border-bottom-color: #fff;
}
/* (Bani1-footer-tg-btn — старая одиночная кнопка Telegram в футере. Заменена
    на кластер .bani1-footer-messengers с 3 каналами. CSS оставлен на случай
    legacy-страниц, но markup-а больше нет — можно удалить позже.) */
.bani1-footer-tg-btn {
    display: inline-block;
    margin-top: 8px;
    padding: 8px 20px;
    border: 1px solid #259e49;
    border-radius: 5px;
    color: #259e49 !important;
    font-size: 13px;
    font-weight: 500;
    transition: all 0.2s;
}
.bani1-footer-tg-btn:hover {
    background: #259e49;
    color: #fff !important;
}
/* Кластер мессенджеров в футере — 3 кнопки в ряд с иконками */
.bani1-footer-messengers {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 10px 0 0;
}
.bani1-footer-msg {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 7px 12px;
    border: 1px solid rgba(255,255,255,0.18);
    border-radius: 6px;
    color: #ddd;
    font-family: 'Exo 2', sans-serif;
    font-size: 13px;
    font-weight: 600;
    text-decoration: none;
    transition: border-color 0.2s, color 0.2s, background 0.2s;
}
.bani1-footer-msg:hover {
    background: rgba(255,255,255,0.05);
    border-color: rgba(255,255,255,0.35);
    color: #fff;
}
.bani1-footer-msg svg { flex-shrink: 0; }
.bani1-footer-msg img { flex-shrink: 0; border-radius: 4px; }
.bani1-footer-msg--tg  { color: #87cee8; border-color: rgba(135,206,232,0.35); }
.bani1-footer-msg--tg:hover  { color: #b3def0; border-color: #87cee8; }
.bani1-footer-msg--vk  { color: #6aa9ff; border-color: rgba(106,169,255,0.35); }
.bani1-footer-msg--vk:hover  { color: #95c2ff; border-color: #6aa9ff; }
/* Ссылка «Наша группа ВКонтакте →» отдельной строкой под кластером */
.bani1-footer-vkgroup {
    display: inline-block;
    margin-top: 10px;
    color: #6aa9ff !important;
    font-size: 13px;
    font-weight: 500;
    text-decoration: none;
    transition: color 0.2s;
}
.bani1-footer-vkgroup:hover {
    color: #95c2ff !important;
}

/* Разделитель в боковом меню (между разделами и мессенджерами) */
.bani1-side-menu-divider {
    height: 1px;
    background: #f0f0f0;
    margin: 8px 0;
    list-style: none;
}
.bani1-footer-bottom {
    max-width: 1200px;
    margin: 32px auto 0;
    padding: 16px 20px;
    border-top: 1px solid rgba(255,255,255,0.08);
    text-align: center;
}
.bani1-footer-bottom p {
    color: #666;
    font-size: 12px;
    margin: 0;
}
@media (max-width: 767px) {
    .bani1-footer-inner {
        grid-template-columns: 1fr;
        gap: 28px;
    }
    .bani1-footer {
        padding: 36px 0 0;
    }
}


/* === 25. Похожие товары === */
.bani1-related {
    padding: var(--bani1-section-y) 0;
    border-top: 1px solid #eee;
}
.bani1-related-container {
    max-width: 1222px;
    margin: 0 auto;
    padding: 0 20px;
}
.bani1-related-title {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 22px;
    color: #242424;
    margin: 0 0 20px;
}
.bani1-related-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 20px;
}
.bani1-related-card {
    display: block;
    text-decoration: none;
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    border: 1px solid #eee;
    transition: box-shadow 0.3s, transform 0.3s;
}
.bani1-related-card:hover {
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    transform: translateY(-2px);
}
.bani1-related-img {
    aspect-ratio: 16/9;
    overflow: hidden;
    border-radius: 8px;
}
.bani1-related-img img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    background: #f8f8f8;
}
/* Префикс .bani1-related-card повышает специфичность над Elementor-kit h1..h6 (0,2,0) */
.bani1-related-card .bani1-related-name {
    font-family: "Inter", sans-serif;
    font-weight: 500;
    font-size: 13px;
    color: #555;
    padding: 12px 12px 4px;
    margin: 0;
    line-height: 1.3;
}
.bani1-related-card .bani1-related-price {
    font-family: "Exo 2", sans-serif;
    font-weight: 700;
    font-size: 22px;
    color: #259e49;
    padding: 4px 12px 12px;
    line-height: 1.1;
}
.bani1-related-card .bani1-related-price del {
    font-size: 13px;
    color: #999;
    font-weight: 400;
}
@media (max-width: 767px) {
    .bani1-related-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
    .bani1-related-card .bani1-related-name {
        font-size: 12px;
        padding: 10px 10px 4px;
    }
    .bani1-related-card .bani1-related-price {
        font-size: 18px;
        padding: 4px 10px 10px;
    }
    .bani1-related {
        padding-top: var(--bani1-section-y);
        margin-top: 0;
    }
}


/* === 26. Блок «О компании» на главной === */
.bani1-about {
    background: #f9f9f9;
    padding: var(--bani1-section-y) 0;
}
.bani1-about-container {
    max-width: 1000px;
    margin: 0 auto;
    padding: 0 20px;
    text-align: center;
}
.bani1-about-title {
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 28px;
    color: #242424;
    margin: 0 0 36px;
}
.bani1-about-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px;
    margin-bottom: 24px;
}
.bani1-about-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
}
.bani1-about-item svg {
    margin-bottom: 4px;
}
.bani1-about-number {
    font-family: "Exo 2", sans-serif;
    font-weight: 700;
    font-size: 32px;
    color: #242424;
    line-height: 1;
}
.bani1-about-label {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #666;
    line-height: 1.4;
}
.bani1-about-geo {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #999;
    margin: 0;
    line-height: 1.5;
}
@media (max-width: 767px) {
    .bani1-about {
        padding: var(--bani1-section-y) 0;
    }
    .bani1-about-title {
        font-size: 22px;
        margin-bottom: 24px;
    }
    .bani1-about-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 24px;
    }
    .bani1-about-number {
        font-size: 26px;
    }
    .bani1-about-label {
        font-size: 13px;
    }
}

/* === 27. Spec-card: чипы + планировка + «под ключ» ===
   Заменяет длинный excerpt на структурированные данные из WC-атрибутов */
.bani1-spec-card {
    margin: 16px 0 12px;
}

/* Чипы в ряд: [35 м²] [3 комн.] [21 день] */
.bani1-spec-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 12px;
}
.bani1-spec-chip {
    /* Modern filled chip (Tailwind UI / Material 3 style).
       Унифицирован с rating-card #f5f7f6 — brand-tinted neutral. */
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 8px 14px;
    background: #f5f7f6;
    border-radius: 10px;
    font-family: "Inter", sans-serif;
    font-size: 14px;
    font-weight: 600;
    color: #1a1a1a;
}
.bani1-spec-chip svg {
    flex-shrink: 0;
    color: #259e49;
}

/* Планировка: "Парная · Моечная · Комната отдыха · Терраса" */
.bani1-spec-layout {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #666;
    margin-bottom: 6px;
    line-height: 1.5;
}

/* «Под ключ: фундамент, отделка, печь, коммуникации» */
.bani1-spec-turnkey {
    font-family: "Inter", sans-serif;
    font-size: 13px;
    color: #999;
    line-height: 1.4;
}

@media (max-width: 767px) {
    .bani1-spec-chips {
        gap: 8px;
    }
    .bani1-spec-chip {
        padding: 6px 10px;
        font-size: 13px;
    }
    .bani1-spec-layout {
        font-size: 13px;
    }
}

/* ═══════════════════════════════════════════════════════════ */
/* 28. Дополнительные услуги (товарная страница)              */
/* ═══════════════════════════════════════════════════════════ */

/* Стиль: соответствует карточкам .bani1-object-card (реальные объекты) */
.bani1-services { padding: var(--bani1-section-y) 0; background: #f5f5f5; }
.bani1-services-container { max-width: 1222px; margin: 0 auto; padding: 0 20px; }
.bani1-services-title {
    font-family: "Exo 2", sans-serif; font-size: 28px; font-weight: 700;
    color: #1a1a1a; margin: 0 0 8px;
}
.bani1-services-subtitle {
    font-size: 15px; color: #777; margin: 0 0 32px; line-height: 1.5;
}
.bani1-services-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px;
}
.bani1-services-card {
    background: #fff; border-radius: 12px; overflow: hidden;
    transition: box-shadow 0.2s;
    /* flex-column + body растягивается = цена прижимается к низу через margin-top:auto */
    display: flex; flex-direction: column;
}
.bani1-services-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,.1); }
/* Квадратное фото (1:1) — компактнее чем 4:3, блок занимает меньше места */
.bani1-services-photo {
    position: relative; aspect-ratio: 1 / 1; overflow: hidden; background: #f0f0f0;
}
.bani1-services-photo img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}
.bani1-services-placeholder {
    width: 100%; height: 100%; background: #f0f0f0;
    display: flex; align-items: center; justify-content: center;
    color: #ccc;
}
.bani1-services-body {
    padding: 14px var(--bani1-pad-x) 16px;
    /* flex-column + name занимает auto, price прижимается к низу */
    flex: 1; display: flex; flex-direction: column;
}
.bani1-services-name {
    font-family: "Exo 2", sans-serif; font-size: 15px; font-weight: 600;
    color: #222; margin: 0 0 4px;
}
.bani1-services-price {
    font-family: "Inter", sans-serif; font-size: 13px;
    color: #999; margin: 0;
    margin-top: auto; /* фиксирует цену внизу карточки независимо от длины заголовка */
    padding-top: 8px;
}
/* Tablet: 3 колонки (4 узких на планшете нечитаемы) */
@media (max-width: 1023px) {
    .bani1-services-grid { grid-template-columns: repeat(3, 1fr); }
}
@media (max-width: 767px) {
    .bani1-services { padding: var(--bani1-section-y) 0; }
    .bani1-services-grid { grid-template-columns: repeat(2, 1fr); gap: 12px; }
    .bani1-services-title { font-size: 22px; }
    .bani1-services-name { font-size: 14px; }
}
@media (max-width: 480px) {
    .bani1-services-grid { grid-template-columns: 1fr; }
}

/* ═══════════════════════════════════════════════════════════ */
/* 29. Шаблон серийной страницы (.bani1-series)              */
/* ═══════════════════════════════════════════════════════════ */

.bani1-series { font-family: "Inter", sans-serif; color: #1a1a1a; }
.bani1-series-container { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.bani1-series-section-title {
    font-family: "Exo 2", sans-serif; font-size: 32px; font-weight: 700;
    color: #1a1a1a; margin: 0 0 32px; text-align: center;
}

/* ── Hero ── */
.bani1-series-hero { background: #f8f8f8; padding: 40px 0 48px; }
.bani1-series-hero-inner {
    max-width: 1200px; margin: 0 auto; padding: 0 20px;
    display: flex; gap: 48px; align-items: center;
}
.bani1-series-hero-text { flex: 1; min-width: 0; }
.bani1-series-hero-image { flex: 1; min-width: 0; }
.bani1-series-hero-image img { width: 100%; height: auto; border-radius: 12px; display: block; }

.bani1-series-breadcrumbs {
    font-size: 13px; color: #6b7280; margin-bottom: 16px;
}
.bani1-series-breadcrumbs a { color: #259e49; text-decoration: none; }
.bani1-series-breadcrumbs a:hover { text-decoration: underline; }

.bani1-series-title {
    font-family: "Exo 2", sans-serif; font-size: 40px; font-weight: 700;
    line-height: 1.15; margin: 0 0 12px; color: #1a1a1a;
}
.bani1-series-tagline {
    font-family: "Exo 2", sans-serif; font-size: 20px; font-weight: 500;
    color: #555; margin: 0 0 12px;
}
.bani1-series-desc { font-size: 15px; line-height: 1.6; color: #666; margin: 0 0 20px; }
.bani1-series-price {
    font-family: "Exo 2", sans-serif; font-size: 28px; font-weight: 700;
    color: #259e49; margin: 0 0 24px;
}

.bani1-series-hero-btns { display: flex; gap: 12px; flex-wrap: wrap; }

/* ── Кнопки серии ── */
.bani1-series-btn {
    display: inline-flex; align-items: center; gap: 8px;
    font-family: "Exo 2", sans-serif; font-size: 15px; font-weight: 600;
    padding: 14px 32px; border-radius: 8px; text-decoration: none;
    cursor: pointer; transition: all 0.2s; border: 2px solid transparent;
    line-height: 1.2;
}
.bani1-series-btn-green { background: #259e49; color: #fff; border-color: #259e49; }
.bani1-series-btn-green:hover { background: #0F8C00; border-color: #0F8C00; box-shadow: 0 4px 15px rgba(37,158,73,0.3); color: #fff; }
.bani1-series-btn-outline { background: transparent; color: #259e49; border-color: #259e49; }
.bani1-series-btn-outline:hover { background: #259e49; color: #fff; }
.bani1-series-btn-white { background: #fff; color: #259e49; border-color: #fff; }
.bani1-series-btn-white:hover { background: #f0f0f0; color: #0F8C00; }
.bani1-series-btn-outline-white { background: transparent; color: #fff; border-color: #fff; }
.bani1-series-btn-outline-white:hover { background: rgba(255,255,255,0.15); }
.bani1-series-btn-sm { padding: 10px 24px; font-size: 14px; }
.bani1-series-btn svg { flex-shrink: 0; }

/* ── Карточки моделей ── */
.bani1-series-models { padding: var(--bani1-section-y) 0; }
.bani1-series-products-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.bani1-series-product-card {
    background: #fff; border-radius: 12px; overflow: hidden;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 2px 8px rgba(0,0,0,0.04);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.bani1-series-product-card:hover {
    /* Modern hover-lift: карточка чуть приподнимается + тень глубже.
       Apple Cards / Linear / Vercel — стандартный паттерн микро-интерактива. */
    box-shadow: 0 4px 12px rgba(0,0,0,0.06), 0 12px 28px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}
/* Контейнер изображения — relative для мини-рендера */
.bani1-series-product-img { display: block; position: relative; text-decoration: none; }
.bani1-series-product-img .bani1-card-main { width: 100%; height: 220px; object-fit: cover; display: block; }
/* Планировка — contain на белом фоне (чтобы чертёж не обрезался) */
.bani1-series-product-img.has-plan { background: #fff; }
.bani1-series-product-img.has-plan .bani1-card-main { object-fit: contain; padding: 12px; }
/* Мини-рендер — правый нижний угол */
.bani1-card-render-mini {
    position: absolute; bottom: 8px; right: 8px;
    width: 144px; height: 108px; border-radius: 6px;
    border: 2px solid #fff; box-shadow: 0 2px 8px rgba(0,0,0,0.08);
    object-fit: cover; transition: transform 0.2s;
}
.bani1-series-product-img:hover .bani1-card-render-mini { transform: scale(1.1); }

/* === Карточка с живым фото: план — маленькое мини, раскрывается на всё фото === */
/* Наведение — чистый CSS; тап на сенсорных — класс .bani1-show-plan (JS в шаблоне серии) */
.bani1-card-plan-mini {
    position: absolute; bottom: 8px; right: 8px;
    width: 74px; height: 58px; border-radius: 6px;
    border: 2px solid #fff; box-shadow: 0 2px 10px rgba(0,0,0,0.28);
    object-fit: contain; background: #fff; cursor: pointer;
    z-index: 2; transition: transform 0.15s ease;
}
.bani1-card-plan-mini:hover { transform: scale(1.08); }
.bani1-card-plan-full {
    position: absolute; top: 0; right: 0; bottom: 0; left: 0;
    background: #fff; display: flex; align-items: center; justify-content: center;
    padding: 10px; opacity: 0; visibility: hidden; cursor: pointer;
    transition: opacity 0.25s ease; z-index: 3;
}
.bani1-card-plan-full img { max-width: 100%; max-height: 100%; object-fit: contain; }
.bani1-card-plan-mini:hover ~ .bani1-card-plan-full,
.bani1-card-plan-full:hover,
.bani1-series-product-img.bani1-show-plan .bani1-card-plan-full {
    opacity: 1; visibility: visible;
}
/* Информация */
.bani1-series-product-info { padding: 16px 20px 20px; }
/* Префикс .bani1-series-product-card повышает специфичность над Elementor-kit h1..h6 (0,2,0)
   Все правила контекстные — применяются только внутри карточки серии */
.bani1-series-product-card .bani1-card-series { font-family: "Inter", sans-serif; font-size: 13px; font-weight: 400; color: #6b7280; margin-bottom: 4px; line-height: 1.2; }
.bani1-series-product-card .bani1-card-series a { color: inherit; text-decoration: none; }
.bani1-series-product-card .bani1-card-series a:hover { color: #259e49; }
/* Размер + площадь — главный текстовый акцент карточки (но меньше цены) */
.bani1-series-product-card .bani1-series-product-name { font-family: "Exo 2", sans-serif; font-size: 18px; font-weight: 700; margin: 0 0 12px; line-height: 1.2; color: #1a1a1a; }
.bani1-series-product-card .bani1-series-product-name a { color: inherit; text-decoration: none; }
.bani1-series-product-card .bani1-series-product-name a:hover { color: #259e49; }
/* Приписка «+ терраса» — мелко серым справа от площади */
.bani1-series-product-card .bani1-card-area-extra { font-family: "Inter", sans-serif; font-size: 12px; font-weight: 400; color: #6b7280; margin-left: 4px; white-space: nowrap; }
/* Состав помещений */
.bani1-card-layout { font-family: "Inter", sans-serif; font-size: 13px; color: #999; margin-bottom: 12px; line-height: 1.4; }
/* Цена + кнопка в ряд */
.bani1-card-bottom { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.bani1-series-product-card .bani1-card-price-wrap { display: flex; flex-direction: column; line-height: 1.2; }
.bani1-series-product-card .bani1-series-product-price { font-family: "Exo 2", sans-serif; font-size: 22px; font-weight: 700; color: #259e49; margin-bottom: 0; }
.bani1-series-product-card .bani1-card-price-label { font-family: "Inter", sans-serif; font-size: 11px; color: #6b7280; margin-top: 2px; font-weight: 400; }

/* Миниатюры галереи товара (WoodMart .wd-gallery-thumb).
   Корень проблемы: WP не генерирует размер 600×600 для вертикальных изображений
   (планов), и WoodMart-карусель раздувает контейнер до натуральных пропорций
   (148×256) — миниатюра плана выпирает над соседями (148×138).
   Решение: фиксируем квадрат через aspect-ratio + object-fit: contain — любое
   изображение с любым aspect ratio вписывается одинаково.
   Селектор .wd-gallery-thumb уникален для thumb-карусели, основное фото
   (.wd-gallery-images) не затрагивается. */
.wd-gallery-thumb .wd-carousel-item {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}
.wd-gallery-thumb .wd-carousel-item img {
    object-fit: contain !important;
    background: #f5f5f5;
    width: 100% !important;
    height: 100% !important;
}

/* ── Преимущества ── */
.bani1-series-advantages { padding: var(--bani1-section-y) 0; background: #f8f8f8; }
.bani1-series-advantages-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 24px; }
/* Единый блок «Почему выбирают» — 6 карточек 3×2 (десктоп) */
.bani1-trust-grid { grid-template-columns: repeat(3, 1fr); }
.bani1-series-advantage-card {
    background: #fff; border-radius: 12px; padding: 28px 24px;
    text-align: center; box-shadow: 0 2px 8px rgba(0,0,0,0.04);
}
.bani1-series-advantage-icon {
    width: 48px; height: 48px; border-radius: 50%; background: #e8f5e9;
    display: flex; align-items: center; justify-content: center;
    color: #259e49; margin: 0 auto 12px;
}
.bani1-series-advantage-card h3 { font-family: "Exo 2", sans-serif; font-size: 17px; font-weight: 600; margin: 0 0 8px; }
.bani1-series-advantage-card p { font-size: 14px; line-height: 1.5; color: #666; margin: 0; }

/* ── Что входит в стоимость (вариант C: гибрид) ── */
.bani1-series-included { padding: var(--bani1-section-y) 0; background: #f8f8f8; }
.bani1-series-included-header-block {
    margin-bottom: 40px;
}
.bani1-series-included-label {
    display: block; font-size: 14px; color: #6b7280; margin-bottom: 12px;
    font-family: "Inter", sans-serif;
}
.bani1-series-included-heading {
    font-family: "Exo 2", sans-serif; font-size: 32px; font-weight: 700;
    color: #1a1a1a; line-height: 1.2; margin: 0;
}
.bani1-series-included-heading span {
    font-weight: 400; color: #555;
}
.bani1-series-included-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 0;
}
/* «Что входит» — list-карточки без border-разделителей (2026-05-27).
   Иконки 40×40 + жирный заголовок уже визуально разделяют пункты.
   hover-эффект на row даёт чёткую обратную связь. */
.bani1-series-included-item {
    overflow: hidden;
}
.bani1-series-included-row {
    display: flex; align-items: center; gap: 16px;
    padding: 20px 8px; cursor: pointer;
    transition: color 0.2s;
    outline: none;
}
.bani1-series-included-row:hover { color: #259e49; }
.bani1-series-included-row:focus-visible { outline: 2px solid #259e49; outline-offset: -2px; border-radius: 4px; }
.bani1-series-included-icon {
    flex-shrink: 0; width: 40px; height: 40px; color: #6b7280;
    display: flex; align-items: center; justify-content: center;
    transition: color 0.2s;
}
.bani1-series-included-icon img {
    width: 40px; height: 40px; object-fit: contain;
    filter: grayscale(100%) opacity(0.45);
    transition: filter 0.2s;
}
.bani1-series-included-row:hover .bani1-series-included-icon img,
.bani1-series-included-item.is-open .bani1-series-included-icon img {
    filter: grayscale(0%) opacity(1) sepia(1) saturate(6) hue-rotate(90deg) brightness(0.75);
}
.bani1-series-included-row:hover .bani1-series-included-icon,
.bani1-series-included-item.is-open .bani1-series-included-icon { color: #259e49; }
.bani1-series-included-name {
    flex: 1; display: flex; flex-direction: column; gap: 2px;
}
.bani1-series-included-name strong {
    font-family: "Exo 2", sans-serif; font-size: 15px;
    font-weight: 600; color: #1a1a1a;
}
.bani1-series-included-name em {
    font-style: normal; font-size: 12px; color: #6b7280;
    font-family: "Inter", sans-serif; line-height: 1.3;
}
.bani1-series-included-row:hover .bani1-series-included-name em,
.bani1-series-included-item.is-open .bani1-series-included-name em { color: #259e49; }
.bani1-series-included-toggle {
    flex-shrink: 0; width: 24px; height: 24px; position: relative;
}
.bani1-series-included-toggle::before,
.bani1-series-included-toggle::after {
    content: ''; position: absolute; background: #999;
    top: 50%; left: 50%; transform: translate(-50%, -50%);
    transition: transform 0.3s, opacity 0.3s;
}
.bani1-series-included-toggle::before { width: 16px; height: 2px; }
.bani1-series-included-toggle::after { width: 2px; height: 16px; }
.bani1-series-included-item.is-open .bani1-series-included-toggle::after {
    transform: translate(-50%, -50%) rotate(90deg); opacity: 0;
}
.bani1-series-included-body {
    max-height: 0; overflow: hidden;
    transition: max-height 0.35s ease, padding 0.35s ease;
    padding: 0 8px 0 72px;
}
.bani1-series-included-item.is-open .bani1-series-included-body {
    max-height: 200px; padding-bottom: 20px;
}
.bani1-series-included-body p {
    font-size: 14px; line-height: 1.6; color: #555; margin: 0;
    font-family: "Inter", sans-serif;
}

/* Responsive: tablet ≤1024 — линии-divider не нужны (см. base правило) */
@media (max-width: 1024px) {
    .bani1-series-included-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-series-included-heading { font-size: 28px; }
}
/* Responsive: mobile ≤767 */
@media (max-width: 767px) {
    .bani1-series-included-grid { grid-template-columns: 1fr; }
    .bani1-series-included-heading { font-size: 24px; }
    .bani1-series-included-row { padding: 16px 4px; gap: 12px; }
    .bani1-series-included-icon { width: 32px; height: 32px; }
    .bani1-series-included-body { padding-left: 48px; }
    .bani1-series-included { padding: var(--bani1-section-y) 0; }
}

/* ── Отзывы клиентов ── */
.bani1-series-reviews { padding: var(--bani1-section-y) 0; background: #f8f8f8; }
.bani1-series-reviews-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}
.bani1-series-review-card {
    background: #fff; border-radius: 12px; padding: 28px 24px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.bani1-series-review-header {
    display: flex; align-items: center; gap: 14px; margin-bottom: 14px;
}
.bani1-series-review-avatar {
    width: 48px; height: 48px; border-radius: 50%; overflow: hidden;
    background: #259e49; display: flex; align-items: center; justify-content: center;
    flex-shrink: 0;
}
.bani1-series-review-avatar img {
    width: 100%; height: 100%; object-fit: cover;
}
.bani1-series-review-initials {
    font-family: "Exo 2", sans-serif; font-size: 20px; font-weight: 700;
    color: #fff; line-height: 1;
}
.bani1-series-review-name {
    font-family: "Exo 2", sans-serif; font-size: 16px; font-weight: 600;
    color: #1a1a1a; line-height: 1.3;
}
.bani1-series-review-city {
    font-size: 13px; color: #6b7280; margin-top: 2px;
}
.bani1-series-review-stars {
    color: #f5a623; margin-bottom: 12px;
    display: flex; gap: 2px;
}
.bani1-series-review-text {
    font-size: 14px; line-height: 1.6; color: #555; margin: 0;
}

/* ── Видео ── */
.bani1-series-video { padding: var(--bani1-section-y) 0; }
.bani1-series-video-wrapper {
    max-width: 800px; margin: 0 auto; aspect-ratio: 16/9;
    border-radius: 12px; overflow: hidden;
}
.bani1-series-video-wrapper iframe { width: 100%; height: 100%; }

/* ── Этапы работы ── */
.bani1-series-steps { padding: var(--bani1-section-y) 0; }
.bani1-series-steps-grid { display: grid; grid-template-columns: repeat(5, 1fr); gap: 20px; }
.bani1-series-step { text-align: center; }
.bani1-series-step-num {
    width: 48px; height: 48px; border-radius: 50%; background: #259e49; color: #fff;
    font-family: "Exo 2", sans-serif; font-size: 20px; font-weight: 700;
    display: flex; align-items: center; justify-content: center; margin: 0 auto 12px;
}
.bani1-series-step h3 { font-family: "Exo 2", sans-serif; font-size: 16px; font-weight: 600; margin: 0 0 8px; }
.bani1-series-step p { font-size: 13px; line-height: 1.5; color: #666; margin: 0; }

/* ── Галерея v2 (3+3 + «ещё 9») ── */
.bani1-series-gallery { padding: var(--bani1-section-y) 0; background: #fff; }
.bani1-series-gallery-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.bani1-series-gallery-item img { width: 100%; height: 200px; object-fit: cover; border-radius: 8px; display: block; }

/* ── Блок галереи (template-parts/gallery-block.php) ── */
.bani1-gallery-block { padding: var(--bani1-section-y) 0; background: #fff; }
.bani1-gallery-block-inner { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.bani1-gallery-block-title {
    font-family: 'Exo 2', sans-serif; font-size: 36px; font-weight: 700;
    color: #1a1a1a; line-height: 1.2; margin: 0 0 32px; text-align: left;
}
.bani1-gallery-block-title span { color: #259e49; }

.bani1-gallery-grid {
    display: grid; grid-template-columns: repeat(3, 1fr);
    gap: 12px;
}
.bani1-gallery-item {
    position: relative; border-radius: 12px; overflow: hidden;
}
.bani1-gallery-item img {
    width: 100%; aspect-ratio: 4/3; object-fit: cover; display: block;
}
/* Плашка — компактная, правый нижний угол */
.bani1-gallery-overlay {
    position: absolute; right: 12px; bottom: 12px;
    background: rgba(37, 158, 73, 0.9);
    padding: 12px 16px; border-radius: 8px;
    cursor: pointer; transition: transform 0.2s, background 0.3s;
}
.bani1-gallery-overlay span {
    font-family: 'Exo 2', sans-serif; font-size: 15px; font-weight: 700;
    color: #fff; text-align: center; line-height: 1.4; white-space: nowrap;
}
.bani1-gallery-overlay:hover {
    background: rgba(15, 140, 0, 0.95); transform: scale(1.05);
}
/* Скрытые фото */
.bani1-gallery-extra {
    display: none; margin-top: 12px;
}
.bani1-gallery-extra.is-visible {
    display: grid;
    animation: bani1-gallery-fadein 0.4s ease;
}
@keyframes bani1-gallery-fadein {
    from { opacity: 0; transform: translateY(12px); }
    to { opacity: 1; transform: translateY(0); }
}
/* Кнопка «Свернуть» */
.bani1-gallery-collapse {
    display: none; text-align: center; margin-top: 24px;
}
.bani1-gallery-collapse.is-visible { display: block; }
.bani1-gallery-collapse span {
    font-family: 'Exo 2', sans-serif; font-size: 15px; color: #666;
    cursor: pointer; transition: color 0.2s;
}
.bani1-gallery-collapse span:hover { color: #259e49; }
/* Подпись */
.bani1-gallery-caption {
    font-size: 15px; color: #666; font-style: italic;
    margin-top: 20px; line-height: 1.5;
}
/* Адаптивность */
@media (max-width: 1024px) {
    .bani1-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-gallery-block-title { font-size: 30px; }
}
@media (max-width: 767px) {
    .bani1-gallery-grid { grid-template-columns: 1fr; }
    .bani1-gallery-block { padding: var(--bani1-section-y) 0; }
    .bani1-gallery-block-title { font-size: 26px; margin-bottom: 24px; }
    .bani1-gallery-item img { aspect-ratio: 16/10; }
}

/* FAQ серийных — УДАЛЁН (2026-03-27) */

/* ── CTA ── */
.bani1-series-cta { padding: var(--bani1-section-y) 0; background: #259e49; text-align: center; }
.bani1-series-cta-title { font-family: "Exo 2", sans-serif; font-size: 32px; font-weight: 700; color: #fff; margin: 0 0 12px; }
.bani1-series-cta-text { font-size: 16px; color: rgba(255,255,255,0.9); margin: 0 0 28px; }
.bani1-series-cta-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }

/* ── Другие серии ── */
.bani1-series-others { padding: var(--bani1-section-y) 0; background: #f8f8f8; }
.bani1-series-others-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; }
.bani1-series-other-card {
    background: #fff; border-radius: 12px; overflow: hidden;
    text-decoration: none; color: #1a1a1a;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 2px 8px rgba(0,0,0,0.04);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.bani1-series-other-card:hover {
    box-shadow: 0 4px 12px rgba(0,0,0,0.06), 0 12px 28px rgba(0,0,0,0.08);
    transform: translateY(-3px);
}
.bani1-series-other-card img { width: 100%; height: 160px; object-fit: cover; display: block; }
.bani1-series-other-info { padding: 16px; }
.bani1-series-other-info h3 { font-family: "Exo 2", sans-serif; font-size: 15px; font-weight: 600; margin: 0 0 4px; }
.bani1-series-other-info span { font-family: "Exo 2", sans-serif; font-size: 14px; color: #259e49; font-weight: 600; }

/* ── Responsive: Tablet (≤1024px) ── */
@media (max-width: 1024px) {
    .bani1-series-products-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-series-advantages-grid { grid-template-columns: repeat(2, 1fr); }

    .bani1-series-reviews-grid { grid-template-columns: repeat(3, 1fr); }
    .bani1-series-steps-grid { grid-template-columns: repeat(3, 1fr); }
    .bani1-series-gallery-grid { grid-template-columns: repeat(3, 1fr); }
    .bani1-series-gallery-v2, .bani1-series-gallery-v2-extra { grid-template-columns: repeat(3, 1fr); }
    .bani1-series-others-grid { grid-template-columns: repeat(3, 1fr); }
}

/* ── Responsive: Mobile (≤767px) ── */
@media (max-width: 767px) {
    .bani1-series-hero-inner { flex-direction: column; gap: 24px; }
    .bani1-series-title { font-size: 28px; }
    .bani1-series-tagline { font-size: 17px; }
    .bani1-series-price { font-size: 24px; }
    .bani1-series-section-title { font-size: 24px; margin-bottom: 24px; }
    .bani1-series-products-grid { grid-template-columns: 1fr; }
    .bani1-card-render-mini { width: 120px; height: 90px; }
    .bani1-series-product-card .bani1-series-product-name { font-size: 16px; }
    .bani1-series-product-card .bani1-series-product-price { font-size: 20px; }

    /* Карточка модели: stack вертикально на мобиле — цена сверху на всю
       ширину, кнопка снизу full-width. Паттерн Wildberries/Ozon: цена
       чётко читается без переноса, кнопка крупнее и удобнее тапать.
       Раньше .bani1-series-btn { width: 100% } (правило ниже для hero)
       выдавливал цену в узкую колонку → перенос «от 351 \n 000 ₽». */
    .bani1-card-bottom {
        flex-direction: column;
        align-items: stretch;
        gap: 12px;
    }
    .bani1-card-bottom .bani1-series-btn {
        justify-content: center;
    }

    .bani1-series-advantages-grid { grid-template-columns: 1fr; }

    .bani1-series-reviews-grid { grid-template-columns: 1fr; }
    .bani1-series-steps-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-series-gallery-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-series-gallery-v2, .bani1-series-gallery-v2-extra { grid-template-columns: repeat(2, 1fr); }
    .bani1-series-gallery-v2-item img { height: 180px; }
    .bani1-gallery-more-overlay span { font-size: 15px; }
    .bani1-series-others-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-series-hero-btns { flex-direction: column; }
    .bani1-series-btn { justify-content: center; width: 100%; }
    .bani1-series-cta-title { font-size: 24px; }


    .bani1-series-review-card { padding: 20px 18px; }
    .bani1-series-models,
    .bani1-series-advantages,
    .bani1-series-included,
    .bani1-series-reviews,
    .bani1-series-steps,
    .bani1-series-gallery,
    .bani1-series-cta,
    .bani1-series-others,
    .bani1-series-video { padding: var(--bani1-section-y) 0; }
}


/* Секция 30 (Аккордеон товарной информации) удалена 2026-05-27.
   175 строк мёртвого CSS — компонент .bani1-product-accordion +
   .bani1-accordion-item/trigger/icon/content/panel/list +
   .bani1-product-description + .bani1-attrs-table.
   Ни одного использования в PHP-шаблонах темы, JS и БД.
   На странице товара сейчас стандартный WoodMart-аккордеон с табами.
   История: коммит этого удаления + предыдущие версии в git log. */

/* ========================================================================
   31. CTA-секция «Узнать стоимость» (между аккордеоном и допуслугами)
   ======================================================================== */
/* ── CTA-секция (wp_footer:0 на товарных страницах) ── */
.bani1-cta-section {
    max-width: 700px;
    margin: 40px auto;
    padding: 32px var(--bani1-pad-x);    /* стандарт — см. design-system.md */
    background: #f9f9f9;
    border-radius: var(--bani1-radius-card);
    text-align: center;
}
.bani1-form-title {
    font-family: "Exo 2", sans-serif;
    font-size: 24px;
    font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 20px;
}

/* ── Универсальный input ── */
.bani1-input {
    width: 100%;
    padding: 12px 14px;
    border: 1px solid #d0d0d0;
    border-radius: 8px;
    font-family: "Inter", sans-serif;
    font-size: 15px;
    color: #1a1a1a;
    background: #fff;
    transition: border-color 0.2s;
    box-sizing: border-box;
}
.bani1-input:focus {
    outline: none;
    border-color: #259e49;
}
.bani1-field-label {
    display: block;
    font-size: 13px;
    font-weight: 500;
    color: #666;
    margin-bottom: 5px;
    text-align: left;
}

/* ── CTA форма (2 поля + кнопка) ── */
.bani1-cta-fields {
    display: flex;
    flex-direction: column;
    gap: 12px;
    text-align: left;
}
.bani1-field-group { display: flex; flex-direction: column; }
.bani1-cta-submit {
    width: 100%;
    margin-top: 4px;
}

/* ── Elementor-контейнер внутри .wd-single-add-cart — убираем дефолтный padding/border ── */
.single-product .wd-single-add-cart .elementor-widget-container {
    padding: 0;
    background: transparent;
    border: none;
    border-radius: 0;
    box-shadow: none;
}

/* ── Кнопка «Получить расчёт» в summary ── */
.bani1-summary-cta-wrap {
    margin: 4px 0 0;
}
.bani1-summary-cta-btn {
    display: block;
    width: 100%;
    text-align: center;
    padding: 14px 24px;
    font-size: 16px;
    font-weight: 600;
}
/* Вторичные кнопки под главной: «На выставке» + «Рассрочка 0%».
   Контур в фирменный зелёный — тише главной (иерархия CTA). */
.bani1-summary-cta-row {
    display: flex;
    gap: 10px;
    margin-top: 10px;
}
.bani1-summary-cta-secondary {
    flex: 1;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 12px 10px;
    border: 1px solid #259e49;
    border-radius: 8px;
    color: #259e49;
    background: #fff;
    font-family: "Exo 2", sans-serif;
    font-size: 14px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s;
}
.bani1-summary-cta-secondary:hover { background: #f0f8f3; }
.bani1-summary-cta-secondary svg { width: 18px; height: 18px; flex-shrink: 0; }

/* ── Success state ── */
.bani1-form-success {
    padding: 20px 16px;
    background: #e8f5e9;
    border-radius: 8px;
    color: #1b5e20;
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 500;
    text-align: center;
}

/* ── Кнопка «Позвонить» в CTA ── */
.bani1-cta-section .bani1-btn-outline {
    display: inline-block;
    margin-top: 16px;
    padding: 14px 32px;
    border: 2px solid #259e49;
    border-radius: 8px;
    color: #259e49;
    font-family: "Exo 2", sans-serif;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}
.bani1-cta-section .bani1-btn-outline:hover {
    background: #259e49;
    color: #fff;
}

/* ── Mobile ── */
@media (max-width: 767px) {
    .bani1-cta-section {
        margin: 28px auto;
        padding: 24px var(--bani1-pad-x);  /* стандарт */
    }
    .bani1-form-title { font-size: 20px; }
    .bani1-cta-section .bani1-btn-outline {
        width: 100%;
        text-align: center;
    }
    .bani1-summary-cta-btn {
        padding: 14px 16px;
    }
    /* На узком экране вторичные кнопки — стопкой (full-width), не в ряд */
    .bani1-summary-cta-row { flex-direction: column; }
    .bani1-summary-cta-secondary { padding: 13px 16px; font-size: 15px; }
}


/* ═══════════════════════════════════════════════════════════ */
/* 32. Хаб серий бань — каталог всех серий                     */
/* PHP-шаблон: page-template-hub-series.php                    */
/* ═══════════════════════════════════════════════════════════ */

/* Скрываем WoodMart page title (дублирует наш H1) */
.page-template-page-template-hub-series .page-title { display: none !important; }

/* ── Контейнер ── */
.bani1-hub-container { max-width: 1222px; margin: 0 auto; padding: 0 20px; }

/* ── Hero (split layout) ── */
.bani1-hub-hero { background: #f8f8f8; padding: 40px 0 48px; }
.bani1-hub-breadcrumbs { font-size: 13px; color: #6b7280; margin-bottom: 24px; }
.bani1-hub-breadcrumbs a { color: #259e49; text-decoration: none; }
.bani1-hub-breadcrumbs a:hover { text-decoration: underline; }
.bani1-hub-hero-inner {
    display: grid; grid-template-columns: 1fr 1fr; gap: 48px; align-items: center;
}
.bani1-hub-hero-text { }
.bani1-hub-hero-image {
    aspect-ratio: 4/3; border-radius: 16px; overflow: hidden; background: #e8e8e8;
}
.bani1-hub-hero-image img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bani1-hub-hero-cta {
    display: inline-block; margin-top: 28px;
    padding: 14px 32px; background: #259e49; color: #fff; border-radius: 8px;
    font-family: "Exo 2", sans-serif; font-size: 16px; font-weight: 600;
    text-decoration: none; transition: background 0.2s;
}
.bani1-hub-hero-cta:hover { background: #0F8C00; color: #fff; }
.bani1-hub-title {
    font-family: "Exo 2", sans-serif; font-size: 36px; font-weight: 700;
    color: #1a1a1a; margin: 0 0 12px; line-height: 1.2;
}
.bani1-hub-subtitle {
    font-size: 16px; color: #666; line-height: 1.6; margin: 0 0 32px;
}
.bani1-hub-stats { display: flex; justify-content: flex-start; gap: 40px; }
.bani1-hub-stat { display: flex; flex-direction: column; align-items: flex-start; }
.bani1-hub-stat-num {
    font-family: "Exo 2", sans-serif; font-size: 22px; font-weight: 700; color: #259e49;
}
.bani1-hub-stat-label { font-size: 13px; color: #6b7280; margin-top: 2px; }

/* ── Фильтр-навигация ── */
.bani1-hub-filters { background: #fff; border-bottom: 1px solid #ebebeb; padding: 14px 0; }
.bani1-hub-filter-list {
    display: flex; gap: 8px; overflow-x: auto; -webkit-overflow-scrolling: touch;
    scrollbar-width: none; padding-bottom: 2px;
}
.bani1-hub-filter-list::-webkit-scrollbar { display: none; }
.bani1-hub-filter-chip {
    display: inline-flex; align-items: center; gap: 4px; white-space: nowrap;
    padding: 7px 16px; border-radius: 20px; border: 1.5px solid #e0e0e0;
    background: #fff; font-family: "Inter", sans-serif; font-size: 14px; color: #444;
    text-decoration: none; transition: border-color 0.15s, background 0.15s, color 0.15s;
    flex-shrink: 0;
}
.bani1-hub-filter-chip:hover { border-color: #259e49; color: #259e49; }
.bani1-hub-filter-chip.active { background: #259e49; border-color: #259e49; color: #fff; }
.bani1-hub-filter-star { font-size: 10px; }

/* ── Каталог ── */
.bani1-hub-catalog { padding: 48px 0 0; }
.bani1-hub-grid {
    display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px;
}

/* ── Карточка серии ── */
.bani1-hub-card {
    background: #fff; border-radius: 12px; overflow: hidden;
    text-decoration: none; color: #1a1a1a;
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
    transition: box-shadow 0.25s ease, transform 0.25s ease;
    display: flex; flex-direction: column;
}
.bani1-hub-card:hover {
    box-shadow: 0 8px 28px rgba(0,0,0,0.06);
    transform: translateY(-4px);
}

/* Фото (16:10) */
.bani1-hub-card-image {
    position: relative; aspect-ratio: 16 / 10; overflow: hidden;
    background: #e8e8e8;
}
.bani1-hub-card-image img {
    width: 100%; height: 100%; object-fit: cover;
    transition: transform 0.3s ease;
}
.bani1-hub-card:hover .bani1-hub-card-image img { transform: scale(1.04); }

/* Плейсхолдер (если нет фото) */
.bani1-hub-card-placeholder {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    font-family: "Exo 2", sans-serif; font-size: 16px; color: #aaa;
    background: #e8e8e8;
}

/* Бейдж */
.bani1-hub-card-badge {
    position: absolute; top: 12px; left: 12px;
    background: #259e49; color: #fff; padding: 4px 12px;
    border-radius: 6px; font-size: 12px; font-weight: 600;
    font-family: "Inter", sans-serif; letter-spacing: 0.02em;
}

/* Инфо */
.bani1-hub-card-info { padding: 20px; flex: 1; display: flex; flex-direction: column; }
.bani1-hub-card-info h2 {
    font-family: "Exo 2", sans-serif; font-size: 18px; font-weight: 700;
    margin: 0 0 6px; color: #1a1a1a;
}
.bani1-hub-card-meta {
    font-size: 13px; color: #6b7280; margin: 0 0 10px;
    font-family: "Inter", sans-serif;
}
.bani1-hub-card-info p {
    font-size: 14px; color: #555; line-height: 1.5; margin: 0 0 16px;
    flex: 1;
}

/* Футер: цена + ссылка
   2026-05-27: убран border-top #f0f0f0. Footer и так прижат к низу
   (margin-top: auto), линия лишний графический шум внутри карточки. */
.bani1-hub-card-footer {
    display: flex; justify-content: space-between; align-items: center;
    padding-top: 16px;          /* было 12px + border; компенсировал */
    margin-top: auto;
}
.bani1-hub-card-price {
    font-family: "Exo 2", sans-serif; font-size: 18px; font-weight: 700; color: #259e49;
}
.bani1-hub-card-link {
    font-size: 14px; color: #259e49; font-weight: 600;
    font-family: "Inter", sans-serif;
    transition: color 0.2s;
}
.bani1-hub-card:hover .bani1-hub-card-link { color: #0F8C00; }

/* ── CTA-разделитель ── */
.bani1-hub-cta-mid {
    margin: 36px 0; padding: 36px var(--bani1-pad-x); background: #f0faf3;
    border-radius: var(--bani1-radius-card); text-align: center; border: 1px solid #d4edda;
}
.bani1-hub-cta-mid-icon { margin-bottom: 12px; }
.bani1-hub-cta-mid p {
    font-family: "Exo 2", sans-serif; font-size: 22px; font-weight: 700;
    color: #1a1a1a; margin: 0 0 8px;
}
.bani1-hub-cta-mid-sub {
    display: block; font-size: 15px; color: #666; margin-bottom: 20px;
}
.bani1-hub-cta-mid-btn {
    display: inline-block; padding: 14px 32px;
    background: #259e49; color: #fff; border-radius: 8px;
    font-family: "Exo 2", sans-serif; font-size: 15px; font-weight: 600;
    text-decoration: none; transition: background 0.2s;
}
.bani1-hub-cta-mid-btn:hover { background: #0F8C00; color: #fff; }

/* ── Преимущества ── */
.bani1-hub-advantages { padding: var(--bani1-section-y) 0; background: #fff; }
.bani1-hub-advantages-grid {
    display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px;
    text-align: center;
}
.bani1-hub-adv-icon { margin-bottom: 12px; }
.bani1-hub-adv-num {
    font-family: "Exo 2", sans-serif; font-size: 28px; font-weight: 700;
    color: #1a1a1a; margin-bottom: 4px;
}
.bani1-hub-adv-text { font-size: 14px; color: #666; line-height: 1.4; }


/* ── Responsive: Tablet ≤1024px ── */
@media (max-width: 1024px) {
    .bani1-hub-hero-inner { grid-template-columns: 55% 1fr; gap: 32px; }
    .bani1-hub-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-hub-advantages-grid { grid-template-columns: repeat(2, 1fr); gap: 24px; }
    .bani1-hub-title { font-size: 30px; }
}

/* ── Responsive: Mobile ≤767px ── */
@media (max-width: 767px) {
    .bani1-hub-hero { padding: 28px 0 32px; }
    .bani1-hub-hero-inner { grid-template-columns: 1fr; gap: 20px; }
    .bani1-hub-hero-image { order: -1; border-radius: 12px; max-height: 220px; aspect-ratio: auto; }
    .bani1-hub-stats { justify-content: flex-start; gap: 24px; }
    .bani1-hub-title { font-size: 26px; }
    .bani1-hub-subtitle { font-size: 14px; margin-bottom: 20px; }
    .bani1-hub-stat-num { font-size: 18px; }
    .bani1-hub-stat-label { font-size: 12px; }
    .bani1-hub-hero-cta { margin-top: 20px; padding: 12px 24px; font-size: 15px; }
    .bani1-hub-catalog { padding: 32px 0 0; }
    .bani1-hub-grid { grid-template-columns: 1fr; gap: 16px; }
    .bani1-hub-card-info h2 { font-size: 16px; }
    .bani1-hub-card-price { font-size: 16px; }
    .bani1-hub-cta-mid { margin: 24px 0; padding: 28px var(--bani1-pad-x); }
    .bani1-hub-cta-mid p { font-size: 18px; }
    .bani1-hub-advantages { padding: var(--bani1-section-y) 0; }
    .bani1-hub-advantages-grid { grid-template-columns: repeat(2, 1fr); gap: 20px; }
    .bani1-hub-adv-num { font-size: 22px; }
    .bani1-hub-cta-form { padding: var(--bani1-section-y) 0; }
    .bani1-hub-cta-form-title { font-size: 24px; }
    .bani1-hub-cta-form-wrap { padding: 20px 16px; }
}


/* ═══════════════════════════════════════════════════════════════
   ГЛАВНАЯ V2.1 — /glavnaya-v2/
   Namespace: bani1-v2-*
   Цвета: --wd-primary-color: #259e49
   Шрифты: Exo 2 (заголовки), Inter (текст)
   ═══════════════════════════════════════════════════════════════ */

/* ── Скрыть WoodMart page title на v2 ── */
.page-template-page-template-main-v2-php .page-title,
.page-template-page-template-main-v2-php .entry-title {
    display: none;
}

/* ── Общие ── */
.bani1-v2 {
    font-family: 'Inter', sans-serif;
    color: #242424;
    line-height: 1.6;
}
.bani1-v2-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}
.bani1-v2-section-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 32px;
    font-weight: 700;
    margin: 0 0 8px;
    text-align: center;
}
.bani1-v2-section-subtitle {
    text-align: center;
    color: #666;
    font-size: 16px;
    margin: 0 0 40px;
}

/* ── Кнопки ── */
.bani1-v2-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;  /* текст по центру на всех разрешениях, не только в @media */
    gap: 8px;
    padding: 14px 28px;
    border-radius: 8px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 15px;
    text-decoration: none;
    transition: all 0.3s;
    cursor: pointer;
    border: none;
}
.bani1-v2-btn-green {
    background: #259e49;
    color: #fff;
}
.bani1-v2-btn-green:hover { background: #1e8a3e; color: #fff; }
.bani1-v2-btn-outline {
    background: transparent;
    color: #259e49;
    border: 2px solid #259e49;
}
.bani1-v2-btn-outline:hover { background: #259e49; color: #fff; }
.bani1-v2-btn-white {
    background: #fff;
    color: #242424;
}
.bani1-v2-btn-white:hover { background: #f0f0f0; color: #242424; }
/* .bani1-v2-btn-lg — УДАЛЁН (2026-05-08), использовался только в #bani1-cta-final */

/* ═══ СЕКЦИЯ 1: HERO ═══ */
.bani1-v2-hero {
    padding: 40px 0 60px;
    background: #f8faf8;
}
.bani1-v2-hero-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 40px;
    align-items: center;
}
.bani1-v2-hero-tag {
    display: inline-block;
    font-size: 13px;
    color: #259e49;
    font-weight: 600;
    letter-spacing: 0.5px;
    margin-bottom: 16px;
}
.bani1-v2-hero-text h1 {
    font-family: 'Exo 2', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0 0 16px;
}
.bani1-v2-hero-subtitle {
    font-size: 16px;
    color: #555;
    margin: 0 0 24px;
    line-height: 1.6;
}
.bani1-v2-hero-buttons {
    display: flex;
    gap: 16px;
    flex-wrap: wrap;
}
/* Secondary outline-кнопка для hero (по образцу dp-m.ru):
   тонкая серая рамка, тёмный текст, такой же шейп что у primary.
   Селектор с тремя классами (0,3,0) специфичности — нужно чтобы перебить
   .bani1-quiz-trigger:not(.bani1-hero-btn) из quiz.css (специфичность 0,2,0),
   которое красит ЛЮБОЙ .bani1-quiz-trigger в зелёный. */
.bani1-v2-hero-buttons .bani1-v2-btn.bani1-v2-btn-outline-dark {
    /* Modern outline button (Tailwind UI / Linear-style):
       тонкий 1px border + subtle background fill вместо толстой 2px рамки.
       Hover — лёгкое затемнение bg, без инверсии цветов. */
    background: #fafafa;
    color: #1a1a1a;
    border: 1px solid #e5e7eb;
}
.bani1-v2-hero-buttons .bani1-v2-btn.bani1-v2-btn-outline-dark:hover {
    background: #f3f4f6;
    color: #1a1a1a;
    border-color: #d1d5db;
}
.bani1-v2-hero-media {
    position: relative;
}
.bani1-v2-hero-video-wrap {
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 8px 30px rgba(0,0,0,0.06);
}
.bani1-v2-hero-video-wrap video {
    display: block;
    width: 100%;
    height: auto;
}
.bani1-v2-hero-rating {
    /* Modern soft card (без border + box-shadow):
       Subtle background-tint показывает «карточку» без обводки.
       Это премиум-стиль (Apple settings cards, Linear UI sections). */
    display: flex;
    align-items: center;
    gap: 14px;
    margin-top: 16px;
    padding: 14px 18px;
    background: #f5f7f6;
    border-radius: 14px;
    width: fit-content;
}
.bani1-v2-rating-score {
    font-family: 'Exo 2', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #259e49;
}
.bani1-v2-rating-info {
    font-size: 12px;
    color: #666;
    line-height: 1.4;
}
.bani1-v2-rating-stars {
    color: #ffc107;
    font-size: 14px;
    letter-spacing: 2px;
}

/* ═══ СЕКЦИЯ 2: КАТАЛОГ (табы бани + дома) ═══ */
.bani1-v2-catalog {
    padding: var(--bani1-section-y) 0;
}
.bani1-v2-catalog-tabs {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-bottom: 40px;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    border-radius: 50px;
    overflow: hidden;
    border: 2px solid #259e49;
}
.bani1-v2-tab {
    padding: 16px 56px;
    border-radius: 0;
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 18px;
    letter-spacing: 0.5px;
    text-transform: uppercase;
    border: none;
    cursor: pointer;
    background: transparent;
    color: #259e49;
    transition: all 0.25s;
}
.bani1-v2-tab.active {
    background: #259e49;
    color: #fff;
    box-shadow: none;
}
.bani1-v2-tab:hover:not(.active) {
    background: rgba(37,158,73,0.08);
}
.bani1-v2-catalog-panel {
    display: none;
}
.bani1-v2-catalog-panel.active {
    display: block;
}
.bani1-v2-series-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
}
.bani1-v2-series-grid-2 {
    grid-template-columns: repeat(2, 1fr);
    max-width: 800px;
    margin: 0 auto;
}
.bani1-v2-series-card {
    display: block;
    text-decoration: none;
    color: inherit;
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #eee;
    transition: box-shadow 0.3s, transform 0.2s;
}
.bani1-v2-series-card:hover {
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
    transform: translateY(-2px);
    color: inherit;
}
.bani1-v2-series-card-img {
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: #f0f0f0;
}
.bani1-v2-series-card-img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bani1-v2-series-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    background: #259e49;
    color: #fff;
    padding: 4px 12px;
    border-radius: 20px;
    font-size: 12px;
    font-weight: 600;
}
.bani1-v2-series-placeholder {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-size: 15px;
    color: #999;
    background: #f5f5f5;
}
.bani1-v2-series-card-info {
    padding: 20px;
}
.bani1-v2-series-card-info h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 20px;
    font-weight: 700;
    margin: 0 0 6px;
}
.bani1-v2-series-card-meta {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 8px;
}
.bani1-v2-series-card-info p {
    font-size: 14px;
    color: #555;
    margin: 0 0 16px;
}
.bani1-v2-series-card-footer {
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.bani1-v2-series-card-price {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #259e49;
}
.bani1-v2-series-card-link {
    font-size: 14px;
    color: #259e49;
    font-weight: 600;
}
.bani1-v2-series-all {
    text-align: center;
    margin-top: 32px;
}

/* ═══ СЕКЦИЯ 3: CTA-РАЗДЕЛИТЕЛЬ (тёмный) ═══ */
.bani1-v2-cta-dark {
    padding: 48px 0;
    background: #242424;
    color: #fff;
    text-align: center;
}
.bani1-v2-cta-dark h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 26px;
    font-weight: 700;
    margin: 0 0 8px;
    color: #fff;
}
.bani1-v2-cta-dark p {
    font-size: 16px;
    color: rgba(255,255,255,0.7);
    margin: 0 0 24px;
}

/* ═══ СЕКЦИЯ 4: С НАМИ ТЕПЛО (точная копия v1) ═══ */
.bani1-v2-advantages {
    padding: var(--bani1-section-y) 0;
    background: #f8faf8;
}
.bani1-v2-advantages-layout {
    display: grid;
    grid-template-columns: 1fr 2fr;
    gap: 48px;
    align-items: start;
}
.bani1-v2-advantages-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 36px;
    font-weight: 700;
    line-height: 1.25;
    margin: 0;
}
.bani1-v2-advantages-title span {
    color: #259e49;
}
.bani1-v2-advantages-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    /* gap вместо border'ов-«крестов» — современная композиция через
       пустое пространство, не через линии. row × col отступы разные. */
    gap: 36px 48px;
}
.bani1-v2-adv {
    /* padding:0 + gap = h3 первой карточки совпадает по top с заголовком слева.
       Раньше был padding 28px → заголовок был на 28px выше карточек. */
    padding: 0;
}
.bani1-v2-adv h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 10px;
}
.bani1-v2-adv p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.6;
}
/* Видео под преимуществами — facade-паттерн.
   До клика: <button> с превью-img + play-кнопкой (0 KB JS).
   После клика: <div> с iframe (Rutube-плеер). См. assets/js/video-facade.js. */
.bani1-v2-advantages-videos {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 16px;
    margin-top: 40px;
}
.bani1-v2-adv-video {
    position: relative;
    aspect-ratio: 16 / 9;            /* было padding-bottom 56.25% — заменено на
                                        современный aspect-ratio (Chrome 88+, Firefox 89+),
                                        чтобы не конфликтовать с padding:0 у facade-button */
    border-radius: 12px;
    overflow: hidden;
    background: #000;
}
.bani1-v2-adv-video iframe {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    border: none;
}

/* Facade-button: визуально как видео-плеер, но без подгрузки iframe */
.bani1-video-facade {
    /* Reset button */
    padding: 0;
    border: none;
    background: #000;
    cursor: pointer;
    /* Композиция — как .bani1-v2-adv-video */
    display: block;
    width: 100%;
    text-align: left;
    transition: transform 0.2s;
}
.bani1-video-facade:hover { transform: scale(1.01); }
.bani1-video-facade-thumb {
    position: absolute;
    top: 0; left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: opacity 0.2s, filter 0.2s;
}
.bani1-video-facade:hover .bani1-video-facade-thumb {
    filter: brightness(0.9);
}
.bani1-video-facade-play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 64px;
    height: 64px;
    border-radius: 50%;
    background: rgba(255, 255, 255, 0.95);
    color: #259e49;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 16px rgba(0, 0, 0, 0.3);
    transition: transform 0.2s, background 0.2s;
}
.bani1-video-facade:hover .bani1-video-facade-play {
    transform: translate(-50%, -50%) scale(1.1);
    background: #fff;
}
.bani1-video-facade-play svg {
    margin-left: 3px;                 /* визуально центрировать ▶ — глифом смещено */
}
/* .bani1-video-facade-title — удалён 2026-05-13: Rutube-thumbnails уже содержат
   встроенные плашки с названием, наш overlay дублировал. Текст остался в
   aria-label кнопки для screen-readers. */

/* ═══ СЕКЦИЯ 5: ПРОИЗВОДСТВО ═══ */
.bani1-v2-production {
    padding: var(--bani1-section-y) 0;
    background: #f8faf8;
}
.bani1-v2-production-layout {
    display: grid;
    grid-template-columns: 1.2fr 0.8fr;
    gap: 40px;
    align-items: start;
    margin-bottom: 32px;
}
.bani1-v2-production-photo {
    border-radius: 12px;
    overflow: hidden;
}
.bani1-v2-production-photo img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: cover;
}
.bani1-v2-production-facts {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
}
.bani1-v2-production-fact {
    background: #fff;
    border-radius: 10px;
    padding: 24px 20px;
    border: 1px solid #e8e8e8;
}
.bani1-v2-production-fact-value {
    font-family: 'Exo 2', sans-serif;
    font-size: 28px;
    font-weight: 700;
    color: #259e49;
    margin-bottom: 4px;
}
.bani1-v2-production-fact-label {
    font-size: 13px;
    color: #666;
    line-height: 1.4;
}
.bani1-v2-production-gallery {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 12px;
}
.bani1-v2-production-gallery img {
    width: 100%;
    height: 180px;
    object-fit: cover;
    border-radius: 8px;
}

/* ═══ СЕКЦИЯ 6: ПЛЕЧОМ К ПЛЕЧУ (точная копия v1) ═══ */
.bani1-v2-steps {
    padding: var(--bani1-section-y) 0;
}
.bani1-v2-steps-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px 48px;
}
.bani1-v2-step {
    position: relative;
    padding: 16px 0 16px 0;
}
.bani1-v2-step-num {
    font-family: 'Exo 2', sans-serif;
    font-size: 80px;
    font-weight: 700;
    color: #259e49;
    opacity: 0.15;
    line-height: 1;
    position: absolute;
    top: 0;
    left: 0;
}
.bani1-v2-step-content {
    position: relative;
    padding-top: 24px;
}
.bani1-v2-step h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
}
.bani1-v2-step p {
    font-size: 14px;
    color: #666;
    margin: 0;
    line-height: 1.6;
}

/* ═══ СЕКЦИЯ 7: ОТЗЫВЫ — стили в .bani1-vr-* / .bani1-gallery-* (см. video-reviews-block.php) ═══ */

/* ═══ СЕКЦИЯ 8: УБЕДИТЕСЬ ЛИЧНО (точная копия v1, 3 карточки) ═══ */
.bani1-v2-visit {
    padding: var(--bani1-section-y) 0;
}
.bani1-v2-visit-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 40px;
}
.bani1-v2-visit-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e8e8e8;
    display: flex;
    flex-direction: column;
}
.bani1-v2-visit-photo {
    aspect-ratio: 16 / 11;
    overflow: hidden;
    background: #f0f0f0;
}
.bani1-v2-visit-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.bani1-v2-visit-card-body {
    padding: 20px;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.bani1-v2-visit-card-body h3 {
    font-family: 'Exo 2', sans-serif;
    font-size: 18px;
    font-weight: 700;
    margin: 0 0 8px;
}
.bani1-v2-visit-card-body p {
    font-size: 14px;
    color: #555;
    margin: 0 0 16px;
    line-height: 1.6;
    flex: 1;
}
.bani1-v2-visit-card-body .bani1-v2-btn {
    align-self: flex-start;
    font-size: 14px;
    padding: 12px 24px;
    text-transform: uppercase;
    letter-spacing: 0.3px;
}

/* ═══ СЕКЦИЯ 8.5: КАТАЛОГ CTA (Soft Card) — 2026-05-28 ═══
   Унификация со стилем сайта: background #f8faf8 (как trust-strip),
   radius 12px, дизайн-токены var(--bani1-pad-x). На мобиле обложка
   скрыта — экономия экрана. */
.bani1-catalog-cta {
    padding: var(--bani1-section-y) 0;
    background: #fff;
}
.bani1-catalog-cta-card {
    background: var(--bani1-card-bg-soft);
    border-radius: var(--bani1-radius-card);
    padding: 48px;
    display: grid;
    grid-template-columns: 1.4fr 1fr;
    gap: 40px;
    align-items: center;
}
.bani1-catalog-cta-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff; padding: 8px 14px; border-radius: 999px;
    font-family: "Inter", sans-serif; font-size: 13px; font-weight: 600;
    color: var(--bani1-green);
    margin-bottom: 18px;
}
.bani1-catalog-cta .bani1-section-title { margin-bottom: 16px; }
.bani1-catalog-cta-desc {
    font-family: "Inter", sans-serif;
    font-size: 16px; color: #555; margin: 0 0 24px;
    max-width: 460px; line-height: 1.6;
}
.bani1-catalog-cta-checklist {
    display: flex; flex-direction: column; gap: 10px;
    margin: 0 0 28px; padding: 0; list-style: none;
}
.bani1-catalog-cta-checklist li {
    display: flex; align-items: flex-start; gap: 10px;
    font-family: "Inter", sans-serif; font-size: 15px; color: #333;
}
.bani1-catalog-cta-checklist svg {
    flex-shrink: 0; margin-top: 2px; color: var(--bani1-green);
}
.bani1-catalog-cta-btn {
    display: inline-block;
    background: var(--bani1-green); color: #fff;
    font-family: "Inter", sans-serif; font-size: 15px; font-weight: 600;
    padding: 16px 32px; border-radius: var(--bani1-radius-pill);
    text-decoration: none; transition: background 0.2s;
    cursor: pointer;
}
.bani1-catalog-cta-btn:hover { background: var(--bani1-green-dark); color: #fff; }
.bani1-catalog-cta-btn:focus-visible { outline: 3px solid rgba(37,158,73,0.4); outline-offset: 2px; }

/* Обложка-плейсхолдер: CSS-стилизованная (тёмный градиент + лого + meta).
   TODO: заменить на реальное фото обложки PDF когда будет готов. */
.bani1-catalog-cta-cover {
    display: flex; align-items: center; justify-content: center;
}
.bani1-catalog-cta-cover img {
    width: 100%; height: auto; display: block;
    filter: drop-shadow(0 24px 42px rgba(20,40,30,0.26));
}
.bani1-catalog-cta-cover-eyebrow {
    font-family: "Inter", sans-serif; font-size: 12px; font-weight: 600;
    color: var(--bani1-green); letter-spacing: 0.1em;
    text-transform: uppercase;
    position: relative; z-index: 1;
}
.bani1-catalog-cta-cover-title {
    font-family: "Exo 2", sans-serif; font-size: 32px; font-weight: 700;
    line-height: 1.1; margin-top: 10px;
    position: relative; z-index: 1;
}
.bani1-catalog-cta-cover-spacer { flex: 1; }
.bani1-catalog-cta-cover-meta {
    font-family: "Inter", sans-serif; font-size: 13px; font-weight: 500;
    color: rgba(255,255,255,0.7);
    position: relative; z-index: 1;
}

@media (max-width: 1024px) {
    .bani1-catalog-cta-card {
        grid-template-columns: 1.2fr 0.8fr;
        padding: 36px;
        gap: 28px;
    }
    .bani1-catalog-cta-cover-title { font-size: 26px; }
}
@media (max-width: 767px) {
    .bani1-catalog-cta { padding: var(--bani1-section-y) 0; }
    .bani1-catalog-cta-card {
        grid-template-columns: 1fr;
        padding: 28px var(--bani1-pad-x);
        gap: 20px;
    }
    .bani1-catalog-cta-cover { order: -1; margin-bottom: 4px; }  /* картинка сверху над текстом */
    .bani1-catalog-cta-desc { font-size: 15px; }
    .bani1-catalog-cta-btn { width: 100%; text-align: center; }
}

/* ═══ СЕКЦИЯ 8.7: РАССРОЧКА CTA (Soft Card, зеркально к Catalog) ═══
   2026-05-28: блок про рассрочку компании (0%, без банков).
   Структура: тёмная обложка-карточка СЛЕВА (зеркало к Catalog где
   обложка справа) + текст+чеклист справа. На мобиле обложка скрыта. */
.bani1-rassrochka-cta {
    padding: 0 0 60px;        /* нет верхнего отступа — идёт сразу после Catalog */
    background: #fff;
}
.bani1-rassrochka-cta-card {
    background: var(--bani1-card-bg-soft);
    border-radius: var(--bani1-radius-card);
    padding: 48px;
    display: grid;
    grid-template-columns: 1fr 1.4fr;        /* обложка слева уже текста */
    gap: 40px;
    align-items: center;
}
.bani1-rassrochka-cta-cover {
    aspect-ratio: 3/4;
    background: linear-gradient(135deg, #1a1a1a 0%, #2a2a2a 100%);
    border-radius: 10px;
    padding: 32px;
    color: #fff;
    display: flex; flex-direction: column;
    box-shadow: 0 16px 48px rgba(0,0,0,0.12);
    position: relative; overflow: hidden;
}
.bani1-rassrochka-cta-cover::before {
    content: ""; position: absolute; top: -40%; right: -40%;
    width: 120%; height: 120%; border-radius: 50%;
    background: radial-gradient(circle, rgba(37,158,73,0.22) 0%, transparent 65%);
    pointer-events: none;
}
.bani1-rassrochka-cta-cover-eyebrow {
    font-family: "Inter", sans-serif; font-size: 12px; font-weight: 600;
    color: var(--bani1-green); letter-spacing: 0.1em;
    text-transform: uppercase;
    position: relative; z-index: 1;
}
.bani1-rassrochka-cta-cover-percent {
    font-family: "Exo 2", sans-serif; font-size: 80px; font-weight: 700;
    line-height: 1; margin-top: auto;
    position: relative; z-index: 1;
}
.bani1-rassrochka-cta-cover-label {
    font-family: "Inter", sans-serif; font-size: 14px;
    color: rgba(255,255,255,0.75);
    margin-top: 6px;
    position: relative; z-index: 1;
}
.bani1-rassrochka-cta-cover-spacer { flex-shrink: 0; }

.bani1-rassrochka-cta-badge {
    display: inline-flex; align-items: center; gap: 8px;
    background: #fff; padding: 8px 14px; border-radius: 999px;
    font-family: "Inter", sans-serif; font-size: 13px; font-weight: 600;
    color: var(--bani1-green);
    margin-bottom: 18px;
}
.bani1-rassrochka-cta .bani1-section-title { margin-bottom: 16px; }
.bani1-rassrochka-cta-desc {
    font-family: "Inter", sans-serif;
    font-size: 16px; color: #555; margin: 0 0 24px;
    max-width: 480px; line-height: 1.6;
}
.bani1-rassrochka-cta-checklist {
    display: flex; flex-direction: column; gap: 10px;
    margin: 0 0 28px; padding: 0; list-style: none;
}
.bani1-rassrochka-cta-checklist li {
    display: flex; align-items: flex-start; gap: 10px;
    font-family: "Inter", sans-serif; font-size: 15px; color: #333;
}
.bani1-rassrochka-cta-checklist svg {
    flex-shrink: 0; margin-top: 2px; color: var(--bani1-green);
}
.bani1-rassrochka-cta-btn {
    display: inline-block;
    background: var(--bani1-green); color: #fff;
    font-family: "Inter", sans-serif; font-size: 15px; font-weight: 600;
    padding: 16px 32px; border-radius: var(--bani1-radius-pill);
    text-decoration: none; transition: background 0.2s;
    cursor: pointer;
}
.bani1-rassrochka-cta-btn:hover { background: var(--bani1-green-dark); color: #fff; }
.bani1-rassrochka-cta-btn:focus-visible { outline: 3px solid rgba(37,158,73,0.4); outline-offset: 2px; }

@media (max-width: 1024px) {
    .bani1-rassrochka-cta-card {
        grid-template-columns: 0.8fr 1.2fr;
        padding: 36px;
        gap: 28px;
    }
    .bani1-rassrochka-cta-cover-percent { font-size: 64px; }
}
@media (max-width: 767px) {
    .bani1-rassrochka-cta { padding: 0 0 40px; }
    .bani1-rassrochka-cta-card {
        grid-template-columns: 1fr;
        padding: 28px var(--bani1-pad-x);
        gap: 20px;
    }
    .bani1-rassrochka-cta-cover { display: none; }    /* экономия экрана */
    .bani1-rassrochka-cta-desc { font-size: 15px; }
    .bani1-rassrochka-cta-btn { width: 100%; text-align: center; }
}

/* ═══════════════════════════════════════════════════════════════════
   СЕКЦИЯ 8.8: Страница «Спасибо» (/spasibo/) — 2026-05-28
   V3 Centered Minimal (компактная) — узкая колонка 480px, шаги с
   тонкими разделителями. Premium сохраняется за счёт композиции
   (типографика + spacing), не за счёт огромных pad'ов.
   См. page-spasibo.php (динамический контент по ?src=).
   ═══════════════════════════════════════════════════════════════════ */
.bani1-spasibo {
    padding: 32px 20px 36px;
    background: #fff;
}
.bani1-spasibo-inner {
    max-width: 480px;
    margin: 0 auto;
    text-align: center;
}

/* CONFIRM — чек + заголовок + подзаголовок */
.bani1-spasibo-check {
    width: 64px; height: 64px;
    margin: 0 auto 18px;
}
.bani1-spasibo-check svg { width: 100%; height: 100%; }
.bani1-spasibo-title {
    font-family: "Exo 2", sans-serif;
    font-size: 32px; font-weight: 700;
    color: #1a1a1a; line-height: 1.1;
    margin: 0 0 10px;
    letter-spacing: -0.02em;
}
.bani1-spasibo-subtitle {
    font-family: "Inter", sans-serif;
    font-size: 15px; color: #666;
    line-height: 1.5; margin: 0 0 32px;
}

/* CLARIFY — заголовок секции + 3 шага с разделителями */
.bani1-spasibo-steps-label {
    font-family: "Inter", sans-serif;
    font-size: 11px; font-weight: 600;
    color: #999; text-transform: uppercase;
    letter-spacing: 0.1em;
    margin-bottom: 18px;
}
.bani1-spasibo-steps-list {
    list-style: none; padding: 0;
    margin: 0 0 28px;
    text-align: left;
    display: flex; flex-direction: column;
    gap: 16px;
}
.bani1-spasibo-step {
    display: flex; gap: 16px;
    align-items: flex-start;
    padding-bottom: 16px;
    border-bottom: 1px solid #f0f0f0;
}
.bani1-spasibo-step:last-child {
    border-bottom: none;
    padding-bottom: 0;
}
.bani1-spasibo-step-num {
    flex-shrink: 0;
    font-family: "Exo 2", sans-serif;
    font-size: 20px; font-weight: 700;
    color: var(--bani1-green);
    line-height: 1;
    min-width: 28px;
    margin-top: 1px;
}
.bani1-spasibo-step-body h3 {
    font-family: "Exo 2", sans-serif;
    font-size: 15px; font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 3px;
    line-height: 1.2;
}
.bani1-spasibo-step-body p {
    font-family: "Inter", sans-serif;
    font-size: 13.5px; color: #666;
    line-height: 1.45; margin: 0;
}

/* BONUS — мессенджеры (Max + Telegram) */
.bani1-spasibo-fast-text {
    font-family: "Inter", sans-serif;
    font-size: 13px; color: #999;
    margin: 0 0 14px;
}
.bani1-spasibo-fast-buttons {
    display: flex; gap: 10px;
    justify-content: center;
}
.bani1-spasibo-msg-btn {
    display: inline-flex; align-items: center; gap: 8px;
    padding: 10px 20px;
    border-radius: 999px;
    font-family: "Inter", sans-serif;
    font-size: 14px; font-weight: 600;
    text-decoration: none;
    border: 1px solid #ddd;
    color: #1a1a1a; background: #fff;
    transition: border-color 0.2s, transform 0.15s;
}
.bani1-spasibo-msg-btn:hover {
    border-color: #1a1a1a;
    transform: translateY(-1px);
}
.bani1-spasibo-msg-btn--tg { color: #2AABEE; }
.bani1-spasibo-msg-btn--tg:hover { border-color: #2AABEE; }
.bani1-spasibo-msg-btn img,
.bani1-spasibo-msg-btn svg { width: 20px; height: 20px; flex-shrink: 0; }

/* Кнопка «Вернуться на главную» — контурная, в фирменный зелёный */
.bani1-spasibo-home {
    display: inline-flex; align-items: center; gap: 8px;
    margin-top: 28px;
    padding: 11px 24px;
    border-radius: 999px;
    border: 1px solid #259e49;
    color: #259e49; background: #fff;
    font-family: "Inter", sans-serif;
    font-size: 14px; font-weight: 600;
    text-decoration: none;
    transition: background-color 0.2s, transform 0.15s;
}
.bani1-spasibo-home:hover {
    background: #f0f8f3;
    transform: translateY(-1px);
}
.bani1-spasibo-home svg { width: 18px; height: 18px; flex-shrink: 0; }

/* Блок выбора времени/канала на промежуточной /spasibo/ */
.bani1-spasibo-pick { margin: 22px 0 6px; }
.bani1-spasibo-pick-label {
    font-family: 'Exo 2', sans-serif; font-size: 16px; font-weight: 600;
    color: #1a1a1a; margin-bottom: 14px;
}
.bani1-spasibo-pick-btns { display: flex; flex-wrap: wrap; gap: 10px; justify-content: center; }
.bani1-spasibo-pick-btns--grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.bani1-spasibo-pick-btn {
    padding: 14px 18px; border: 1px solid #d7e3d9; border-radius: 10px; background: #fff;
    font-family: 'Inter', sans-serif; font-size: 15px; color: #1a1a1a; cursor: pointer;
    transition: border-color .15s, background .15s;
}
.bani1-spasibo-pick-btn:hover { border-color: #259e49; background: #f4f8f5; }
.bani1-spasibo-pick-skip {
    display: block; width: 100%; margin-top: 12px; padding: 10px; border: none; background: none;
    font-family: 'Inter', sans-serif; font-size: 14px; color: #6b7280;
    text-decoration: underline; cursor: pointer;
}
.bani1-spasibo-pick-skip:hover { color: #259e49; }

/* Красивые кнопки выбора канала (каталог) — с иконками мессенджеров */
.bani1-spasibo-channel-btns { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; }
.bani1-spasibo-channel-btn {
    display: inline-flex; align-items: center; gap: 10px;
    padding: 14px 28px; border-radius: 12px; border: 1px solid #d7e3d9; background: #fff;
    font-family: 'Inter', sans-serif; font-size: 16px; font-weight: 500; color: #1a1a1a;
    cursor: pointer; transition: border-color .15s, background .15s, transform .1s;
}
.bani1-spasibo-channel-btn:hover { border-color: #259e49; background: #f4f8f5; transform: translateY(-1px); }
.bani1-spasibo-channel-btn img, .bani1-spasibo-channel-btn svg { width: 24px; height: 24px; flex-shrink: 0; }
.bani1-spasibo-channel-btn--tg svg { color: #229ED9; }

/* Уведомление о SmartCaptcha (бейдж скрыт через hideShield) */
.bani1-captcha-notice {
    text-align: center; font-size: 11px; color: #b5b5b5;
    margin: 14px auto 8px; line-height: 1.4; max-width: 480px;
}
.bani1-captcha-notice a { color: #9a9a9a; text-decoration: underline; }

@media (max-width: 767px) {
    .bani1-spasibo-pick-btns--grid { grid-template-columns: 1fr; }
    .bani1-spasibo { padding: 24px 20px 28px; }
    .bani1-spasibo-check { width: 56px; height: 56px; margin-bottom: 14px; }
    .bani1-spasibo-title { font-size: 26px; margin-bottom: 8px; }
    .bani1-spasibo-subtitle { font-size: 14px; margin-bottom: 24px; }
    .bani1-spasibo-steps-label { margin-bottom: 14px; }
    .bani1-spasibo-steps-list { gap: 14px; margin-bottom: 24px; }
    .bani1-spasibo-step { padding-bottom: 14px; gap: 14px; }
    .bani1-spasibo-step-num { font-size: 18px; min-width: 24px; }
    .bani1-spasibo-step-body h3 { font-size: 14px; }
    .bani1-spasibo-step-body p { font-size: 13px; line-height: 1.4; }
    .bani1-spasibo-fast-text { font-size: 12.5px; margin-bottom: 12px; }
    .bani1-spasibo-fast-buttons { gap: 10px; }
    .bani1-spasibo-msg-btn { flex: 1; max-width: 180px; justify-content: center; padding: 11px 16px; font-size: 13.5px; }
}

/* ═══ СЕКЦИЯ 9: FAQ ═══
   Стиль приведён к боевому сайту бани-во-владимире.рф (2026-05-08):
   две колонки, без карточек/фона у item, разделитель — нижняя линия,
   плюсик зелёный справа, текст слева. На мобиле — одна колонка. */
.bani1-v2-faq {
    padding: var(--bani1-section-y) 0;
    background: #fff;
}
.bani1-v2-faq .bani1-section-title {
    max-width: 1200px;
    margin: 0 auto 32px;
    padding: 0 20px;
}
.bani1-v2-faq-list {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
    column-count: 2;
    column-gap: 48px;
    display: block;
}
/* FAQ карточки: card-style вместо divider-линий (2026-05-27).
   Каждый вопрос — «таблетка» с лёгким фоном + radius.
   Современный паттерн (dp-m.ru, Stripe, Linear) — разделение через
   фон+gap, а не через серые линии-разделители. */
.bani1-v2-faq-item {
    background: #f7f8f7;
    border-radius: 12px;
    margin-bottom: 10px;       /* gap между таблетками */
    break-inside: avoid;
    -webkit-column-break-inside: avoid;
    page-break-inside: avoid;
    overflow: visible;
    transition: background-color 0.2s;
}
.bani1-v2-faq-item:hover {
    background: #f0f3f0;
}
.bani1-v2-faq-trigger {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 16px;
    padding: 18px 20px;        /* было 20px 0; добавлен горизонт. отступ для card */
    cursor: pointer;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 17px;
    color: #242424;
    line-height: 1.4;
    transition: opacity 0.2s;
}
.bani1-v2-faq-trigger:hover {
    background: transparent;
    opacity: 0.7;
}
.bani1-v2-faq-icon {
    font-size: 22px;
    color: #259e49;
    font-weight: 400;
    transition: transform 0.3s;
    flex-shrink: 0;
    line-height: 1;
    margin-top: 2px;
}
.bani1-v2-faq-active .bani1-v2-faq-icon {
    transform: rotate(45deg);
}
.bani1-v2-faq-panel {
    padding: 0 20px 18px;      /* card-style: горизонт. отступ как у trigger */
}
.bani1-v2-faq-panel p {
    margin: 0;
    font-size: 15px;
    color: #555;
    line-height: 1.6;
}
@media (max-width: 767px) {
    .bani1-v2-faq-list { column-count: 1; }
    .bani1-v2-faq-trigger { font-size: 15px; padding: 16px 16px; }
    .bani1-v2-faq-panel { padding: 0 16px 14px; }
    .bani1-v2-faq-panel p { font-size: 14px; }
}

/* ═══ СЕКЦИЯ 10: СТРОЙКА ПОД КОНТРОЛЕМ В ЧАТЕ (точная копия v1) ═══ */
.bani1-v2-chat-control {
    padding: var(--bani1-section-y) 0;
}
.bani1-v2-chat-control-inner {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 48px;
    align-items: center;
}
.bani1-v2-chat-control-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 32px;
    font-weight: 700;
    line-height: 1.3;
    margin: 0 0 24px;
    color: #242424;
}
.bani1-v2-chat-control-title span {
    color: #259e49;
}
.bani1-v2-chat-control-buttons {
    display: flex;
    gap: 12px;
    margin-bottom: 24px;
}
/* Кнопки Max + Telegram одинакового размера — иначе разная ширина из-за
   длины текста («Max» 3 символа vs «Telegram» 8) */
.bani1-v2-chat-control-buttons .bani1-v2-btn {
    min-width: 160px;
    justify-content: center;
}
.bani1-v2-btn-tg-blue {
    background: #2AABEE;
    color: #fff;
}
.bani1-v2-btn-tg-blue:hover { background: #229ED9; color: #fff; }
/* Max — официальные брендовые цвета (синий) */
.bani1-v2-btn-max {
    background: #1A73E8;
    color: #fff;
}
.bani1-v2-btn-max:hover { background: #1158C5; color: #fff; }
.bani1-v2-btn-max img { vertical-align: middle; }
.bani1-v2-chat-control-subtitle {
    font-size: 16px;
    font-weight: 600;
    margin: 0 0 12px;
    color: #242424;
}
.bani1-v2-chat-control-list {
    list-style: none;
    margin: 0;
    padding: 0;
}
.bani1-v2-chat-control-list li {
    font-size: 16px;
    line-height: 1.6;
    margin-bottom: 8px;
    color: #333;
}
.bani1-v2-chat-control-list strong {
    color: #242424;
}
.bani1-v2-chat-control-img {
    display: flex;
    justify-content: center;
    align-items: center;
}
.bani1-v2-chat-control-tree {
    position: relative;
    width: 500px;
    height: 500px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.bani1-v2-tree-bg {
    position: absolute;
    width: 100%;
    height: 100%;
    object-fit: contain;
    opacity: 0.3;
}
.bani1-v2-phone-img {
    position: relative;
    z-index: 1;
    max-width: 280px;
    width: 100%;
    height: auto;
}

/* ═══ СЕКЦИЯ 11: КВИЗ CTA — УДАЛЕНА (2026-05-08) ═══
   Большой блок #bani1-cta-final дублировал текст узкой полосы .bani1-prefooter.
   Удалён весь markup из page-template-main-v2.php и CSS ниже. */

/* ═══ АДАПТИВ: ГЛАВНАЯ V2.1 ═══ */
@media (max-width: 1024px) {
    .bani1-v2-hero-inner { grid-template-columns: 1fr; gap: 32px; }
    .bani1-v2-hero-text h1 { font-size: 30px; }
    .bani1-v2-production-layout { grid-template-columns: 1fr; gap: 24px; }
    .bani1-v2-production-facts { grid-template-columns: repeat(4, 1fr); }
    .bani1-v2-production-gallery { grid-template-columns: repeat(4, 1fr); }
    .bani1-v2-steps-grid { grid-template-columns: repeat(2, 1fr); }
    .bani1-v2-visit-grid { grid-template-columns: 1fr; max-width: 460px; margin: 0 auto; }
    .bani1-v2-chat-control-inner { grid-template-columns: 1fr; gap: 32px; }
    .bani1-v2-chat-control-img { order: -1; }
    .bani1-v2-chat-control-tree { width: 400px; height: 400px; }
}

@media (max-width: 768px) {
    .bani1-v2-section-title { font-size: 26px; }
    .bani1-v2-hero { padding: 24px 0 40px; }
    .bani1-v2-hero-text h1 { font-size: 26px; }
    .bani1-v2-hero-buttons { flex-direction: column; }
    .bani1-v2-hero-buttons .bani1-v2-btn { justify-content: center; }
    .bani1-v2-catalog-tabs { width: 100%; }
    .bani1-v2-tab { flex: 1; text-align: center; padding: 14px 16px; font-size: 16px; }
    .bani1-v2-series-grid { grid-template-columns: 1fr; }
    .bani1-v2-series-grid-2 { max-width: 100%; }
    .bani1-v2-cta-dark h3 { font-size: 22px; }
    .bani1-v2-cta-dark p { font-size: 14px; }
    .bani1-v2-advantages-layout { grid-template-columns: 1fr; gap: 24px; }
    .bani1-v2-advantages-title { font-size: 28px; text-align: center; }
    .bani1-v2-advantages-grid { grid-template-columns: 1fr; gap: 28px; }
    .bani1-v2-advantages-videos { grid-template-columns: 1fr; margin-top: 24px; }
    /* Мобиль: тот же принцип что на десктопе — разделение через gap,
       а не через border (см. комментарий на десктопном .bani1-v2-advantages-grid).
       Жирный h3 18px визуально начинает каждую карточку — линия не нужна. */
    .bani1-v2-adv { border-left: none !important; }
    .bani1-v2-production-facts { grid-template-columns: repeat(2, 1fr); }
    .bani1-v2-production-gallery { grid-template-columns: repeat(2, 1fr); }
    .bani1-v2-production-gallery img { height: 140px; }
    .bani1-v2-production-fact-value { font-size: 22px; }
    .bani1-v2-steps-grid { grid-template-columns: 1fr; }
    .bani1-v2-step-num { font-size: 60px; }
    /* .bani1-v2-quiz-cta мобильные стили удалены (2026-05-08) */
    /* .bani1-v2-faq-trigger мобильный стиль перенесён в собственный @media у секции 9 */
    .bani1-v2-chat-control-title { font-size: 24px; }
    .bani1-v2-chat-control-tree { width: 300px; height: 300px; }
    .bani1-v2-phone-img { max-width: 200px; }
    .bani1-v2-chat-control-buttons { flex-direction: column; }
}


/* ============================================================
   27. НАРРАТИВ-ПРОТОТИП — Планировка + Реальные объекты
   Используется только на SPA 6×6 (ID 11083).
   После одобрения — обобщить на все товары.
   ============================================================ */

/* --- Общий контейнер --- */
.bani1-narrative-plan  { padding: var(--bani1-section-y) 0; background: #fff; }
.bani1-narrative-photos { padding: var(--bani1-section-y) 0; background: #f8f8f8; }

.bani1-narrative-inner {
    max-width: 1222px;
    margin: 0 auto;
    padding: 0 24px;
}

/* --- Галерея товара: единое соотношение сторон для всех слайдов ---
   Применяется только на img, не трогает FlexSlider-контейнеры.
   Рендеры (16:9) заполняют контейнер полностью.
   Планировки (4:3) вписываются по высоте, фон прозрачный — сливается с галереей. */
.woocommerce-product-gallery .wd-gallery-images .wd-carousel-item img {
    width: 100%;
    aspect-ratio: 16/9;
    object-fit: contain;
    background: transparent;
    display: block;
}

/* --- Блок «Реальные объекты» --- */
.bani1-photos-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 24px;
    margin-top: 36px;
}
.bani1-photo-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 12px rgba(0,0,0,.06);
    transition: box-shadow .2s;
}
.bani1-photo-card:hover { box-shadow: 0 6px 24px rgba(0,0,0,.1); }
.bani1-photo-placeholder-img {
    width: 100%;
    aspect-ratio: 4/3;
    background: #f5f5f5;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #ccc;
    font-size: 48px;
}
.bani1-photo-img {
    width: 100%;
    aspect-ratio: 4/3;
    object-fit: cover;
    display: block;
}
.bani1-photo-meta { padding: 14px 16px 18px; }
.bani1-photo-badge {
    font-size: 11px;
    color: #259e49;
    font-weight: 600;
    letter-spacing: .04em;
    text-transform: uppercase;
    margin-bottom: 6px;
    font-family: 'Inter', sans-serif;
}
.bani1-photo-location {
    font-size: 15px;
    font-weight: 600;
    color: #242424;
    font-family: 'Exo 2', sans-serif;
}
.bani1-photo-date {
    font-size: 13px;
    color: #999;
    margin-top: 3px;
    font-family: 'Inter', sans-serif;
}

/* --- Адаптив --- */
@media (max-width: 900px) {
    .bani1-plan-grid { grid-template-columns: 1fr; gap: 28px; }
    .bani1-plan-col-right { padding-top: 0; }
}
@media (max-width: 768px) {
    .bani1-photos-grid { grid-template-columns: 1fr; gap: 16px; }
    .bani1-narrative-plan,
    .bani1-narrative-photos { padding: var(--bani1-section-y) 0; }
}

/* === 33. CPT «Объекты» — карточки реальных объектов === */
.bani1-object-card {
    background: #fff;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
    transition: box-shadow 0.2s;
}
.bani1-object-card:hover { box-shadow: 0 4px 20px rgba(0,0,0,0.1); }

.bani1-object-cover {
    position: relative;
    aspect-ratio: 4/3;
    overflow: hidden;
    background: #f5f5f5;
}
.bani1-object-img {
    position: absolute; inset: 0;
    width: 100%; height: 100%;
    aspect-ratio: 4/3; /* перебить intrinsic-пропорцию из width/height атрибутов фото (напр. 16:9) — иначе фото не заполняет контейнер 4:3 и снизу серый пробел */
    object-fit: cover; display: block;
    transition: transform 0.3s;
}
.bani1-object-card:hover .bani1-object-img { transform: scale(1.03); }

.bani1-object-extra {
    position: absolute; bottom: 10px; right: 10px;
    background: rgba(0,0,0,0.55); color: #fff;
    font-size: 12px; padding: 3px 8px; border-radius: 20px;
    font-family: 'Inter', sans-serif; pointer-events: none;
}
/* Тихий номер проекта (стиль «Минимализм») — белым в углу, без фона */
.bani1-object-num {
    position: absolute; top: 10px; left: 12px;
    color: #fff; font-size: 12px; font-weight: 500; letter-spacing: 0.4px;
    font-family: 'Inter', sans-serif; pointer-events: none;
    text-shadow: 0 1px 4px rgba(0,0,0,0.6);
}
/* Плавающая кнопка «Хочу такую же» в просмотре фото объекта.
   button.… + !important — перебиваем агрессивные button-стили WoodMart. */
button.bani1-pswp-cta {
    position: fixed !important; left: 50% !important; bottom: 26px !important;
    top: auto !important; right: auto !important; transform: translateX(-50%) !important;
    z-index: 1600 !important; -webkit-appearance: none; appearance: none;
    background: #259e49; color: #fff; border: none; margin: 0; width: auto;
    font-family: 'Exo 2', sans-serif; font-weight: 600; font-size: 16px;
    padding: 14px 30px; border-radius: 10px; cursor: pointer;
    box-shadow: 0 6px 24px rgba(0,0,0,0.45);
}
button.bani1-pswp-cta:hover { background: #1f8a3f; }
/* Строка «Вы выбрали проект» в форме заявки */
.bani1-lead-picked {
    background: #f0faf3; border: 1px solid #cdecd6; border-radius: 10px;
    padding: 11px 14px; margin-bottom: 14px;
    font-family: 'Inter', sans-serif; font-size: 14px; font-weight: 600; color: #1c6b34;
}

/* ===== Современный просмотрщик фото объектов (свой, без библиотек) ===== */
body.bani1-no-scroll { overflow: hidden; overscroll-behavior: none; }
.bani1-viewer {
    position: fixed; inset: 0; z-index: 99999;
    display: none; flex-direction: column;
    background: rgba(10,11,13,0.96);
    -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
    opacity: 0; transition: opacity 0.2s ease;
    overscroll-behavior: contain;
}
.bani1-viewer.is-open { display: flex; }
.bani1-viewer.is-shown { opacity: 1; }
.bani1-viewer .bani1-v-top {
    position: absolute; top: 0; left: 0; right: 0; height: 64px; z-index: 6;
    display: flex; align-items: center; justify-content: space-between; padding: 0 22px;
    background: linear-gradient(to bottom, rgba(0,0,0,0.45), transparent);
}
.bani1-viewer .bani1-v-counter {
    color: rgba(255,255,255,0.82); font-size: 14px; letter-spacing: 0.4px;
    font-variant-numeric: tabular-nums; font-family: 'Inter', sans-serif;
}
.bani1-viewer .bani1-v-close {
    -webkit-appearance: none; appearance: none; background: none; border: none; cursor: pointer;
    width: 40px; height: 40px; min-height: 0; padding: 0; border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    color: rgba(255,255,255,0.8); transition: 0.15s;
}
.bani1-viewer .bani1-v-close:hover { background: rgba(255,255,255,0.14); color: #fff; }
.bani1-viewer .bani1-v-close svg { width: 22px; height: 22px; }
.bani1-viewer .bani1-v-stage {
    flex: 1; position: relative; display: flex; align-items: center; justify-content: center;
    overflow: hidden; min-height: 0; touch-action: none;
}
.bani1-viewer .bani1-v-stage > img {
    max-width: 92vw; max-height: 100%; object-fit: contain; border-radius: 4px;
    box-shadow: 0 16px 60px rgba(0,0,0,0.5); user-select: none; -webkit-user-drag: none;
    transform-origin: center center; will-change: transform;
}
.bani1-viewer .bani1-v-nav {
    -webkit-appearance: none; appearance: none; position: absolute; top: 0; bottom: 0;
    width: 18%; min-height: 0; border: none; background: none; cursor: pointer; padding: 0;
    display: flex; align-items: center; z-index: 5; color: rgba(255,255,255,0.55); transition: color 0.15s;
}
.bani1-viewer .bani1-v-nav:hover { color: #fff; }
.bani1-viewer .bani1-v-nav.prev { left: 0; justify-content: flex-start; padding-left: 18px; }
.bani1-viewer .bani1-v-nav.next { right: 0; justify-content: flex-end; padding-right: 18px; }
.bani1-viewer .bani1-v-nav svg { width: 40px; height: 40px; filter: drop-shadow(0 1px 6px rgba(0,0,0,0.5)); }
.bani1-viewer .bani1-v-bottom {
    position: absolute; bottom: 0; left: 0; right: 0; z-index: 6; padding: 10px 0 14px;
    background: linear-gradient(to top, rgba(0,0,0,0.55), transparent);
}
.bani1-viewer .bani1-v-cta { display: flex; justify-content: center; margin-bottom: 10px; }
.bani1-viewer .bani1-v-cta button {
    -webkit-appearance: none; appearance: none; background: #259e49; color: #fff; border: none;
    font-family: 'Exo 2', sans-serif; font-weight: 600; font-size: 14px;
    padding: 11px 22px; border-radius: 24px; cursor: pointer; box-shadow: 0 4px 18px rgba(0,0,0,0.35); transition: 0.15s;
}
.bani1-viewer .bani1-v-cta button:hover { background: #1f8a3f; }
.bani1-viewer .bani1-v-thumbs {
    display: flex; gap: 7px; overflow-x: auto; padding: 0 16px 2px; justify-content: center; scrollbar-width: thin;
}
.bani1-viewer .bani1-v-thumbs::-webkit-scrollbar { height: 6px; }
.bani1-viewer .bani1-v-thumbs::-webkit-scrollbar-thumb { background: rgba(255,255,255,0.25); border-radius: 3px; }
.bani1-viewer .bani1-v-thumbs img {
    width: 56px; height: 42px; object-fit: cover; border-radius: 5px; cursor: pointer; flex: 0 0 auto;
    opacity: 0.45; border: 2px solid transparent; transition: 0.15s;
}
.bani1-viewer .bani1-v-thumbs img:hover { opacity: 0.8; }
.bani1-viewer .bani1-v-thumbs img.is-active { opacity: 1; border-color: #fff; }
@media (max-width: 600px) {
    .bani1-viewer .bani1-v-nav { width: 24%; }
    .bani1-viewer .bani1-v-thumbs { justify-content: flex-start; }
    .bani1-viewer .bani1-v-stage > img { max-width: 100vw; }
}

/* ===== Галерея товара (Версия 2): лента превью слева + крупное фото, план отдельной плашкой ===== */
.bani1-pgallery { display: grid; grid-template-columns: 84px 1fr; gap: 12px; align-items: start; }
.bani1-pgallery .bani1-pg-strip { display: flex; flex-direction: column; gap: 8px; scrollbar-width: thin; }
.bani1-pgallery .bani1-pg-strip::-webkit-scrollbar { width: 5px; height: 5px; }
.bani1-pgallery .bani1-pg-strip::-webkit-scrollbar-thumb { background: #d6d9dd; border-radius: 3px; }
.bani1-pgallery .bani1-pg-th {
    -webkit-appearance: none; appearance: none; padding: 0; background: none; cursor: pointer; min-height: 0;
    position: relative; aspect-ratio: 4/3; border-radius: 9px; overflow: hidden; flex: 0 0 auto;
    border: 2px solid transparent; transition: border-color 0.15s;
}
.bani1-pgallery .bani1-pg-th img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bani1-pgallery .bani1-pg-th.is-sel { border-color: #259e49; }
/* Обёртка ленты + затухание (fade) — подсказка о скрытых превью при прокрутке */
.bani1-pgallery .bani1-pg-sw { position: relative; min-width: 0; }
.bani1-pg-fade { position: absolute; pointer-events: none; opacity: 0; transition: opacity 0.2s ease; z-index: 2; }
.bani1-pg-fade.start { top: 0; left: 0; right: 0; height: 40px; background: linear-gradient(to bottom, #fff, rgba(255,255,255,0)); }
.bani1-pg-fade.end { bottom: 0; left: 0; right: 0; height: 40px; background: linear-gradient(to top, #fff, rgba(255,255,255,0)); }
.bani1-pg-fade.show { opacity: 1; }
.bani1-pgallery .bani1-pg-main { aspect-ratio: 4/3; border-radius: 16px; overflow: hidden; cursor: zoom-in; background: #f0f1f3; }
.bani1-pgallery .bani1-pg-main img { width: 100%; height: 100%; object-fit: cover; display: block; }
.bani1-pg-planbox {
    display: flex; align-items: center; gap: 14px; margin-top: 12px;
    border: 1px solid #e8eaed; border-radius: 12px; padding: 12px; cursor: pointer; transition: 0.15s; background: #fff;
}
.bani1-pg-planbox:hover { border-color: #259e49; background: #f7fbf8; }
.bani1-pg-planbox img { width: 96px; height: 72px; object-fit: contain; background: #fff; border: 1px solid #eee; border-radius: 6px; flex: 0 0 auto; }
.bani1-pg-plantext b { font-family: 'Exo 2', sans-serif; font-size: 15px; display: block; color: #1c1c1c; }
.bani1-pg-plantext span { font-size: 13px; color: #777; }
/* телефон/планшет: фото сверху во всю ширину, лента превью — горизонтально под ним.
   ПОСЛЕ базовых правил — иначе перебьются по порядку источника. */
@media (max-width: 768px) {
    .bani1-pgallery { grid-template-columns: 1fr; }
    .bani1-pgallery .bani1-pg-main { order: -1; margin-bottom: 10px; }
    .bani1-pgallery .bani1-pg-strip { flex-direction: row; overflow-x: auto; padding-bottom: 4px; }
    .bani1-pgallery .bani1-pg-th { width: 80px; flex: 0 0 auto; }
    /* горизонтальная лента — затухание уходит на левый/правый край */
    .bani1-pg-fade.start { top: 0; bottom: 0; left: 0; right: auto; width: 36px; height: auto; background: linear-gradient(to right, #fff, rgba(255,255,255,0)); }
    .bani1-pg-fade.end { top: 0; bottom: 0; right: 0; left: auto; width: 36px; height: auto; background: linear-gradient(to left, #fff, rgba(255,255,255,0)); }
}
.bani1-object-meta { padding: 14px 16px 16px; }
.bani1-object-location {
    font-size: 15px; font-weight: 600; color: #222;
    font-family: 'Exo 2', sans-serif; margin-bottom: 4px;
}
.bani1-object-secondary {
    font-size: 13px; color: #999;
    font-family: 'Inter', sans-serif;
}
/* Кнопка «Подробнее» на карточке объекта (клик всплывает к карточке → просмотрщик).
   Спецификой .bani1-object-card + !important перебиваем агрессивные button-стили WoodMart. */
.bani1-object-card .bani1-object-more {
    display: block;
    width: 100%;
    margin-top: 12px;
    padding: 10px 16px;
    background: #fff !important;
    border: 1px solid #259e49 !important;
    border-radius: 8px;
    color: #259e49 !important;
    font-family: 'Exo 2', sans-serif;
    font-size: 14px; font-weight: 600;
    text-transform: none !important;
    letter-spacing: normal;
    cursor: pointer;
    transition: background 0.2s;
}
.bani1-object-card .bani1-object-more:hover { background: #f0f8f3 !important; }

/* === 32. PhotoSwipe лайтбокс — белый фон === */
/* WooCommerce товарная галерея использует PhotoSwipe (WoodMart) */
/* !important перекрывает inline-стиль opacity который PhotoSwipe ставит через JS */
.pswp,
.pswp__bg,
.pswp__scroll-wrap,
.pswp__container,
.pswp__item,
.pswp__zoom-wrap,
.pswp__img,
.pswp__img--placeholder { background: #fff !important; }
/* Иконки навигации и закрытия — тёмные на белом фоне */
.pswp__button--close,
.pswp__button--arrow--left,
.pswp__button--arrow--right,
.pswp__button--zoom { filter: invert(1); }
.pswp__counter,
.pswp__caption__center { color: #222; }

/* ============================================================
   34. Прототип: видеоотзывы в стиле галереи
   Переиспользует §25 .bani1-gallery-*
   Новые классы: .bani1-vr-*
   ============================================================ */

/* Рейтинг под заголовком */
.bani1-vr-rating {
    margin-bottom: 28px;
}
.bani1-vr-stars {
    color: #ffc107;
    font-size: 18px;
    letter-spacing: 2px;
}
.bani1-vr-score {
    font-size: 15px;
    color: #666;
    margin-left: 8px;
    text-decoration: none;
    transition: color 0.2s;
}
.bani1-vr-score:hover { color: #259e49; }

/* Play-кнопка: деликатная, по центру превью */
.bani1-vr-play {
    position: absolute;
    top: 50%; left: 50%;
    transform: translate(-50%, -50%);
    width: 44px; height: 44px;
    background: rgba(255,255,255,0.15);
    border: 2px solid rgba(255,255,255,0.65);
    border-radius: 50%;
    display: flex; align-items: center; justify-content: center;
    opacity: 0.65;
    transition: opacity 0.2s, background 0.2s;
    pointer-events: none;
}
.bani1-vr-item:hover .bani1-vr-play {
    opacity: 1;
    background: rgba(255,255,255,0.25);
}
.bani1-vr-item:hover img {
    filter: brightness(0.88);
    transition: filter 0.2s;
}
/* На ячейке-тригере play скрыта — там overlay галереи */
.bani1-gallery-trigger .bani1-vr-play { display: none; }

/* Курсор на кликабельных ячейках */
.bani1-vr-item { cursor: pointer; }
/* Видео 16:9 — переопределяем 4/3 из галереи */
.bani1-vr-item img { aspect-ratio: 16/9; }
/* Номер видеоотзыва в правом верхнем углу плаката — дифференциация
   38 одинаковых плакатов (превью VK CDN недоступны анонимам) */
.bani1-vr-num {
    position: absolute;
    top: 10px; right: 12px;
    font-family: "Exo 2", sans-serif;
    font-weight: 700;
    font-size: 13px;
    color: rgba(255,255,255,0.65);
    letter-spacing: 0.5px;
    pointer-events: none;
    text-shadow: 0 1px 2px rgba(0,0,0,0.4);
}
/* Номера прячем когда expand-тригер — там нет цифры */
.bani1-gallery-trigger .bani1-vr-num { display: none; }

/* Подпись видеоотзыва (локация/модель) — низ карточки, поверх затемнения */
.bani1-vr-label {
    position: absolute;
    left: 0; right: 0; bottom: 0;
    padding: 26px 12px 10px;
    font-family: "Exo 2", sans-serif;
    font-weight: 600;
    font-size: 14px;
    line-height: 1.25;
    color: #fff;
    background: linear-gradient(to top, rgba(0,0,0,0.78), rgba(0,0,0,0));
    pointer-events: none;
}
@media (max-width: 768px) { .bani1-vr-label { font-size: 13px; padding: 22px 10px 9px; } }

/* CTA-кнопка под сеткой */
.bani1-vr-cta {
    text-align: center;
    margin-top: 32px;
}
/* Кнопка «Ещё отзывы» — фирменный ghost-стиль (сброс дефолтов WoodMart для <button>) */
.bani1-vr-block .bani1-vr-btn {
    -webkit-appearance: none;
    appearance: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: 0;
    padding: 14px 34px;
    background: transparent;
    border: 2px solid #259e49;
    border-radius: 10px;
    color: #259e49;
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background 0.2s ease, color 0.2s ease, box-shadow 0.2s ease, transform 0.1s ease;
}
.bani1-vr-block .bani1-vr-btn:hover {
    background: #259e49;
    color: #fff;
    box-shadow: 0 6px 18px rgba(37,158,73,0.28);
}
.bani1-vr-block .bani1-vr-btn:active { transform: translateY(1px); }
.bani1-vr-block .bani1-vr-btn:focus-visible {
    outline: 3px solid rgba(37,158,73,0.40);
    outline-offset: 2px;
}

/* Модальное окно */
.bani1-vr-modal {
    display: none;
    position: fixed; inset: 0;
    background: rgba(0,0,0,0.88);
    z-index: 100001;
    align-items: center;
    justify-content: center;
}
.bani1-vr-modal.active { display: flex; }
.bani1-vr-modal-inner {
    position: relative;
    width: 90vw; max-width: 900px;
    aspect-ratio: 16/9;
}
.bani1-vr-modal iframe {
    width: 100%; height: 100%; border: 0;
    border-radius: 8px;
}
.bani1-vr-modal-close {
    position: absolute;
    top: -40px; right: 0;
    color: #fff;
    font-size: 32px;
    line-height: 1;
    cursor: pointer;
    opacity: 0.8;
    transition: opacity 0.2s;
    user-select: none;
}
.bani1-vr-modal-close:hover { opacity: 1; }

/* Мобайл: модалка занимает ширину экрана */
@media (max-width: 767px) {
    .bani1-vr-modal-inner {
        width: 100vw;
        max-width: 100vw;
        border-radius: 0;
    }
    .bani1-vr-modal iframe { border-radius: 0; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §35. Реальные объекты: expand/collapse + плашка (badge)
   Расширение блока «Уже построено» (bani1_render_real_objects).
   Показывает первые 9 в сетке, остальные в .bani1-photos-extra,
   раскрываются по кнопке «Показать ещё N».
   ═════════════════════════════════════════════════════════════════════════ */

/* Скрытые объекты — по умолчанию не показываются */
.bani1-photos-extra {
    display: none;
    margin-top: 20px;
}
.bani1-photos-extra.is-visible {
    display: grid;
}

/* Кнопка «Показать ещё N объектов →» */
.bani1-photos-expand {
    margin-top: 36px;
    text-align: center;
}
.bani1-photos-expand span,
.bani1-photos-expand a {
    display: inline-block;
    padding: 12px 28px;
    font-family: 'Inter', sans-serif;
    font-size: 15px;
    font-weight: 600;
    color: #259e49;
    background: #fff;
    border: 1.5px solid #259e49;
    border-radius: 999px;
    cursor: pointer;
    transition: all 0.2s ease;
    user-select: none;
    text-decoration: none;
}
.bani1-photos-expand span:hover,
.bani1-photos-expand span:focus-visible,
.bani1-photos-expand a:hover,
.bani1-photos-expand a:focus-visible {
    background: #259e49;
    color: #fff;
    outline: none;
    text-decoration: none;
}

/* Кнопка «Свернуть ↑» — видна только после раскрытия */
.bani1-photos-collapse {
    display: none;
    margin-top: 24px;
    text-align: center;
}
.bani1-photos-collapse.is-visible {
    display: block;
}
.bani1-photos-collapse span {
    display: inline-block;
    padding: 8px 20px;
    font-family: 'Inter', sans-serif;
    font-size: 14px;
    color: #666;
    cursor: pointer;
    user-select: none;
    transition: color 0.2s;
}
.bani1-photos-collapse span:hover,
.bani1-photos-collapse span:focus-visible {
    color: #259e49;
    outline: none;
}

/* Плашка на обложке карточки (badge) — например «Классик — дешевле» */
.bani1-object-badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 5px 11px;
    font-family: 'Inter', sans-serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 0.2px;
    color: #fff;
    background: rgba(37, 158, 73, 0.92);
    backdrop-filter: blur(4px);
    border-radius: 4px;
    pointer-events: none;
    max-width: calc(100% - 20px);
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    z-index: 2;
}

/* Мобайл: уменьшаем плашку */
@media (max-width: 767px) {
    .bani1-object-badge {
        font-size: 11px;
        padding: 4px 9px;
        top: 8px;
        left: 8px;
    }
    .bani1-photos-expand {
        margin-top: 24px;
    }
    .bani1-photos-expand span {
        padding: 10px 22px;
        font-size: 14px;
    }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §36. V2: блок «Привезём на участок»
   Двухколоночный layout — фото слева + текст справа. Mobile: 1 колонка.
   Перенесён со старой главной. Template-part: delivery-block.php
   ═════════════════════════════════════════════════════════════════════════ */
.bani1-v2-delivery {
    padding: 80px 20px;
    background: #f0f5f2;
}
.bani1-v2-delivery-grid {
    max-width: 1200px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
    align-items: center;
}
.bani1-v2-delivery-img {
    width: 100%;
    height: auto;
    border-radius: 16px;
    display: block;
    box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}
.bani1-v2-delivery-text .bani1-section-title {
    margin: 0 0 24px 0;
    line-height: 1.2;
}
.bani1-v2-delivery-text .bani1-section-title span {
    color: #259e49;
}
.bani1-v2-delivery-text p {
    font-family: 'Inter', sans-serif;
    font-size: 17px;
    line-height: 1.55;
    color: #333;
    margin: 0 0 14px 0;
}
.bani1-v2-delivery-text p:last-child {
    margin-bottom: 0;
}
@media (max-width: 1024px) {
    .bani1-v2-delivery-grid {
        gap: 40px;
    }
}
@media (max-width: 767px) {
    .bani1-v2-delivery { padding: 48px 16px; }
    .bani1-v2-delivery-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .bani1-v2-delivery-text .bani1-section-title { margin-bottom: 16px; }
    .bani1-v2-delivery-text p { font-size: 16px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §36.5. Блок «Привезём готовой или соберём на участке» (Concept 1: Equal Cards)
   Используется: главная + товарные страницы. См. functions.php §8.6.
   ═════════════════════════════════════════════════════════════════════════ */
.bani1-delivery {
    padding: var(--bani1-section-y) var(--bani1-pad-x);
    background: #f5f5f5;
}
.bani1-delivery-container {
    max-width: 1200px;
    margin: 0 auto;
}
.bani1-delivery-subtitle {
    font-family: "Inter", sans-serif;
    font-size: 16px;
    color: #666;
    line-height: 1.5;
    margin: 12px 0 32px;
}
.bani1-delivery-grid {
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    gap: 20px;
    align-items: stretch;
}
.bani1-delivery-or {
    display: flex; align-items: center; justify-content: center;
    font-family: "Exo 2", sans-serif;
    font-size: 20px; font-weight: 700;
    color: #ccc;
    padding: 0 8px;
}
.bani1-delivery-card {
    background: #fff;
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 4px 24px rgba(0,0,0,0.08);
    display: flex; flex-direction: column;
    transition: transform 0.2s, box-shadow 0.2s;
}
.bani1-delivery-card:hover {
    transform: translateY(-2px);
    box-shadow: 0 6px 32px rgba(0,0,0,0.06);
}
.bani1-delivery-photo {
    aspect-ratio: 16 / 10;
    overflow: hidden;
}
.bani1-delivery-photo img {
    width: 100%; height: 100%;
    object-fit: cover; display: block;
}
.bani1-delivery-body {
    padding: 24px 28px 28px;
    flex: 1;
    display: flex; flex-direction: column;
}
.bani1-delivery-title {
    font-family: "Exo 2", sans-serif;
    font-size: 22px; font-weight: 700;
    color: #1a1a1a;
    margin: 0 0 8px;
    display: flex; align-items: center; gap: 8px;
}
.bani1-delivery-icon {
    font-size: 24px;
    line-height: 1;
}
.bani1-delivery-pitch {
    font-family: "Inter", sans-serif;
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 16px;
}
.bani1-delivery-list {
    list-style: none;
    padding: 0;
    margin: 0;
}
.bani1-delivery-list li {
    font-family: "Inter", sans-serif;
    font-size: 15px;
    color: #1a1a1a;
    padding: 6px 0 6px 24px;
    position: relative;
}
.bani1-delivery-list li::before {
    content: '✓';
    color: #259e49;
    font-weight: 700;
    position: absolute;
    left: 0; top: 6px;
}
.bani1-delivery-footer {
    text-align: center;
    margin: 32px auto 0;
    color: #666;
    font-size: 15px;
    max-width: 700px;
}
.bani1-delivery-footer strong {
    color: #259e49;
}

@media (max-width: 900px) {
    .bani1-delivery { padding: var(--bani1-section-y) var(--bani1-pad-x); }
    .bani1-delivery-grid {
        grid-template-columns: 1fr;
        gap: 16px;
    }
    .bani1-delivery-or { padding: 4px 0; }
    .bani1-delivery-photo { aspect-ratio: 16 / 9; }
    .bani1-delivery-title { font-size: 20px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §37. Опции товара (радио-кнопки «Терраса» и т.п.)
   Рендер — woocommerce/single-product/add-to-cart/simple.php.
   Данные — meta _bani1_product_options. JS — product-options.js.
   ═════════════════════════════════════════════════════════════════════════ */
.bani1-product-options {
    margin: 0 0 16px 0;
    font-family: 'Inter', sans-serif;
}
.bani1-product-options-label {
    font-size: 14px;
    font-weight: 600;
    color: #333;
    margin: 0 0 8px 0;
    letter-spacing: 0.02em;
}
.bani1-product-options-list {
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.bani1-product-option {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1.5px solid #e0e0e0;
    border-radius: 10px;
    background: #fff;
    cursor: pointer;
    transition: border-color .18s ease, background-color .18s ease;
    user-select: none;
}
.bani1-product-option:hover {
    border-color: #259e49;
    background: #f6fbf8;
}
.bani1-product-option input[type="radio"] {
    /* скрываем нативный radio — показываем кастомный индикатор через ::before */
    position: absolute;
    opacity: 0;
    pointer-events: none;
}
.bani1-product-option::before {
    content: '';
    flex-shrink: 0;
    width: 18px;
    height: 18px;
    border: 2px solid #c5c5c5;
    border-radius: 50%;
    background: #fff;
    transition: border-color .18s ease, background-color .18s ease;
}
.bani1-product-option.is-checked {
    border-color: #259e49;
    background: #f0f8f3;
}
.bani1-product-option.is-checked::before {
    border-color: #259e49;
    background: radial-gradient(circle at center, #259e49 0 5px, #fff 6px 100%);
}
.bani1-product-option-label {
    flex: 1;
    font-size: 15px;
    color: #222;
    font-weight: 500;
}
.bani1-product-option-delta {
    font-size: 14px;
    font-weight: 600;
    color: #259e49;
    white-space: nowrap;
}
@media (max-width: 767px) {
    .bani1-product-option { padding: 10px 14px; }
    .bani1-product-option-label { font-size: 14px; }
}

/* ═══════════════════════════════════════════════════════════════════════════
   §40. КАСТОМНАЯ ШАПКА (заменяет WoodMart whb-header)
   Структура: меню-слева / лого-центр / телефон+бургер-справа.
   Sticky при скролле, адаптив на мобильном.
   Создан 2026-05-08, дизайн в стиле dp-m.ru.
   ═══════════════════════════════════════════════════════════════════════════ */

/* WoodMart whb-header отключён системно через filter woodmart_needs_header → false
   (см. functions.php §0.2). CSS-страховку не держим — если фильтр сломается,
   увидим дубль и починим источник, а не симптом. */

.bani1-header {
    position: sticky;
    top: 0;
    z-index: 100;
    background: #fff;
    /* 2026-05-27: убран border-bottom #e8e8e8 — sticky-header pattern
       (Stripe/Linear/Apple) использует тень, а не линию. Тень слегка
       усилена для чёткого разделения от контента при скролле. */
    box-shadow: 0 2px 8px rgba(0,0,0,0.06);
}
.bani1-header-inner {
    max-width: 1400px;
    margin: 0 auto;
    padding: 0 24px;
    display: grid;
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    height: 80px;
    gap: 24px;
}

/* Меню слева */
.bani1-header-nav {
    justify-self: start;
}
.bani1-header-nav > ul {
    display: flex;
    gap: 32px;
    list-style: none;
    margin: 0;
    padding: 0;
}
.bani1-header-nav-item > a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-family: 'Exo 2', sans-serif;
    font-size: 15px;
    font-weight: 500;
    color: #242424;
    text-decoration: none;
    line-height: 1;
    padding: 8px 0;
    transition: color 0.2s;
}
.bani1-header-nav-item > a:hover {
    color: #259e49;
}
.bani1-header-nav-arrow {
    transition: transform 0.2s;
}
.bani1-header-nav-has-sub:hover .bani1-header-nav-arrow {
    transform: rotate(180deg);
}

/* Подменю «Каталог» — mega-menu в 2 колонки.
   Структура: 2 колонки (Бани / Дома), каждая с заголовком-ссылкой на hub
   и списком серий. Источник серий — config/hubs/{bani,doma}.php.
   См. header.php — там tемплейтная логика. */
.bani1-header-nav-sub {
    /* Modern dropdown card: убрана 1px hard-border (двойной слой с shadow),
       радиус увеличен до 12px (соответствие современному tone сайта),
       тень layered subtle. */
    position: absolute;
    margin: 0;
    padding: 16px 0;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 1px 3px rgba(0,0,0,0.04), 0 8px 24px rgba(0,0,0,0.08);
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.2s, transform 0.2s, visibility 0.2s;
}
.bani1-header-nav-has-sub:hover .bani1-header-nav-sub,
.bani1-header-nav-has-sub:focus-within .bani1-header-nav-sub {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
}
/* Mega-menu — 2 колонки */
.bani1-header-mega {
    display: grid;
    grid-template-columns: max-content max-content;
    gap: 8px 36px;
    padding: 18px 22px 16px;
    min-width: 380px;
}
.bani1-mega-col { min-width: 160px; }
/* Декоративный заголовок колонки — НЕ ссылка (чтобы не дублировать
   функцию пункта «→ Все бани» ниже). Просто разделитель раздела. */
.bani1-mega-title {
    display: block;
    font-family: "Exo 2", sans-serif;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.6px;
    color: #6b7280;
    padding-bottom: 8px;
    margin-bottom: 6px;
    border-bottom: 1px solid #ececec;
}
.bani1-mega-list { list-style: none; margin: 0; padding: 0; }
.bani1-mega-list li a {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 14px;
    padding: 6px 8px;            /* compact + горизонтальный отступ для hover-bg */
    margin: 0 -8px;               /* компенсируем горизонтальный padding в hover-зоне */
    border-radius: 6px;            /* для hover-bg fillet */
    font-size: 14px;
    color: #242424;
    text-decoration: none;
    white-space: nowrap;
    transition: color 0.15s, background-color 0.15s;
}
.bani1-mega-list li a:hover {
    color: #259e49;
    background-color: #f5f7f6;    /* subtle hover-bg как в Linear/Vercel dropdowns */
}
.bani1-mega-name { font-weight: 500; }
.bani1-mega-size { font-size: 12px; color: #6b7280; font-weight: 400; }
/* Пункт «→ Все бани/дома» — ссылка на хаб раздела. Зелёный, отделён от
   серий тонкой линией снизу. Selector с двойным классом (0,2,1)
   перебивает .bani1-mega-list li a (0,1,2) — иначе #242424 выигрывал. */
.bani1-mega-all { margin-bottom: 4px; padding-bottom: 4px; border-bottom: 1px solid #ececec; }
.bani1-mega-list .bani1-mega-all a { color: #259e49; font-weight: 500; }
.bani1-mega-list .bani1-mega-all a:hover { color: #1e8a3e; }
.bani1-mega-all .bani1-mega-name { font-weight: 600; }

/* Лого — wordmark PNG из assets/img/logo.png (прозрачный фон, 1179×176).
   Single graphic asset, не композиция CSS. Если в WP Admin загрузят custom_logo —
   header.php автоматически переключится на него (см. header.php fallback chain). */
.bani1-header-logo {
    justify-self: center;
    display: inline-flex;
    align-items: center;
    text-decoration: none;
    transition: opacity 0.2s;
}
.bani1-header-logo:hover { opacity: 0.85; }
.bani1-header-logo-img {
    /* 24px — близко к минималистичному стилю (Apple/Stripe wordmark).
       Соотношение к меню (15px) ≈ 1.6×, не доминирует. */
    height: 24px;        /* desktop: 24px ≈ 161px шириной (соотношение 6.7:1) */
    width: auto;
    display: block;
}
/* Текстовый fallback (если файл лого пропал) — на всякий случай для SEO */
.bani1-header-logo-text {
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
    font-size: 22px;
    color: #259e49;
    letter-spacing: -0.5px;
}

/* Телефон + бургер */
.bani1-header-actions {
    justify-self: end;
    display: flex;
    align-items: center;
    gap: 20px;
}
.bani1-header-phone {
    display: flex;
    flex-direction: column;
    gap: 2px;
    text-align: right;
    text-decoration: none;
    color: #242424;
    line-height: 1.2;
}
.bani1-header-phone-num {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 17px;
}
.bani1-header-phone-sub {
    font-size: 11px;
    color: #6b7280;
    font-weight: 400;
}
.bani1-header-phone:hover .bani1-header-phone-num {
    color: #259e49;
}

/* Бургер: специфичность 0-2-1 (.bani1-header .bani1-header-burger) перебивает
   WoodMart button-стили (0-1-1) без !important. */
.bani1-header .bani1-header-burger {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    min-width: 40px;
    padding: 0;
    background: transparent;
    border: 0;
    box-shadow: none;
    border-radius: 0;
    cursor: pointer;
    color: #242424;
    transition: color 0.2s;
}
.bani1-header .bani1-header-burger:hover {
    background: transparent;
    color: #259e49;
}
.bani1-header .bani1-header-burger svg {
    width: 24px;
    height: 18px;
    display: block;
    flex-shrink: 0;
}

/* Адаптив */
@media (max-width: 1023px) {
    .bani1-header-nav { display: none; }
    .bani1-header-inner { grid-template-columns: auto 1fr auto; }
    .bani1-header-logo { justify-self: start; margin-left: 8px; }
    .bani1-header-actions { gap: 16px; }
}
@media (max-width: 767px) {
    .bani1-header-inner { height: 64px; padding: 0 16px; gap: 12px; }
    .bani1-header-logo-img { height: 20px; }   /* mobile: ~134px шириной */
    .bani1-header-logo-text { font-size: 18px; }
    .bani1-header-phone-num { font-size: 14px; }
    .bani1-header-phone-sub { display: none; }
}
@media (max-width: 400px) {
    .bani1-header-logo-img { height: 18px; }   /* ультра-узкий: ~120px */
}
@media (max-width: 480px) {
    /* На мобильном вместо номера показываем компактную SVG-иконку телефона.
       Раньше использовался emoji 📞, который Windows/Android рендерили как
       розовый/малиновый — не в брендовой палитре. SVG inline data-URI
       гарантирует одинаковый зелёный цвет на всех платформах. */
    .bani1-header-phone-num { font-size: 0; }
    .bani1-header-phone-num::before {
        content: '';
        display: inline-block;
        width: 24px;
        height: 24px;
        background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23259e49' stroke-width='2' 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-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
        background-repeat: no-repeat;
        background-position: center;
        background-size: contain;
        vertical-align: middle;
    }
}

/* ═══ §41. БОКОВОЕ МЕНЮ (slide-in справа) ═══ */
.bani1-side-menu {
    position: fixed;
    inset: 0;
    z-index: 200;
    pointer-events: none;
}
.bani1-side-menu-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0,0,0,0.5);
    opacity: 0;
    transition: opacity 0.3s;
}
.bani1-side-menu-panel {
    position: absolute;
    top: 0;
    right: 0;
    width: 320px;
    max-width: 90vw;
    height: 100%;
    background: #fff;
    box-shadow: -8px 0 32px rgba(0,0,0,0.08);
    transform: translateX(100%);
    transition: transform 0.3s ease-out;
    display: flex;
    flex-direction: column;
    padding: 24px 28px 32px;
    overflow-y: auto;
}
.bani1-side-menu.is-open {
    pointer-events: auto;
}
.bani1-side-menu.is-open .bani1-side-menu-overlay {
    opacity: 1;
}
.bani1-side-menu.is-open .bani1-side-menu-panel {
    transform: translateX(0);
}
.bani1-side-menu-close {
    align-self: flex-end;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: transparent;
    border: none;
    color: #6b7280;
    cursor: pointer;
    transition: color 0.2s;
    margin-bottom: 8px;
}
.bani1-side-menu-close:hover { color: #242424; }

.bani1-side-menu-nav ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
}
/* Основные пункты бокового меню (BEM: .bani1-side-menu-link).
   Только plain-ссылки (Производство, Технология, Площадки, Мессенджеры).
   НЕ цепляет ссылки внутри Каталог-аккордеона — те имеют свой класс. */
.bani1-side-menu-link {
    display: block;
    padding: 10px 0;
    font-family: 'Exo 2', sans-serif;
    font-size: 16px;
    font-weight: 500;
    color: #242424;
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
}
.bani1-side-menu-link:hover {
    color: #259e49;
    padding-left: 6px;
}

.bani1-side-menu-cta {
    margin-top: auto;
    padding-top: 28px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}
.bani1-side-menu-btn {
    display: block;
    padding: 14px 24px;
    background: #259e49;
    color: #fff;
    text-align: center;
    text-decoration: none;
    border-radius: 8px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 15px;
    transition: background 0.2s;
}
.bani1-side-menu-btn:hover {
    background: #1e8a3e;
    color: #fff;
}
.bani1-side-menu-phone {
    text-align: center;
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 18px;
    color: #242424;
    text-decoration: none;
    padding: 8px 0 0;
}
.bani1-side-menu-hours {
    text-align: center;
    font-size: 12px;
    color: #6b7280;
}

/* Когда меню открыто — скрываем скролл body */
body.bani1-side-menu-open {
    overflow: hidden;
}

/* ═══════════════════════════════════════════════════════════════════════════
   §42. СТРАНИЦА КОНТАКТЫ — кастомный шаблон
   Структура: hero → CTA-бар (телефон/мессенджеры/email) → 3 карточки
   площадок → Яндекс-карта. См. page-template-kontakty.php + config/kontakty.php.
   Создан 2026-05-13.
   ═══════════════════════════════════════════════════════════════════════════ */
.bani1-kontakty-container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* HERO */
.bani1-kontakty-hero {
    padding: 48px 0 32px;
    background: #f8faf8;
}
.bani1-kontakty-breadcrumbs {
    font-size: 13px;
    color: #6b7280;
    margin-bottom: 16px;
}
.bani1-kontakty-breadcrumbs a {
    color: #259e49;
    text-decoration: none;
}
.bani1-kontakty-breadcrumbs a:hover { text-decoration: underline; }
.bani1-kontakty-subtitle {
    margin: 16px 0 0;
    font-size: 17px;
    color: #555;
}

/* CTA-БАР: 4 канала связи */
.bani1-kontakty-cta {
    padding: 32px 0 48px;
    background: #f8faf8;
}
.bani1-kontakty-channels {
    display: grid;
    /* auto-fit: на широких экранах 5 каналов в ряд, на узких — авто-схлопывается
       (раньше было repeat(4, 1fr) — Email выпадал на 2-й ряд один). */
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 16px;
}
.bani1-kontakty-channel {
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 18px 20px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    color: #242424;
    text-decoration: none;
    transition: border-color 0.2s, box-shadow 0.2s, transform 0.2s;
}
.bani1-kontakty-channel:hover {
    border-color: #259e49;
    box-shadow: 0 4px 12px rgba(37, 158, 73, 0.12);
    transform: translateY(-2px);
    color: #242424;
}
.bani1-kontakty-channel--primary {
    background: #259e49;
    border-color: #259e49;
    color: #fff;
}
.bani1-kontakty-channel--primary:hover {
    background: #1e8a3e;
    border-color: #1e8a3e;
    color: #fff;
}
.bani1-kontakty-channel svg { flex-shrink: 0; color: inherit; }
/* Иконка Max — раster PNG с фирменным градиентом (логотип не одноцветный, поэтому не SVG-stroke).
   Round-corner-rect 24×24 визуально равен 20px SVG-иконкам соседей. */
.bani1-kontakty-channel-img {
    flex-shrink: 0;
    width: 24px;
    height: 24px;
    border-radius: 6px;
    display: block;
}
.bani1-kontakty-channel-text {
    display: flex;
    flex-direction: column;
    gap: 2px;
    overflow: hidden;
}
.bani1-kontakty-channel-label {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 15px;
    line-height: 1.2;
}
.bani1-kontakty-channel-value {
    font-size: 13px;
    opacity: 0.85;
    line-height: 1.2;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}
.bani1-kontakty-channel-value--email { font-size: 12px; }

.bani1-kontakty-status {
    margin-top: 20px;
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 10px 16px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 999px;
    font-size: 14px;
    color: #555;
}
.bani1-kontakty-status-dot {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    flex-shrink: 0;
}
.bani1-kontakty-status-dot--open {
    background: #22c55e;
    box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2);
    animation: bani1-kont-pulse 2s ease-in-out infinite;
}
.bani1-kontakty-status-dot--closed {
    background: #999;
}
@keyframes bani1-kont-pulse {
    0%, 100% { box-shadow: 0 0 0 3px rgba(34, 197, 94, 0.2); }
    50% { box-shadow: 0 0 0 7px rgba(34, 197, 94, 0.05); }
}
@media (prefers-reduced-motion: reduce) {
    .bani1-kontakty-status-dot--open { animation: none; }
}

/* ПЛОЩАДКИ — 3 карточки */
.bani1-kontakty-places {
    padding: var(--bani1-section-y) 0;
}
.bani1-kontakty-places .bani1-section-title {
    margin-bottom: 32px;
}
.bani1-kontakty-places-grid {
    display: grid;
    /* auto-fit: при 2 карточках = 2 колонки, при 3 = 3 колонки.
       minmax(300px, 1fr) гарантирует что карточки не схлопнутся уже 300px. */
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 24px;
}
.bani1-kontakty-place {
    padding: 28px 24px 24px;
    background: #fff;
    border: 1px solid #e8e8e8;
    border-radius: 12px;
    display: flex;
    flex-direction: column;
    gap: 8px;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.bani1-kontakty-place:hover {
    border-color: #d4d4d4;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}
.bani1-kontakty-place-icon {
    width: 48px;
    height: 48px;
    border-radius: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #259e49;
    background: #f3faf5;
    margin-bottom: 8px;
}
.bani1-kontakty-place-icon--factory {
    color: #555;
    background: #f4f4f4;
}

/* Бейдж «Скоро открытие» — мягкий amber, не конкурирует с фирменным зелёным.
   Position: align-self flex-start (карточка — flex-column) → лента слева. */
.bani1-kontakty-place-badge {
    align-self: flex-start;
    padding: 4px 10px;
    background: #fff7e6;
    color: #b88200;
    border: 1px solid #ffd770;
    border-radius: 4px;
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 11px;
    line-height: 1.3;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin: 4px 0 0;
}

/* У coming-soon карточки иконка приглушена — чтобы не путать клиента
   («работает или нет?»). */
.bani1-kontakty-place--coming_soon .bani1-kontakty-place-icon {
    background: #fff7e6;
    color: #b88200;
}
.bani1-kontakty-place-title {
    font-family: 'Exo 2', sans-serif;
    font-weight: 700;
    font-size: 19px;
    color: #242424;
    margin: 0;
}
.bani1-kontakty-place-address {
    margin: 0;
    font-size: 15px;
    color: #242424;
    line-height: 1.4;
}
.bani1-kontakty-place-sub {
    margin: 0;
    font-size: 13px;
    color: #6b7280;
    line-height: 1.4;
}
.bani1-kontakty-place-hours {
    margin: 4px 0 12px;
    font-size: 13px;
    color: #555;
}
.bani1-kontakty-place-route {
    margin-top: auto;
    align-self: flex-start;
    padding: 8px 0;
    font-family: 'Exo 2', sans-serif;
    font-weight: 600;
    font-size: 14px;
    color: #259e49;
    text-decoration: none;
    border-bottom: 1px solid transparent;
    transition: border-color 0.2s;
}
.bani1-kontakty-place-route:hover {
    border-bottom-color: #259e49;
    color: #259e49;
}

/* КАРТА */
.bani1-kontakty-map {
    padding: 0 0 64px;
}
.bani1-kontakty-map .bani1-section-title {
    margin-bottom: 24px;
}
.bani1-kontakty-map-frame {
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #e8e8e8;
}
.bani1-kontakty-map-frame iframe {
    display: block;
    width: 100%;
}

/* АДАПТИВ */
@media (max-width: 1023px) {
    .bani1-kontakty-channels { grid-template-columns: repeat(2, 1fr); }
    .bani1-kontakty-places-grid { grid-template-columns: 1fr; }
}
@media (max-width: 600px) {
    .bani1-kontakty-channels { grid-template-columns: 1fr; }
    .bani1-kontakty-hero { padding: 32px 0 24px; }
    .bani1-kontakty-cta { padding: 24px 0 32px; }
    .bani1-kontakty-places { padding: 48px 0; }
    .bani1-kontakty-map-frame iframe { height: 360px; }
}


/* ═══════════════════════════════════════════════════════════════
   § Catalog popup — модалка «Получить каталог»
   Триггер: <a class="bani1-catalog-trigger"> (hero главной + любая кнопка)
   HTML рендерится через bani1_render_catalog_popup() — wp_footer.
   ═══════════════════════════════════════════════════════════════ */

/* Скрываем скролл body при открытом попапе */
body.bani1-no-scroll { overflow: hidden; overscroll-behavior: none; }

.bani1-catalog-popup {
    position: fixed;
    inset: 0;
    z-index: 100000;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 20px;
}
.bani1-catalog-popup[aria-hidden="false"] {
    display: flex;
    animation: bani1-catalog-fade-in 0.2s ease-out;
}

@keyframes bani1-catalog-fade-in {
    from { opacity: 0; }
    to   { opacity: 1; }
}

.bani1-catalog-popup-overlay {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    cursor: pointer;
}

.bani1-catalog-popup-content {
    position: relative;
    background: #fff;
    border-radius: 16px;
    padding: 32px 36px 28px;
    max-width: 460px;
    width: 100%;
    box-shadow: 0 24px 64px rgba(0, 0, 0, 0.35);
    z-index: 1;
}

.bani1-catalog-popup-close {
    position: absolute;
    top: 10px;
    right: 10px;
    background: transparent;
    border: none;
    width: 40px;
    height: 40px;
    font-size: 28px;
    line-height: 1;
    color: #666;
    cursor: pointer;
    border-radius: 50%;
    transition: background-color 0.15s;
}
.bani1-catalog-popup-close:hover { background: #f5f5f5; color: #000; }

.bani1-catalog-popup-title {
    margin: 0 0 8px;
    font-size: 24px;
    font-weight: 700;
    color: #111;
    line-height: 1.2;
}

.bani1-catalog-popup-subtitle {
    margin: 0 0 20px;
    color: #555;
    font-size: 14px;
    line-height: 1.5;
}

.bani1-catalog-popup .bani1-field-group {
    margin-bottom: 12px;
}

.bani1-catalog-popup .bani1-field-label {
    display: block;
    margin-bottom: 4px;
    font-size: 12px;
    color: #666;
    font-weight: 500;
}

.bani1-catalog-popup .bani1-input {
    width: 100%;
    padding: 12px 14px;
    font-size: 15px;
    border: 1px solid #ddd;
    border-radius: 8px;
    outline: none;
    transition: border-color 0.15s;
    box-sizing: border-box;
}
.bani1-catalog-popup .bani1-input:focus {
    border-color: #259e49;
}

.bani1-catalog-submit {
    width: 100%;
    margin-top: 8px;
    padding: 14px 20px;
    font-size: 15px;
    font-weight: 600;
}

/* Попапы (заявка + каталог): сброс дефолтов WoodMart для <button> —
   иначе крестик и кнопка отправки рендерятся серыми системными.
   Специфичность .bani1-catalog-popup ... перебивает базовые стили темы. */
.bani1-catalog-popup .bani1-catalog-popup-close {
    -webkit-appearance: none; appearance: none;
    position: absolute; top: 12px; right: 12px; left: auto;
    width: 36px; height: 36px; padding: 0;
    background: transparent; border: none; border-radius: 8px;
    font-size: 26px; line-height: 1; color: #9a9a9a; cursor: pointer;
    display: flex; align-items: center; justify-content: center;
    transition: color .2s ease, background .2s ease;
}
.bani1-catalog-popup .bani1-catalog-popup-close:hover { color: #111; background: #f2f2f2; }

.bani1-catalog-popup .bani1-btn-primary {
    -webkit-appearance: none; appearance: none;
    width: 100%; margin-top: 8px;
    padding: 15px 24px;
    background: #259e49; color: #fff;
    border: none; border-radius: 10px;
    font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 16px;
    line-height: 1; cursor: pointer;
    transition: background .2s ease, box-shadow .2s ease, transform .1s ease;
}
.bani1-catalog-popup .bani1-btn-primary:hover { background: #0F8C00; box-shadow: 0 8px 22px rgba(37,158,73,.30); }
.bani1-catalog-popup .bani1-btn-primary:active { transform: translateY(1px); }
.bani1-catalog-popup .bani1-btn-primary:focus-visible { outline: 3px solid rgba(37,158,73,.40); outline-offset: 2px; }

.bani1-catalog-popup-policy {
    margin: 14px 0 0;
    font-size: 11px;
    color: #999;
    line-height: 1.4;
    text-align: center;
}
.bani1-catalog-popup-policy a {
    color: #259e49;
    text-decoration: none;
}
.bani1-catalog-popup-policy a:hover {
    text-decoration: underline;
}

/* Success state (после отправки) — общий .bani1-form-success класс уже
   определён ниже, попап использует его автоматически */

/* Адаптив — на мобильном чуть компактнее */
@media (max-width: 480px) {
    .bani1-catalog-popup-content {
        padding: 28px 24px 24px;
        border-radius: 12px;
    }
    .bani1-catalog-popup-title {
        font-size: 20px;
    }
    .bani1-catalog-popup-subtitle {
        font-size: 13px;
        margin-bottom: 16px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   § Аккордеон «Каталог» в мобильном бургер-меню (side-menu.php)
   Использует нативный <details><summary> — работает без JS,
   доступно для скринридеров, отлично на тачскринах.
   Источник данных серий: bani1_get_hub_config('bani'/'doma') —
   синхронно с десктопным мега-меню в header.php.
   ═══════════════════════════════════════════════════════════════ */

.bani1-side-menu-catalog {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bani1-side-menu-details {
    border: none;
    padding: 0;
}

.bani1-side-menu-details summary {
    list-style: none;
    cursor: pointer;
    padding: 12px 0;
    font-size: 17px;
    font-weight: 500;
    color: #242424;
    display: flex;
    justify-content: space-between;
    align-items: center;
    user-select: none;
}
.bani1-side-menu-details summary::-webkit-details-marker {
    display: none;
}

.bani1-side-menu-chevron {
    transition: transform 0.2s ease;
    color: #6b7280;
    flex-shrink: 0;
}

.bani1-side-menu-details[open] .bani1-side-menu-chevron {
    transform: rotate(180deg);
}

.bani1-side-menu-catalog-body {
    padding: 8px 0 16px 12px;
    border-left: 2px solid #f0f0f0;
    margin-left: 4px;
}

.bani1-side-menu-catalog-col {
    margin-bottom: 16px;
}
.bani1-side-menu-catalog-col:last-child {
    margin-bottom: 0;
}

.bani1-side-menu-catalog-title {
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    color: #6b7280;
    margin-bottom: 8px;
    padding-left: 4px;
}

.bani1-side-menu-catalog-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.bani1-side-menu-catalog-list li {
    padding: 0;
}

.bani1-side-menu-catalog-list a {
    display: block;
    padding: 9px 4px;
    color: #242424;
    text-decoration: none;
    font-size: 15px;
    line-height: 1.3;
    transition: color 0.15s;
}
.bani1-side-menu-catalog-list a:hover,
.bani1-side-menu-catalog-list a:active {
    color: #259e49;
}

.bani1-side-menu-catalog-all a {
    color: #259e49;
    font-weight: 500;
}
.bani1-side-menu-catalog-all a:hover {
    color: #1e7a39;
}

/* Адаптив — на узких экранах чуть меньше отступы */
@media (max-width: 480px) {
    .bani1-side-menu-details summary {
        font-size: 16px;
    }
    .bani1-side-menu-catalog-list a {
        font-size: 14px;
        padding: 8px 4px;
    }
}

/* ═══════════════════════════════════════════════════════════════
   § Фиксы для бокового меню (выявлено 2026-05-26)

   1. Крестик закрытия (X) — WoodMart parent CSS «съедал» stroke SVG.
      Явно задаём stroke и display, чтобы наследование работало.
   2. Линии между сериями в списке — приходят от родительских стилей
      на ul/li. Убираем для catalog-list (между сериями неактуально).
      Глобальный divider (.bani1-side-menu-divider) сохраняем.
   ═══════════════════════════════════════════════════════════════ */

/* 1. Крестик закрытия — современный минималистичный стиль (2025)
   Чистая × без серого квадрата вокруг. Тонкие линии 1.5px, длиной 24px.
   Subtle hover: лёгкое затемнение круга rgba(0,0,0,.05).
   Эстетика: macOS sheets / Telegram / Notion / Linear. */
.bani1-side-menu-close svg {
    display: none !important;  /* SVG скрывался WoodMart parent — заменили на ::before/::after */
}
.bani1-side-menu-close {
    position: relative !important;
    width: 40px !important;
    height: 40px !important;
    background: transparent !important;
    border: none !important;
    border-radius: 50% !important;  /* для hover-эффекта круга */
    transition: background-color 0.18s ease !important;
}
.bani1-side-menu-close:hover {
    background: rgba(0, 0, 0, 0.05) !important;  /* едва заметный круг при наведении */
}
.bani1-side-menu-close::before,
.bani1-side-menu-close::after {
    content: '' !important;
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    width: 22px !important;
    height: 1.5px !important;  /* тонкая линия — современный стиль */
    background: #1a1a1a !important;  /* контрастный, не серый */
    border-radius: 1px !important;
    transition: background 0.18s ease !important;
}
.bani1-side-menu-close::before {
    transform: translate(-50%, -50%) rotate(45deg) !important;
}
.bani1-side-menu-close::after {
    transform: translate(-50%, -50%) rotate(-45deg) !important;
}

/* 2. Старое правило .bani1-side-menu-nav li a {border-bottom: 1px solid #f0f0f0}
   удалено выше при рефакторе на BEM (.bani1-side-menu-link).
   Catalog-list li/a — никаких границ по дизайну, никто не рисует. */

/* 3. Density серий в каталоге — DP-M style (2026-05-26 v4 BEM).
   Эталон: dp-m.ru (font 16, padding 0, margin 15 → высота 35px).
   У нас ЦА 35-55 (пресбиопия с 45 лет) — font 15px (читаемо),
   padding 4px (минимум для tap), gap 8px через margin → высота ~36px.

   После рефакторинга на BEM (.bani1-side-menu-link для главных пунктов)
   правила НЕ конфликтуют — !important не нужен. */
.bani1-side-menu-details summary {
    padding: 10px 0;
}
.bani1-side-menu-catalog-list li {
    margin-bottom: 8px;  /* gap через margin (DP-M технику) */
}
.bani1-side-menu-catalog-list li:last-child {
    margin-bottom: 0;
}
.bani1-side-menu-catalog-list a {
    padding: 4px 4px;
    font-size: 15px;
    line-height: 1.3;
}
.bani1-side-menu-catalog-body {
    padding-top: 4px;
    padding-bottom: 8px;
}
.bani1-side-menu-catalog-col {
    margin-bottom: 10px;  /* visual hierarchy — Бани/Дома разделение */
}
.bani1-side-menu-catalog-col:last-child {
    margin-bottom: 0;
}
.bani1-side-menu-catalog-title {
    margin-bottom: 6px;
}

/* ═══════════════════════════════════════════════════════════════════════════
   КАРТОЧКА ТОВАРА: зелёный — только на действиях (2026-06-26)
   Зелёный = сигнал «здесь можно оставить заявку». Инфо/выбор — нейтральные,
   чтобы единственным зелёным акцентом в зоне покупки была кнопка-CTA.
   Правила идут в конце файла — перебивают оригиналы (цена/чипы/trust/радио).
   ═══════════════════════════════════════════════════════════════════════════ */

/* Цена — тёмная (это инфо, не действие) */
.single-product .wd-single-price .price,
.single-product .wd-single-price .price .woocommerce-Price-amount,
.single-product .wd-single-price .price bdi { color: #1c1c1c; }

/* Spec-чипы (площадь/комнаты/срок): иконки → нейтральные */
.bani1-spec-chip svg { color: #5b6660; }

/* Trust-полоска: иконки → нейтральные, ссылка → тёмная */
.bani1-trust-item svg { stroke: #7a8580; }
.bani1-trust-proof a { color: #1c1c1c; }

/* Радио-опция: выбранная — нейтральная тёмная (читается как «выбрано», не зелёная) */
.bani1-product-option:hover { border-color: #b8c0bb; background: #f7f8f7; }
.bani1-product-option.is-checked { border-color: #b8c0bb; background: #f4f6f5; }
.bani1-product-option.is-checked::before {
    border-color: #3a423e;
    background: radial-gradient(circle at center, #3a423e 0 5px, #fff 6px 100%);
}
.bani1-product-option-delta { color: #5b6660; }

/* Планбокс под кнопкой: ссылка-захват «Бесплатная перепланировка» (это действие → зелёная, но лёгкая) */
.bani1-pg-replan {
    display: inline-flex; align-items: center; gap: 4px;
    color: #259e49; font-weight: 400; font-size: 13px;
    white-space: nowrap; text-decoration: none; margin-top: 2px;
}
.bani1-pg-replan:hover { text-decoration: underline; }

/* Планбокс: где показывать. Десктоп (>768) — под галереей слева (--desk, заполняет колонку);
   мобильный (≤768) — под кнопкой CTA справа (--mob, конверсия-первой). Рендерятся обе, видна одна. */
@media (max-width: 768px) { .bani1-pg-planbox--desk { display: none; } }
@media (min-width: 769px) { .bani1-pg-planbox--mob  { display: none; } }

/* ═══════════════════════════════════════════════════════════════════════════
   ФОРМА «Задать вопрос специалисту» на товарной (стиль как у дома-от-михалыча)
   Свежие классы — не пересекаются со старой .bani1-cta-section (серии).
   ═══════════════════════════════════════════════════════════════════════════ */
.bani1-q-section { max-width: 600px; margin: 40px auto; padding: 0 var(--bani1-pad-x); }
.bani1-question-form {
    border: 2px dashed #c9d2cc; border-radius: 16px; background: #fafbfa;
    padding: 26px 26px 24px;
}
.bani1-q-title {
    font-family: 'Exo 2', sans-serif; font-size: 22px; text-align: center;
    margin: 0 0 18px; color: #1c1c1c;
}
.bani1-q-row { display: flex; gap: 12px; }
.bani1-q-row .bani1-field-group { flex: 1; }
.bani1-question-form .bani1-field-group { margin-bottom: 12px; }
.bani1-question-form .bani1-field-label { display: block; font-size: 13px; color: #5b6660; margin-bottom: 5px; }
.bani1-question-form .bani1-input {
    width: 100%; box-sizing: border-box; border: 1px solid #d7ddd8; border-radius: 10px;
    padding: 12px 14px; font-size: 15px; font-family: 'Inter', sans-serif; background: #fff; color: #1c1c1c;
}
.bani1-question-form .bani1-input:focus { outline: none; border-color: #259e49; box-shadow: 0 0 0 2px rgba(37,158,73,.15); }
.bani1-q-textarea { min-height: 84px; resize: vertical; }
.bani1-q-consent { display: flex; align-items: flex-start; gap: 8px; margin: 6px 0 16px; font-size: 12.5px; color: #5b6660; line-height: 1.4; }
.bani1-q-consent input { margin-top: 2px; accent-color: #259e49; width: 16px; height: 16px; flex: 0 0 auto; }
.bani1-q-consent a { color: #259e49; }
/* кнопка: десктоп — компактная по центру. Префикс .bani1-question-form (0,2,0)
   перебивает глобальный :is(.btn, button, …){background:#F3F3F3} темы WoodMart (0,1,0). */
.bani1-question-form .bani1-q-submit {
    display: block; width: auto; min-width: 240px; margin: 2px auto 0;
    border: none; border-radius: 999px; background: #259e49; color: #fff;
    font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 16px; padding: 14px 44px;
    cursor: pointer; box-shadow: 0 6px 18px rgba(37,158,73,.4); transition: background .2s;
}
.bani1-question-form .bani1-q-submit:hover { background: #1c8a3e; }
@media (max-width: 600px) {
    .bani1-q-row { flex-direction: column; gap: 0; }              /* имя/телефон в столбик */
    .bani1-question-form .bani1-q-submit { width: 100%; min-width: 0; padding: 15px; }  /* во всю ширину — палец */
}

/* ═══════════════════════════════════════════════════════════ */
/* Блок «Планировка» — отдельная секция после hero (§8.6)      */
/* Вертикальный план слева (узкая колонка) + текст справа.     */
/* ═══════════════════════════════════════════════════════════ */
.bani1-planirovka-section {
    padding: var(--bani1-section-y) 0;
    background: #fff;
}
.bani1-planirovka-inner {
    max-width: 1222px;
    margin: 0 auto;
    padding: 0 var(--bani1-pad-x);
    display: flex;
    gap: 40px;
    align-items: center;
    justify-content: center;  /* вся пара план+текст по центру экрана, не прижата влево */
}
.bani1-planirovka-img {
    flex-shrink: 0;
    width: 260px;
    cursor: zoom-in;
    border-radius: 12px;
    overflow: hidden;
    border: 1px solid #eee;
    background: #f7f8f7;
}
.bani1-planirovka-img img { width: 100%; display: block; }
.bani1-planirovka-text { flex: 0 1 520px; }
.bani1-planirovka-title {
    font-family: "Exo 2", sans-serif;
    font-size: 28px;
    margin: 0 0 12px;
}
.bani1-planirovka-desc {
    font-size: 16px;
    color: #5f6b64;
    line-height: 1.7;
    margin: 0 0 24px;
    max-width: 520px;
}
.bani1-planirovka-text .bani1-btn { display: inline-block; padding: 14px 28px; }
@media (max-width: 767px) {
    .bani1-planirovka-section { padding: var(--bani1-section-y) 0; }
    .bani1-planirovka-inner { flex-direction: column; text-align: center; gap: 24px; }
    .bani1-planirovka-img { width: 220px; }
    /* flex-basis 520px (для центрирования на десктопе) в колонке = высота → пустота.
       На мобильном сбрасываем: блок по контенту. */
    .bani1-planirovka-text { flex-basis: auto; }
    .bani1-planirovka-desc { margin-left: auto; margin-right: auto; }
}

/* ═══════════════════════════════════════════════════════════ */
/* Вертикальные отступы между секциями — ЕДИНЫЙ СТАНДАРТ         */
/* Токен --bani1-section-y (:root, начало файла): 80px десктоп / */
/* 48px мобайл. Секции применяют padding: var(--bani1-section-y) */
/* 0. Мобайл покрывается токеном автоматически (переопределён в  */
/* media). НОВАЯ секция → класс .bani1-section. Особые (hero,    */
/* форма, футер) — свои отступы (задокументированные исключения).*/
/* ═══════════════════════════════════════════════════════════ */
.bani1-section { padding: var(--bani1-section-y) 0; }

/* ═══ Выбор выставочной площадки в попапе «Оставьте заявку» (кнопка «Посетить выставку») ═══ */
.bani1-lead-venue { margin-bottom: 14px; }
.bani1-lead-venue-opts { display: flex; gap: 8px; margin-top: 8px; }
.bani1-lead-venue-opt { flex: 1; position: relative; margin: 0; }
.bani1-lead-venue-opt input { position: absolute; opacity: 0; width: 0; height: 0; }
.bani1-lead-venue-opt span {
    display: block; text-align: center; padding: 11px 6px;
    border: 1.5px solid #d5d8dc; border-radius: 10px; cursor: pointer;
    font-size: 14px; line-height: 1.2; transition: border-color .15s, background .15s, color .15s;
}
.bani1-lead-venue-opt input:checked + span { border-color: #259e49; background: #eaf7ee; color: #259e49; font-weight: 600; }
.bani1-lead-venue-opt input:focus-visible + span { outline: 2px solid #259e49; outline-offset: 1px; }

/* ═══ Бейдж «Готовые объекты» — миниатюра реального объекта в углу фото товара (→ блок «Уже построено») ═══ */
.bani1-pg-main { position: relative; }  /* якорь для абсолютного бейджа */
.bani1-obj-badge {
    position: absolute; right: 14px; bottom: 14px; z-index: 3;
    display: inline-flex; width: max-content; max-width: calc(100% - 28px);
    align-items: center; gap: 12px;
    padding: 8px 14px 8px 10px; border-radius: 12px; text-decoration: none;
    background: rgba(20,25,21,.72); backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
    transition: transform .15s ease, background .15s ease;
}
.bani1-obj-badge:hover,
.bani1-obj-badge:focus-visible { transform: translateY(-2px); background: rgba(20,25,21,.82); outline: none; }
/* !important на всех визуальных свойствах: миниатюру перебивают более специфичные правила темы —
   «.bani1-pg-main img {width:100%;height:100%}» раздувало размер (была «плашка на всю картинку»),
   а «.elementor img {border-radius:0; border:none}» сбивало рамку и скругление. */
.bani1-obj-thumb {
    width: 52px !important; height: 40px !important; object-fit: cover;
    border-radius: 7px !important; border: 2px solid #fff !important;
    box-shadow: 0 1px 4px rgba(0,0,0,.3) !important;
    display: block; flex-shrink: 0;
}
.bani1-obj-badge-t b { display: block; font-size: 14px; font-weight: 700; color: #fff; line-height: 1.15; }
.bani1-obj-badge-t > span { font-size: 12px; opacity: .82; color: #fff; }
@media (max-width: 768px) {
    .bani1-obj-badge { right: 10px; bottom: 10px; gap: 9px; padding: 7px 11px 7px 8px; }
    .bani1-obj-thumb { width: 46px !important; height: 36px !important; }
    .bani1-obj-badge-t b { font-size: 13px; }
}
