/*
Theme Name: EventProfe
Theme URI: https://eventprofe.ru
Description: Дочерняя тема для сайта ивент-агентства Профессионал. Прототип структуры и блоков на Bootstrap 5.
Version: 0.7.6
Author: Молостов Илья Владимирович
Author URI: https://molostov.ru
Template: template
Text Domain: eventprofe
Requires PHP: 7.4
*/

/* ================================================
   ДИЗАЙН-ТОКЕНЫ
   ================================================ */

:root {
    /* База — тёплый нейтральный бежевый */
    --ep-base:          #F7F4EF;
    --ep-white:         #FFFFFF;
    --ep-text:          #404040;
    --ep-text-muted:    #6B6B6B;

    /* Бренд — стальной тил */
    --ep-blue:          #3A8FA8;
    --ep-blue-dark:     #2E7A91;
    /* Вторичный синий */
    --ep-blue-link:     #3A8FA8;

    /* CTA — тёплый оранжевый (#F48953 из палитры) */
    --ep-coral:         #F48953;
    --ep-coral-hover:   #D97A3F;

    /* Акцентные — из палитры клиента */
    --ep-sky:           #B4DDFE;   /* нежно-голубой */
    --ep-mint:          #578753;   /* тёмно-зелёный */
    --ep-green-light:   #8CAE55;   /* светло-зелёный */
    --ep-peach:         #FFBC9A;   /* персиковый */
    --ep-peach-soft:    #F5B4AE;   /* мягкий розово-персиковый */
    --ep-yellow-light:  var(--ep-coral);   /* переопределено на коралловый */
    --ep-lavender:      #B595F8;   /* лавандовый */

    /* Signal — переопределено на коралловый */
    --ep-gold:          var(--ep-coral);
    --ep-yellow:        var(--ep-coral);

    /* Compat aliases */
    --ep-dark:          #404040;
    --ep-neutral:       #F7F4EF;
    --ep-primary:       #3A8FA8;

    --shadow-card:      0 2px 12px rgba(64,64,64,.07);
    --shadow-hover:     0 6px 24px rgba(64,64,64,.14);
    --section-py:       clamp(3rem, 7vw, 6rem);
}

/* ================================================
   БАЗОВЫЕ КОМПОНЕНТЫ
   ================================================ */

body {
    color: var(--ep-text);
    font-family: 'Exo 2', sans-serif;
    background: var(--ep-base);
}

/* Bootstrap Icons — корпоративный синий по умолчанию */
.bi { color: var(--ep-blue); }

h1, h2, h3, h4,
.ep-hero__title,
.ep-section-title {
    font-family: 'Exo 2', sans-serif;
    font-weight: 800;
}

/* Секция — замена .proto-section */
.ep-section {
    padding: 3rem 0;
}

/* Кнопка — основной CTA (коралл — единственный конверсионный цвет) */
.ep-btn-primary {
    background: var(--ep-coral);
    color: #fff;
    border: none;
    padding: 0.875rem 2.25rem;
    border-radius: 4px;
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.03em;
    text-decoration: none;
    display: inline-block;
    transition: background .2s, transform .15s, box-shadow .2s;
    cursor: pointer;
    box-shadow: 0 2px 8px rgba(232,107,88,.25);
}
.ep-btn-primary:hover {
    background: var(--ep-coral-hover);
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 16px rgba(232,107,88,.35);
}

/* Кнопка — вторичный CTA (ghost синий) */
.ep-btn-ghost {
    background: transparent;
    color: var(--ep-blue);
    border: 2px solid var(--ep-blue);
    padding: 0.75rem 2rem;
    border-radius: 4px;
    font-weight: 600;
    font-size: 1rem;
    text-decoration: none;
    display: inline-block;
    transition: border-color .2s, background .2s, color .2s;
}
.ep-btn-ghost:hover {
    background: var(--ep-blue);
    border-color: var(--ep-blue);
    color: #fff;
}
/* Ghost на тёмном фоне */
.ep-btn-ghost--light {
    color: #fff;
    border-color: rgba(255,255,255,.6);
}
.ep-btn-ghost--light:hover {
    background: rgba(255,255,255,.15);
    border-color: #fff;
    color: #fff;
}

/* ================================================
   NAVBAR — двухрядный, белый фон
   ================================================ */

.site-header {
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.08);
    position: sticky;
    top: 0;
    z-index: 1000;
}

/* Строка 1: логотип + основная навигация + контакт */
.ep-navbar-top {
    padding: .6rem 0;
    border-bottom: 1px solid rgba(0,0,0,.06);
}

.ep-brand { text-decoration: none; flex-shrink: 0; }
.ep-brand:hover { opacity: .85; }
.ep-brand img { display: block; }

/* Список основного меню */
.ep-primary-nav__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
}
.ep-primary-nav__list li { position: relative; }

.ep-primary-nav__list .nav-link {
    color: rgba(0,0,0,.45) !important;
    font-size: 1.05rem;
    font-weight: 400;
    padding: .4rem .65rem !important;
    transition: color .2s;
    white-space: nowrap;
}
.ep-primary-nav__list .nav-link:hover,
.ep-primary-nav__list .current-menu-item > .nav-link,
.ep-primary-nav__list .nav-link.active {
    color: var(--ep-blue) !important;
}

/* Dropdown основного меню */
@media (hover: hover) and (min-width: 992px) {
    .ep-primary-nav__list li.dropdown:hover > .dropdown-menu { display: block; }
}
.ep-primary-nav__list .dropdown-menu {
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 6px;
    padding: .4rem 0;
    min-width: 180px;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
}
.ep-primary-nav__list .dropdown-menu .nav-link,
.ep-primary-nav__list .dropdown-menu .dropdown-item {
    padding: .45rem 1rem !important;
    font-size: 1rem;
    color: rgba(0,0,0,.7) !important;
    white-space: nowrap;
    background: transparent;
}
.ep-primary-nav__list .dropdown-menu .nav-link:hover,
.ep-primary-nav__list .dropdown-menu .dropdown-item:hover {
    background: rgba(61,85,184,.05);
    color: var(--ep-blue) !important;
}
.ep-primary-nav__list .dropdown-toggle::after {
    border-top-color: rgba(0,0,0,.4);
    vertical-align: .1em;
}

/* Контакт в шапке */
.ep-navbar-contact {
    font-size: 1rem;
    color: rgba(0,0,0,.45);
    white-space: nowrap;
    line-height: 1.4;
}
.ep-navbar-contact strong { color: rgba(0,0,0,.6); font-weight: 600; }
.ep-navbar-contact a { color: rgba(0,0,0,.55); text-decoration: none; transition: color .2s; }
.ep-navbar-contact a:hover { color: var(--ep-dark); }

/* Строка 2: вторичная навигация + CTA */
.ep-navbar-bottom { padding: .4rem 0; }

.ep-nav-secondary { display: flex; align-items: center; gap: 1.75rem; }
.ep-nav-secondary > a,
.ep-nav-secondary .ep-nav-dd > a {
    font-size: 1.05rem;
    color: rgba(0,0,0,.82);
    text-decoration: none;
    font-weight: 600;
    padding: .35rem 0;
    transition: color .2s;
    white-space: nowrap;
}
.ep-nav-secondary > a:hover,
.ep-nav-secondary > a.active,
.ep-nav-secondary .ep-nav-dd > a:hover { color: var(--ep-blue); }

/* Dropdown в нижней строке (Звёздный «паровоз» → Артисты) */
.ep-nav-dd {
    position: relative;
}
.ep-nav-dd__menu {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    background: #fff;
    border: 1px solid rgba(0,0,0,.08);
    border-radius: 6px;
    padding: .4rem 0;
    min-width: 160px;
    box-shadow: 0 8px 24px rgba(0,0,0,.1);
    z-index: 1000;
    list-style: none;
    margin: 0;
}
.ep-nav-dd__menu li a {
    display: block;
    padding: .45rem 1rem;
    font-size: 1rem;
    color: rgba(0,0,0,.7);
    text-decoration: none;
    font-weight: 500;
    white-space: nowrap;
    transition: background .15s, color .15s;
}
.ep-nav-dd__menu li a:hover {
    background: rgba(61,85,184,.05);
    color: var(--ep-blue);
}
@media (hover: hover) and (min-width: 992px) {
    .ep-nav-dd:hover .ep-nav-dd__menu { display: block; }
}

/* Мобильный бургер */
.ep-navbar-toggler {
    border: 1px solid rgba(0,0,0,.18);
    background: transparent;
    padding: .3rem .5rem;
    border-radius: 4px;
    cursor: pointer;
    line-height: 1;
    display: flex;
    align-items: center;
}

/* Мобильное меню */
.ep-mobile-nav {
    border-top: 1px solid rgba(0,0,0,.08);
    background: #fff;
    padding: .75rem 0 1.25rem;
}
.ep-mobile-nav .ep-primary-nav__list {
    flex-direction: column;
    align-items: flex-start;
    width: 100%;
}
.ep-mobile-nav .ep-primary-nav__list .nav-link {
    padding: .5rem 0 !important;
    font-size: 1.15rem;
    border-bottom: 1px solid rgba(0,0,0,.04);
    width: 100%;
}
.ep-mobile-nav .ep-primary-nav__list .dropdown-menu {
    position: static !important;
    border: none;
    box-shadow: none;
    padding: 0;
    background: transparent;
}
.ep-mobile-nav .ep-primary-nav__list .dropdown-menu .nav-link,
.ep-mobile-nav .ep-primary-nav__list .dropdown-menu .dropdown-item {
    padding: .4rem 0 .4rem 1rem !important;
    font-size: 1.05rem !important;
    border-bottom: 1px solid rgba(0,0,0,.03);
}
.ep-nav-secondary-mobile {
    margin-top: .75rem;
    padding-top: .75rem;
    border-top: 1px solid rgba(0,0,0,.06);
    display: flex;
    flex-direction: column;
}
.ep-nav-secondary-mobile a {
    color: rgba(0,0,0,.55);
    text-decoration: none;
    font-size: 1.1rem;
    padding: .4rem 0;
    border-bottom: 1px solid rgba(0,0,0,.04);
    transition: color .2s;
}
.ep-nav-secondary-mobile a:hover { color: var(--ep-blue); }

/* ================================================
   HERO — Classic Blue фон, белый текст
   ================================================ */

.ep-hero {
    position: relative;
    background: linear-gradient(135deg, #3455A4 0%, #2C6E8A 50%, #3DB59F 100%);
    min-height: 460px;
    display: flex;
    align-items: center;
    padding: 4.5rem 0 5.5rem;
    border-bottom: none;
    overflow: hidden;
}
/* Radial light акценты поверх gradient */
.ep-hero::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.25) 0%, transparent 50%),
        radial-gradient(ellipse at 10% 80%, rgba(61,181,159,.35) 0%, transparent 45%);
    pointer-events: none;
}
.ep-hero > * { position: relative; z-index: 1; }

.ep-hero__title {
    font-size: clamp(1.7rem, 3.8vw, 2.9rem);
    font-weight: 500;
    color: #fff;
    letter-spacing: -0.02em;
    line-height: 1.08;
}
.ep-hero__subtitle {
    font-size: 1.05rem;
    color: rgba(255,255,255,.8);
    margin-top: .75rem;
    margin-bottom: 2rem;
    line-height: 1.55;
}
.ep-hero__proof {
    font-size: .78rem;
    color: rgba(255,255,255,.5);
    margin-top: 1.5rem;
    letter-spacing: .02em;
}
.ep-hero__proof-item { color: rgba(255,255,255,.65); font-weight: 600; }
.ep-hero__proof-sep  { background: rgba(255,255,255,.25); }

