[class*="thumb"]{position:relative}
.pop-badge{position:absolute;top:10px;left:10px;z-index:3;background:var(--red,#D6001C);color:#fff;font-family:var(--font,inherit);font-size:11.5px;font-weight:800;letter-spacing:.04em;padding:5px 10px;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.18)}

/* выравнивание низа карточек: дата и «Читать» всегда у нижнего края */
.blog-card{display:flex !important;flex-direction:column;height:100%}
.blog-card p{margin-bottom:0}
.bc-date{display:block;font-size:12px;color:var(--g400);font-weight:500;margin-top:auto;padding-top:16px}
.bc-more{margin-top:8px;padding-top:0}
.blog-card:not(:has(.bc-date)) .bc-more{margin-top:auto;padding-top:16px}
.pod-card{display:flex !important;flex-direction:column;height:100%}
.pod-date{display:block;font-size:12px;color:var(--g400);font-weight:500;margin-top:auto;padding-top:16px}
.pod-listen{margin-top:8px}
.pod-card:not(:has(.pod-date)) .pod-listen{margin-top:auto;padding-top:16px}

/* ===== ПРАВКИ 07.08: адаптив и единый стиль ===== */
/* 1. Баннер ЭПД: прижат к шапке на всех разрешениях */
@media(max-width:1024px){.epd-banner{margin-top:64px}}
@media(max-width:768px){.epd-banner{margin-top:60px}}
@media(max-width:600px){.epd-banner{margin-top:56px}}

/* 2. Единый стиль кнопок: высота, скругление, кегль */
.btn-primary,.btn-outline,.form-submit-btn,.audit-submit,.kalk-submit,.epd-btn,.bh-actions .btn-primary{
  height:52px;padding:0 28px;border-radius:14px;font-size:15px;font-weight:700;
  display:inline-flex;align-items:center;justify-content:center;gap:8px;line-height:1;box-sizing:border-box}
@media(max-width:600px){
  .btn-primary,.btn-outline,.form-submit-btn,.audit-submit,.kalk-submit,.epd-btn{height:52px;font-size:15px;padding:0 22px}
}
/* шапка — компактнее */
.header .btn-primary{height:42px;padding:0 18px;font-size:14px;border-radius:11px}

/* 3. Лимит статей на главной: 6 / 4 / 3 */
#blog .blog-grid > .blog-card:nth-child(n+7){display:none !important}
@media(max-width:1024px){#blog .blog-grid > .blog-card:nth-child(n+5){display:none !important}}
@media(max-width:768px){#blog .blog-grid > .blog-card:nth-child(n+4){display:none !important}}

/* 4. Кнопка «Все статьи» на планшете и мобиле — во всю ширину */
@media(max-width:1024px){
  .bh-actions{display:block}
  .bh-actions .btn-primary{width:100%;display:flex}
}

/* 5. Чекбокс согласия перед кнопкой на планшете и мобиле */
@media(max-width:1024px){
  .final-form-wrap,.final-cta form,.final-cta .final-form{display:flex;flex-direction:column}
  .final-cta .consent-row{order:-1;margin-top:0!important;margin-bottom:14px;justify-content:flex-start!important}
}

/* 6. Отступы на узких экранах */
@media(max-width:400px){
  .cities-block,.geo-block,.cities,.section-inner,.bh-wrap,.container{padding-left:16px!important;padding-right:16px!important}
  body{overflow-x:hidden}
  *{max-width:100vw}
}

@media(max-width:420px){
  .geo-grid,.geo-cities,.city-list{box-sizing:border-box;max-width:100%}
  .city-list li{word-break:break-word}
  .tariff-card{width:calc(100vw - 56px)}
}

/* ===== ПРАВКИ 07.08 v2 ===== */
/* 1. Видео на главной — карусель на мобиле и планшете */
@media(max-width:1024px){
  .video-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    scrollbar-width:none;-ms-overflow-style:none;padding:4px 24px 8px;margin:0 -24px}
  .video-row::-webkit-scrollbar{display:none}
  .video-card{flex:0 0 auto;width:min(62vw,260px);scroll-snap-align:center}
}
/* 2. Материалы на главной: 6 ПК / 4 планшет / 3 мобилка */
.materials-home .blog-grid > .blog-card:nth-child(n+7){display:none !important}
@media(max-width:1024px){.materials-home .blog-grid > .blog-card:nth-child(n+5){display:none !important}}
@media(max-width:768px){.materials-home .blog-grid > .blog-card:nth-child(n+4){display:none !important}}
@media(max-width:1024px){.materials-home .bh-actions{display:block}.materials-home .bh-actions .btn-primary{width:100%;display:flex}}

/* 3. Чекбокс: между полем и кнопкой (а не над полем) */
@media(max-width:1024px){
  .final-form-wrap{display:flex;flex-direction:column}
  .final-form-wrap .final-form{display:flex;flex-direction:column;gap:12px}
  .final-form-wrap .final-form input[type=tel]{order:1}
  .final-form-wrap .consent-row{order:2;margin:2px 0 4px!important;justify-content:flex-start!important}
  .final-form-wrap .final-form button{order:3}
  /* сам чекбокс переносим внутрь формы визуально */
  .final-form-wrap{position:relative}
}

/* 4. Контакты: отступ справа на узких экранах */
@media(max-width:520px){
  .footer,.footer-grid,.contacts-block,.footer-col{box-sizing:border-box;max-width:100%}
  .footer-grid{padding-left:20px;padding-right:20px}
  .footer a,.footer p,.footer li{word-break:break-word;overflow-wrap:anywhere}
}

/* 5. Круги подкастов: одинаковый размер, пульсация не влияет на сетку */
.pod-thumb{width:100%;max-width:210px;aspect-ratio:1/1;flex:0 0 auto}
.pod-thumb::after,.pod-thumb::before{pointer-events:none}
@media(max-width:600px){.pod-thumb{max-width:160px}}

/* ===== ПРАВКИ 07.08 v3 ===== */
/* 1. Карусель видео: отступы у первого и последнего слайда */
@media(max-width:1024px){
  .video-row{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
    scrollbar-width:none;-ms-overflow-style:none;padding:4px 0 8px;margin:0;
    scroll-padding-left:24px;scroll-padding-right:24px}
  .video-row::-webkit-scrollbar{display:none}
  .video-card{flex:0 0 auto;width:min(62vw,260px);scroll-snap-align:start}
  .video-row{padding-left:24px;padding-right:24px}
}

/* 2. Города и контакты: гарантированный отступ справа на узких экранах */
@media(max-width:600px){
  .geo-grid{grid-template-columns:1fr;margin-left:20px!important;margin-right:20px!important;
    max-width:calc(100% - 40px);box-sizing:border-box}
  .geo-cities,.geo-contacts{box-sizing:border-box;max-width:100%}
  .geo-head,.geo-media{margin-left:20px!important;margin-right:20px!important;
    padding-left:0!important;padding-right:0!important;max-width:calc(100% - 40px);box-sizing:border-box}
  .geo-grid *,.geo-cities *,.geo-contacts *{max-width:100%;overflow-wrap:anywhere}
}

/* 3. Круги подкастов — размер фиксируем жёстко */
.pod-thumb{width:100%!important;aspect-ratio:1/1!important;margin:0 auto}
@media(max-width:900px){.pod-thumb{max-width:190px!important}}
@media(max-width:600px){.pod-thumb{max-width:150px!important}}

/* 4. Тарифы-карусель: отступы по краям */
@media(max-width:600px){
  .tariffs-grid{padding-left:20px;padding-right:20px;scroll-padding-left:20px}
  .tariff-card{scroll-snap-align:start}
}

/* ===== ПРАВКИ 07.08 v4 ===== */
/* Колонки подкастов строго равны (1fr разъезжался из-за длинных слов) */
.podk-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}
@media(max-width:600px){
  .podk-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .pod-card{min-width:0}
  .pod-card h3,.pod-card p{min-width:0;overflow-wrap:anywhere;hyphens:auto}
}
/* Отступ справа у последнего слайда карусели — заметный */
@media(max-width:1024px){
  .video-row > .video-card:last-child{margin-right:24px}
}

/* ===== ПРАВКИ 07.08 v5 ===== */
/* Футер на мобиле: единый отступ 20px у всех блоков
   (у .footer-brand и .footer-col было 40px из-за паддинга .footer-grid) */
@media(max-width:600px){
  .footer-grid,.footer-disclaimer,.footer-bottom{
    margin-left:0!important;margin-right:0!important;
    padding-left:0!important;padding-right:0!important;
    max-width:100%;box-sizing:border-box}
  .footer-brand,.footer-col{padding-left:0!important;padding-right:0!important}
}

/* ===== ПРАВКИ 07.08 v6 ===== */
/* ПК: чекбокс уходит под форму отдельной строкой, поле и кнопка в ряд */
@media(min-width:1025px){
  .final-form{flex-wrap:wrap}
  .final-form > input[type=tel]{flex:1 1 300px;order:1}
  .final-form > button{order:2;flex:0 0 auto}
  .final-form > .consent-row{order:3;flex:0 0 100%;width:100%;
    justify-content:center!important;margin:14px 0 0!important}
}
/* Планшет и мобила: колонкой, чекбокс между полем и кнопкой */
@media(max-width:1024px){
  .final-form{flex-direction:column;align-items:stretch;gap:12px;flex-wrap:nowrap}
  .final-form > input[type=tel]{order:1;width:100%;height:56px;flex:0 0 56px;box-sizing:border-box}
  .final-form > .consent-row{order:2;justify-content:flex-start!important;margin:0!important}
  .final-form > button{order:3;width:100%}
}

/* ===== ПРАВКИ 07.08 v7 ===== */
/* Форма подписки в подкастах: на планшете и мобиле чекбокс перед кнопкой */
@media(max-width:1024px){
  .cl-form{display:flex!important;flex-direction:column!important;gap:12px}
  .cl-form .cl-input{order:1;width:100%;height:52px;box-sizing:border-box}
  .cl-form #cl-consent-row,.cl-form .consent-row{order:2;margin:0!important;justify-content:flex-start!important}
  .cl-form .cl-btn{order:3;width:100%}
  .cl-form .cl-msg{order:4}
}


/* ── единый левый край контента ──────────────────────────────
   Плитки во всю ширину (боли, статистика, шаги) начинались
   от края экрана, и текст в них не совпадал с заголовками секций.
   Крайним ячейкам добавлены поля, равные общему отступу сайта. */
.pains-grid > .pain-card:first-child,
.trust-strip > *:first-child,
.steps-grid > *:first-child,
.steps-row > *:first-child{padding-left:clamp(24px,5vw,80px)}
.pains-grid > .pain-card:last-child,
.trust-strip > *:last-child,
.steps-grid > *:last-child,
.steps-row > *:last-child{padding-right:clamp(24px,5vw,80px)}
@media(max-width:1100px) and (min-width:701px){
  .pains-grid > .pain-card:nth-child(2n+1),
  .trust-strip > *:nth-child(2n+1),
  .steps-grid > *:nth-child(2n+1){padding-left:clamp(24px,5vw,80px)}
  .pains-grid > .pain-card:nth-child(2n),
  .trust-strip > *:nth-child(2n),
  .steps-grid > *:nth-child(2n){padding-right:clamp(24px,5vw,80px)}
}
@media(max-width:768px){
  .pains-grid > .pain-card,
  .trust-strip > *,
  .steps-grid > *,
  .steps-row > *{padding-left:20px !important;padding-right:20px !important}
}

/* активный пункт меню в футере */
.footer a.active{color:var(--yellow)!important;font-weight:700}


/* футер: копирайт последним на планшете и мобиле */
@media(max-width:1024px){
  .footer-grid{display:flex;flex-direction:column}
  .footer-brand{order:1}
  .footer-col{order:2}
  .footer-disclaimer,.footer-bottom,.footer-copy{order:9}
}

/* футер: копирайт после правовых ссылок на планшете и мобиле */
@media(max-width:1024px){
  .footer-bottom{display:flex!important;flex-direction:column;gap:10px}
  .footer-legal{order:1}
  .footer-copy{order:2}
}

/* блок «Как мы работаем»: сетка в тех же полях, что заголовок */
.steps-track{padding:0 clamp(24px,5vw,80px);box-sizing:border-box}


/* на мобиле чекбокс всегда перед кнопкой */
@media(max-width:1024px){
  .hero-form-card,.audit-right,.final-form,.cl-form,form{display:flex;flex-direction:column}
  .hero-form-card .consent-row,.audit-right .consent-row,.final-form .consent-row{order:50}
  .hero-form-card .form-submit-btn,.audit-right .audit-submit,
  .final-form button,.final-form .btn-primary{order:60}
}


/* подписка: на мобиле и планшете чекбокс перед кнопкой */
@media(max-width:1024px){
  #subForm,.sub-form,.sub-teaser form{display:flex!important;flex-direction:column!important}
  #subForm input[type=email],.sub-form input[type=email]{order:1!important}
  .sub-consent-row{order:2!important;margin:12px 0 0!important}
  #subForm button,.sub-form button{order:3!important;margin-top:12px!important}
}


/* подписка: на мобиле поле → чекбокс → кнопка */
@media(max-width:1024px){
  #subForm,.sub-form{display:flex!important;flex-direction:column!important;gap:12px}
  #subForm .sub-row,.sub-form .sub-row{display:contents!important}
  #subForm input[type=email],.sub-form input[type=email]{order:1!important;width:100%}
  #subForm .sub-consent-row,.sub-form .sub-consent-row{order:2!important;margin:0!important}
  #subForm button,.sub-form button{order:3!important;width:100%;margin:0!important}
  #subForm .sub-msg,.sub-form .sub-msg{order:4!important}
}


/* ═══ СОГЛАСИЕ В ФОРМАХ — единое правило ═══
   ПК: как было. Мобила и планшет: поле → чекбокс → кнопка,
   отступ до чекбокса одинаковый во всех формах. */
.consent-row,.sub-consent-row{margin-top:12px}
.form-group:has(+ .consent-row){margin-bottom:0}
.final-form .consent-row,.final-cta .consent-row{margin-top:0}

@media(max-width:1024px){
  .hero-form-card,.audit-right,.final-form,.cl-form,#subForm,.sub-form{
    display:flex!important;flex-direction:column!important;gap:12px}
  #subForm .sub-row,.sub-form .sub-row{display:contents!important}
  .hero-form-card .form-group,.audit-right .form-group{margin-bottom:0!important}
  .hero-form-card input,.audit-right input,.final-form input,#subForm input[type=email]{order:1}
  .hero-form-card .form-group,.audit-right .form-group{order:1}
  .consent-row,.sub-consent-row{order:2!important;margin:0!important}
  .form-submit-btn,.audit-submit,.final-form button,.final-form .btn-primary,
  #subForm button,.sub-form button{order:3!important;margin:0!important;width:100%}
  .sub-msg,.final-note{order:4}
}

/* ПК: форма заявки в ряд по центру, чекбокс отдельной строкой под ней */
@media(min-width:1025px){
  .final-form{display:flex!important;flex-direction:row!important;flex-wrap:wrap;
    align-items:center;justify-content:center;gap:12px;max-width:560px;margin:0 auto}
  .final-form > input[type=tel]{order:1;flex:1 1 300px}
  .final-form > button,.final-form > .btn-primary{order:2;flex:0 0 auto}
  .final-form .consent-row{order:3;flex:0 0 100%;width:100%;margin-top:0!important}
}

/* мобила: чекбокс между полем и кнопкой без изменения разметки */
@media(max-width:1024px){
  .final-cta{display:flex!important;flex-direction:column;align-items:stretch}
  .final-cta .final-form{display:contents!important}
  .final-cta .final-form input[type=tel]{order:1!important;width:100%}
  .final-cta .consent-row,.final-cta #final-consent-row{order:2!important;margin:12px 0 0!important;justify-content:flex-start!important}
  .final-cta .final-form button{order:3!important;width:100%;margin-top:12px!important}
  .final-cta .final-note{order:4!important;margin-top:12px}
  .final-cta h2,.final-cta p:not(.final-note),.final-cta .final-cta-bg{order:0}
}

/* ═══ ЕДИНЫЙ СТИЛЬ КНОПОК ═══
   Все кнопки действия: радиус 14, высота 52–56, кегль 15.
   Исключения — кнопка в шапке (компактнее) и фильтры-чипы. */
.tariff-btn,.cta-band-btn,.gt-btn,.mm-consult,
.cal-cta a,.cal-cta button,.cal-consult,
.dl,a.dl,.final-cta .btn-primary{
  border-radius:14px!important;font-size:15px!important;font-weight:700;
  min-height:52px;display:inline-flex;align-items:center;justify-content:center;
  padding:0 28px;line-height:1;box-sizing:border-box}
.mm-consult{font-size:15px!important;min-height:52px}
.dl,a.dl{min-height:44px;padding:0 20px;font-size:14px!important}

/* согласие в финальной форме: чекбокс рядом с текстом, не по краям */
@media(min-width:1025px){
  .final-cta .consent-row,.final-form .consent-row{
    justify-content:center!important;align-items:flex-start;gap:10px;max-width:640px;margin-left:auto;margin-right:auto}
  .final-cta .consent-row label,.final-form .consent-row label{text-align:left;flex:0 1 auto}
  .final-cta .consent-check,.final-form .consent-check{flex:0 0 20px;margin-top:2px}
}

/* ═══ НАВЕДЕНИЕ НА ССЫЛКИ ═══ */
.consent-row a,.sub-consent-text a,.final-note a,.footer a,.crumbs a,.kcrumbs a,
.how-body a,.acc a,.ep-lead a,.article a,.mp-card a{transition:color .18s ease,opacity .18s ease}
.consent-row a:hover,.sub-consent-text a:hover{color:#B00017!important;text-decoration-thickness:2px}
.final-note a:hover{color:#1A1A1A!important;text-decoration-thickness:2px}
.footer a:hover{color:var(--yellow)!important}
.crumbs a:hover,.kcrumbs a:hover{color:var(--red)!important;text-decoration:underline}
.how-body a:hover,.acc a:hover,.article a:hover{color:#B00017!important}
a:hover{cursor:pointer}
/* карточки и кнопки — лёгкий отклик */
.btn-primary:hover{filter:brightness(1.06)}
.btn-outline:hover{border-color:var(--g900)}

/* наведение на ссылки — заметный отклик */
.final-note a{color:#1A1A1A;text-decoration:underline;text-underline-offset:3px}
.final-note a:hover{color:#D6001C!important;text-decoration-thickness:2px}
.consent-row a:hover,.sub-consent-text a:hover{color:#D6001C!important;text-decoration-thickness:2px}
.header .nav a{transition:color .18s ease}
.header .nav a:hover{color:#D6001C!important}
.mobile-overlay a{transition:color .18s ease}
.mobile-overlay a:hover{color:#D6001C!important}
.header-phone:hover{color:#D6001C!important}
.footer a{transition:color .18s ease}
.footer a:hover{color:#FFD100!important}
.sub-consent-text a{text-underline-offset:3px}

/* форма заявки: одинаковая раскладка на всех страницах */
@media(min-width:1025px){
  .final-cta .final-form{display:flex!important;flex-direction:row!important;flex-wrap:wrap;
    align-items:center;justify-content:center;gap:12px;max-width:560px;margin:0 auto}
  .final-cta .final-form > input[type=tel]{order:1;flex:1 1 300px}
  .final-cta .final-form > button{order:2;flex:0 0 auto}
  .final-cta .final-form .consent-row{order:3;flex:0 0 100%;width:100%;margin-top:0!important}
}

/* клик по чекбоксу: накладка не должна перехватывать нажатие */
.consent-check{position:relative}
.consent-check .checkmark,.kmail .consent-check .checkmark,
.sub-cc .sub-checkmark{pointer-events:none}
.consent-check input[type=checkbox],.kmail .consent-check input[type=checkbox],
.sub-cc input[type=checkbox]{position:absolute;top:0;left:0;width:100%;height:100%;
  opacity:0;margin:0;cursor:pointer;z-index:3}
/* по всей строке согласия тоже кликается */
.consent-row,.kmail .consent-row,.sub-consent-row{cursor:pointer}

/* окна вместо браузерных alert и confirm */
.et-dialog{position:fixed;inset:0;z-index:9999;display:flex;align-items:center;justify-content:center;
  padding:20px;opacity:0;transition:opacity .22s ease;pointer-events:none}
.et-dialog.show{opacity:1;pointer-events:auto}
.et-dialog-back{position:absolute;inset:0;background:rgba(0,0,0,.55);backdrop-filter:blur(3px)}
.et-dialog-card{position:relative;background:#fff;border-radius:22px;padding:34px 32px 28px;
  max-width:420px;width:100%;text-align:center;box-shadow:0 24px 70px rgba(0,0,0,.25);
  transform:translateY(14px) scale(.97);transition:transform .22s ease}
.et-dialog.show .et-dialog-card{transform:none}
.et-dialog-ico{width:64px;height:64px;border-radius:50%;margin:0 auto 18px;
  display:flex;align-items:center;justify-content:center;background:#FFF8DC;color:#C79A00}
.et-dialog--error .et-dialog-ico{background:#FDECEE;color:#D6001C}
.et-dialog--ok .et-dialog-ico{background:#E8F6EC;color:#1E8F42}
.et-dialog-ico svg{width:30px;height:30px}
.et-dialog-card h3{font-size:21px;font-weight:800;letter-spacing:-.02em;margin:0 0 10px;color:#1A1A1A}
.et-dialog-card p{font-size:15.5px;line-height:1.6;color:#666;margin:0 0 22px}
.et-dialog-btns{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}
.et-btn{min-height:52px;padding:0 28px;border-radius:14px;font-family:inherit;font-size:15px;
  font-weight:700;cursor:pointer;border:none;transition:filter .18s,border-color .18s}
.et-btn--main{background:#D6001C;color:#fff}
.et-btn--main:hover{filter:brightness(1.1)}
.et-btn--ghost{background:#fff;color:#1A1A1A;border:1.5px solid #E8E8E8}
.et-btn--ghost:hover{border-color:#1A1A1A}
@media(max-width:520px){
  .et-dialog-card{padding:28px 22px 24px}
  .et-btn{width:100%}
}

/* ── Единый вертикальный ритм на мобильных ──
   На узких экранах отступы секций расходились от 36 до 118 пикселей:
   часть задана в vh (считается от высоты окна и на телефоне не уменьшается),
   часть — фиксированными значениями. Приводим к одной величине от ширины.
   Герой и первый экран не трогаем: там отступ работает на композицию. */
@media(max-width:768px){
  section:not(.hero):not(.epd-banner):not(.trust-strip):not(:first-of-type),
  .v-sec, .v-form-sec, .sec, .khub-sec{
    padding-top:clamp(36px,7.5vw,54px);
    padding-bottom:clamp(36px,7.5vw,54px);
  }
  /* блоки без смены фона друг за другом — вдвое скромнее */
  section:not([class*="--"]) + section:not([class*="--"]){padding-top:clamp(16px,3.5vw,26px)}
}

/* Текущий раздел в подвале: человек должен понимать, где он находится */
.footer-col a.on{color:var(--white);font-weight:700}
