/*
 * Тема «enterprise» — строгая корпоративная (графит + синий акцент из лого EURO).
 *
 * Лежит внутри папки темы (@frontend/themes/enterprise/assets/css). Подключается
 * из layouts/_head.php: ассет-менеджер публикует папку assets/ в web/assets,
 * подключение идёт ПОСЛЕ базового site.css (через depends на AppAsset),
 * поэтому тема переопределяет дефолтное оформление.
 *
 * Айдентика: шрифт Roboto/system, центрированный логотип на обязательной
 * жёлтой полосе #FFF300 (оригинальный logo-euro.gif), слайдер на главной.
 * Вся раскраска идёт через переменные --ei-* ниже.
 */

:root {
    /* Палитра enterprise: графит + белый + синий акцент из символа € лого. */
    --ei-bg: #f4f5f7;          /* фон страницы — холодный светло-серый */
    --ei-surface: #fafbfc;     /* светлые блоки/секции */
    --ei-paper: #FFFFFF;       /* карточки объектов, панели */
    --ei-ink: #1f2430;         /* основной текст / графитовые заголовки */
    --ei-dark: #1f2430;        /* структура: навбар, подвал, hero, топбар — графит */
    --ei-accent: #106b96;      /* акцент из лого: затемнённый циан символа EURO (#00B1E9) — ссылки, теги, цена */
    --ei-accent-bright: #00b1e9; /* исходный циан лого без затемнения — только декоративная окантовка на графите (шов лого/меню), не для текста (низкий контраст на белом) */
    --ei-muted: #6b7280;       /* приглушённые подписи */
    --ei-line: #e3e6ea;        /* границы на светлом */
    --ei-line-dark: #333a48;   /* границы на графите */

    /* Доп. фирменные цвета enterprise. */
    --ei-graphite-light: #2c3444; /* светлый графит — верх градиента навбара */
    --ei-cream: #f6f4ef;   /* нейтральный тёплый фон панелей */
    --ei-price: #106b96;   /* цена — синий акцент из лого (не зелёный, не бронза) */

    /* Переопределяем Bootstrap 5 под графит+синий из лого: btn-primary — графит
       (строгий CTA), ссылки — синий акцент EURO, фокус-кольца форм; success —
       сдержанный зелёный для статусных бейджей. */
    --bs-primary: #1f2430;
    --bs-primary-rgb: 31, 36, 48;
    --bs-success: #4a7c59;
    --bs-success-rgb: 74, 124, 89;
    --bs-link-color: #106b96;
    --bs-link-color-rgb: 16, 107, 150;
    --bs-link-hover-color: #0c5a80;
    --bs-link-hover-color-rgb: 12, 90, 128;
}

body.theme-enterprise {
    background-color: var(--ei-bg);
    font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    color: var(--ei-ink);
}

/* Базовый site.css задаёт 70px верхнего отступа под старый fixed-top навбар.
   Новая шапка не фиксированная — снимаем лишний отступ; страницы управляют
   вертикальными интервалами своими py-*. */
.theme-enterprise main > .container {
    padding: 0 15px;
    min-height: 0;
}

.theme-enterprise ::selection {
    background: var(--ei-accent);
    color: #fff;
}

/* Classic — без серифа: заголовки тем же Roboto-стеком, но плотнее. */
.theme-enterprise h1,
.theme-enterprise h2,
.theme-enterprise h3,
.theme-enterprise .ei-serif {
    font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    font-weight: 700;
    color: var(--ei-ink);
}

/* ===================== Верхняя утилити-полоса ===================== */
.theme-enterprise .ei-topbar {
    background: var(--ei-dark);
    color: #B7B0A2;
    font-size: 12.5px;
    letter-spacing: .04em;
}

.theme-enterprise .ei-topbar .ei-tagline {
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 11px;
    color: #8C8678;
}

.theme-enterprise .ei-topbar .ei-phone {
    color: #E7E2D8;
}

/* ===================== Шапка / навигация ===================== */
.theme-enterprise .ei-header {
    background: var(--ei-surface);
    border-bottom: 1px solid var(--ei-line);
}

.theme-enterprise .ei-logo-mark {
    width: 54px;
    height: 54px;
    border: 1px solid var(--ei-ink);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 34px;
    color: var(--ei-accent);
    line-height: 1;
    padding-bottom: 3px;
    flex: 0 0 auto;
}

.theme-enterprise .ei-logo-name {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 30px;
    letter-spacing: .04em;
    color: var(--ei-ink);
}

.theme-enterprise .ei-logo-sub {
    font-weight: 500;
    font-size: 11px;
    letter-spacing: .42em;
    color: #6E685C;
    margin-top: 5px;
}

.theme-enterprise .ei-logo-tag {
    font-family: 'Cormorant Garamond', serif;
    font-style: italic;
    font-size: 12px;
    letter-spacing: .02em;
    color: var(--ei-accent);
    margin-top: 3px;
}

/* Гамбургер: явная кнопка с рамкой (без border-0), чтобы был заметен на
   светлой шапке. Виден только ниже lg (navbar-expand-lg прячет его на десктопе).
   ВАЖНО: шапка всегда светлая, но иконку BS красит по data-bs-theme — в тёмном
   режиме системы она становится БЕЛОЙ и пропадает на кремовом фоне. Форсируем
   тёмную иконку явным SVG (stroke = --ei-ink), независимо от color mode. */
.theme-enterprise .ei-burger {
    border: 1px solid var(--ei-line);
    border-radius: 4px;
    padding: 7px 10px;
    color: var(--ei-ink);
    --bs-navbar-toggler-icon-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath stroke='%231A1815' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}
.theme-enterprise .ei-burger:focus {
    box-shadow: none;
}

.theme-enterprise .ei-nav {
    gap: 38px;
}

.theme-enterprise .ei-nav .nav-link {
    color: #615C50;
    font-size: 13.5px;
    letter-spacing: .1em;
    text-transform: uppercase;
    font-weight: 500;
    padding: 0;
    transition: color .25s;
}

.theme-enterprise .ei-nav .nav-link:hover,
.theme-enterprise .ei-nav .nav-item.active .nav-link,
.theme-enterprise .ei-nav .nav-link.active {
    color: var(--ei-accent);
}

.theme-enterprise .ei-link {
    transition: color .25s;
}

.theme-enterprise .ei-link:hover {
    color: var(--ei-accent) !important;
}

/* ===================== Hero ===================== */
.theme-enterprise .ei-hero {
    position: relative;
    background: var(--ei-dark);
    overflow: hidden;
}

.theme-enterprise .ei-hero-media {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.theme-enterprise .ei-hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(180deg,
        rgba(16, 14, 10, .30) 0%,
        rgba(16, 14, 10, .05) 38%,
        rgba(16, 14, 10, .55) 100%);
}

.theme-enterprise .ei-hero-content {
    position: relative;
    color: #fff;
    max-width: 640px;
    /* Архитектурный акцент: тонкая линия слева от блока текста hero — циан лого
       (--ei-accent-bright), не затемнённый --ei-accent: на графите тёмный синий
       даёт контраст ~2.6:1 и еле виден, яркий циан — ~6.3:1. */
    border-left: 3px solid var(--ei-accent-bright);
    padding-left: 30px;
}

.theme-enterprise .ei-eyebrow {
    font-size: 12px;
    letter-spacing: .34em;
    text-transform: uppercase;
    color: var(--ei-accent);
    font-weight: 600;
}

/* Eyebrow на тёмных hero-секциях (без фото и с фото) — --ei-accent (#106b96)
   даёt всего ~2.6:1 контраста на графите и еле читается; на тёмном фоне нужен
   яркий циан лого, на светлом (обычный .ei-eyebrow) тёмный акцент остаётся. */
.theme-enterprise .ei-hero-content .ei-eyebrow,
.theme-enterprise .ei-page-hero-content .ei-eyebrow {
    color: var(--ei-accent-bright);
}