/* Ссылка-стрелка в hero на синем фоне */
.ep-hero .ep-link-arrow {
    color: rgba(255,255,255,.9);
}
.ep-hero .ep-link-arrow:hover {
    color: #fff;
}

/* Плейсхолдер фото в hero */
.ep-hero .ep-hero__img-wrap {
    background: rgba(255,255,255,.1) !important;
    border: 1px solid rgba(255,255,255,.2);
    color: rgba(255,255,255,.4) !important;
}

/* Обёртка для изображения в hero (правая колонка) */
.ep-hero__img-wrap {
    border-radius: 6px;
    overflow: hidden;
    aspect-ratio: 4/3;
    background: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
    border: none;
    outline: none;
}
.ep-hero__img-wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border: none;
}

/* Текстовая ссылка со стрелкой */
.ep-link-arrow {
    display: inline-flex;
    align-items: center;
    gap: .4rem;
    color: var(--ep-blue);
    text-decoration: none;
    font-weight: 600;
    font-size: .95rem;
    transition: gap .2s, color .2s;
}
.ep-link-arrow:hover {
    color: var(--ep-blue-dark);
    gap: .7rem;
}

/* ================================================
   КАРТОЧКИ КОМАНДЫ — финальный дизайн
   ================================================ */

/* ================================================
   КОМАНДА — стиль «Чистые карточки»
   ================================================ */
.team-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: box-shadow .25s, transform .2s, border-left-color .2s;
    border-left: 2px solid transparent;
    display: flex;
    flex-direction: column;
}
.team-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-3px);
    border-left-color: var(--ep-coral);
}

/* Обёртка фото — задаёт фиксированное соотношение сторон */
.team-card__photo-wrap {
    width: 100%;
    aspect-ratio: 4 / 5;
    overflow: hidden;
    position: relative;
    background: var(--ep-neutral);
}
/* Фото внутри обёртки — растягивается полностью */
.team-card__photo {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 15%;
    display: block;
    transition: transform .4s ease;
}
.team-card:hover .team-card__photo {
    transform: scale(1.03);
}
.team-card__photo-placeholder {
    width: 100%;
    aspect-ratio: 4 / 5;
    background: var(--ep-neutral);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    color: #ccc;
}

