/* =========================================================
   ЮГ ЛИФТ — брендовые стили (Astra child) v2
   Палитра: тёмно-серый графит #23262b + белый + amber #F5B301
   Ориентир — meteor.ru: крупная типографика, фото, полоса цифр,
   контент по центру с ограничением ширины, аккуратные секции.
   ========================================================= */

:root{
  --yg-ink:#23262b;          /* графит вместо чёрного */
  --yg-ink-2:#2c2f35;
  --yg-ink-3:#1c1e22;        /* самый тёмный — для оверлеев */
  --yg-amber:#F5B301;
  --yg-amber-d:#d99a00;
  --yg-bg:#ffffff;
  --yg-bg-soft:#f4f5f7;
  --yg-line:#e4e6ea;
  --yg-text:#2f333a;
  --yg-muted:#6b7280;
  --yg-radius:12px;
  --yg-container:1280px;
  --yg-gutter:clamp(20px, 5vw, 64px);
}

body{ color:var(--yg-text); background:var(--yg-bg); }

/* ---------- ОГРАНИЧЕНИЕ ШИРИНЫ (главная правка под большие экраны) ----------
   Astra в режиме page-builder ставит `max-width:none` всем прямым детям
   .entry-content — перебиваем через !important для наших обёрток. */
.yg-wrap,
.yg-hero__inner{
  max-width:var(--yg-container) !important;
  margin-inline:auto !important;
  padding-inline:var(--yg-gutter);
  width:100%;
  box-sizing:border-box;
}
.yg-hero__inner{ padding-inline:var(--yg-gutter); }

/* ---------- Типографика ---------- */
h1,h2,h3,h4{ color:var(--yg-ink); font-weight:800; letter-spacing:-.02em; line-height:1.14; }
.entry-content h2{ font-size:clamp(1.6rem, 1.05rem + 2vw, 2.4rem); margin-top:0; }
.entry-content h3{ font-size:clamp(1.15rem, .95rem + .8vw, 1.4rem); }
.entry-content p{ line-height:1.7; }

.yg-eyebrow{
  display:inline-block; font-weight:700; text-transform:uppercase;
  letter-spacing:.14em; font-size:.76rem; color:var(--yg-amber-d);
  margin:0 0 .7rem;
}
.yg-section--ink .yg-eyebrow{ color:var(--yg-amber); }
.yg-lead{ font-size:clamp(1rem,.95rem + .3vw,1.15rem); color:var(--yg-muted); max-width:60ch; }
.yg-section--ink .yg-lead{ color:rgba(255,255,255,.72); }

