:root{
  --bg:#fff7f3; --card:#fdeee6; --brand:#a45645; --accent:#d28a74;
  --text:#4a2e2a; --muted:#7a5a54; --line:#f1d9d1; --gold:rgba(210,138,116,.6);
  --shadow:0 10px 30px rgba(164,86,69,.15); --radius:22px; --radius-xl:28px;
  --max:1120px;
}

.landing-drivers { background:var(--bg); color:var(--text) }
.landing-drivers img{max-width:100%;display:block;height:auto}
.landing-drivers a{color:inherit;text-decoration:none}
.landing-drivers .container{max-width:var(--max);margin:0 auto;padding:clamp(20px,3.5vw,40px)}
.landing-drivers .section{padding:clamp(32px,6vw,80px) 0;border-top:1px solid var(--line)}
.landing-drivers .title{font-size:clamp(26px,4.8vw,40px);line-height:1.1;margin:0 0 .5em;text-wrap:balance}
.landing-drivers .subtitle{font-size:clamp(16px,2.2vw,20px);color:var(--muted);margin:0 0 1.25em;text-wrap:pretty}
.landing-drivers .btn{display:inline-block;padding:.9em 1.45em;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--brand));color:#fff;text-decoration:none;font-weight:700;box-shadow:var(--shadow);transition:transform .15s ease, box-shadow .25s ease, opacity .2s}
.landing-drivers .btn:hover{transform:translateY(-1px);box-shadow:0 14px 36px rgba(164,86,69,.22)}
.landing-drivers .btn:active{transform:none;opacity:.92}
.landing-drivers .grid{display:grid;gap:clamp(16px,2.6vw,28px)}

/* HERO */
.landing-drivers .hero{position:relative;min-height:72vh;display:grid;place-items:center;overflow:hidden;background:var(--bg)}
.landing-drivers .hero__bg{position:absolute;inset:0;z-index:0}
.landing-drivers .hero__bg img{width:100%;height:100%;object-fit:cover;object-position:center}
.landing-drivers .hero__overlay{position:absolute;inset:0;z-index:1;background:
  radial-gradient(120% 100% at 50% 0%, rgba(255,255,255,.35) 0%, rgba(255,255,255,0) 60%),
  linear-gradient(180deg, rgba(164,86,69,.15) 0%, rgba(164,86,69,.35) 100%); mix-blend-mode:multiply}
.landing-drivers .hero__inner{position:relative;z-index:2;text-align:center;max-width:min(880px,92vw);margin:40px auto;padding:clamp(16px,2vw,24px)}
.landing-drivers .hero__title{font-size:clamp(30px,5vw,52px);line-height:1.06;margin:0 0 .45em}
.landing-drivers .hero__subtitle{font-size:clamp(16px,2.2vw,22px);color:var(--muted);margin:0 0 1.25em}

/* Карточки (2) */
.landing-drivers .cards{grid-template-columns:repeat(3,1fr)}
.landing-drivers .card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:clamp(16px,2.6vw,22px);box-shadow:0 2px 10px rgba(164,86,69,.06)}
.landing-drivers .card h3{margin:.2em 0 .4em;font-size:1.05rem}
.landing-drivers .card p{margin:0;color:var(--muted)}
.landing-drivers .icon{width:40px;height:40px;border-radius:12px;background:rgba(210,138,116,.18);display:grid;place-items:center;margin-bottom:10px}
@media (max-width:900px){ .landing-drivers .cards{grid-template-columns:1fr} }