/* Тело карточки */
.team-card__body {
    padding: 1.1rem 1.2rem 1.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.team-card__name {
    font-weight: 700;
    font-size: 1rem;
    color: var(--ep-dark);
    margin: 0 0 0.3rem;
    line-height: 1.25;
}
.team-card__role {
    font-size: 0.68rem;
    color: var(--ep-coral);
    text-transform: uppercase;
    letter-spacing: 0.12em;
    font-weight: 700;
}
.team-card__bio {
    font-size: 0.78rem;
    color: #6c757d;
    line-height: 1.55;
    margin-top: 0.5rem;
    flex: 1;
}
.team-card__phone {
    display: inline-block;
    margin-top: auto;
    padding-top: 0.75rem;
    font-size: 0.82rem;
    color: var(--ep-coral);
    text-decoration: none;
    font-weight: 700;
    opacity: 0;
    transition: opacity .25s;
}
.team-card:hover .team-card__phone { opacity: 1; }

/* Touch-устройства: телефон всегда виден */
@media (hover: none) {
    .team-card__phone { opacity: 1; }
    .team-card { transform: none !important; }
}

/* ================================================
   КОМАНДА — слайдер
   ================================================ */
.ep-team-section { overflow: hidden; }

.ep-team-slider {
    display: flex;
    gap: 1.25rem;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    /* Скрываем полосу прокрутки */
    scrollbar-width: none;
    -ms-overflow-style: none;
    /* Выход за правый край контейнера для peek-эффекта */
    margin-right: calc(var(--bs-gutter-x, 1.5rem) * -.5);
    padding-right: calc(var(--bs-gutter-x, 1.5rem) * .5);
    padding-bottom: 4px; /* чтобы box-shadow карточек не обрезался */
}
.ep-team-slider::-webkit-scrollbar { display: none; }

.ep-team-slide {
    flex: 0 0 calc(33.333% - 0.84rem); /* 3 карточки на десктопе */
    scroll-snap-align: start;
    min-width: 220px;
}

/* Кнопки навигации */
.ep-team-nav { display: flex; gap: 0.5rem; flex-shrink: 0; }

.ep-team-nav__btn {
    width: 38px;
    height: 38px;
    border-radius: 4px;
    border: 1.5px solid var(--ep-blue);
    background: transparent;
    color: var(--ep-blue);
    font-size: 1rem;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s, color .2s;
    display: flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.ep-team-nav__btn:hover {
    background: var(--ep-blue);
    color: #fff;
}
.ep-team-nav__btn:disabled {
    border-color: #ccc;
    color: #ccc;
    cursor: default;
    pointer-events: none;
}

/* Адаптив */
@media (max-width: 767.98px) {
    .ep-team-slide {
        flex: 0 0 calc(50% - 0.625rem); /* 2 карточки + чуть peek */
    }
}
@media (max-width: 479.98px) {
    .ep-team-slide {
        flex: 0 0 calc(75%); /* 1 карточка + peek следующей */
    }
}

/* На очень маленьких экранах */
@media (max-width: 399px) {
    .team-card { aspect-ratio: 3 / 4; }
}

/* ================================================
   ПРОЕКТЫ — карточки
   ================================================ */
.ep-project-card {
    background: #fff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--shadow-card);
    transition: box-shadow .2s, transform .2s;
    display: flex;
    flex-direction: column;
    border-left: 2px solid transparent;
}
.ep-project-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-3px);
    border-left-color: var(--ep-coral);
}
.ep-project-card__img-wrap {
    width: 100%;
    height: 220px;
    overflow: hidden;
    position: relative;
    background-color: #111;
    background-size: cover;
    background-position: center;
    flex-shrink: 0;
}
.ep-project-card__img-wrap::before {
    content: '';
    position: absolute;
    inset: -24px;
    background: inherit;
    background-size: cover;
    background-position: center;
    filter: blur(18px);
    transform: scale(1.15);
    opacity: .72;
}
.ep-project-card__img,
.ep-project-card__img-wrap img {
    position: absolute;
    inset: 0;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: contain;
    object-position: center;
    display: block;
    z-index: 1;
    transition: transform .2s ease;
}
.ep-project-card:hover .ep-project-card__img,
.ep-project-card:hover .ep-project-card__img-wrap img {
    transform: scale(1.03);
}
.ep-project-card__placeholder {
    position: absolute;
    inset: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 3rem;
    color: #ccc;
    z-index: 1;
}
.ep-project-card__body {
    padding: 1.1rem 1.25rem 1.4rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ep-project-card__meta {
    font-size: 0.72rem;
    color: #9ca3af;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 0.4rem;
}

/* Единые бейджи год/город для карточек проектов */
.ep-badge {
    display: inline-block;
    font-size: 0.68rem;
    font-weight: 700;
    letter-spacing: 0.05em;
    border-radius: 3px;
    padding: 0.18em 0.55em;
    text-transform: uppercase;
    line-height: 1.4;
}
.ep-badge--year { background: var(--ep-text); color: #fff; }
.ep-badge--city { background: rgba(61,85,184,.1); color: var(--ep-blue); }
.ep-project-card__title {
    font-size: 1rem;
    font-weight: 700;
    color: var(--ep-dark);
    margin: 0 0 0.5rem;
    line-height: 1.3;
}
.ep-project-card__task {
    font-size: 0.8rem;
    color: #6c757d;
    line-height: 1.55;
    margin: 0;
    flex: 1;
}

/* ================================================
   МЫ В ЦИФРАХ — финальный дизайн
   ================================================ */

.ep-stats-section {
    background: linear-gradient(135deg, #F48953 0%, #EF887C 100%);
    padding: var(--section-py) 0;
    position: relative;
    overflow: hidden;
}
.ep-stats-section::before {
    content: '';
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        radial-gradient(ellipse at 10% 30%, rgba(255,255,255,.16) 0%, transparent 50%),
        radial-gradient(ellipse at 90% 70%, rgba(246,196,85,.2) 0%, transparent 45%);
}
/* Заголовок раздела на тёмном фоне */
.ep-stats-section .ep-label { color: rgba(255,255,255,.65) !important; }
.ep-stats-section .ep-section-title { color: #fff !important; }
.ep-stats-section .ep-section-title::after { background: var(--ep-gold); }
.ep-stats-section .ep-text-muted,
.ep-stats-section p { color: rgba(255,255,255,.75); }
.ep-stats-section .stat-prefix { color: var(--ep-gold); }

.ep-stat-card {
    background: rgba(255,255,255,.06);
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 12px;
    padding: 2rem 1.5rem;
    text-align: center;
    height: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    transition: background .25s;
}
.ep-stat-card:hover {
    background: rgba(255,255,255,.11);
}
.ep-stat-icon {
    width: 48px;
    height: 48px;
    border-radius: 8px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 0 auto 1rem;
    font-size: 1.4rem;
    background: rgba(255,255,255,.1);
    border: 1px solid rgba(255,255,255,.14);
}
/* Все иконки — один цвет (sky), нет карнавала из 4 цветов */
.ep-stat-icon--coral  { background: rgba(255,255,255,.1); }
.ep-stat-icon--mint   { background: rgba(255,255,255,.1); }
.ep-stat-icon--blue   { background: rgba(255,255,255,.1); }
.ep-stat-icon--yellow { background: rgba(255,255,255,.1); }
.ep-stat-icon--coral .bi,
.ep-stat-icon--mint .bi,
.ep-stat-icon--blue .bi,
.ep-stat-icon--yellow .bi { color: var(--ep-sky); }
/* Fallback если иконка без --модификатора */
.ep-stat-icon .bi { color: var(--ep-sky); }
.ep-stat-number {
    font-size: clamp(3.5rem, 7vw, 5.5rem);
    font-weight: 900;
    color: #fff;
    line-height: 0.9;
    letter-spacing: -0.03em;
    margin-bottom: 0.5rem;
}
.ep-stat-desc {
    font-size: 0.875rem;
    font-weight: 600;
    color: rgba(255,255,255,.85);
    line-height: 1.35;
}

/* ================================================
   FOOTER
   ================================================ */

.ep-footer {
    background: var(--ep-text);   /* #1F2430 — тёмный графит */
    color: rgba(255,255,255,.65);
    padding: 3rem 0 2rem;
}
.ep-footer a {
    color: var(--ep-sky);
    text-decoration: none;
    transition: color .2s;
}
.ep-footer a:hover { color: #fff; }
.ep-footer__heading {
    color: #fff;
    font-weight: 700;
    font-size: 1rem;
    margin-bottom: 1rem;
}
/* Иконки соцсетей в футере */
.ep-footer-social {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border: 1px solid rgba(255,255,255,.12);
    border-radius: 10px;
    text-decoration: none;
    transition: border-color .2s, transform .15s, opacity .2s;
    overflow: hidden;
}
.ep-footer-social img {
    width: 26px;
    height: 26px;
    object-fit: contain;
    display: block;
}
/* RuTube — горизонтальный wordmark, нужна другая ширина */
.ep-footer-social--wide {
    width: auto;
    padding: 0 10px;
}
.ep-footer-social--wide img {
    width: auto;
    height: 16px;
}
.ep-footer-social:hover {
    border-color: rgba(255,255,255,.35);
    transform: translateY(-2px);
    opacity: .85;
}

.ep-footer__copy {
    color: rgba(255,255,255,.3);
    font-size: 0.8rem;
    border-top: 1px solid rgba(255,255,255,.08);
    padding-top: 1.5rem;
    margin-top: 2rem;
}

/* ================================================
   ФОТОСЕТКА (замена карусели на главной)
   ================================================ */

.ep-photo-grid { display: grid; gap: 0.75rem; }
.ep-photo-grid--3x2 { grid-template-columns: repeat(3, 1fr); }
@media (max-width: 767px) { .ep-photo-grid--3x2 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px)  { .ep-photo-grid--3x2 { grid-template-columns: 1fr; } }
.ep-photo-grid__item {
    position: relative;
    overflow: hidden;
    border-radius: 8px;
    aspect-ratio: 4/3;
}
.ep-photo-grid__item img {
    width: 100%; height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s;
}
.ep-photo-grid__item:hover img { transform: scale(1.06); }
.ep-photo-grid__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(26,26,46,.75) 0%, transparent 55%);
    display: flex;
    align-items: flex-end;
    padding: 0.875rem;
    opacity: 0;
    transition: opacity .3s;
}
.ep-photo-grid__item:hover .ep-photo-grid__overlay { opacity: 1; }
.ep-photo-grid__caption {
    color: #fff;
    font-size: 0.8rem;
    font-weight: 600;
    line-height: 1.3;
}

/* ================================================
   ЛОГОТИПЫ ПАРТНЁРОВ
   ================================================ */

.ep-partner-logo {
    height: 70px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.ep-partner-logo--lg {
    height: 90px;
}
.ep-partner-logo img {
    max-width: 100%;
    max-height: 100%;
    width: auto;
    height: auto;
    display: block;
}

/* ================================================
   CTA-СЕКЦИЯ — Pantone Coral (#E05A4A)
   ================================================ */

.ep-cta-section {
    background: linear-gradient(135deg, #1E3A80 0%, #3455A4 50%, #2C6E8A 100%);
    padding: 5rem 0;
    text-align: center;
    position: relative;
    overflow: hidden;
}
/* Radial accents */
.ep-cta-section::before {
    content: '';
    position: absolute;
    inset: 0;
    background-image:
        radial-gradient(ellipse at 15% 50%, rgba(180,221,254,.2) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 30%, rgba(246,196,85,.18) 0%, transparent 45%),
        radial-gradient(ellipse at 50% 100%, rgba(140,174,85,.15) 0%, transparent 50%);
    pointer-events: none;
}
.ep-cta-section > * { position: relative; }
.ep-cta-section h2 { color: #fff; margin-bottom: 0.75rem; }
.ep-cta-section p  { color: rgba(255,255,255,.85); margin-bottom: 2rem; }
/* Кнопка на тёмном фоне — белая с оранжевым текстом */
.ep-cta-section .ep-btn-primary {
    background: #fff;
    color: var(--ep-coral);
    box-shadow: 0 2px 12px rgba(0,0,0,.2);
}
.ep-cta-section .ep-btn-primary:hover {
    background: rgba(255,255,255,.92);
    color: var(--ep-coral-hover);
    box-shadow: 0 4px 20px rgba(0,0,0,.25);
}

/* ================================================
   ПЕРЕНОС ИЗ proto_css: служебные классы
   ================================================ */

/* Карточки услуг на главной */
.ep-service-card {
    background: #fff;
    border: 1px solid rgba(0,0,0,.07);
    border-left: 2px solid transparent;
    border-radius: 8px;
    padding: 0 0 1.5rem;
    display: flex;
    flex-direction: column;
    box-shadow: var(--shadow-card);
    overflow: hidden;
    transition: box-shadow .2s, transform .2s, border-left-color .2s;
}
.ep-service-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-3px);
    border-left-color: var(--ep-blue);
}

/* Картинка / плейсхолдер */
.ep-service-card__img {
    width: 100%;
    height: 160px;
    overflow: hidden;
    flex-shrink: 0;
    margin-bottom: 1.25rem;
}
.ep-service-card__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform .35s;
}
.ep-service-card:hover .ep-service-card__img img { transform: scale(1.04); }
.ep-service-card__img-ph {
    width: 100%;
    height: 100%;
    background: #e9ecef;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #adb5bd;
}

/* Иконка и текст — теперь с горизонтальным padding */
.ep-service-card__icon {
    font-size: 1.75rem;
    margin-bottom: .6rem;
    color: var(--ep-blue);
    padding: 0 1.5rem;
}
.ep-service-card__icon .bi { color: var(--ep-blue); }
.ep-service-card__title {
    font-weight: 700;
    font-size: 1rem;
    color: var(--ep-text);
    margin-bottom: .4rem;
    padding: 0 1.5rem;
}
.ep-service-card__desc {
    font-size: .875rem;
    color: var(--ep-text-muted);
    line-height: 1.55;
    padding: 0 1.5rem;
}
.ep-service-card .ep-service-link {
    padding: 0 1.5rem;
}

/* Мобильный слайдер (CSS scroll-snap, без JS) */
@media (max-width: 767px) {
    .ep-services-slider {
        display: flex !important;
        flex-wrap: nowrap !important;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        gap: 0;
        margin-left: -1rem !important;
        margin-right: -1rem !important;
        padding: 0 1rem 1rem;
        scroll-padding-left: 1rem;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
    }
    .ep-services-slider::-webkit-scrollbar { display: none; }
    .ep-services-slide {
        flex: 0 0 80vw !important;
        max-width: 300px !important;
        width: 80vw !important;
        scroll-snap-align: start;
        padding-left: 0 !important;
        padding-right: 0.75rem !important;
    }
    .ep-services-slide:last-child { padding-right: 0 !important; }
}

/* Номера услуг (01–10) */
.service-number {
    font-size: clamp(2.5rem, 5vw, 4rem);
    font-weight: 900;
    color: var(--ep-coral);
    opacity: 0.85;
    line-height: 1;
    min-width: 4rem;
}

/* Кнопки-группа в шапке */
.site-header .btn-group-header {
    display: flex;
    gap: 0.5rem;
}

/* ================================================
   БЛОК: МЫ В ЦИФРАХ (старый — оставляем совместимость)
   ================================================ */

/* Карточка показателя — flex-колонка с выравниванием */
.stat-card {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start;
    text-align: center;
    height: 100%;
    padding: 1.5rem 1rem;
}

/* Префикс «БОЛЕЕ» — резервируем высоту для всех карточек */
.stat-prefix {
    min-height: 1.4em;
    font-size: 0.6rem;
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: 0.2em;
    color: var(--ep-gold);
    line-height: 1.4;
    margin-bottom: 0.15rem;
}

/* Область описания — фиксируем высоту на 3 строки, текст центрируется */
.stat-desc {
    flex: 1;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 0.875rem;
    font-weight: 600;
    line-height: 1.35;
    color: #343a40;
    max-width: 160px;
    margin-bottom: 0.25rem;
}

/* Хэштег внизу */
.slozhno-mozhno {
    font-size: 0.72rem;
    color: #adb5bd;
    font-weight: 600;
    letter-spacing: 0.05em;
    margin-top: auto;
    padding-top: 0.5rem;
}

/* ================================================
   БЛОК: ФОРМА ОБРАТНОЙ СВЯЗИ (Contact Form 7)
   ================================================ */

/* Убираем дефолтный отступ CF7 */
.wpcf7 { margin: 0 !important; }

/* Все поля — Bootstrap-стиль, на всю ширину */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea {
    display: block;
    width: 100%;
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
    line-height: 1.5;
    color: #212529;
    background-color: #fff;
    border: 1px solid #ced4da;
    border-radius: 0.375rem;
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    -webkit-appearance: none;
    appearance: none;
}

.wpcf7 input[type="text"]:focus,
.wpcf7 input[type="email"]:focus,
.wpcf7 input[type="tel"]:focus,
.wpcf7 textarea:focus {
    border-color: var(--ep-blue);
    outline: 0;
    box-shadow: 0 0 0 0.2rem rgba(61,85,184,.18);
}

/* Textarea — минимальная высота */
.wpcf7 textarea {
    min-height: 130px;
    resize: vertical;
}

/* Кнопка Submit — коралл (главный конверсионный акцент) */
.wpcf7 input[type="submit"] {
    display: inline-block;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.5;
    color: #fff;
    background-color: var(--ep-coral);
    border: 1px solid var(--ep-coral);
    padding: 0.625rem 2rem;
    border-radius: 4px;
    cursor: pointer;
    letter-spacing: 0.02em;
    transition: background-color 0.2s, transform 0.15s;
    -webkit-appearance: none;
    appearance: none;
}

.wpcf7 input[type="submit"]:hover {
    background-color: var(--ep-coral-hover);
    border-color: var(--ep-coral-hover);
    transform: translateY(-1px);
}

/* Сообщения об ошибках */
.wpcf7 .wpcf7-not-valid-tip {
    color: #dc3545;
    font-size: 0.85rem;
    margin-top: 4px;
    display: block;
}

.wpcf7 .wpcf7-response-output {
    margin-top: 1rem !important;
    padding: 0.75rem 1rem !important;
    border-radius: 0.375rem !important;
    border: none !important;
    font-size: 0.9rem;
}

/* Успех */
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ok {
    background-color: #d1e7dd;
    color: #0f5132;
}

/* Ошибка */
.wpcf7 .wpcf7-response-output.wpcf7-mail-sent-ng,
.wpcf7 .wpcf7-response-output.wpcf7-validation-errors {
    background-color: #f8d7da;
    color: #842029;
}

/* Убираем стандартный spin-лоадер CF7 поверх кнопки */
.wpcf7 .wpcf7-spinner {
    vertical-align: middle;
    margin-left: 8px;
}

/* ================================================
   БЛОК: КОМАНДА — 3D-колода карт
   ================================================ */

/* Секция */
.team-board {
    background: linear-gradient(135deg, #0f0c29 0%, #1a1a3e 50%, #24243e 100%);
    padding: 3rem 1.5rem;
    border-radius: 0.5rem;
    perspective: 1200px;
}

.team-board-title {
    font-family: 'Exo 2', sans-serif;
    font-size: 2.4rem;
    color: #fff;
    text-align: center;
    margin-bottom: 0.4rem;
}

.team-board-subtitle {
    text-align: center;
    color: rgba(255, 255, 255, 0.45);
    font-size: 0.82rem;
    margin-bottom: 2.5rem;
    letter-spacing: 0.15em;
    text-transform: uppercase;
}

/* === 3D-переворот === */

/* Внешний контейнер — задаёт высоту и перспективу */
.flip-wrap {
    perspective: 800px;
    height: 340px;
}
@media (min-width: 768px) {
    .flip-wrap { height: 380px; }
}

/* Вращающийся элемент — обе грани внутри */
.flip-inner {
    position: relative;
    width: 100%;
    height: 100%;
    transition: transform 0.6s cubic-bezier(.4,.2,.2,1);
    transform-style: preserve-3d;
}

/* Наводим на контейнер — вращаем внутренний элемент */
.flip-wrap:hover .flip-inner {
    transform: rotateY(180deg);
}

/* Общее для обеих граней */
.flip-front,
.flip-back {
    position: absolute;
    inset: 0;
    backface-visibility: hidden;
    border-radius: 14px;
    overflow: hidden;
}

/* === ЛИЦЕВАЯ СТОРОНА === */
.flip-front {
    background: rgba(255, 255, 255, 0.07);
    border: 1px solid rgba(255, 255, 255, 0.12);
    display: flex;
    flex-direction: column;
}

/* Цветная полоска сверху */
.flip-front::before {
    content: '';
    display: block;
    height: 3px;
    flex-shrink: 0;
    background: linear-gradient(90deg, var(--ep-blue), var(--ep-sky));
}

.flip-wrap--director .flip-front::before {
    background: linear-gradient(90deg, var(--ep-coral), var(--ep-yellow));
}

/* Фото */
.flip-photo {
    width: 100%;
    flex: 1 1 auto;
    object-fit: cover;
    display: block;
}

.flip-photo-placeholder {
    flex: 1 1 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 4rem;
    background: rgba(255, 255, 255, 0.03);
}

/* Имя и должность на лицевой стороне */
.flip-front-info {
    padding: 10px 12px 12px;
    flex-shrink: 0;
}

.flip-name {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.35rem;
    font-weight: 700;
    color: #fff;
    line-height: 1.15;
}

.flip-role-front {
    font-size: 0.7rem;
    color: rgba(255, 255, 255, 0.45);
    text-transform: uppercase;
    letter-spacing: 0.08em;
    margin-top: 2px;
}

/* Подсказка «наведи» */
.flip-hint {
    font-size: 0.65rem;
    color: rgba(255, 255, 255, 0.25);
    text-align: center;
    padding-bottom: 8px;
    letter-spacing: 0.05em;
}

/* === ОБРАТНАЯ СТОРОНА === */
.flip-back {
    background: linear-gradient(160deg, #1e1e3f 0%, #2d2b55 100%);
    border: 1px solid rgba(255, 255, 255, 0.15);
    transform: rotateY(180deg);
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 1.2rem;
}

/* Цветной верхний градиент */
.flip-back::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 3px;
    background: linear-gradient(90deg, var(--ep-sky), var(--ep-blue));
}

.flip-wrap--director .flip-back::before {
    background: linear-gradient(90deg, var(--ep-coral), var(--ep-yellow));
}

.flip-back-name {
    font-family: 'Exo 2', sans-serif;
    font-size: 1.6rem;
    font-weight: 700;
    color: #fff;
    margin-bottom: 4px;
}

.flip-back-role {
    font-size: 0.72rem;
    color: var(--ep-sky);
    text-transform: uppercase;
    letter-spacing: 0.1em;
    font-weight: 600;
    margin-bottom: 14px;
}

.flip-wrap--director .flip-back-role {
    color: var(--ep-yellow);
}

.flip-back-divider {
    width: 40px;
    height: 2px;
    background: rgba(255, 255, 255, 0.15);
    margin-bottom: 14px;
}

.flip-back-bio {
    font-size: 0.82rem;
    color: rgba(255, 255, 255, 0.65);
    line-height: 1.5;
    margin-bottom: 16px;
}

.flip-back-phone {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ep-mint);
    text-decoration: none;
    transition: color 0.2s;
}

.flip-back-phone:hover {
    color: #fff;
}

.flip-wrap--director .flip-back-phone {
    color: var(--ep-coral);
}

.flip-wrap--director .flip-back-phone:hover {
    color: var(--ep-coral);
}

/* === «Колода» — лёгкие наклоны === */
.flip-wrap--tilt-1 .flip-inner { transform: rotate(-2deg); }
.flip-wrap--tilt-2 .flip-inner { transform: rotate(1.5deg); }
.flip-wrap--tilt-3 .flip-inner { transform: rotate(-1deg); }
.flip-wrap--tilt-4 .flip-inner { transform: rotate(2deg); }
.flip-wrap--tilt-5 .flip-inner { transform: rotate(-1.5deg); }
.flip-wrap--tilt-6 .flip-inner { transform: rotate(1deg); }
.flip-wrap--tilt-7 .flip-inner { transform: rotate(-2.5deg); }
.flip-wrap--tilt-8 .flip-inner { transform: rotate(1.8deg); }

/* При наведении — всегда переворот + выравнивание */
.flip-wrap:hover .flip-inner {
    transform: rotateY(180deg) rotate(0deg);
}

/* Мобилка — по тапу через :active, и чуть ниже карточки */
@media (max-width: 575.98px) {
    .flip-wrap { height: 300px; }
    .flip-name { font-size: 1.15rem; }
    .flip-back { padding: 1.2rem 1rem; }
    .flip-back-name { font-size: 1.35rem; }
}


/* ================================================
   БЛОК: ДЛЯ АРТИСТОВ — форма + каталог
   ================================================ */

/* --- Drag-and-drop зона загрузки фото --- */
.epfa-drop-zone {
    position: relative;
    border: 2px dashed #dee2e6;
    border-radius: 0.75rem;
    padding: 2rem 1.5rem;
    text-align: center;
    cursor: pointer;
    transition: border-color .2s, background .2s;
    background: #f8f9fa;
}
.epfa-drop-zone:hover,
.epfa-drop-active {
    border-color: #ffc107;
    background: #fffdf0;
}
.epfa-drop-label {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: .3rem;
    pointer-events: none;
}
.epfa-drop-icon {
    font-size: 2.5rem;
    line-height: 1;
    margin-bottom: .25rem;
}
/* Скрываем нативный input, зона обрабатывает клик через JS */
.epfa-file-input {
    position: absolute;
    inset: 0;
    opacity: 0;
    cursor: pointer;
    width: 100%;
    height: 100%;
}

/* --- Сетка превью выбранных фото --- */
.epfa-preview-grid {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem;
}
.epfa-thumb {
    position: relative;
    width: 80px;
    height: 80px;
    border-radius: .5rem;
    overflow: hidden;
    flex-shrink: 0;
}
.epfa-thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.epfa-thumb-remove {
    position: absolute;
    top: 2px;
    right: 2px;
    width: 20px;
    height: 20px;
    border-radius: 50%;
    background: rgba(0,0,0,.65);
    color: #fff;
    border: none;
    font-size: 10px;
    line-height: 1;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 0;
}
.epfa-thumb-remove:hover {
    background: #dc3545;
}

/* --- Карточки каталога артистов на Звёздном паровозе --- */
.epst-artist-card {
    transition: transform .2s, box-shadow .2s;
    border-radius: 1rem !important;
}
.epst-artist-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 8px 24px rgba(0,0,0,.12) !important;
}
.epst-artist-thumb {
    transition: transform .35s;
}
.epst-artist-card:hover .epst-artist-thumb {
    transform: scale(1.05);
}

/* --- Галерея на странице профиля артиста --- */
.epst-gallery-thumb {
    border-radius: .5rem;
    overflow: hidden;
    transition: transform .2s, box-shadow .2s;
    display: block;
}
.epst-gallery-thumb:hover {
    transform: scale(1.03);
    box-shadow: 0 4px 16px rgba(0,0,0,.15);
}
.epst-gallery-thumb img {
    transition: transform .35s;
}
/* --- Видео-карточки на странице профиля артиста --- */
.epst-video-card {
    transition: transform .2s, box-shadow .2s;
    cursor: pointer;
}
.epst-video-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 8px 28px rgba(0,0,0,.3);
}
.epst-video-overlay {
    background: rgba(0,0,0,0);
    transition: background .2s;
}
.epst-video-card:hover .epst-video-overlay {
    background: rgba(0,0,0,.15);
}
.epst-play-btn {
    transition: transform .2s, opacity .2s;
    opacity: .85;
    filter: drop-shadow(0 2px 8px rgba(0,0,0,.5));
}
.epst-video-card:hover .epst-play-btn {
    transform: scale(1.12);
    opacity: 1;
}
/* /ДЛЯ АРТИСТОВ */

/* ================================================
   АДАПТИВНОСТЬ (мобайл-финал)
   ================================================ */

/* Hero на мобильном */
@media (max-width: 575.98px) {
    .ep-hero {
        clip-path: polygon(0 0, 100% 0, 100% 96%, 0 100%);
        padding: 3.5rem 0 5rem;
        min-height: 380px;
    }
    .ep-btn-primary,
    .ep-btn-ghost {
        width: 100%;
        text-align: center;
    }
    .ep-stat-number { font-size: 2.8rem; }
}

/* Контейнер страниц */
.content-wrapper { overflow: visible; }


/* Команда: на очень маленьких экранах чуть короче */
@media (max-width: 399px) {
    .team-card { aspect-ratio: 3 / 4; }
}

/* Navbar mobile fix */
@media (max-width: 991.98px) {
    .ep-navbar .ep-nav-cta {
        margin-top: 0.5rem;
        display: block;
        text-align: center;
    }
    .ep-navbar .navbar-collapse {
        background: var(--ep-white);
        padding: 1rem;
        border-radius: 0 0 8px 8px;
    }
}

/* Обеспечиваем нижний отступ перед footer */
.content-wrapper {
    min-height: 60vh;
}

/* ================================================
   СТРАНИЦА АРЕНДЫ — каталог оборудования
   ================================================ */

/* Фильтры-таблетки */
#eqCategoryTabs .nav-link {
    color: var(--ep-dark);
    border: 1px solid rgba(0,0,0,.15);
    border-radius: 20px;
    padding: 0.35rem 0.875rem;
    font-size: 0.8rem;
    font-weight: 500;
    transition: background .2s, color .2s, border-color .2s;
    background: transparent;
}
#eqCategoryTabs .nav-link:hover {
    background: rgba(61,85,184,.08);
    border-color: var(--ep-blue);
    color: var(--ep-blue);
}
#eqCategoryTabs .nav-link.active {
    background: var(--ep-blue);
    border-color: var(--ep-blue);
    color: #fff;
}
#eqCategoryTabs .badge { display: none; }