.theme-enterprise .ei-hero-title {
    font-weight: 600;
    font-size: 54px;
    line-height: 1.06;
    margin: 0;
    letter-spacing: -.008em;
    /* Явный белый: глобальное правило `.theme-enterprise h1` красит заголовки в
       --ei-ink, а этот h1 лежит на тёмном hero — без него текст тёмный на тёмном.
       Специфичность .theme-enterprise .ei-hero-title (0,2,0) > .theme-enterprise h1 (0,1,1). */
    color: #fff;
}

.theme-enterprise .ei-hero-lead {
    font-weight: 300;
    font-size: 17px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .85);
    max-width: 480px;
}

/* ===================== Панель поиска ===================== */
.theme-enterprise .ei-search {
    background: var(--ei-paper);
    border: 1px solid var(--ei-line);
    box-shadow: 0 26px 60px -30px rgba(20, 18, 12, .5);
    border-radius: 3px;
}

.theme-enterprise .ei-search-input {
    width: 100%;
    border: none;
    border-bottom: 1px solid var(--ei-line);
    background: transparent;
    padding: 14px 8px;
    font-family: 'Manrope', sans-serif;
    font-size: 16px;
    color: var(--ei-ink);
}

.theme-enterprise .ei-search-input:focus {
    outline: none;
    border-color: var(--ei-ink);
}

.theme-enterprise .ei-field-label {
    font-size: 11px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ei-muted);
    margin-bottom: 9px;
}

.theme-enterprise .ei-select {
    width: 100%;
    appearance: none;
    border: 1px solid #E2DCCF;
    background: #FBFAF6
        url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='7' viewBox='0 0 10 7'%3E%3Cpath fill='%239B958A' d='M0 0h10L5 7z'/%3E%3C/svg%3E")
        no-repeat right 14px center;
    border-radius: 2px;
    padding: 12px 34px 12px 13px;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    color: #3A372F;
    cursor: pointer;
}

.theme-enterprise .ei-select:focus {
    outline: none;
    border-color: var(--ei-ink);
}