/* SWOT (3) */
.landing-drivers .swot{grid-template-columns:repeat(4,1fr)}
.landing-drivers .swot .box{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.landing-drivers .swot .box h4{margin:.2em 0 .6em;font-size:1rem}
.landing-drivers .swot .box ul{margin:0;padding-left:18px;color:var(--muted)}
@media (max-width:1100px){ .landing-drivers .swot{grid-template-columns:repeat(2,1fr)} }
@media (max-width:640px){ .landing-drivers .swot{grid-template-columns:1fr} }

/* Steps (4) */
.landing-drivers .steps{counter-reset:step}
.landing-drivers .step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px;display:grid;grid-template-columns:auto 1fr;gap:14px;align-items:start}
.landing-drivers .step:before{counter-increment:step;content:counter(step);width:32px;height:32px;border-radius:999px;background:linear-gradient(180deg,var(--accent),var(--brand));color:#fff;display:grid;place-items:center;font-weight:700}

/* Quotes (5) */
.landing-drivers .quotes{display:grid;gap:14px}
.landing-drivers .quote{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:14px;color:var(--muted)}

/* Timeline (7) */
.landing-drivers .timeline{border-left:2px solid var(--line);padding-left:18px}
.landing-drivers .timeline .t{position:relative;margin:14px 0;padding-left:6px}
.landing-drivers .timeline .t:before{content:"";position:absolute;left:-21px;top:.4em;width:10px;height:10px;border-radius:999px;background:var(--gold);box-shadow:0 0 0 4px rgba(210,138,116,.18)}

/* Price (9) */
.landing-drivers .price{background:#fff;border:1px solid var(--line);border-radius:var(--radius-xl);padding:clamp(18px,3vw,28px);display:grid;place-items:start;gap:10px;box-shadow:var(--shadow)}
.landing-drivers .price strong{font-size:clamp(22px,3.6vw,32px)}

/* FAQ (10) */
.landing-drivers .faq{display:grid;gap:10px}
.landing-drivers details{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.landing-drivers details[open]{box-shadow:0 6px 20px rgba(164,86,69,.08)}
.landing-drivers summary{cursor:pointer;list-style:none;font-weight:700}
.landing-drivers summary::-webkit-details-marker{display:none}
.landing-drivers details p{margin:.6em 0 0;color:var(--muted)}

/* Closer (11) */
.landing-drivers .closer{background:linear-gradient(180deg, rgba(255,255,255,.6), rgba(253,238,230,.9))}
.landing-drivers .closer .cta{display:flex;gap:14px;flex-wrap:wrap;align-items:center}

/* Хелперы */
.landing-drivers .lead{font-size:1.1rem;color:var(--muted)}
.landing-drivers .center{text-align:center}
.landing-drivers .muted{color:var(--muted)}
.landing-drivers .mt{margin-top:10px}
.landing-drivers .mt2{margin-top:16px}
.landing-drivers .mt3{margin-top:24px}
.landing-drivers .mt4{margin-top:32px}
.landing-drivers .safe{padding:0 40px}
@media (max-width:640px){ .landing-drivers .safe{padding:0 20px} }

/* --- HERO: фикс центрирования и читаемости --- */
.landing-drivers .hero {
  min-height: 76vh;                /* чуть выше, чтобы текст не упирался */
  place-items: center;             /* вертикаль/горизонталь по центру */
}

.landing-drivers .hero__inner {
  max-width: min(920px, 92vw);
  margin-left: auto;               /* гарантированный центр */
  margin-right: auto;
  text-align: center;
  padding-inline: clamp(20px, 5vw, 48px); /* безопасные поля по бокам */
}

/* усиленный оверлей для контраста текста на фото */
.landing-drivers .hero__overlay{
  background:
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.38) 55%, rgba(0,0,0,.30) 100%),
    radial-gradient(120% 100% at 50% 10%, rgba(255,255,255,.18) 0%, rgba(255,255,255,0) 60%);
  mix-blend-mode: normal; /* убираем multiply, чтобы затемнение работало предсказуемо */
}

/* делаем текст светлым и читаемым поверх фото */
.landing-drivers .hero__title,
.landing-drivers .hero__subtitle {
  color: #ffffff;
  text-shadow: 0 2px 12px rgba(0,0,0,.35);
}

/* если кажется, что «уехало влево» из-за фокуса кадра — сместим точку интереса по центру */
.landing-drivers .hero__bg img{
  object-position: center center;  /* принудительное центрирование фокуса */
}

/* мобильные правки, чтобы не ломалось */
@media (max-width: 640px){
  .landing-drivers .hero { min-height: 64vh; }
  .landing-drivers .hero__title { font-size: clamp(26px, 7vw, 38px); }
  .landing-drivers .hero__subtitle { font-size: clamp(15px, 3.8vw, 18px); }
  .landing-drivers .hero__inner { padding-inline: 20px; }
}
/* ===== Hero full-bleed и абсолютное центрирование, независимо от темы ===== */

/* Вырваться на всю ширину экрана, несмотря на контейнер темы */
.landing-drivers .rr-bleed{
  position: relative;
  left: 50%;
  right: 50%;
  margin-left: -50vw;
  margin-right: -50vw;
  width: 100vw;
}

/* Сам хероблок — фиксируем высоту и не даём теме вмешиваться */
.landing-drivers .hero{
  position: relative !important;
  min-height: 76vh;
  width: 100vw;
  overflow: hidden;
  display: block !important; /* если тема делала grid/flex */
}

/* Фоновое изображение */
.landing-drivers .hero__bg{ position:absolute; inset:0; z-index:0; }
.landing-drivers .hero__bg img{
  width:100%; height:100%; object-fit:cover;
  object-position: center center; /* можно подвинуть фокус при желании */
}

/* Оверлей — делаем текст читабельным */
.landing-drivers .hero__overlay{
  position:absolute; inset:0; z-index:1;
  background:
    linear-gradient(180deg, rgba(0,0,0,.30) 0%, rgba(0,0,0,.40) 55%, rgba(0,0,0,.30) 100%),
    radial-gradient(120% 100% at 50% 10%, rgba(255,255,255,.14) 0%, rgba(255,255,255,0) 60%);
  mix-blend-mode: normal;
}

/* Абсолютное центрирование контента по X/Y — не зависит от сеток темы */
.landing-drivers .hero__inner{
  position:absolute; z-index:2;
  top:50%; left:50%; transform:translate(-50%, -50%);
  text-align:center;
  width:min(920px, 92vw);
  padding: clamp(20px, 5vw, 48px);
}

/* Контрастный текст */
.landing-drivers .hero__title,
.landing-drivers .hero__subtitle{
  color:#fff; text-shadow:0 2px 12px rgba(0,0,0,.35);
}
.landing-drivers .hero__title{ font-size:clamp(32px, 5vw, 56px); line-height:1.06; margin:0 0 .5em; }
.landing-drivers .hero__subtitle{ font-size:clamp(16px, 2.2vw, 22px); margin:0 0 1.25em; }

/* Мобилки */
@media (max-width: 640px){
  .landing-drivers .hero{ min-height:64vh; }
  .landing-drivers .hero__title{ font-size:clamp(26px, 7vw, 38px); }
  .landing-drivers .hero__inner{ width:min(680px, 92vw); padding:20px; }
}

/* --- HERO: центрируем подзаголовок вне зависимости от стилей темы --- */
.landing-drivers .hero__inner{
  display: flex;                 /* центрируем всё содержимое */
  flex-direction: column;
  align-items: center;           /* по центру по X */
  justify-content: center;       /* по центру по Y */
}

.landing-drivers .hero__title{
  margin-inline: auto;
  text-align: center;
}

.landing-drivers .hero__subtitle{
  text-align: center !important; /* перебиваем возможное left/justify темы */
  margin-inline: auto !important;
  max-width: 46rem;              /* комфортная ширина текста на десктопе */
  width: 100%;
  display: block;
}

/* на всякий случай — сбрасываем возможные отступы темы у p в hero */
.landing-drivers .hero p{
  margin-left: 0 !important;
  margin-right: 0 !important;
}

/* кнопка строго по центру */
.landing-drivers .hero .btn{ align-self: center; }

/* === FIX: шапка поверх hero + отступ под шапку === */

/* 1) Отступ под фиксированную шапку (поставь свою высоту) */
:root{ --header-h: 72px; } /* если нужно — 72–96px подгони под тему */
.landing-drivers .rr-bleed{ padding-top: var(--header-h); }

/* на сайте под админ-баром (когда залогинен) добавим ещё 32px */
body.admin-bar .landing-drivers .rr-bleed{
  padding-top: calc(var(--header-h) + 32px);
}

/* 2) Всегда держим шапку выше hero по слою */
.site-header, .header, .masthead{
  z-index: 1000 !important; /* селектор подхватит большинство тем */
}

/* 3) Слои внутри hero — ниже шапки, но между собой правильные */
.landing-drivers .hero{ position:relative; z-index: 0 !important; }
.landing-drivers .hero__bg{ position:absolute; inset:0; z-index: 0; }
.landing-drivers .hero__overlay{ position:absolute; inset:0; z-index: 1; }
.landing-drivers .hero__inner{ position:absolute; top:50%; left:50%;
  transform:translate(-50%,-50%); z-index: 2; }