/* Заголовок раздела категории — стиль ep-label */
#equipment-catalog h5.border-bottom {
    color: var(--ep-blue);
    font-weight: 700;
    font-size: 0.72rem;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    border-color: rgba(61,85,184,.2) !important;
}

/* Карточки оборудования — в стиле ep-project-card */
#equipment-catalog .card {
    border: none;
    border-left: 3px solid transparent;
    border-radius: 12px;
    box-shadow: var(--shadow-card);
    transition: box-shadow .25s, transform .25s, border-left-color .25s;
    overflow: hidden;
    display: flex;
    flex-direction: column;
}
#equipment-catalog .card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
    border-left-color: var(--ep-coral);
}

/* Фото карточки — единое соотношение 4:3 как в проектах */
#equipment-catalog .card-img-top,
#equipment-catalog .card img:first-child {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    display: block;
}

#equipment-catalog .card-body {
    padding: 1rem 1.1rem 1.25rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
#equipment-catalog .card-title {
    font-size: 0.9rem;
    font-weight: 700;
    color: var(--ep-dark);
    line-height: 1.3;
    margin-bottom: 0.35rem;
}
#equipment-catalog .card-text {
    font-size: 0.78rem;
    color: #6c757d;
    line-height: 1.5;
    flex: 1;
}