/* ===================== Кнопки ===================== */
.theme-enterprise .ei-cta {
    background: var(--ei-ink);
    color: #fff;
    border: none;
    border-radius: 2px;
    font-family: 'Manrope', sans-serif;
    font-weight: 600;
    font-size: 13px;
    letter-spacing: .22em;
    text-transform: uppercase;
    text-decoration: none;
    cursor: pointer;
    transition: background .25s;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.theme-enterprise .ei-cta:hover {
    background: #000;
    color: #fff;
}

/* Bootstrap-кнопки на вспомогательных страницах (contact/about/error). */
.theme-enterprise .btn-primary {
    --bs-btn-bg: var(--ei-ink);
    --bs-btn-border-color: var(--ei-ink);
    --bs-btn-hover-bg: #000;
    --bs-btn-hover-border-color: #000;
    --bs-btn-active-bg: #000;
    --bs-btn-active-border-color: #000;
    border-radius: 2px;
    letter-spacing: .08em;
}

.theme-enterprise .btn-outline-primary {
    --bs-btn-color: var(--ei-accent);
    --bs-btn-border-color: var(--ei-accent);
    --bs-btn-hover-bg: var(--ei-accent);
    --bs-btn-hover-border-color: var(--ei-accent);
}

.theme-enterprise .login-btn,
.theme-enterprise .btn-yii {
    background: var(--ei-accent);
    border: none;
}

.theme-enterprise .login-brand-panel {
    background: linear-gradient(160deg, var(--ei-dark) 0%, #2A261E 100%);
}

/* ===================== Секция объектов ===================== */
.theme-enterprise .ei-section-head {
    border-bottom: 1px solid var(--ei-line);
}

.theme-enterprise .ei-kicker {
    font-size: 11px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: var(--ei-accent);
}

/* Чип кода объявления (Rif. EI-XXXX) в шапке страницы объекта — клиент
   называет его при звонке/письме, поэтому должен быть сразу заметен. */
.theme-enterprise .ei-rif {
    display: inline-block;
    padding: .2rem .6rem;
    border: 1px solid var(--ei-accent);
    border-radius: .25rem;
    background: color-mix(in srgb, var(--ei-accent) 8%, transparent);
    color: var(--ei-accent);
    font-size: 13px;
    font-weight: 700;
    letter-spacing: .08em;
    white-space: nowrap;
}

.theme-enterprise .ei-section-title {
    font-weight: 600;
    font-size: 40px;
    margin: 0;
    line-height: 1.02;
    letter-spacing: -.01em;
}

/* ===================== Карточка объекта ===================== */
/* Сетка карточек — утилитами BS в разметке (.row .row-cols-1 .row-cols-sm-2
   .row-cols-lg-3 .g-4), не своим grid. Карточка — компонент .card; тема правит
   его токены один раз. Свой CSS остаётся только под брендовые детали: серифные
   заголовок/цена, оверлеи на медиа, hover-подъём.

   ВАЖНО: токены --bs-card-* Bootstrap 5.3 объявляет НА самом .card
   (--bs-card-bg: var(--bs-body-bg) и т.д.). Наследуемый override с .theme-enterprise
   их не перебивает — на тёмной схеме карточка почернеет. Поэтому правим их на
   .theme-enterprise .card (тот же элемент, выше специфичность). */
.theme-enterprise .card {
    --bs-card-bg: var(--ei-paper);
    --bs-card-color: var(--ei-ink);
    --bs-card-border-color: var(--ei-line);
    --bs-card-border-radius: 3px;
    --bs-card-inner-border-radius: 2px;
    --bs-card-spacer-x: 22px;
    --bs-card-spacer-y: 22px;
}

/* Карточка-ссылка: цвет наследуем (перебиваем ссылочный золотой), подъём при
   наведении — декор, которого в утилитах BS нет. */
.theme-enterprise .ei-card {
    color: inherit;
    transition: box-shadow .35s ease, transform .35s ease;
}

.theme-enterprise .ei-card:hover {
    box-shadow: 0 18px 50px -24px rgba(20, 18, 12, .45);
    transform: translateY(-3px);
}

/* Мягкий подъём панели при наведении — общий декор для .card-панелей
   (ценности, услуги, офисы). Компонент .card даёт фон/бордер/радиус из токенов. */
.theme-enterprise .ei-lift {
    transition: box-shadow .25s ease, transform .25s ease;
}
.theme-enterprise .ei-lift:hover {
    box-shadow: 0 14px 34px rgba(22, 20, 15, .10);
    transform: translateY(-2px);
}

.theme-enterprise .ei-card-media {
    position: relative;
    height: 236px;
    background: #EDE9E1;
}

.theme-enterprise .ei-card-media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.theme-enterprise .ei-card-media-empty {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #B6AE9E;
    font-size: 32px;
}

.theme-enterprise .ei-tag {
    position: absolute;
    top: 14px;
    left: 14px;
    background: rgba(16, 14, 10, .78);
    backdrop-filter: blur(2px);
    color: #fff;
    font-size: 10.5px;
    letter-spacing: .18em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 2px;
}

.theme-enterprise .ei-photos {
    position: absolute;
    bottom: 14px;
    right: 14px;
    background: rgba(16, 14, 10, .6);
    color: #fff;
    font-size: 11px;
    letter-spacing: .04em;
    padding: 5px 11px;
    border-radius: 2px;
}

.theme-enterprise .ei-price {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 27px;
    color: var(--ei-ink);
    letter-spacing: .01em;
}

.theme-enterprise .ei-price-cur {
    font-family: 'Cormorant Garamond', serif;
    font-size: 20px;
    color: var(--ei-accent);
}

.theme-enterprise .ei-meta {
    font-size: 13px;
    color: #6E685C;
    letter-spacing: .03em;
}

.theme-enterprise .ei-meta-dot {
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background: #C4BCAC;
    display: inline-block;
}

.theme-enterprise .ei-detail-link {
    font-size: 12.5px;
    letter-spacing: .12em;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--ei-ink);
    text-decoration: none;
}

/* ===================== Пагинация / ссылка-кнопка ===================== */
.theme-enterprise .ei-page {
    text-decoration: none;
    color: #3A372F;
    font-size: 13px;
    border: 1px solid #E0DACD;
    border-radius: 2px;
    transition: border-color .2s, color .2s;
}

.theme-enterprise .ei-page:hover {
    border-color: var(--ei-ink);
    color: var(--ei-ink);
}

/* Bootstrap LinkPager в стиле темы (перебивает синий .page-link по умолчанию) */
.theme-enterprise .ei-pager {
    --bs-pagination-bg: var(--ei-paper);
    --bs-pagination-color: #3A372F;
    --bs-pagination-border-color: #E0DACD;
    --bs-pagination-border-radius: 2px;
    --bs-pagination-padding-x: 0;
    --bs-pagination-padding-y: 0;
    --bs-pagination-font-size: 13px;
    --bs-pagination-hover-bg: var(--ei-paper);
    --bs-pagination-hover-color: var(--ei-ink);
    --bs-pagination-hover-border-color: var(--ei-ink);
    --bs-pagination-focus-bg: var(--ei-paper);
    --bs-pagination-focus-color: var(--ei-ink);
    --bs-pagination-focus-box-shadow: none;
    --bs-pagination-active-bg: var(--ei-accent);
    --bs-pagination-active-color: var(--ei-paper);
    --bs-pagination-active-border-color: var(--ei-accent);
    --bs-pagination-disabled-bg: var(--ei-paper);
    --bs-pagination-disabled-color: #B8B1A2;
    --bs-pagination-disabled-border-color: #E0DACD;
    gap: 8px;
    /* На узких экранах много страниц не помещаются в один ряд — переносим
       кнопки на несколько строк вместо горизонтального обрезания. */
    flex-wrap: wrap;
    row-gap: 8px;
}

.theme-enterprise .ei-pager .page-item:not(:first-child) .page-link {
    margin-left: 0;
}

.theme-enterprise .ei-pager .page-link {
    min-width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border-radius: 2px;
    transition: border-color .2s, color .2s, background-color .2s;
}

.theme-enterprise .ei-ghost {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    color: #3A372F;
    border: 1px solid #E0DACD;
    border-radius: 2px;
    padding: 13px 30px;
    font-size: 13px;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 600;
    transition: border-color .25s, color .25s;
}

.theme-enterprise .ei-ghost:hover {
    border-color: var(--ei-ink);
    color: var(--ei-ink);
}

/* ===================== Чипы (мобайл-фильтры) ===================== */
.theme-enterprise .ei-chip {
    border: 1px solid #E0DACD;
    border-radius: 40px;
    padding: 8px 15px;
    font-size: 12px;
    color: #6E685C;
    white-space: nowrap;
    text-decoration: none;
    transition: border-color .2s;
}

.theme-enterprise .ei-chip.is-active {
    border-color: var(--ei-ink);
    color: var(--ei-ink);
}

.theme-enterprise .ei-chip:hover {
    border-color: var(--ei-ink);
}

/* ===================== Подвал ===================== */
.theme-enterprise .ei-footer {
    background: var(--ei-dark);
    color: rgba(255, 255, 255, .7);
}

/* Раскладка — утилиты BS в разметке (.row .g-4 .g-lg-5 + col-lg-6/3/3).
   Здесь остаётся только разделительная линия (декор). */
.theme-enterprise .ei-footer-top {
    border-bottom: 1px solid var(--ei-line-dark);
}

.theme-enterprise .ei-footer-mark {
    width: 46px;
    height: 46px;
    border: 1px solid rgba(255, 255, 255, .25);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 28px;
    color: var(--ei-accent);
    padding-bottom: 2px;
    flex: 0 0 auto;
}

.theme-enterprise .ei-footer-brand {
    font-family: 'Cormorant Garamond', serif;
    font-weight: 600;
    font-size: 24px;
    color: #fff;
}

.theme-enterprise .ei-footer-brand-sub {
    font-size: 10px;
    letter-spacing: .4em;
    color: rgba(255, 255, 255, .45);
    margin-top: 4px;
}

.theme-enterprise .ei-footer p {
    font-weight: 300;
    font-size: 14px;
    line-height: 1.7;
    color: rgba(255, 255, 255, .6);
    max-width: 320px;
    margin: 0;
}

.theme-enterprise .ei-footer-col-title {
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    color: rgba(255, 255, 255, .4);
}

.theme-enterprise .ei-footer-list {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 13px;
    font-size: 14px;
}

.theme-enterprise .ei-footer-list a,
.theme-enterprise .ei-footer-list span {
    color: rgba(255, 255, 255, .75);
    text-decoration: none;
}

.theme-enterprise .ei-footer-bottom {
    font-size: 12px;
    color: rgba(255, 255, 255, .4);
    letter-spacing: .04em;
}

/* ===================== Адаптив ===================== */
@media (max-width: 991.98px) {
    .theme-enterprise .ei-hero-title {
        font-size: 44px;
    }

    .theme-enterprise .ei-section-title {
        font-size: 34px;
    }

    /* Мобильное меню (тоггл .show через theme.js): вертикальный стек,
       нормальные тап-таргеты вместо десктопного gap:38px, разделитель сверху. */
    .theme-enterprise .ei-nav {
        gap: 0;
    }

    .theme-enterprise .ei-nav .nav-link {
        padding: 12px 0;
    }

    .theme-enterprise .navbar-collapse.show {
        border-top: 1px solid var(--ei-line);
        padding-top: 6px;
    }
}

@media (max-width: 575.98px) {
    .theme-enterprise .ei-hero-title {
        font-size: 34px;
    }
}

/* ============================================================
   Карточка офиса: обложка, карточки агентов, блок контактов.
   Вынесено из инлайн-стилей вьюх для единообразия темы.
   ============================================================ */
.theme-enterprise .ei-cover {
    height: 380px;
    border-radius: 3px;
    overflow: hidden;
    position: relative;
    background: #EDE9E1;
}

.theme-enterprise .ei-cover img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* Карточка агента — компонент .card + утилиты BS (h-100 d-flex flex-column gap-3
   p-4) в разметке; компактный вариант — просто flex-колонка без .card. Свой CSS
   остаётся под брендовые детали: круглое фото, подписи контактов, значения. */
.theme-enterprise .ei-agent-photo {
    width: 64px;
    height: 64px;
    object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
}

.theme-enterprise .ei-agent-photo--empty {
    display: flex;
    align-items: center;
    justify-content: center;
    background: #EDE9E1;
    color: #B6AE9E;
    font-size: 24px;
}

.theme-enterprise .ei-agent-name {
    font-weight: 600;
    font-size: 17px;
}

.theme-enterprise .ei-agent-bio {
    margin: 0;
    font-size: 14px;
    line-height: 1.6;
    color: var(--ei-muted);
}

.theme-enterprise .ei-contact-box {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    background: var(--ei-paper);
    border: 1px solid var(--ei-line);
    border-radius: 3px;
    padding: 26px 28px;
}

.theme-enterprise .ei-contact-cta {
    height: 48px;
    padding: 0 36px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
}

/* Разделитель между контактами агента и офиса в карточке объявления. */
.theme-enterprise .ei-divider-top {
    border-top: 1px solid var(--ei-line);
}

/* Контакты агента: иконка + подпись + значение (Email / Telefono / WhatsApp / Telegram).
   Колонка/gap/mt-auto — утилитами BS в разметке; здесь только оформление строки. */
.theme-enterprise .ei-contact {
    display: flex;
    align-items: center;
    gap: 12px;
    text-decoration: none;
    color: var(--ei-ink);
}

.theme-enterprise .ei-contact > i {
    width: 20px;
    text-align: center;
    font-size: 15px;
    color: var(--ei-muted);
    flex-shrink: 0;
}

.theme-enterprise .ei-contact-label {
    display: block;
    font-size: 10px;
    letter-spacing: .14em;
    text-transform: uppercase;
    color: var(--ei-muted);
    margin-bottom: 1px;
}

.theme-enterprise .ei-contact-value {
    display: block;
    font-size: 14px;
    font-weight: 500;
    color: var(--ei-ink);
    line-height: 1.3;
}

.theme-enterprise a.ei-contact:hover .ei-contact-value {
    text-decoration: underline;
}

/* ============================================================
   Раскладка страниц и секций — вынесено из инлайн-стилей вьюх.
   Раньше вертикальные отступы, размеры заголовков и паддинги
   панелей задавались атрибутом style="" прямо в разметке, что
   ломало переопределение темой и требовало CSP unsafe-inline.
   Теперь — семантические классы и модификаторы (BEM-стиль).
   ============================================================ */

/* Вертикальный ритм секции страницы. */
.theme-enterprise .ei-section { padding-top: 28px; padding-bottom: 64px; }
.theme-enterprise .ei-section--catalog { padding-top: 36px; }
.theme-enterprise .ei-section--feature { padding-top: 128px; } /* секция объектов главной — под наезжающей панелью поиска */

/* Заголовок-шапка секции: базовый ритм + модификаторы под разные блоки. */
.theme-enterprise .ei-section-head { padding-bottom: 22px; margin-bottom: 28px; }
.theme-enterprise .ei-section-head--catalog { padding-bottom: 24px; margin-bottom: 30px; }
.theme-enterprise .ei-section-head--feature { padding-bottom: 24px; margin-bottom: 38px; }
.theme-enterprise .ei-section-head--related { padding-bottom: 20px; margin-bottom: 30px; }
.theme-enterprise .ei-section-head--sub { padding-bottom: 18px; margin-bottom: 26px; }

/* Секция "La nostra storia" на странице about — заголовок по центру, но текст
   абзацев выровнен по левому краю для читаемости (центрирование многострочных
   абзацев ухудшает читаемость); блок центрирован на странице через margin auto.
   (.ei-prose переиспользуется в описании объекта, где нужен обычный левый текст). */
.theme-enterprise .ei-section--story-center .ei-section-head { text-align: center; }
.theme-enterprise .ei-section--story-center .ei-prose { max-width: 700px; margin: 0 auto; text-align: left; }

/* Размерные модификаторы заголовка (h2/h3 внутри детальной страницы). */
.theme-enterprise .ei-section-title--md { font-size: 26px; }
.theme-enterprise .ei-section-title--sm { font-size: 22px; }

/* Панель .ei-search: базовый паддинг + контекстные модификаторы. */
.theme-enterprise .ei-search { padding: 26px 28px; }
.theme-enterprise .ei-search--filter { padding: 24px 26px; }
.theme-enterprise .ei-search--empty { padding: 40px 28px; text-align: center; }
.theme-enterprise .ei-search--sidebar { padding: 26px 24px; position: sticky; top: 20px; }
.theme-enterprise .ei-search--spec { padding: 14px 16px; }
.theme-enterprise .ei-search--spec .ei-field-label { margin-bottom: 4px; }
.theme-enterprise .ei-spec-icon {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    background: rgba(176, 137, 79, .12);
    color: var(--ei-accent);
    font-size: 16px;
}

/* Панель поиска главной, наезжающая на hero. */
.theme-enterprise .ei-search-overlap { position: relative; z-index: 3; }
.theme-enterprise .ei-search--overlap { margin-top: -64px; }

/* Выпадающие автоподсказки поля запроса (общие для всех форм поиска). */
.theme-enterprise .ei-suggest {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    z-index: 1000;
    background: var(--ei-paper);
    border: 1px solid var(--ei-line);
    border-top: none;
    box-shadow: 0 18px 40px -24px rgba(20, 18, 12, .5);
    max-height: 320px;
    overflow-y: auto;
}
.theme-enterprise .ei-suggest:empty { display: none; }
.theme-enterprise .ei-suggest-item {
    display: block;
    padding: 10px 14px;
    font-size: 14px;
    color: var(--ei-ink);
    text-decoration: none;
    border-bottom: 1px solid var(--ei-line);
}
.theme-enterprise .ei-suggest-item:last-child { border-bottom: none; }
.theme-enterprise .ei-suggest-item:hover { background: #F4F1EA; }

/* Компактная форма поиска в шапке (mode=compact). */
.theme-enterprise .ei-search-nav {
    display: flex;
    align-items: stretch;
    width: 100%;
    max-width: 260px;
}
.theme-enterprise .ei-search-nav-input {
    flex: 1 1 auto;
    min-width: 0;
    border: 1px solid var(--ei-line);
    border-right: none;
    background: var(--ei-paper);
    padding: 8px 12px;
    font-family: 'Manrope', sans-serif;
    font-size: 14px;
    color: var(--ei-ink);
    border-radius: 2px 0 0 2px;
}
.theme-enterprise .ei-search-nav-input:focus {
    outline: none;
    border-color: var(--ei-ink);
}
.theme-enterprise .ei-search-nav-btn {
    flex: 0 0 auto;
    border: none;
    background: var(--ei-ink);
    color: #fff;
    padding: 0 14px;
    border-radius: 0 2px 2px 0;
    cursor: pointer;
    transition: background .25s;
}
.theme-enterprise .ei-search-nav-btn:hover { background: #000; }

/* Характеристики и описание объекта. */
.theme-enterprise .ei-spec-value { font-weight: 600; }
.theme-enterprise .ei-prose { line-height: 1.7; }

/* Галерея детальной: крупное основное фото + лента превью. */
.theme-enterprise .ei-gallery { height: 420px; border-radius: 3px; overflow: hidden; }
.theme-enterprise .ei-gallery .ei-card-media-empty { font-size: 80px; }
.theme-enterprise .ei-thumb {
    width: 96px;
    height: 72px;
    object-fit: cover;
    border-radius: 2px;
    cursor: pointer;
    border: 1px solid var(--ei-line);
    transition: border-color .15s ease, opacity .15s ease;
}
.theme-enterprise .ei-thumb:hover { border-color: var(--ei-accent); opacity: .9; }

/* Основное фото галереи кликабельно → открывает модалку-карусель. */
.theme-enterprise .ei-gallery { position: relative; }
.theme-enterprise #ei-gallery-main { cursor: zoom-in; }
.theme-enterprise .ei-gallery-zoom,
.theme-enterprise .ei-gallery-count {
    position: absolute;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    background: rgba(31, 42, 61, .66);
    color: #fff;
    font-size: 13px;
    line-height: 1;
    padding: 8px 10px;
    border-radius: 3px;
    pointer-events: none;
    transition: background .15s ease;
}
.theme-enterprise .ei-gallery-zoom { top: 12px; right: 12px; }
.theme-enterprise .ei-gallery-count { bottom: 12px; right: 12px; }
.theme-enterprise .ei-gallery:hover .ei-gallery-zoom { background: var(--ei-accent); }

/* Полноэкранная модалка-галерея — тёмный лайтбокс (стиль idealista). */
.theme-enterprise .ei-gallery-modal .modal-content { background: #0e0f10; border: 0; color: #fff; }

/* Верхняя панель: адрес · счётчик · закрыть. */
.theme-enterprise .ei-gallery-bar {
    display: flex;
    align-items: center;
    gap: 16px;
    flex: 0 0 auto;
    padding: 14px 20px;
}
.theme-enterprise .ei-gallery-title {
    flex: 1 1 auto;
    min-width: 0;
    font-size: 15px;
    font-weight: 600;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
    color: #f2f2f2;
}
.theme-enterprise .ei-gallery-counter {
    flex: 0 0 auto;
    font-size: 14px;
    color: #b9b9b9;
    font-variant-numeric: tabular-nums;
}
.theme-enterprise .ei-gallery-close {
    flex: 0 0 auto;
    width: 40px;
    height: 40px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
    font-size: 18px;
    cursor: pointer;
    transition: background .15s ease;
}
.theme-enterprise .ei-gallery-close:hover { background: rgba(255, 255, 255, .2); }

/* Сцена с фото. */
.theme-enterprise .ei-gallery-modal .modal-body { position: relative; flex: 1 1 auto; min-height: 0; }
.theme-enterprise .ei-gallery-modal .carousel { position: absolute; inset: 0; }
.theme-enterprise .ei-gallery-modal .carousel-inner { height: 100%; }
.theme-enterprise .ei-gallery-modal .carousel-item { height: 100%; box-sizing: border-box; }
.theme-enterprise .ei-gallery-modal .carousel-item.active,
.theme-enterprise .ei-gallery-modal .carousel-item-next,
.theme-enterprise .ei-gallery-modal .carousel-item-prev {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
}
.theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-item.active,
.theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-item-next,
.theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-item-prev { padding-bottom: 108px; }
.theme-enterprise .ei-gallery-modal .carousel-item img {
    max-width: 100%;
    max-height: 100%;
    object-fit: contain;
    border-radius: 3px;
}

/* Боковые стрелки. */
.theme-enterprise .ei-gallery-modal .carousel-control-prev,
.theme-enterprise .ei-gallery-modal .carousel-control-next { width: 9%; opacity: .9; }
.theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-control-prev,
.theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-control-next { bottom: 96px; }
.theme-enterprise .ei-gallery-modal .carousel-control-prev-icon,
.theme-enterprise .ei-gallery-modal .carousel-control-next-icon {
    width: 3rem;
    height: 3rem;
    background-color: rgba(0, 0, 0, .4);
    border-radius: 50%;
    background-size: 42%;
}

/* Лента миниатюр = индикаторы карусели. */
.theme-enterprise .ei-gallery-strip.carousel-indicators {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    margin: 0;
    padding: 12px 16px;
    gap: 8px;
    justify-content: flex-start;
    flex-wrap: nowrap;
    overflow-x: auto;
    overflow-y: hidden;
    background: linear-gradient(to top, rgba(0, 0, 0, .8), rgba(0, 0, 0, 0));
    scrollbar-width: thin;
}
.theme-enterprise .ei-gallery-strip.carousel-indicators button {
    flex: 0 0 auto;
    box-sizing: border-box;
    width: 96px;
    height: 68px;
    margin: 0;
    padding: 0;
    border: 2px solid transparent;
    border-radius: 4px;
    overflow: hidden;
    opacity: .5;
    text-indent: 0;
    background: none;
    transition: opacity .15s ease, border-color .15s ease;
}
.theme-enterprise .ei-gallery-strip.carousel-indicators button img { width: 100%; height: 100%; object-fit: cover; display: block; }
.theme-enterprise .ei-gallery-strip.carousel-indicators button:hover { opacity: .85; }
.theme-enterprise .ei-gallery-strip.carousel-indicators button.active { opacity: 1; border-color: #fff; }

/* Адаптив галереи под разные экраны. */
@media (max-width: 991.98px) {
    .theme-enterprise .ei-gallery { height: 360px; }
}
@media (max-width: 575.98px) {
    .theme-enterprise .ei-gallery { height: 260px; }
    .theme-enterprise .ei-thumb { width: 72px; height: 54px; }
    .theme-enterprise .ei-gallery-bar { padding: 10px 14px; gap: 10px; }
    .theme-enterprise .ei-gallery-title { font-size: 13px; }
    .theme-enterprise .ei-gallery-modal .carousel-item.active,
    .theme-enterprise .ei-gallery-modal .carousel-item-next,
    .theme-enterprise .ei-gallery-modal .carousel-item-prev { padding: 8px; }
    .theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-item.active,
    .theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-item-next,
    .theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-item-prev { padding-bottom: 84px; }
    .theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-control-prev,
    .theme-enterprise .ei-gallery-modal .ei-has-strip .carousel-control-next { bottom: 76px; }
    .theme-enterprise .ei-gallery-modal .carousel-control-prev-icon,
    .theme-enterprise .ei-gallery-modal .carousel-control-next-icon { width: 2.2rem; height: 2.2rem; }
    .theme-enterprise .ei-gallery-strip.carousel-indicators { padding: 10px 12px; gap: 6px; }
    .theme-enterprise .ei-gallery-strip.carousel-indicators button { width: 64px; height: 48px; }
}

/* Цена крупным кеглем на детальной странице. */
.theme-enterprise .ei-price--lg { font-size: 34px; }

/* Модификаторы кнопок. */
.theme-enterprise .ei-cta--wide { padding: 0 42px; }
.theme-enterprise .ei-cta--block { height: 48px; }
.theme-enterprise .ei-ghost--block { padding: 13px 0; }

/* Плотность списков контактов в боковой колонке и блоке офиса. */
.theme-enterprise .ei-office-contacts .ei-footer-list { gap: 8px; }
.theme-enterprise .ei-contact-box .ei-footer-list { gap: 12px; }

/* Hero главной и его внутренний отступ. */
.theme-enterprise .ei-hero { height: 560px; }
.theme-enterprise .ei-hero-content { padding-top: 78px; }

/* Верхняя утилити-полоса. */
.theme-enterprise .ei-topbar-inner { height: 42px; }

/* Подвал: внутренние вертикальные отступы. */
.theme-enterprise .ei-footer-inner { padding-top: 62px; padding-bottom: 30px; }
.theme-enterprise .ei-footer-top { padding-bottom: 46px; }
.theme-enterprise .ei-footer-note { font-size: 13.5px; }
.theme-enterprise .ei-footer-bottom { padding-top: 24px; }

/* ============================================================
   Полоса заголовка CMS-страниц (/page/{slug}): белая лента с
   заголовком и акцентной чертой.
   ============================================================ */
.theme-enterprise .ei-page-strip {
    background: var(--ei-paper);
    border-bottom: 1px solid var(--ei-line);
    padding: 28px 0;
}
.theme-enterprise .ei-page-strip-title {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0;
    font-size: 30px;
    font-weight: 700;
    color: var(--ei-ink);
    letter-spacing: -.01em;
}
.theme-enterprise .ei-page-strip-line {
    display: inline-block;
    width: 36px;
    height: 3px;
    border-radius: 2px;
    background: var(--ei-accent);
    flex-shrink: 0;
}

/* ============================================================
   Визитки офисов на странице контактов (шорткод [uffici]):
   единая панель «список слева + карта справа», карточки с
   активным состоянием, синхронизированные с маркерами карты.
   ============================================================ */
.theme-enterprise .ei-uffici { margin: 28px 0 8px; }

.theme-enterprise .ei-uffici-panel {
    display: grid;
    grid-template-columns: 340px 1fr;
    background: var(--ei-paper);
    border: 1px solid var(--ei-line);
    border-radius: 10px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(31, 36, 48, .06);
}
.theme-enterprise .ei-uffici-panel--no-map { grid-template-columns: 1fr; }

.theme-enterprise .ei-uffici-list {
    overflow-y: auto;
    max-height: 640px;
    border-right: 1px solid var(--ei-line);
}
.theme-enterprise .ei-uffici-panel--no-map .ei-uffici-list {
    max-height: none;
    border-right: none;
}

/* Карточка офиса: строки-разделители внутри панели, слева полоса
   активного состояния, сede principale помечена жёлтым брендовым кантом. */
.theme-enterprise .ei-uffici-card {
    padding: 22px 24px;
    border-bottom: 1px solid var(--ei-line);
    border-left: 4px solid transparent;
    transition: background .18s ease, border-color .18s ease;
}
.theme-enterprise .ei-uffici-card:last-child { border-bottom: none; }
.theme-enterprise .ei-uffici-card[data-office-id] { cursor: pointer; }
.theme-enterprise .ei-uffici-card[data-office-id]:hover { background: #f2f7fa; }
.theme-enterprise .ei-uffici-card.is-active {
    background: #e9f3f8;
    border-left-color: var(--ei-accent);
}
/* Жёлтый — бренд из шапки (лого на жёлтом), приглушён до #FFD600 для контента. */
.theme-enterprise .ei-uffici-card.is-main { box-shadow: inset 0 3px 0 #FFD600; }

.theme-enterprise .ei-uffici-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
}
.theme-enterprise .ei-uffici-name {
    margin: 0;
    font-size: 17px;
    font-weight: 700;
    line-height: 1.3;
    color: var(--ei-ink);
}
.theme-enterprise .ei-uffici-badge {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    padding: 3px 10px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ei-ink);
    background: #FFD600;
    border-radius: 999px;
    white-space: nowrap;
}
.theme-enterprise .ei-uffici-badge i { font-size: 10px; }

.theme-enterprise .ei-uffici-row {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 0;
    border-bottom: 1px solid var(--ei-line);
    font-size: 14.5px;
    line-height: 1.5;
    color: var(--ei-ink);
}
.theme-enterprise .ei-uffici-row:last-child { border-bottom: none; padding-bottom: 0; }
.theme-enterprise .ei-uffici-row i {
    margin-top: 4px;
    width: 18px;
    text-align: center;
    color: var(--ei-accent);
    flex-shrink: 0;
}
.theme-enterprise .ei-uffici-label {
    display: block;
    margin-bottom: 1px;
    font-size: 10.5px;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase;
    color: var(--ei-muted);
}
.theme-enterprise .ei-uffici-row a { color: var(--ei-ink); text-decoration: none; }
.theme-enterprise .ei-uffici-row a:hover { color: var(--ei-accent); }

.theme-enterprise .ei-uffici-map { height: 640px; width: 100%; z-index: 1; }

/* Попапы Leaflet в стиле темы (акцентный кант сверху). */
.theme-enterprise .leaflet-popup-content-wrapper {
    border-radius: 8px;
    border-top: 3px solid var(--ei-accent);
    box-shadow: 0 8px 40px rgba(31, 36, 48, .18);
}
.theme-enterprise .ei-uffici-popup-name {
    font-size: 14px;
    font-weight: 700;
    color: var(--ei-ink);
    margin-bottom: 2px;
}
.theme-enterprise .ei-uffici-popup-addr { font-size: 12.5px; color: var(--ei-muted); }
.theme-enterprise .ei-uffici-popup-tel {
    font-size: 13px;
    font-weight: 600;
    color: var(--ei-accent);
    margin-top: 6px;
}

@media (max-width: 991.98px) {
    .theme-enterprise .ei-uffici-panel { grid-template-columns: 1fr; }
    .theme-enterprise .ei-uffici-list {
        max-height: none;
        border-right: none;
        border-bottom: 1px solid var(--ei-line);
    }
    .theme-enterprise .ei-uffici-map { height: 400px; }
}
.theme-enterprise .ei-office-contacts {
    list-style: none;
    margin: 0;
    padding: 0;
}
.theme-enterprise .ei-office-contacts li {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    padding: 9px 0;
    border-top: 1px solid var(--ei-line);
    font-size: 15px;
    line-height: 1.5;
    color: var(--ei-ink);
}
.theme-enterprise .ei-office-contacts li:first-child { border-top: 0; padding-top: 0; }
.theme-enterprise .ei-office-contacts li i {
    margin-top: 3px;
    width: 18px;
    text-align: center;
    color: var(--ei-accent);
    flex-shrink: 0;
}
.theme-enterprise .ei-office-contacts a { color: var(--ei-ink); text-decoration: none; }
.theme-enterprise .ei-office-contacts a:hover { color: var(--ei-accent); }

/* ============================================================
   Внутренние страницы: Chi siamo (about) и Servizi (services).
   ============================================================ */

/* --- Hero внутренних страниц (тёмный, без изображения) --- */
.theme-enterprise .ei-page-hero {
    background: var(--ei-dark);
    color: #fff;
    padding: 90px 0 86px;
}
.theme-enterprise .ei-page-hero-content { max-width: 720px; }
.theme-enterprise .ei-page-title {
    font-weight: 500;
    font-size: 52px;
    line-height: 1.06;
    margin: 0;
    letter-spacing: .005em;
    /* Белый на тёмном page-hero (перебивает глобальный --ei-ink для h1). */
    color: #fff;
}
.theme-enterprise .ei-page-lead {
    font-weight: 300;
    font-size: 17px;
    line-height: 1.6;
    color: rgba(255, 255, 255, .85);
    max-width: 560px;
}
/* .ei-page-hero-actions → утилиты BS в разметке (.d-flex .flex-wrap .gap-3). */

/* --- Кнопки: дополнительные размеры/варианты --- */
.theme-enterprise .ei-cta--lg { height: 50px; padding: 0 30px; }
.theme-enterprise .ei-cta--ghost {
    background: transparent;
    border: 1px solid rgba(255, 255, 255, .55);
    color: #fff;
}
.theme-enterprise .ei-cta--ghost:hover { background: rgba(255, 255, 255, .12); color: #fff; }
.theme-enterprise .ei-cta--light { background: #fff; color: var(--ei-ink); }
.theme-enterprise .ei-cta--light:hover { background: var(--ei-accent); color: #fff; }

/* --- Полоса цифр --- */
.theme-enterprise .ei-numeri {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 1px;
    background: var(--ei-line);
    border: 1px solid var(--ei-line);
    border-radius: 4px;
    overflow: hidden;
    margin-top: 40px;
}
.theme-enterprise .ei-numeri-item {
    background: var(--ei-surface);
    padding: 30px 24px;
    text-align: center;
}
.theme-enterprise .ei-numeri-value {
    display: block;
    font-size: 40px;
    font-weight: 500;
    line-height: 1;
    color: var(--ei-accent);
}
.theme-enterprise .ei-numeri-label {
    display: block;
    margin-top: 8px;
    font-size: 13px;
    letter-spacing: .06em;
    color: var(--ei-muted);
}

/* --- Секции внутренних страниц --- */
.theme-enterprise .ei-section--page { padding-top: 56px; padding-bottom: 0; }
.theme-enterprise .ei-section-actions { margin-top: 34px; }

/* --- Текстовый блок (история) --- */
.theme-enterprise .ei-prose { max-width: 760px; }
.theme-enterprise .ei-prose p {
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--ei-ink);
    margin: 0 0 18px;
}
.theme-enterprise .ei-prose p:last-child { margin-bottom: 0; }
.theme-enterprise .ei-prose strong { font-weight: 600; }

/* --- Блог --- */
/* Редакционная колонка ~760px (как .ei-prose): лента и статья не тянутся
   на весь контейнер. Лента — не карточки, а «оглавление журнала»:
   дата капителью, крупный заголовок, выдержка, разделители между записями. */
.theme-enterprise .ei-blog-index,
.theme-enterprise .ei-blog-view { max-width: 760px; }

.theme-enterprise .ei-blog-intro {
    font-size: 16.5px;
    line-height: 1.7;
    color: var(--ei-muted);
    margin: 0 0 36px;
    padding-bottom: 28px;
    border-bottom: 1px solid var(--ei-line);
}

.theme-enterprise .ei-blog-entry + .ei-blog-entry {
    margin-top: 36px;
    padding-top: 36px;
    border-top: 1px solid var(--ei-line);
}

.theme-enterprise .ei-blog-entry-cover {
    display: block;
    margin-bottom: 20px;
    border-radius: 6px;
    overflow: hidden;
}
.theme-enterprise .ei-blog-entry-cover img {
    width: 100%;
    aspect-ratio: 21 / 9;
    object-fit: cover;
    display: block;
    transition: transform .35s ease;
}
.theme-enterprise .ei-blog-entry:hover .ei-blog-entry-cover img { transform: scale(1.02); }

.theme-enterprise .ei-blog-entry-date {
    font-size: 12px;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ei-muted);
    margin-bottom: 10px;
}

.theme-enterprise .ei-blog-entry-title {
    font-size: 26px;
    line-height: 1.25;
    margin: 0 0 12px;
}
.theme-enterprise .ei-blog-entry-title a {
    color: var(--ei-ink);
    text-decoration: none;
}
.theme-enterprise .ei-blog-entry-title a:hover { color: var(--ei-accent); }

.theme-enterprise .ei-blog-entry-excerpt {
    font-size: 16px;
    line-height: 1.7;
    color: var(--ei-ink);
    margin: 0 0 14px;
}

.theme-enterprise .ei-blog-entry-more {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    color: var(--ei-accent);
    text-decoration: none;
}
.theme-enterprise .ei-blog-entry-more:hover { color: var(--bs-link-hover-color); text-decoration: underline; }

/* Статья: обложка и типографика контента из редактора (заголовки, списки,
   цитаты, картинки) — важные материалы должны читаться как публикация. */
.theme-enterprise .ei-blog-cover {
    width: 100%;
    border-radius: 6px;
    display: block;
}

.theme-enterprise .ei-blog-content {
    font-size: 16.5px;
    line-height: 1.75;
    color: var(--ei-ink);
}
.theme-enterprise .ei-blog-content p { margin: 0 0 18px; }
.theme-enterprise .ei-blog-content h2,
.theme-enterprise .ei-blog-content h3 {
    margin: 34px 0 14px;
    line-height: 1.3;
}
.theme-enterprise .ei-blog-content h2 { font-size: 24px; }
.theme-enterprise .ei-blog-content h3 { font-size: 19px; }
.theme-enterprise .ei-blog-content ul,
.theme-enterprise .ei-blog-content ol {
    margin: 0 0 18px;
    padding-left: 26px;
}
.theme-enterprise .ei-blog-content li { margin-bottom: 8px; }
.theme-enterprise .ei-blog-content blockquote {
    margin: 26px 0;
    padding: 4px 0 4px 20px;
    border-left: 3px solid var(--ei-accent);
    color: var(--ei-muted);
    font-size: 17.5px;
}
.theme-enterprise .ei-blog-content img {
    max-width: 100%;
    height: auto;
    border-radius: 6px;
    margin: 8px 0 18px;
}
.theme-enterprise .ei-blog-content figure { margin: 26px 0; }
.theme-enterprise .ei-blog-content figcaption {
    font-size: 13px;
    color: var(--ei-muted);
    margin-top: 8px;
}
.theme-enterprise .ei-blog-content hr {
    border: 0;
    border-top: 1px solid var(--ei-line);
    margin: 32px 0;
}
.theme-enterprise .ei-blog-content table {
    width: 100%;
    border-collapse: collapse;
    margin: 0 0 18px;
    font-size: 15.5px;
}
.theme-enterprise .ei-blog-content th,
.theme-enterprise .ei-blog-content td {
    border: 1px solid var(--ei-line);
    padding: 8px 12px;
    text-align: left;
}
.theme-enterprise .ei-blog-content th { background: var(--ei-surface); }

.theme-enterprise .ei-blog-back {
    padding-top: 22px;
    border-top: 1px solid var(--ei-line);
}
.theme-enterprise .ei-blog-back a {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .08em;
    text-transform: uppercase;
    text-decoration: none;
}
.theme-enterprise .ei-blog-back a:hover { text-decoration: underline; }

/* --- Карточки-ценности / макро-услуги --- */
/* Сетка — утилитами BS в разметке (.row .row-cols-1 .row-cols-sm-2
   .row-cols-lg-4 .g-4), не своим grid. Карточка h-100 в .col для равной высоты. */
/* Панель-ценность — компонент .card (bg/border/radius/паддинг из токенов
   .theme-enterprise .card); подъём при наведении — общий класс .ei-lift. */
.theme-enterprise .ei-value-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background: rgba(168, 137, 90, .12);
    color: var(--ei-accent);
    font-size: 20px;
    margin-bottom: 18px;
}
.theme-enterprise .ei-value-title {
    font-size: 18px;
    font-weight: 600;
    color: var(--ei-ink);
    margin: 0 0 8px;
}
.theme-enterprise .ei-value-text {
    font-size: 14.5px;
    line-height: 1.55;
    color: var(--ei-muted);
    margin: 0;
}

/* --- Строка «седь» (краткая, без карточек) --- */
.theme-enterprise .ei-sedi-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 18px;
    background: var(--ei-surface);
    border: 1px solid var(--ei-line);
    border-radius: 4px;
    padding: 26px 28px;
}
.theme-enterprise .ei-sedi-text { margin: 0; font-size: 16.5px; color: var(--ei-ink); }
.theme-enterprise .ei-sedi-text i { color: var(--ei-accent); margin-right: 8px; }

/* --- Сетка категорий услуг --- */
/* Сетка — утилитами BS в разметке (.row .row-cols-1 .row-cols-lg-2 .g-4).
   Карточка h-100 в .col для равной высоты. */
/* Карточка услуги — компонент .card; колонка/паддинг — .card-body d-flex
   flex-column в разметке; подъём — .ei-lift. */
.theme-enterprise .ei-service-card-head {
    display: flex;
    align-items: center;
    gap: 14px;
    padding-bottom: 18px;
    margin-bottom: 18px;
    border-bottom: 1px solid var(--ei-line);
}
.theme-enterprise .ei-service-num {
    font-size: 13px;
    font-weight: 600;
    letter-spacing: .1em;
    color: var(--ei-accent);
}
.theme-enterprise .ei-service-icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    background: rgba(168, 137, 90, .12);
    color: var(--ei-accent);
    font-size: 18px;
}
.theme-enterprise .ei-service-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--ei-ink);
    margin: 0;
}
.theme-enterprise .ei-service-list { list-style: none; margin: 0; padding: 0; }
.theme-enterprise .ei-service-list li {
    display: flex;
    align-items: flex-start;
    gap: 11px;
    padding: 9px 0;
    font-size: 15px;
    line-height: 1.5;
    color: var(--ei-ink);
}
.theme-enterprise .ei-service-list li i {
    margin-top: 4px;
    font-size: 12px;
    color: var(--ei-accent);
    flex-shrink: 0;
}

/* --- Финальная CTA-полоса --- */
.theme-enterprise .ei-cta-band {
    background: var(--ei-dark);
    color: #fff;
    margin-top: 72px;
    padding: 56px 0;
}
/* Раскладка полосы — утилитами BS в разметке
   (.d-flex .flex-wrap .align-items-center .justify-content-between .gap-4). */
.theme-enterprise .ei-cta-band-title {
    font-size: 28px;
    font-weight: 500;
    line-height: 1.2;
    margin: 0;
    max-width: 640px;
}
.theme-enterprise .ei-cta-band-text {
    margin: 10px 0 0;
    font-size: 15px;
    color: rgba(255, 255, 255, .7);
}

/* --- Адаптив внутренних страниц --- */
@media (max-width: 991.98px) {
    .theme-enterprise .ei-page-title { font-size: 40px; }
    .theme-enterprise .ei-numeri-value { font-size: 32px; }
}
@media (max-width: 575.98px) {
    .theme-enterprise .ei-page-hero { padding: 64px 0 60px; }
    .theme-enterprise .ei-page-title { font-size: 32px; }
    .theme-enterprise .ei-numeri { grid-template-columns: 1fr; }
    .theme-enterprise .ei-cta-band-title { font-size: 23px; }
}

/* ============================================================
   Широкие экраны (xxl ≥1400px): контент во всю ширину.
   Выбор: fluid вместо фикс. 1320px. .container раскрывается на
   всю ширину с комфортными боковыми отступами — правило одно,
   действует на все секции, шапку и подвал (все на .container).
   Сетки объектов добавляют 4-ю колонку (row-cols-xxl-4 в разметке).
   Текстовые блоки (hero/lead/prose/cta-band-title) уже с max-width,
   поэтому не растягиваются и остаются читаемыми.
   ============================================================ */
@media (min-width: 1400px) {
    .theme-enterprise .container {
        max-width: 100%;
        padding-left: 2.5rem;
        padding-right: 2.5rem;
    }
}

/* Панель поиска на hero не тянем во всю ширину — форму держим читаемой. */
.theme-enterprise .ei-search--overlap {
    max-width: 1240px;
    margin-left: auto;
    margin-right: auto;
}

/* Подвал на ультрашироких: контент капим по левому краю (в ряд с секциями
   выше), иначе 3 колонки «плавают» в пустоте на 2560px. Тёмная полоса
   (.ei-footer) при этом остаётся во всю ширину. */
@media (min-width: 1400px) {
    .theme-enterprise .ei-footer-top,
    .theme-enterprise .ei-footer-bottom {
        max-width: 1500px;
    }
}

/* ============================================================= *
 *  Classic — шапка с центрированным лого и синей навигацией
 *  (переопределяет унаследованную от primary шапку ei-header)
 * ============================================================= */

/* Утилити-полоса — синяя, светлый текст (фирменный синий). */
.theme-enterprise .ei-topbar {
    background: var(--ei-dark);
    color: #dbe5f4;
    border: 0;
}
.theme-enterprise .ei-topbar .ei-tagline {
    color: #aec4e4;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-size: 11px;
}
.theme-enterprise .ei-topbar a,
.theme-enterprise .ei-topbar .ei-phone {
    color: #ffffff;
    text-decoration: none;
}
.theme-enterprise .ei-topbar a:hover {
    color: var(--ei-cream);
    text-decoration: underline;
}

/* Полоса с логотипом — фирменный ЖЁЛТЫЙ фон оригинальной прод-темы (#FFF300).
   Логотип logo-euro.gif сам отрисован на этом жёлтом (доминирующий фон GIF —
   ровно #FFF300), поэтому полоса и картинка сливаются без шва, а лого читается
   Жёлтый здесь — НЕ заглушка, а часть айдентики. */
.theme-enterprise .ei-logo-band {
    /* Лёгкое затемнение к низу полосы — жёлтый гасится в окантовку постепенно,
       а не обрывается плоским прямоугольником в графит. Кант — циан из самого
       лого (--ei-accent-bright, символ EURO), не бронза: жёлтый и синий уже
       соседствуют в оригинальной картинке, шов читается как продолжение лого. */
    background: linear-gradient(180deg, #FFF300 0%, #FFF300 78%, #f0d84a 100%);
    padding: 10px 0 8px;
    border-bottom: 5px solid var(--ei-accent-bright);
    box-shadow: 0 3px 8px rgba(16, 20, 28, .35);
    position: relative;
    z-index: 1;
}
.theme-enterprise .ei-logo-img {
    height: 92px;
    width: auto;
    max-width: 100%;
}
@media (max-width: 575.98px) {
    .theme-enterprise .ei-logo-img { height: 64px; }
    .theme-enterprise .ei-logo-band { padding: 8px 0 6px; }
}

/* Навигационная полоса — строгий графит, ссылки по центру. */
.theme-enterprise .ei-navbar {
    background: var(--ei-dark);
    background-image: linear-gradient(180deg, var(--ei-graphite-light) 0%, var(--ei-dark) 100%);
    box-shadow: inset 0 3px 8px rgba(0, 0, 0, .25);
    border-bottom: 2px solid var(--ei-accent-bright);
}
.theme-enterprise .ei-navbar .ei-nav .nav-link,
.theme-enterprise .ei-navbar .ei-nav .nav-link.ei-link {
    color: #ffffff;
    font-weight: 500;
    letter-spacing: .04em;
    text-transform: uppercase;
    font-size: 13.5px;
    padding: 14px 18px;
    border-radius: 0;
    transition: background-color .15s ease;
}
.theme-enterprise .ei-navbar .ei-nav .nav-link:hover {
    color: #ffffff;
    background: rgba(255, 255, 255, .14);
}
.theme-enterprise .ei-navbar .ei-nav .nav-item.active .nav-link,
.theme-enterprise .ei-navbar .ei-nav .nav-link.active {
    color: #ffffff;
    background: var(--ei-accent);
}

/* Бургер на мобильных — белый контур поверх синей полосы. */
.theme-enterprise .ei-navbar .navbar-toggler {
    border-color: rgba(255, 255, 255, .5);
}
.theme-enterprise .ei-navbar .navbar-toggler-icon {
    filter: invert(1) grayscale(1) brightness(2);
}

/* ============================================================= *
 *  Classic — hero-слайдер главной (CSS-крослфейд, без JS)
 * ============================================================= */
.theme-enterprise .ei-hero--slider {
    background-size: cover;
    background-position: center;
}
.theme-enterprise .ei-slider {
    position: absolute;
    inset: 0;
    z-index: 0;
}
.theme-enterprise .ei-slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    opacity: 0;
    animation: ei-slide-fade 32s infinite;
}
.theme-enterprise .ei-slide:nth-child(1) { animation-delay: 0s; }
.theme-enterprise .ei-slide:nth-child(2) { animation-delay: 8s; }
.theme-enterprise .ei-slide:nth-child(3) { animation-delay: 16s; }
.theme-enterprise .ei-slide:nth-child(4) { animation-delay: 24s; }

@keyframes ei-slide-fade {
    0%   { opacity: 0; }
    6%   { opacity: 1; }
    25%  { opacity: 1; }
    31%  { opacity: 0; }
    100% { opacity: 0; }
}

/* Оверлей слайдера — синий, чтобы белый текст hero читался (тон
   синий, а не тёплый). */
.theme-enterprise .ei-hero--slider .ei-hero-overlay {
    z-index: 1;
    background: linear-gradient(180deg,
        rgba(20, 24, 33, .62) 0%,
        rgba(20, 24, 33, .38) 40%,
        rgba(14, 17, 24, .78) 100%);
}
.theme-enterprise .ei-hero--slider .container { z-index: 2; }

/* Уважаем prefers-reduced-motion: останавливаем анимацию, показываем 1-й слайд. */
@media (prefers-reduced-motion: reduce) {
    .theme-enterprise .ei-slide { animation: none; }
    .theme-enterprise .ei-slide:nth-child(1) { opacity: 1; }
}

/* ============================================================= *
 *  Enterprise — полировка карточек объекта (графит+бронза вместо
 *  сине-кремовых оттенков)
 * ============================================================= */
.theme-enterprise .ei-card-media { background: #e7e8eb; }
.theme-enterprise .ei-card-media-empty { color: #a9adb5; }

/* Бейдж контракта (Vendita/Affitto) — графитовый фирменный. */
.theme-enterprise .ei-tag {
    background: var(--ei-dark);
    backdrop-filter: none;
}
.theme-enterprise .ei-photos { background: rgba(31, 36, 48, .72); }

/* Цена — бронзовый акцент enterprise (не зелёный). */
.theme-enterprise .ei-price,
.theme-enterprise .ei-price-cur,
.theme-enterprise .ei-price--lg {
    font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    font-weight: 700;
    color: var(--ei-price);
}
.theme-enterprise .ei-meta-dot { background: #a9adb5; }

/* ===================== Плотная сетка карточек (стиль cian.ru) =====================
   Компактное фото 4:3, цена крупным жирным сразу под фото, строка характеристик,
   локация мелким серым — без заголовка-серифа и футера-ссылки (весь блок кликабелен). */
.theme-enterprise .ei-card-media--dense {
    height: auto;
    aspect-ratio: 4 / 3;
}

.theme-enterprise .ei-tag--dense {
    top: 10px;
    left: 10px;
    font-size: 9.5px;
    letter-spacing: .12em;
    padding: 4px 9px;
}

.theme-enterprise .ei-photos--dense {
    bottom: 10px;
    right: 10px;
    font-size: 10px;
    padding: 4px 9px;
}

.theme-enterprise .ei-card-body--dense {
    padding: 14px 16px 16px;
}

.theme-enterprise .ei-card-body--dense .ei-price {
    font-size: 20px;
}

.theme-enterprise .ei-card-body--dense .ei-price-cur {
    font-size: 16px;
}

.theme-enterprise .ei-card-specs {
    font-size: 13px;
    color: var(--ei-ink);
    margin-top: 4px;
}

.theme-enterprise .ei-card-location {
    font-size: 12.5px;
    color: var(--ei-muted);
    margin-top: 2px;
}

/* Подвал: брендовый лок-ап тоже без серифа (фирменный Roboto). */
.theme-enterprise .ei-footer-mark,
.theme-enterprise .ei-footer-brand {
    font-family: 'Roboto', system-ui, -apple-system, 'Segoe UI', Arial, sans-serif;
    font-weight: 700;
}

/* «In evidenza» на главной: плотная сетка (стиль cian.ru) — 8 объектов на
   разных брейкпоинтах дают разное число рядов; неполный последний ряд
   допустим и ожидаем в этом плотном стиле (как на самом cian.ru). */