/* ---------- Кнопки ---------- */
.wp-block-button__link,
.yg-btn{
  display:inline-flex; align-items:center; gap:.55em;
  background:var(--yg-amber); color:var(--yg-ink);
  font-weight:700; letter-spacing:.01em;
  padding:.95em 1.7em; border-radius:8px; border:0;
  text-decoration:none; cursor:pointer;
  transition:transform .12s ease, background .2s ease, box-shadow .2s ease;
}
.wp-block-button__link:hover,
.yg-btn:hover{ background:var(--yg-amber-d); color:var(--yg-ink); transform:translateY(-1px); box-shadow:0 10px 24px rgba(0,0,0,.16); }
.yg-btn--ghost{ background:transparent; color:#fff; border:2px solid rgba(255,255,255,.85); }
.yg-btn--ghost:hover{ background:#fff; color:var(--yg-ink); border-color:#fff; }
.yg-btn--dark{ background:var(--yg-ink); color:#fff; }
.yg-btn--dark:hover{ background:#000; color:#fff; }

/* ---------- Секции ---------- */
.yg-section{ padding-block:clamp(44px, 3vw + 28px, 88px); }
.yg-section--soft{ background:var(--yg-bg-soft); }
.yg-section--ink{ background:var(--yg-ink); color:#fff; }
.yg-section--ink h2,.yg-section--ink h3{ color:#fff; }
.yg-section__head{ margin-bottom:clamp(24px,3vw,44px); }

/* ---------- HERO с фото ---------- */
.yg-hero{
  position:relative; overflow:hidden; color:#fff;
  background:var(--yg-ink);
  padding-block:clamp(64px, 5vw + 40px, 128px);
}
.yg-hero__media{ position:absolute; inset:0; z-index:0; }
.yg-hero__media img{ width:100%; height:100%; object-fit:cover; display:block; }
.yg-hero__media::after{
  content:""; position:absolute; inset:0;
  background:linear-gradient(105deg, rgba(28,30,34,.94) 0%, rgba(28,30,34,.86) 42%, rgba(28,30,34,.55) 100%);
}
.yg-hero__inner{
  position:relative; z-index:2;
  max-width:var(--yg-container); margin-inline:auto; padding-inline:var(--yg-gutter);
}
.yg-hero::before{
  content:""; position:absolute; left:0; top:14%; bottom:14%; width:6px; z-index:2;
  background:var(--yg-amber); border-radius:0 4px 4px 0;
}
.yg-hero h1{
  color:#fff; font-size:clamp(1.9rem, 1.2rem + 2.8vw, 3rem);
  margin:0 0 .55em; max-width:24ch;
}
.yg-hero h1 .amber{ color:var(--yg-amber); }
.yg-hero__sub{ font-size:clamp(1rem, .92rem + .5vw, 1.22rem); color:rgba(255,255,255,.78); max-width:54ch; margin:0 0 2em; }
.yg-hero__actions{ display:flex; flex-wrap:wrap; gap:14px 18px; align-items:center; }
.yg-hero__phone{ display:flex; flex-direction:column; margin-left:.3em; }
.yg-hero__phone a{ color:#fff; font-weight:800; font-size:1.15rem; text-decoration:none; }
.yg-hero__phone small{ font-weight:500; font-size:.72rem; color:rgba(255,255,255,.55); letter-spacing:.06em; text-transform:uppercase; }

/* ---------- Полоса «полный цикл» (чипы) ---------- */
.yg-cycle{ display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.yg-cycle span{
  display:inline-flex; align-items:center; gap:.5em;
  background:var(--yg-bg); border:1px solid var(--yg-line); border-radius:999px;
  padding:.6em 1.1em; font-weight:600; font-size:.95rem; color:var(--yg-ink);
}
.yg-cycle span::before{ content:""; width:7px; height:7px; border-radius:50%; background:var(--yg-amber); }
.yg-section--ink .yg-cycle span{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); color:#fff; }

/* ---------- Полоса цифр ---------- */
.yg-stats{
  display:grid; grid-template-columns:repeat(4,1fr); gap:1px;
  background:var(--yg-line); border:1px solid var(--yg-line); border-radius:var(--yg-radius); overflow:hidden;
}
.yg-stat{ background:var(--yg-bg); padding:28px 24px; }
.yg-stat__num{ font-size:clamp(1.7rem,1rem + 2.2vw,2.7rem); font-weight:800; color:var(--yg-ink); line-height:1; letter-spacing:-.02em; font-variant-numeric:tabular-nums; }
.yg-stat__num b{ color:var(--yg-amber-d); font-weight:800; }
.yg-stat__label{ margin-top:.55rem; color:var(--yg-muted); font-size:.93rem; }
.yg-count[data-count]{ display:inline-block; }

/* ---------- Карточки услуг с фото ---------- */
.yg-cards{ display:grid; grid-template-columns:repeat(3,1fr); gap:22px; }
.yg-card{
  background:var(--yg-bg); border:1px solid var(--yg-line); border-radius:var(--yg-radius); overflow:hidden;
  display:flex; flex-direction:column;
  transition:transform .14s ease, box-shadow .2s ease, border-color .2s ease;
}
.yg-card:hover{ transform:translateY(-4px); box-shadow:0 18px 40px rgba(20,20,20,.12); border-color:#d5d8dd; }
.yg-card__img{ aspect-ratio:16/10; overflow:hidden; background:var(--yg-bg-soft); }
.yg-card__img img{ width:100%; height:100%; object-fit:cover; transition:transform .4s ease; }
.yg-card:hover .yg-card__img img{ transform:scale(1.04); }
.yg-card__body{ padding:22px 22px 24px; display:flex; flex-direction:column; gap:.55rem; flex:1; }
.yg-card h3{ margin:0; font-size:1.15rem; }
.yg-card p{ margin:0; color:var(--yg-muted); font-size:.95rem; }
.yg-card__more{ margin-top:auto; align-self:flex-start; font-weight:700; color:var(--yg-ink); text-decoration:none; border-bottom:2px solid var(--yg-amber); padding-bottom:2px; }
.yg-card__more:hover{ color:var(--yg-amber-d); }

/* ---------- Схема «как организована диспетчеризация» ---------- */
.yg-scheme{ display:grid; grid-template-columns:1.05fr .95fr; gap:44px; align-items:center; }
.yg-scheme__media{ border-radius:var(--yg-radius); overflow:hidden; aspect-ratio:4/3; }
.yg-scheme__media img{ width:100%; height:100%; object-fit:cover; }
.yg-steps{ display:grid; gap:18px; counter-reset:step; }
.yg-step{ position:relative; padding-left:56px; }
.yg-step::before{
  counter-increment:step; content:counter(step);
  position:absolute; left:0; top:0; width:38px; height:38px; border-radius:50%;
  display:grid; place-items:center; font-weight:800; background:var(--yg-amber); color:var(--yg-ink);
}
.yg-step h3{ font-size:1.05rem; margin:.2rem 0 .3rem; }
.yg-step p{ margin:0; color:var(--yg-muted); font-size:.95rem; }
.yg-section--ink .yg-step p{ color:rgba(255,255,255,.7); }
.yg-section--ink .yg-step::before{ background:var(--yg-amber); color:var(--yg-ink); }

/* ---------- Системы связи ---------- */
.yg-syslist{ display:grid; grid-template-columns:repeat(2,1fr); gap:20px; }
.yg-sys{ border:1px solid var(--yg-line); border-left:4px solid var(--yg-amber); border-radius:10px; padding:22px 24px; background:var(--yg-bg); }
.yg-sys h3{ margin:0 0 .2rem; font-size:1.15rem; }
.yg-sys .yg-sys__maker{ font-size:.82rem; color:var(--yg-amber-d); font-weight:700; text-transform:uppercase; letter-spacing:.06em; }
.yg-sys p{ margin:.5rem 0 0; color:var(--yg-muted); font-size:.94rem; }

/* ---------- Преимущества ---------- */
.yg-features{ display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:28px 24px; }
.yg-feature{ display:flex; flex-direction:column; gap:.5rem; }
.yg-feature__ic{ width:44px; height:44px; border-radius:10px; background:var(--yg-amber); color:var(--yg-ink); display:grid; place-items:center; }
.yg-feature__ic svg{ width:23px; height:23px; }
.yg-feature h3{ font-size:1.08rem; margin:.3rem 0 0; }
.yg-feature p{ margin:0; color:var(--yg-muted); font-size:.94rem; }
.yg-section--ink .yg-feature p{ color:rgba(255,255,255,.7); }

/* ---------- География ---------- */
.yg-geo{ display:flex; flex-wrap:wrap; gap:12px; }
.yg-geo span{ display:inline-flex; align-items:center; gap:.5em; background:var(--yg-bg); border:1px solid var(--yg-line); border-radius:8px; padding:.7em 1.1em; font-weight:600; color:var(--yg-ink); }
.yg-geo span svg{ width:16px; height:16px; color:var(--yg-amber-d); flex:0 0 auto; }
.yg-section--ink .yg-geo span{ background:rgba(255,255,255,.06); border-color:rgba(255,255,255,.16); color:#fff; }
.yg-section--ink .yg-geo span svg{ color:var(--yg-amber); }

/* мини-карта */
.yg-geo-wrap{ display:grid; grid-template-columns:1fr 1.15fr; gap:36px; align-items:center; }
.yg-map{ border-radius:var(--yg-radius); overflow:hidden; border:1px solid var(--yg-line); aspect-ratio:16/10; background:var(--yg-bg-soft); }
.yg-map iframe{ width:100%; height:100%; border:0; display:block; filter:grayscale(.15); }
.yg-map a,.yg-map img{ display:block; width:100%; height:100%; }
.yg-map img{ object-fit:cover; transition:transform .4s ease; }
.yg-map:hover img{ transform:scale(1.03); }
@media (max-width:900px){ .yg-geo-wrap{ grid-template-columns:1fr; gap:24px; } }

/* ---------- CTA ---------- */
.yg-cta{ background:var(--yg-ink); color:#fff; border-radius:var(--yg-radius); padding:clamp(28px,3vw,48px); display:flex; flex-wrap:wrap; gap:22px; align-items:center; justify-content:space-between; }
.yg-cta h2{ color:#fff; margin:0; max-width:24ch; }
.yg-cta__phone{ display:flex; flex-direction:column; }
.yg-cta__phone a{ color:#fff; font-weight:800; font-size:1.3rem; text-decoration:none; }
.yg-cta__phone small{ color:rgba(255,255,255,.55); font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; }

/* ---------- Контакты: сетка «форма + отдел эксплуатации» ---------- */
.yg-contacts-grid{ display:grid; grid-template-columns:1.1fr 1fr; gap:48px; align-items:start; }
@media (max-width:900px){
  .yg-contacts-grid{ grid-template-columns:1fr; gap:28px; }
  .yg-contacts-grid > aside{ order:2; }   /* «Отдел эксплуатации» уходит под форму */
}

/* Реквизиты */
.yg-reqs{ columns:2; column-gap:48px; max-width:900px; margin-top:16px; line-height:1.9; color:var(--yg-text); }
.yg-reqs > div{ break-inside:avoid; }
@media (max-width:700px){ .yg-reqs{ columns:1; } }

/* ---------- Форма CF7 ---------- */
.wpcf7 .yg-form-grid{ display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.wpcf7-form input[type=text],
.wpcf7-form input[type=email],
.wpcf7-form input[type=tel],
.wpcf7-form textarea{
  width:100%; padding:.85em 1em; border:1px solid var(--yg-line); border-radius:8px;
  font:inherit; background:#fff; color:var(--yg-text);
}
.wpcf7-form textarea{ min-height:120px; }
.wpcf7-form input:focus,.wpcf7-form textarea:focus{ outline:2px solid var(--yg-amber); border-color:var(--yg-amber); }
.wpcf7-form .wpcf7-submit{ background:var(--yg-amber); color:var(--yg-ink); font-weight:700; border:0; padding:.95em 1.9em; border-radius:8px; cursor:pointer; margin-top:4px; }
.wpcf7-form .wpcf7-submit:hover{ background:var(--yg-amber-d); }
.wpcf7 .wpcf7-not-valid-tip{ color:#c0392b; font-size:.85rem; }
.wpcf7 form .wpcf7-response-output{ border-radius:8px; margin:1.2em 0 0; }
.wpcf7-acceptance .wpcf7-list-item{ margin:0; font-size:.85rem; color:var(--yg-muted); }

/* ---------- Хедер / футер ---------- */
.ast-primary-header-bar{ background:#fff; }
.site-below-footer-wrap .ast-footer-copyright p{ color:rgba(255,255,255,.75); font-size:.88rem; }
.ast-footer-copyright a{ white-space:nowrap; }        /* телефон/e-mail не рвём */
.ast-footer-copyright .yg-nb{ white-space:nowrap; }
@media (max-width:600px){
  .site-below-footer-wrap .ast-footer-copyright p{ line-height:1.9; }
}

/* ---------- Общие утилиты для внутренних страниц ---------- */
.yg-page .entry-content > .yg-section:first-child{ padding-top:clamp(28px,2vw,44px); }
.yg-prose{ max-width:820px; }
.yg-prose h2{ margin-top:1.6em; }
.yg-prose ul{ padding-left:1.2em; }
.yg-prose li{ margin:.4em 0; }

/* ---------- Адаптив ---------- */
@media (max-width:1024px){
  .yg-cards,.yg-features{ grid-template-columns:repeat(2,1fr); }
  .yg-stats{ grid-template-columns:repeat(2,1fr); }
  .yg-scheme{ grid-template-columns:1fr; gap:28px; }
  .yg-scheme__media{ order:-1; aspect-ratio:16/9; max-height:320px; }
}
@media (max-width:640px){
  .yg-cards,.yg-features,.yg-syslist,.wpcf7 .yg-form-grid{ grid-template-columns:1fr; }
  .yg-stats{ grid-template-columns:1fr 1fr; }
  .yg-cta{ flex-direction:column; align-items:flex-start; }
}

/* большие экраны — не даём расплываться */
@media (min-width:1600px){
  :root{ --yg-container:1320px; }
}