/* Кнопка заявки — призрачная, не заливная: не конкурирует с контентом */
#equipment-catalog .btn-primary {
    background: transparent;
    border: 1.5px solid var(--ep-coral);
    color: var(--ep-coral);
    font-size: 0.78rem;
    font-weight: 600;
    border-radius: 4px;
    padding: 0.35rem 0.85rem;
    align-self: flex-start;
    margin-top: 0.75rem;
    transition: background .2s, color .2s;
    width: auto !important;
}
#equipment-catalog .btn-primary:hover {
    background: var(--ep-coral);
    border-color: var(--ep-coral);
    color: #fff;
}

/* Заглушка фото */
#equipment-catalog .proto-placeholder {
    background: var(--ep-neutral);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    color: #c0c8d0;
    font-size: 0.72rem;
    border-radius: 0;
    gap: 0.5rem;
    aspect-ratio: 4 / 3;
    width: 100%;
}
#equipment-catalog .proto-placeholder::before {
    content: '';
    display: block;
    width: 28px;
    height: 28px;
    background: currentColor;
    opacity: 0.35;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E") center/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21 19V5a2 2 0 0 0-2-2H5a2 2 0 0 0-2 2v14a2 2 0 0 0 2 2h14a2 2 0 0 0 2-2zM8.5 13.5l2.5 3.01L14.5 12l4.5 6H5l3.5-4.5z'/%3E%3C/svg%3E") center/contain no-repeat;
}

/* Кнопка правил проката */
#equipment-catalog .btn-outline-secondary {
    color: var(--ep-dark);
    border-color: rgba(0,0,0,.2);
    font-size: 0.8rem;
    border-radius: 4px;
    transition: background .2s, color .2s;
}
#equipment-catalog .btn-outline-secondary:hover {
    background: var(--ep-dark);
    border-color: var(--ep-dark);
    color: #fff;
}

/* ================================================
   ДИЗАЙН ПО РЕФЕРЕНСАМ: brig-e.ru + agt.agency
   ================================================ */

/* Маленький uppercase-лейбл над заголовком секции */
.ep-label {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.22em;
    color: var(--ep-blue);
    margin-bottom: 0.5rem;
}

/* Заголовок секции с золотой чертой снизу */
.ep-section-title {
    position: relative;
}
.ep-section-title::after {
    content: '';
    display: block;
    width: 40px;
    height: 3px;
    background: var(--ep-gold);
    border-radius: 2px;
    margin: 0.65rem auto 0;
}
/* Для левовыровненных заголовков (О НАС) */
.ep-section-title--left::after {
    margin-left: 0;
}

/* Бегущая строка */
.ep-marquee {
    background: var(--ep-text);   /* тёмный графит */
    overflow: hidden;
    padding: 0.8rem 0;
    white-space: nowrap;
    user-select: none;
}
.ep-marquee__track {
    display: inline-block;
    animation: ep-marquee-scroll 28s linear infinite;
    font-size: 0.7rem;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
    color: var(--ep-gold);   /* золотой — статусный сигнал на тёмном */
    will-change: transform;
}
@keyframes ep-marquee-scroll {
    from { transform: translateX(0); }
    to   { transform: translateX(-50%); }
}
.ep-marquee:hover .ep-marquee__track { animation-play-state: paused; }

/* Hover-подчёркивание на ссылках услуг */
.ep-service-link {
    text-decoration: none;
    background-image: linear-gradient(var(--ep-blue), var(--ep-blue));
    background-size: 0 2px;
    background-position: 0 100%;
    background-repeat: no-repeat;
    transition: background-size 0.3s ease;
    color: var(--ep-blue);
    font-weight: 700;
    font-size: 0.85rem;
}
.ep-service-link:hover {
    background-size: 100% 2px;
    color: var(--ep-blue);
}

/* ================================================
   РАЗДЕЛ ЗВЁЗДНЫЙ ПАРОВОЗ / АРТИСТЫ
   ================================================ */

/* --- Каталог артистов [artist_catalog] --- */
.epst-artist-card {
    border: none;
    border-left: 3px solid transparent;
    border-radius: 12px;
    box-shadow: var(--shadow-card);
    transition: box-shadow .25s, transform .25s, border-left-color .25s;
    overflow: hidden;
}
.epst-artist-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-4px);
    border-left-color: var(--ep-coral);
}
.epst-artist-card .ratio-1x1 img,
.epst-artist-card .epst-artist-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 20%;
}
/* Заглушка без фото */
.epst-artist-card .ratio-1x1 > div {
    background: var(--ep-neutral) !important;
    font-size: 2.5rem !important;
}
.epst-artist-card .card-body {
    padding: 0.9rem 1rem 1.1rem;
    display: flex;
    flex-direction: column;
}
.epst-artist-card .card-title {
    font-size: 0.92rem;
    font-weight: 700;
    color: var(--ep-dark);
    margin-bottom: 0.2rem;
}
.epst-artist-card .card-body .text-muted {
    font-size: 0.78rem;
}
/* Кнопка "Профиль →" — вместо жёлтой */
.epst-artist-card .btn-warning {
    background: var(--ep-coral) !important;
    border-color: var(--ep-coral) !important;
    color: #fff !important;
    font-size: 0.8rem;
    font-weight: 600;
    border-radius: 2px;
    letter-spacing: 0.04em;
    margin-top: auto;
    transition: opacity .2s;
}
.epst-artist-card .btn-warning:hover {
    opacity: 0.88;
}

/* --- Страница [star_train] --- */

/* Два вводных блока (Организатор / Артист) */
/* Равнозначные карточки star-train: акцент только через иконку и кнопку */
.card.border-primary,
.card.border-secondary {
    border-color: rgba(0,0,0,.1) !important;
    border-width: 1px !important;
}
/* Кнопка "Смотреть каталог" — coral */
.card.border-primary .btn-primary,
.card.border-primary a.btn-primary,
.card.border-secondary .btn-primary,
.card.border-secondary a.btn-primary {
    background: var(--ep-coral) !important;
    border-color: var(--ep-coral) !important;
    color: #fff !important;
    border-radius: 2px;
    font-weight: 600;
    letter-spacing: 0.04em;
}
.card.border-primary .btn-primary:hover,
.card.border-primary a.btn-primary:hover,
.card.border-secondary .btn-primary:hover,
.card.border-secondary a.btn-primary:hover {
    background: var(--ep-coral-hover) !important;
    border-color: var(--ep-coral-hover) !important;
}
/* Кнопка "Подать анкету" — blue */
.card.border-secondary .btn-outline-secondary,
.card.border-secondary a.btn-outline-secondary {
    border-color: var(--ep-blue) !important;
    color: var(--ep-blue) !important;
    border-radius: 2px;
    font-weight: 600;
}
.card.border-secondary .btn-outline-secondary:hover,
.card.border-secondary a.btn-outline-secondary:hover {
    background: var(--ep-blue) !important;
    color: #fff !important;
}
/* ==============================================
   ЗВЁЗДНЫЙ ПАРОВОЗ — карточки-афиша
   ============================================== */

.epst-cards {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
    gap: 1rem;
    margin-bottom: 1.5rem;
}

.epst-card {
    background: #fff;
    border-radius: 10px;
    padding: 1.25rem 1.5rem 1rem;
    border: 1px solid rgba(0,0,0,.07);
    display: flex;
    flex-direction: column;
    gap: 0.2rem;
    transition: box-shadow 0.2s, transform 0.2s;
}

.epst-card:hover {
    box-shadow: 0 6px 24px rgba(0,0,0,.08);
    transform: translateY(-2px);
}

.epst-card__city {
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.07em;
    color: var(--ep-text-muted);
    margin-bottom: 0.4rem;
}

.epst-card__city .bi {
    color: var(--ep-coral) !important;
    margin-right: 0.3rem;
    font-size: 0.82rem;
}

.epst-card__artist {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ep-text);
    text-decoration: none;
    line-height: 1.2;
    display: block;
}

a.epst-card__artist:hover { color: var(--ep-blue); }

.epst-card__genre {
    font-size: 0.8rem;
    color: var(--ep-text-muted);
    margin-bottom: 0.25rem;
}

.epst-card__dates {
    font-size: 0.85rem;
    color: var(--ep-text);
    font-variant-numeric: tabular-nums;
    margin-top: 0.35rem;
}

.epst-card__dates .bi {
    color: var(--ep-text-muted) !important;
    margin-right: 0.35rem;
    font-size: 0.82rem;
}

.epst-card__btn {
    display: block;
    margin-top: 1rem;
    padding-top: 0.85rem;
    border-top: 1px solid rgba(0,0,0,.06);
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--ep-blue);
    text-decoration: none;
    transition: color 0.15s;
}

.epst-card__btn:hover { color: var(--ep-coral); }

/* Ссылка-toggle карты */
.epst-map-link {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.87rem;
    font-weight: 500;
    color: var(--ep-text-muted);
    text-decoration: none;
    cursor: pointer;
    padding: 0.4rem 0;
    margin-top: 0.25rem;
    transition: color 0.15s;
}

.epst-map-link:hover { color: var(--ep-blue); }
.epst-map-link[aria-expanded="true"] .epst-map-chevron { transform: rotate(180deg); }
.epst-map-chevron { transition: transform 0.2s; font-size: 0.78rem; }

/* Два блока внизу вместе */
.epst-roles-strip {
    display: flex;
    align-items: center;
    margin-top: 2rem;
    background: #fff;
    border: 1px solid rgba(0,0,0,.07);
    border-radius: 10px;
    overflow: hidden;
}

.epst-role-item {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex: 1;
    padding: 1.25rem 1.5rem;
}

.epst-roles-divider {
    width: 1px;
    height: 3rem;
    background: rgba(0,0,0,.07);
    flex-shrink: 0;
}

.epst-role-item strong {
    display: block;
    font-size: 0.9rem;
    font-weight: 600;
    color: var(--ep-text);
    line-height: 1.3;
}

.epst-role-item a {
    display: block;
    font-size: 0.83rem;
    font-weight: 600;
    color: var(--ep-blue);
    text-decoration: none;
    margin-top: 0.15rem;
}

.epst-role-item a:hover { color: var(--ep-coral); }

@media (max-width: 600px) {
    .epst-cards { grid-template-columns: 1fr; }
    .epst-roles-strip { flex-direction: column; }
    .epst-roles-divider { width: 100%; height: 1px; }
}

/* --- Мета-строка артиста (вместо бейджей) --- */
.ep-artist-meta {
    font-size: 0.75rem;
    text-transform: uppercase;
    letter-spacing: 0.09em;
    color: #9ca3af;
    font-weight: 500;
    margin-bottom: 1rem;
}

/* --- Контактная карточка (For-Artists) --- */
.ep-contact-card {
    background: var(--ep-dark);
    color: #fff;
    border-radius: 12px;
    padding: 1.5rem;
}
.ep-contact-card__title {
    color: var(--ep-sky);
    font-weight: 700;
    font-size: 0.95rem;
    margin-bottom: 0.75rem;
}
.ep-contact-card a {
    color: var(--ep-mint);
    text-decoration: none;
    font-weight: 600;
}
.ep-contact-card a:hover {
    text-decoration: underline;
}
.ep-contact-card .ep-contact-muted {
    color: rgba(255,255,255,.6);
    font-size: 0.82rem;
}

/* --- Nav-pills (For-Artists табы) --- */
#forArtistsTabs .nav-link {
    color: var(--ep-dark);
    border: 1.5px solid rgba(0,0,0,.15);
    border-radius: 20px;
    padding: 0.4rem 1.1rem;
    font-size: 0.82rem;
    font-weight: 600;
    background: transparent;
    transition: background .2s, color .2s, border-color .2s;
}
#forArtistsTabs .nav-link:hover {
    border-color: var(--ep-blue);
    color: var(--ep-blue);
    background: rgba(61,85,184,.06);
}
#forArtistsTabs .nav-link.active {
    background: var(--ep-blue);
    border-color: var(--ep-blue);
    color: #fff;
}

/* --- Страница For-Artists: кнопка Отправить --- */
#epfa-form .btn-warning,
.page-for-artists .btn-warning {
    background: var(--ep-coral) !important;
    border-color: var(--ep-coral) !important;
    color: #fff !important;
    border-radius: 2px;
    font-weight: 600;
    letter-spacing: 0.04em;
    transition: opacity .2s;
}
#epfa-form .btn-warning:hover,
.page-for-artists .btn-warning:hover {
    opacity: 0.88;
}
/* Кнопки управления формой */
#forArtistsTabs ~ .tab-content .btn-outline-secondary {
    border-color: var(--ep-dark);
    color: var(--ep-dark);
    border-radius: 2px;
    font-size: 0.8rem;
}
#forArtistsTabs ~ .tab-content .btn-outline-danger {
    border-color: rgba(0,0,0,.2);
    color: #888;
    border-radius: 2px;
    font-size: 0.8rem;
    background: transparent;
}
#forArtistsTabs ~ .tab-content .btn-outline-danger:hover {
    border-color: #dc3545;
    color: #dc3545;
}

/* --- Профиль артиста single-ep_artist --- */
.ep-artist-back {
    display: inline-flex;
    align-items: center;
    gap: 0.4rem;
    font-size: 0.8rem;
    font-weight: 600;
    color: var(--ep-blue);
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.1em;
    border: 1.5px solid var(--ep-blue);
    border-radius: 2px;
    padding: 0.3rem 0.8rem;
    transition: background .2s, color .2s;
}
.ep-artist-back:hover {
    background: var(--ep-blue);
    color: #fff;
}
.epst-gallery-thumb {
    transition: opacity .2s;
}
.epst-gallery-thumb:hover {
    opacity: 0.85;
}
.epst-video-card {
    transition: transform .2s, box-shadow .2s;
}
.epst-video-card:hover {
    transform: translateY(-3px);
    box-shadow: var(--shadow-hover);
}

/* ====================================================
   SERVICES PAGE — Variant 2 layout
   ==================================================== */

/* номер */
.ep-svc__num {
    font-size: .7rem;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: var(--ep-blue);
    opacity: .55;
    margin-bottom: .5rem;
    display: block;
}

/* общий плейсхолдер фото */
.ep-svc__img-ph {
    width: 100%; height: 100%;
    display: flex; align-items: center; justify-content: center;
    color: #b0b8c9;
    background: #f0f2f7;
}

/* ---- Featured grid: desktop 2-col, hero spans full width ---- */
.ep-svc-featured {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 1rem;
}
.ep-svc-hero { grid-column: 1 / -1; }

/* ---- Hero (01) ---- */
.ep-svc-hero {
    display: flex;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow-card);
    transition: box-shadow .25s, transform .25s;
    color: inherit;
}
.ep-svc-hero:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}
.ep-svc-hero__img {
    width: 280px;
    min-height: 220px;
    flex-shrink: 0;
    overflow: hidden;
    background: #e8eaf2;
}
.ep-svc-hero__img img { width: 100%; height: 100%; object-fit: cover; }
.ep-svc-hero__body {
    padding: 2rem;
    display: flex;
    flex-direction: column;
    justify-content: center;
}
.ep-svc-hero__title {
    font-size: 1.35rem;
    font-weight: 800;
    color: var(--ep-dark);
    margin-bottom: .6rem;
}
.ep-svc-hero__desc {
    font-size: .9rem;
    color: #6c757d;
    line-height: 1.55;
    margin-bottom: 1rem;
}

/* ---- Card (02–03) ---- */
.ep-svc-card {
    display: flex;
    flex-direction: column;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    box-shadow: var(--shadow-card);
    transition: box-shadow .25s, transform .25s;
    color: inherit;
}
.ep-svc-card:hover {
    box-shadow: var(--shadow-hover);
    transform: translateY(-2px);
}
.ep-svc-card__img {
    height: 160px;
    overflow: hidden;
    background: #e8eaf2;
}
.ep-svc-card__img img { width: 100%; height: 100%; object-fit: cover; }
.ep-svc-card__body {
    padding: 1.4rem 1.5rem 1.5rem;
    display: flex;
    flex-direction: column;
    flex: 1;
}
.ep-svc-card__title {
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--ep-dark);
    margin-bottom: .5rem;
}
.ep-svc-card__desc {
    font-size: .85rem;
    color: #6c757d;
    line-height: 1.5;
    margin-bottom: .8rem;
}

/* ---- Mobile slider ---- */
@media (max-width: 767.98px) {
    .ep-svc-featured {
        display: flex;
        overflow-x: auto;
        scroll-snap-type: x mandatory;
        -webkit-overflow-scrolling: touch;
        scrollbar-width: none;
        gap: .85rem;
        /* bleed to container edges */
        margin-left: -1rem;
        margin-right: -1rem;
        padding-left: 1rem;
        padding-right: 1rem;
        padding-bottom: .5rem;
    }
    .ep-svc-featured::-webkit-scrollbar { display: none; }

    .ep-svc-hero,
    .ep-svc-card {
        flex-shrink: 0;
        width: 83vw;
        scroll-snap-align: start;
        grid-column: auto; /* сброс desktop grid */
    }

    /* Hero на мобилке: вертикально как карточка */
    .ep-svc-hero {
        flex-direction: column;
    }
    .ep-svc-hero__img {
        width: 100%;
        min-height: 160px;
    }
    .ep-svc-hero__body {
        padding: 1.2rem 1.2rem 1.4rem;
    }
}

/* ---- Accordion list (04–10) ---- */
.ep-svc-list {
    border: 1px solid #e4e8f0;
    border-radius: 14px;
    overflow: hidden;
    background: #fff;
    margin-bottom: 1.5rem;
}
.ep-svc-list__wrap {
    border-bottom: 1px solid #f0f2f7;
}
.ep-svc-list__wrap:last-child { border-bottom: none; }

.ep-svc-list__item {
    width: 100%;
    display: flex;
    align-items: center;
    gap: .9rem;
    padding: .95rem 1.4rem;
    background: transparent;
    border: none;
    color: var(--ep-dark);
    text-align: left;
    cursor: pointer;
    transition: background .18s;
}
.ep-svc-list__item:hover,
.ep-svc-list__item:not(.collapsed) { background: #fdf6f4; }

.ep-svc-list__num {
    font-size: .65rem;
    font-weight: 700;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--ep-blue);
    opacity: .45;
    min-width: 1.8rem;
    flex-shrink: 0;
}
.ep-svc-list__icon {
    color: var(--ep-coral);
    font-size: 1.05rem;
    flex-shrink: 0;
}
.ep-svc-list__text {
    font-size: .9rem;
    font-weight: 500;
    flex: 1;
    line-height: 1.4;
}
.ep-svc-list__chevron {
    color: var(--ep-coral);
    font-size: .85rem;
    flex-shrink: 0;
    transition: transform .25s;
    opacity: .6;
}
.ep-svc-list__item:not(.collapsed) .ep-svc-list__chevron {
    transform: rotate(180deg);
    opacity: 1;
}

/* Тело аккордеона */
.ep-svc-list__body {
    padding: .6rem 1.4rem 1.2rem calc(1.4rem + 1.8rem + .9rem + 1.05rem + .9rem);
    border-top: 1px solid #f0f2f7;
}
.ep-svc-list__body p {
    font-size: .88rem;
    color: #6c757d;
    line-height: 1.6;
    margin-bottom: .75rem;
}
.ep-svc-list__more {
    display: inline-flex;
    align-items: center;
    gap: .35rem;
    font-size: .85rem;
    font-weight: 600;
    color: var(--ep-coral);
    text-decoration: none;
    transition: gap .2s, opacity .2s;
}
.ep-svc-list__more:hover {
    gap: .6rem;
    color: var(--ep-coral);
    opacity: .8;
}

/* Оранжевый акцент для кнопок «Подробнее» в герое и карточках */
.ep-svc-hero .ep-link-arrow,
.ep-svc-card .ep-link-arrow {
    color: var(--ep-coral);
}
.ep-svc-hero .ep-link-arrow:hover,
.ep-svc-card .ep-link-arrow:hover {
    color: var(--ep-coral);
    opacity: .8;
}

/* ================================================
   SECTION COLOR MODIFIERS — клиентская палитра
   Каждый класс: фон + адаптированный текст + карточки
   ================================================ */

/* --- Синий (#3455A4) — белый текст --- */
.ep-section--blue {
    background: linear-gradient(135deg, #3455A4 0%, #1E3A80 100%) !important;
    position: relative;
    overflow: hidden;
}
.ep-section--blue::before {
    content: '';
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        radial-gradient(ellipse at 20% 25%, rgba(180,221,254,.25) 0%, transparent 50%),
        radial-gradient(ellipse at 80% 75%, rgba(246,196,85,.15) 0%, transparent 45%);
}
.ep-section--blue > * { position: relative; z-index: 1; }
.ep-section--blue .container { position: relative; z-index: 1; }
.ep-section--blue .ep-label               { color: var(--ep-sky) !important; }
.ep-section--blue .ep-section-title       { color: #fff !important; }
.ep-section--blue .ep-section-title::after { background: var(--ep-gold) !important; }
.ep-section--blue p,
.ep-section--blue .text-muted             { color: rgba(255,255,255,.78) !important; }
/* Белые карточки на фиолетовом */
.ep-section--blue .ep-service-card,
.ep-section--blue .ep-project-card,
.ep-section--blue .card                   { background: #fff !important; }
.ep-section--blue .ep-service-card__title,
.ep-section--blue .ep-project-card__title { color: var(--ep-dark) !important; }
.ep-section--blue .ep-service-card__desc,
.ep-section--blue .ep-project-card__task  { color: #6c757d !important; }
/* Кнопка на фиолетовом */
.ep-section--blue .ep-btn-primary         { background: var(--ep-coral); color: #fff; }
.ep-section--blue .ep-btn-primary:hover   { background: var(--ep-coral-hover); color: #fff; }

/* --- Оранжевый (#F48953→#EF887C) — белый текст --- */
.ep-section--coral {
    background: linear-gradient(135deg, #F48953 0%, #EF887C 100%) !important;
    position: relative;
    overflow: hidden;
}
.ep-section--coral::before {
    content: '';
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        radial-gradient(ellipse at 15% 30%, rgba(255,255,255,.15) 0%, transparent 55%),
        radial-gradient(ellipse at 85% 70%, rgba(246,196,85,.18) 0%, transparent 45%);
}
.ep-section--coral > * { position: relative; z-index: 1; }
.ep-section--coral .container { position: relative; z-index: 1; }
.ep-section--coral .ep-label               { color: rgba(255,255,255,.7) !important; letter-spacing: .22em; }
.ep-section--coral .ep-section-title       { color: #fff !important; }
.ep-section--coral .ep-section-title::after { background: rgba(255,255,255,.55) !important; }
.ep-section--coral p,
.ep-section--coral .text-muted             { color: rgba(255,255,255,.82) !important; }
/* Карточки партнёров — белый фон */
.ep-section--coral .card                  { background: #fff !important; border-radius: 8px !important; box-shadow: 0 2px 8px rgba(0,0,0,.1) !important; }
.ep-section--coral .ep-partner-logo       { opacity: 1 !important; filter: none !important; }
/* Кнопка на оранжевом */
.ep-section--coral .ep-btn-primary        { background: #fff; color: var(--ep-coral); }
.ep-section--coral .ep-btn-primary:hover  { background: rgba(255,255,255,.92); }

/* --- Персиковый (#FFBC9A) — ТЁМНЫЙ текст --- */
.ep-section--sky {
    background: linear-gradient(160deg, #FFBC9A 0%, #F5B4AE 100%) !important;
    position: relative;
    overflow: hidden;
}
.ep-section--sky::before {
    content: '';
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        radial-gradient(ellipse at 75% 20%, rgba(255,255,255,.25) 0%, transparent 50%),
        radial-gradient(ellipse at 15% 75%, rgba(87,135,83,.12) 0%, transparent 45%);
}
.ep-section--sky > * { position: relative; z-index: 1; }
.ep-section--sky .container { position: relative; z-index: 1; }
.ep-section--sky .ep-label               { color: var(--ep-mint) !important; }
.ep-section--sky .ep-section-title       { color: var(--ep-dark) !important; }
.ep-section--sky .ep-section-title::after { background: var(--ep-mint) !important; }
.ep-section--sky p,
.ep-section--sky .text-muted             { color: rgba(64,64,64,.75) !important; }
/* Белые карточки на персиковом */
.ep-section--sky .ep-service-card,
.ep-section--sky .ep-project-card,
.ep-section--sky .card                   { background: #fff !important; }
.ep-section--sky .ep-service-card__title,
.ep-section--sky .ep-project-card__title { color: var(--ep-dark) !important; }
.ep-section--sky .ep-btn-primary         { background: var(--ep-coral); color: #fff; }
.ep-section--sky .ep-btn-primary:hover   { background: var(--ep-coral-hover); }
/* Плейсхолдер фото в карточках */
.ep-section--sky .ep-service-card__img-ph,
.ep-section--sky .ep-svc__img-ph         { background: rgba(255,255,255,.6) !important; }
/* Hero img-wrap */
.ep-section--sky .ep-svc-hero__img,
.ep-section--sky .ep-svc-card__img       { background: rgba(255,255,255,.35) !important; border-radius: 8px; }

/* --- Зелёный (#578753→#8CAE55) — белый текст --- */
.ep-section--mint {
    background: linear-gradient(135deg, #578753 0%, #8CAE55 100%) !important;
    position: relative;
    overflow: hidden;
}
.ep-section--mint::before {
    content: '';
    position: absolute; inset: 0; pointer-events: none;
    background-image:
        radial-gradient(ellipse at 80% 20%, rgba(255,255,255,.18) 0%, transparent 50%),
        radial-gradient(ellipse at 10% 80%, rgba(250,223,117,.15) 0%, transparent 45%);
}
.ep-section--mint > * { position: relative; z-index: 1; }
.ep-section--mint .container { position: relative; z-index: 1; }
.ep-section--mint .ep-label               { color: rgba(255,255,255,.8) !important; }
.ep-section--mint .ep-section-title       { color: #fff !important; }
.ep-section--mint .ep-section-title::after { background: var(--ep-gold) !important; }
.ep-section--mint p,
.ep-section--mint .text-muted             { color: rgba(255,255,255,.82) !important; }
/* Белые карточки на зелёном */
.ep-section--mint .ep-service-card,
.ep-section--mint .ep-project-card,
.ep-section--mint .ep-stat-card,
.ep-section--mint .card                   { background: #fff !important; }
.ep-section--mint .ep-service-card__title,
.ep-section--mint .ep-project-card__title { color: var(--ep-dark) !important; }
.ep-section--mint .ep-stat-card           { border-color: rgba(255,255,255,.4) !important; }
.ep-section--mint .ep-btn-primary         { background: var(--ep-coral); color: #fff; }
.ep-section--mint .ep-btn-primary:hover   { background: var(--ep-coral-hover); }
/* Иконки capabilities на зелёном */
.ep-section--mint .ep-cap-icon            { background: rgba(255,255,255,.2) !important; }
.ep-section--mint .ep-cap-icon .bi        { color: #fff !important; }
/* Аккордеон услуг */
.ep-section--mint .ep-svc-list__item      { background: rgba(255,255,255,.75) !important; border-color: rgba(255,255,255,.4) !important; }
.ep-section--mint .ep-svc-list__item:hover,
.ep-section--mint .ep-svc-list__item:not(.collapsed) { background: #fff !important; }
.ep-section--mint .ep-svc-list__wrap      { border-color: rgba(255,255,255,.3) !important; }
.ep-section--mint .ep-svc-list__body      { background: rgba(255,255,255,.85); border-color: rgba(255,255,255,.4) !important; }

/* ================================================
   CAPABILITIES — унифицированные иконки (B2B)
   ================================================ */

/* Заменяем разноцветные подложки на монохромные */
.ep-cap-icon {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 6px;
    flex-shrink: 0;
    display: flex;
    align-items: center;
    justify-content: center;
    background: rgba(61,85,184,.08);
    margin-bottom: 1rem;
}
.ep-cap-icon .bi {
    color: var(--ep-blue);
    font-size: 1.1rem;
}

/* Hero background теперь определён в основном блоке .ep-hero выше */

/* ================================================
   ПАРТНЁРЫ — без shadow-карточек (как у серьёзных компаний)
   ================================================ */

.ep-partners-grid .card {
    background: transparent !important;
    box-shadow: none !important;
    border: none !important;
    border-radius: 0 !important;
}
.ep-partners-grid .ep-partner-logo {
    opacity: .65;
    filter: grayscale(30%);
    transition: opacity .2s, filter .2s;
}
.ep-partners-grid .ep-partner-logo:hover {
    opacity: 1;
    filter: grayscale(0%);
}

/* ================================================
   СЕРВИСНЫЕ КАРТОЧКИ — номер как акцент
   ================================================ */

.ep-svc__num {
    font-size: 0.6rem;
    font-weight: 800;
    letter-spacing: 0.15em;
    text-transform: uppercase;
    color: var(--ep-blue);
    display: block;
    margin-bottom: 0.4rem;
    opacity: 0.55;
}

/* Hover-акцент на аккордеоне — синий вместо пастельного */
.ep-svc-list__item:hover,
.ep-svc-list__item:not(.collapsed) {
    background: rgba(61,85,184,.04) !important;
}

/* ================================================
   PROOF-СТРОКА HERO — бейджи с разделителями
   ================================================ */

.ep-hero__proof {
    display: flex;
    align-items: center;
    gap: 0;
    flex-wrap: wrap;
    justify-content: flex-end;
    text-align: right;
}
.ep-hero__proof-item {
    font-size: .8rem;
    font-weight: 600;
    color: rgba(31,36,48,.55);
    letter-spacing: .02em;
    padding: 0 1rem;
}
.ep-hero__proof-item:first-child { padding-left: 0; }
.ep-hero__proof-sep {
    width: 1px;
    height: 14px;
    background: rgba(31,36,48,.2);
    flex-shrink: 0;
}

/* ================================================
   КНОПКИ — border-radius строже для B2B
   ================================================ */

.ep-btn-primary { border-radius: 4px; }
.ep-btn-ghost   { border-radius: 4px; }

/* ================================================
   FLIP-КАРТОЧКИ КОМАНДЫ — gold вместо yellow в director
   ================================================ */

.flip-wrap--director .flip-back-role {
    color: var(--ep-gold);
}
.flip-wrap--director .flip-front::before,
.flip-wrap--director .flip-back::before {
    background: linear-gradient(90deg, var(--ep-coral), var(--ep-gold));
}

/* ================================================
   ГЛАВНАЯ СТРАНИЦА — пастельная палитра 2026-05
   Все изменения ограничены селектором body.home,
   чтобы не затронуть внутренние страницы.
   ================================================ */

/* Базовый фон главной = персиково-розовый градиент
   (как было у «Наших возможностей» ep-section--sky) */
body.home {
    background: linear-gradient(160deg, #FFBC9A 0%, #F5B4AE 100%);
    background-attachment: fixed;
}

/* Секции без собственного фона сливаются с базовым */
body.home .ep-section,
body.home .ep-section:not([class*="ep-section--"]) {
    background: transparent;
}

/* --- Полоса «Мы в цифрах» — голубой #B3DDFF, тёмный текст --- */
.ep-stats-strip--blue-soft {
    background: #FFCAB8 !important;
    color: var(--ep-dark) !important;
}
.ep-stats-strip--blue-soft .ep-stats-strip__number { color: #2E7A91 !important; font-weight: 900; }
.ep-stats-strip--blue-soft .ep-stats-strip__desc   { color: #274090 !important; opacity: .8; font-size: .95rem !important; font-weight: 700 !important; }
.ep-stats-strip--blue-soft .ep-stats-strip__item   { border-right-color: rgba(46,122,145,.2) !important; }

/* --- «Наши возможности» — светлый персик #FFE5D5 --- */
.ep-section--peach-light { background: #FFCAB8 !important; }

/* --- Заголовки секций на главной — зелёный --- */
body.home .ep-section-title { color: #3A7D56 !important; }
body.home .ep-section-title::after { background: #3A7D56 !important; }

/* --- «Нам доверяют» — пастельный лавандовый #E8DEFF --- */
.ep-section--lavender-soft {
    background: #E8DEFF !important;
    position: relative;
    overflow: hidden;
}
.ep-section--lavender-soft .ep-label               { color: rgba(80,40,140,.7) !important; letter-spacing: .22em; }
.ep-section--lavender-soft .ep-section-title        { color: var(--ep-dark) !important; }
.ep-section--lavender-soft .ep-section-title::after { background: var(--ep-blue) !important; }
.ep-section--lavender-soft p,
.ep-section--lavender-soft .text-muted              { color: rgba(64,64,64,.75) !important; }
.ep-section--lavender-soft .ep-partner-card         { background: #fff !important; border-radius: 10px !important; box-shadow: 0 2px 8px rgba(100,60,180,.12) !important; }
.ep-section--lavender-soft .ep-partner-name         { color: var(--ep-dark) !important; }
.ep-section--lavender-soft .ep-swiper-btn           { background: #fff !important; color: var(--ep-blue) !important; }
.ep-section--lavender-soft .swiper-pagination-bullet { background: var(--ep-blue); }

/* --- CTA «Готовы обсудить» — пастельный мятный #D6F0D2 --- */
.ep-cta-section--mint-soft {
    background: #D6F0D2 !important;
    color: var(--ep-dark) !important;
}
.ep-cta-section--mint-soft::before { display: none; }
.ep-cta-section--mint-soft h2      { color: var(--ep-dark) !important; }
.ep-cta-section--mint-soft p       { color: rgba(64,64,64,.8) !important; }
.ep-cta-section--mint-soft .ep-btn-primary {
    background: var(--ep-coral) !important;
    color: #fff !important;
    box-shadow: 0 2px 10px rgba(244,137,83,.3) !important;
}
.ep-cta-section--mint-soft .ep-btn-primary:hover {
    background: var(--ep-coral-hover) !important;
    color: #fff !important;
}

/* ================================================
   ХЕДЕР — глобальные цвета для всех страниц
   ================================================ */
/* Основная навигация — тёмно-синий как в логотипе */
.ep-primary-nav__list a {
    color: #274090 !important;
    text-decoration: underline !important;
    text-underline-offset: 3px !important;
}
.ep-primary-nav__list a:hover {
    color: var(--ep-coral) !important;
    text-decoration: none !important;
}
/* Телефон — коралловый, жирный */
.ep-navbar-top [href^="tel"] {
    color: var(--ep-coral) !important;
    font-weight: 800 !important;
}
/* Email — тёмно-синий */
.ep-navbar-top [href^="mailto"] {
    color: #274090 !important;
}
.ep-navbar-top .bi {
    color: #274090 !important;
}
/* Вторичная навигация — кнопки со светло-оранжевым фоном */
.ep-nav-secondary > a,
.ep-nav-secondary .ep-nav-dd > a {
    background: #FFD4B0 !important;
    color: var(--ep-dark) !important;
    border-radius: 4px !important;
    padding: 0 1rem !important;
    height: 2.25rem !important;
    line-height: 2.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    font-weight: 700 !important;
    font-size: .88rem !important;
    white-space: nowrap !important;
    transition: background .2s, color .2s !important;
}
.ep-nav-secondary > a:hover,
.ep-nav-secondary .ep-nav-dd > a:hover {
    background: var(--ep-coral) !important;
    color: #fff !important;
}
/* Дропдаун — раскрываем в ряд кнопок */
.ep-nav-dd         { display: contents; }
.ep-nav-dd__menu   { display: contents !important; position: static !important; box-shadow: none !important; border: none !important; background: none !important; padding: 0 !important; }
.ep-nav-dd__menu li { display: contents; }
.ep-nav-dd__menu li a {
    background: #FFD4B0 !important;
    color: var(--ep-dark) !important;
    border-radius: 4px !important;
    padding: 0 1rem !important;
    height: 2.25rem !important;
    display: inline-flex !important;
    align-items: center !important;
    font-weight: 700 !important;
    font-size: .88rem !important;
    white-space: nowrap !important;
    text-decoration: none !important;
    transition: background .2s, color .2s !important;
}
.ep-nav-dd__menu li a:hover {
    background: var(--ep-coral) !important;
    color: #fff !important;
}

/* Футер на главной — как на внутренних страницах (тёмный, без переопределений) */

/* ================================================
   О НАС — акцентный блок в нижней трети первого экрана
   ================================================ */

.ep-about-strip {
    padding-top: clamp(1rem, 2vh, 2rem) !important;
    padding-bottom: clamp(1rem, 2vh, 2rem) !important;
}
/* Большой декоративный заголовок слева */
.ep-about-strip__title {
    font-size: clamp(2.5rem, 5vw, 4.5rem);
    font-weight: 900;
    color: #3A7D56;
    margin: 0 0 .25rem;
    line-height: 1;
    letter-spacing: -.02em;
}
.ep-about-strip__subtitle {
    font-size: clamp(.75rem, 1.2vw, .9rem);
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase;
    color: #3A7D56;
    margin: 0;
}
.ep-about-strip__card {
    flex: 1;
    background: none;
    border-radius: 0;
    padding: 0 1.5rem;
    display: flex;
    flex-direction: column;
    gap: .3rem;
    align-self: center;
}
.ep-about-list {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: .75rem;
    width: 100%;
    list-style: none;
    padding: 0;
    margin: 0;
}
.ep-about-list__para {
    font-size: clamp(1rem, 1.35vw, 1.2rem);
    color: #3A7D56;
    line-height: 1.35;
    margin: 0;
}
.ep-about-list__dot {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 1.4rem;
    flex-shrink: 0;
}
.ep-about-list__dot .bi {
    font-size: 1.3rem;
    color: #2A5E42 !important;
}
.ep-about-list span {
    font-size: clamp(.9rem, 1.1vw, 1rem);
    color: #3A7D56;
    line-height: 1.5;
}
.ep-about-strip__text {
    font-size: clamp(.95rem, 1.15vw, 1.1rem);
    color: #3A7D56;
    line-height: 1.6;
    margin: 0;
}
.ep-about-strip__card .ep-about-list__para {
    margin: 0;
}
.ep-about-strip__divider {
    width: 3px;
    align-self: stretch;
    background: var(--ep-coral);
    border-radius: 2px;
    margin: 0 1.5rem;
    flex-shrink: 0;
}

/* ================================================
   ПЕРВЫЙ ЭКРАН — 2/3 Hero + 1/3 (О НАС + Цифры)
   ================================================ */

.ep-first-screen {
    display: flex;
    flex-direction: column;
    height: calc(100vh - var(--ep-header-height, 96px));
    overflow: visible;
}
/* Hero — 2/5 высоты */
.ep-first-screen .ep-hero {
    flex: 2;
    min-height: 0;
}
/* Нижняя часть: О НАС + Цифры = 3/5 */
.ep-bottom-third {
    flex: 3;
    min-height: 0;
    display: flex;
    flex-direction: column;
}
/* О НАС — занимает большую часть нижней трети */
.ep-bottom-third .ep-about-strip {
    flex: 1;
    min-height: 0;
    display: flex;
    align-items: stretch;
    overflow: visible;
}
.ep-bottom-third .ep-about-strip .container {
    display: flex;
    align-items: center;
}
/* Цифры — компактная фиксированная полоска */
.ep-bottom-third .ep-stats-strip {
    flex-shrink: 0;
}
/* Средние экраны: уменьшаем padding и шрифты, сохраняем пропорции */
@media (max-width: 1280px) {
    .ep-about-strip { padding-top: 1rem !important; padding-bottom: 1rem !important; }
    .ep-about-strip__title { font-size: clamp(1.8rem, 4vw, 3rem); }
    .ep-about-list span { font-size: clamp(.8rem, 1vw, .95rem); }
    .ep-about-list li { padding: .3rem 0; }
    .ep-about-list__dot { width: 1.7rem; height: 1.7rem; }
    .ep-about-list__dot .bi { font-size: .9rem; }
    .ep-stats-strip__item { padding: 1rem 1rem; }
    .ep-stats-strip__number { font-size: clamp(1.4rem, 3vw, 2.2rem) !important; }
    .ep-stats-strip__desc { font-size: .8rem !important; }
}

/* Мобильные: всё в столбик, фиксированная высота отключается */
@media (max-width: 991.98px) {
    .ep-first-screen { height: auto; overflow: visible; }
    .ep-bottom-third { flex: none; }
    .ep-bottom-third .ep-about-strip { display: block; padding-top: 2rem !important; padding-bottom: 2rem !important; }
    .ep-about-strip .container { flex-direction: column; align-items: flex-start !important; }
    .ep-about-strip__divider { display: none; }
    .ep-about-strip__card { padding: .5rem 0; }
    .d-flex.gap-0.flex-grow-1 { flex-direction: column; }
}

/* ================================================
   HERO SLIDER — автолистающий слайдер в Hero
   ================================================ */

.ep-hero-slider {
    border-radius: 16px;
    overflow: hidden;
    box-shadow: 0 8px 32px rgba(0,0,0,.18);
    aspect-ratio: 16/10;
    width: 100%;
}
.ep-hero-slider__img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
    opacity: .85;
    transition: opacity .4s ease;
}
.ep-hero-slider:hover .ep-hero-slider__img {
    opacity: 1;
}
.ep-hero-slider .carousel-inner,
.ep-hero-slider .carousel-item {
    height: 100%;
}
/* Плавный переход */
.ep-hero-slider .carousel-item {
    transition: transform .65s ease-in-out;
}
/* Точки-индикаторы — полный override Bootstrap */
.ep-hero-slider__dots {
    bottom: 10px !important;
    margin: 0 !important;
    gap: 6px !important;
}
.ep-hero-slider__dots button {
    width: 6px !important;
    height: 6px !important;
    min-width: 0 !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.5) !important;
    border-top: none !important;
    border-bottom: none !important;
    opacity: 1 !important;
    margin: 0 !important;
    padding: 0 !important;
    transition: background .2s, transform .2s !important;
    flex-shrink: 0 !important;
    box-shadow: none !important;
    text-indent: 0 !important;
}
.ep-hero-slider__dots button.active {
    background: #fff !important;
    transform: scale(1.5) !important;
}

/* Стрелки навигации — появляются при наведении */
.ep-hero-slider__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,.85);
    color: #333;
    border: none;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transition: opacity .22s, transform .22s, background .18s;
    z-index: 10;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,.18);
}
.ep-hero-slider__arrow--prev { left: 10px; }
.ep-hero-slider__arrow--next { right: 10px; }
.ep-hero-slider:hover .ep-hero-slider__arrow { opacity: 1; }
.ep-hero-slider__arrow:hover {
    background: #fff;
    transform: translateY(-50%) scale(1.08);
}
/* Сбрасываем дефолтные стили Bootstrap carousel controls */
.ep-hero-slider__arrow .carousel-control-prev-icon,
.ep-hero-slider__arrow .carousel-control-next-icon { display: none; }

/* ================================================
   OVERRIDE: УКРУПНЕНИЕ ШРИФТОВ
   Верхняя навигация + контентные блоки главной
   ================================================ */

/* Шапка — строка 1: основное меню */
.ep-primary-nav__list .nav-link               { font-size: 1.4rem; }
.ep-primary-nav__list .dropdown-menu .nav-link,
.ep-primary-nav__list .dropdown-menu .dropdown-item { font-size: 1.25rem; }

/* Шапка — строка 2: вторичное меню */
.ep-nav-secondary > a,
.ep-nav-secondary .ep-nav-dd > a              { font-size: 1.5rem; }
.ep-nav-dd__menu li a                         { font-size: 1.25rem; }

/* Шапка — контакт (email, телефон) */
.ep-navbar-contact,
.ep-navbar-contact a                          { font-size: 1.3rem; }
.ep-navbar-top a[href^="tel:"]                { font-size: 1.4rem; }

/* Шапка — мобильное меню */
.ep-mobile-nav .ep-primary-nav__list .nav-link { font-size: 1.5rem; }
.ep-mobile-nav .ep-primary-nav__list .dropdown-menu .nav-link,
.ep-mobile-nav .ep-primary-nav__list .dropdown-menu .dropdown-item { font-size: 1.35rem !important; }
.ep-nav-secondary-mobile a                    { font-size: 1.4rem; }

/* Главная — Hero tagline и hashtag */
.ep-hero__tagline  { font-size: clamp(1.05rem, 1.8vw, 1.3rem) !important; }
.ep-hero__hashtag  { font-size: clamp(0.95rem, 1.5vw, 1.15rem) !important; }

/* Главная — блок «О нас» тексты */
.ep-about-list__para { font-size: clamp(1rem, 1.35vw, 1.2rem) !important; line-height: 1.35 !important; }
.ep-about-list span  { font-size: clamp(1rem, 1.35vw, 1.2rem) !important; }

/* Главная — подписи к цифрам */
.ep-stats-strip__desc { font-size: 1.05rem !important; }

/* Главная — списки услуг и возможностей */
.ep-services-list li          { font-size: 1.2rem; }
.ep-services-list li .ep-svc-num { font-size: 1rem; }
.ep-caps-list li              { font-size: 1.2rem; }
.ep-caps-list li .ep-cap-num  { font-size: 1rem; }

/* Метки-лейблы над заголовками секций */
.ep-label { font-size: 0.82rem !important; }

/* Кнопка «Связаться» — нижняя строка шапки */
.ep-navbar-bottom .ep-btn-primary { font-size: 1.15rem !important; padding: .55rem 1.6rem !important; }
