/* Блок «География выезда и доставки» (з.2). Локально, скоуп .okna-geo-req. Токены v4. */

/* контейнер: на главной (.glavnaya-v4) — колонка 1200px как соседние блоки; на услуге родитель центрирует */
.okna-geo-req__wrap{ width:100%; }
.glavnaya-v4 .okna-geo-req__wrap{ max-width:calc(var(--okna-cw) + 80px); margin:0 auto; padding:0 40px; box-sizing:border-box; }

/* box БЕЗ overflow:hidden — иначе он режет absolute-выпадашку комбо (декор-карта удалена). */
.okna-geo-req__box{ position:relative; background:#f6f9fd; border:1px solid #dbe4f0;
  border-radius:24px; box-shadow:0 18px 50px rgba(12,28,60,.10); padding:36px; }
.okna-geo-req__grid{ position:relative; z-index:1; display:grid; grid-template-columns:55fr 45fr; gap:28px; align-items:start; }

/* ЛЕВО */
/* (красная капсула-бейдж .okna-geo-req__badge убрана — не выводится; CSS удалён) */
/* заголовок секции — единый формат сайта (эталон .okna-services__title): 30/800/слева + красная черта 52×3 */
.okna-geo-req__title{ position:relative; margin:0 0 12px; padding-bottom:12px; font-size:30px; font-weight:800; line-height:1.15; color:var(--ink,#123d87); }
.okna-geo-req__title::after{ content:""; position:absolute; left:0; bottom:0; width:52px; height:3px; border-radius:999px; background:var(--red,#e0223a); }
.okna-geo-req__lead{ margin:0 0 22px; font-size:16px; line-height:1.6; color:var(--muted,#6b7686); max-width:560px; }
.okna-geo-req__zones{ display:flex; flex-direction:column; gap:12px; margin:0 0 20px; }
.okna-geo-req__zone{ position:relative; background:#fff; border:1px solid #e8ecf2; border-left:3px solid #1c5bd6;
  border-radius:14px; padding:14px 18px; }
.okna-geo-req__zone--accent{ border-left-color:var(--red,#e0223a); }
.okna-geo-req__zone-ico{ position:absolute; right:16px; top:14px; color:#9fb6e6; }
.okna-geo-req__zone-ico svg{ width:22px; height:22px; }
.okna-geo-req__zone-title{ margin:0 0 4px; font-size:16px; font-weight:800; color:var(--ink,#123d87); }
.okna-geo-req__zone-txt{ margin:0; font-size:14px; line-height:1.5; color:var(--muted,#6b7686); max-width:90%; }
.okna-geo-req__hint{ display:flex; align-items:center; gap:12px; padding:14px 16px; border-radius:14px;
  background:rgba(28,91,214,.07); border:1px solid rgba(28,91,214,.16); }
.okna-geo-req__hint-ico{ flex:0 0 auto; color:var(--blue,#1c5bd6); }
.okna-geo-req__hint-ico svg{ width:26px; height:26px; }
.okna-geo-req__hint-txt{ font-size:14px; line-height:1.5; color:var(--muted,#6b7686); }
.okna-geo-req__hint-txt strong{ color:var(--ink,#123d87); }

/* ПРАВО — форма */
/* компактнее по вертикали: форма вписывается в бокс с запасом (padding 26→22, head 18→14, поля 14→10,
   инпут 12→10 по верт., кнопка 54→48, note 14→10) — вид/цвета/радиусы v4 сохранены */
.okna-geo-req__form{ background:#fff; border:1px solid #e8ecf2; border-radius:18px; padding:22px; box-shadow:0 10px 30px rgba(12,28,60,.06); }
.okna-geo-req__form-head{ display:flex; align-items:center; gap:13px; margin:0 0 14px; }
.okna-geo-req__form-ico{ flex:0 0 auto; width:44px; height:44px; border-radius:12px; display:flex; align-items:center; justify-content:center;
  background:var(--blue-soft,#eef3fb); color:var(--blue,#1c5bd6); }
.okna-geo-req__form-ico svg{ width:24px; height:24px; }
.okna-geo-req__form-head h3{ margin:0; font-size:18px; font-weight:800; color:var(--ink,#123d87); }
.okna-geo-req__form-head p{ margin:2px 0 0; font-size:13px; color:var(--muted,#6b7686); }
.okna-geo-req__field{ margin:0 0 10px; }
.okna-geo-req__field label{ display:block; font-size:13.5px; font-weight:700; color:var(--ink,#123d87); margin:0 0 6px; }
.okna-geo-req__combo{ position:relative; }
.okna-geo-req__input{ width:100%; box-sizing:border-box; padding:10px 14px; font-size:15px; font-family:inherit;
  border:1.5px solid #dbe4f0 !important; border-radius:var(--ok-radius-field,8px) !important; background:#fff !important; color:var(--ink,#123d87) !important; /* Волна 1-бис: geo-req база 11px→8 (★ выброс 11 ГЕО §3.2.6; сцепка «одно поле 3 листа» — home-w3:802 и usluga-view:186/980 тоже →8) */
  outline:none !important; transition:border-color .35s ease, box-shadow .35s ease, background-color .35s ease; }
/* отклик авто-подстановки региона из города: краткая синяя подсветка, плавно гаснет (класс снимается через ~700мс) */
.okna-geo-req__input.is-autofilled{ border-color:var(--blue,#1c5bd6) !important; background:#eff5ff !important; box-shadow:0 0 0 3px rgba(28,91,214,.16) !important; }
.okna-geo-req__input::placeholder{ color:#9aa4b6; }
.okna-geo-req__input:focus{ border-color:var(--blue,#1c5bd6) !important; box-shadow:0 0 0 3px rgba(28,91,214,.12) !important; }
.okna-geo-req__input.is-invalid{ border-color:var(--red,#e0223a) !important; box-shadow:0 0 0 3px rgba(224,34,58,.12) !important; }
.okna-geo-req__textarea{ resize:vertical; min-height:74px; line-height:1.5; }
.okna-geo-req__small{ display:block; margin:5px 2px 0; font-size:12px; color:#8a97ab; }
/* выпадашка комбо */
.okna-geo-req__dropdown{ position:absolute; z-index:40; left:0; right:0; top:calc(100% + 4px); margin:0; padding:6px; list-style:none;
  background:#fff; border:1px solid #dbe4f0; border-radius:12px; box-shadow:0 18px 40px rgba(12,28,60,.16);
  max-height:300px; overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; }
/* на мобиле — не выше половины экрана, чтобы выпадашка не уходила за край */
@media (max-width:768px){ .okna-geo-req__dropdown{ max-height:min(300px, 50vh); } }
.okna-geo-req__opt{ display:flex; align-items:baseline; gap:8px; padding:9px 12px; border-radius:8px; cursor:pointer; }
.okna-geo-req__opt:hover{ background:#f3f7ff; }
.okna-geo-req__opt-name{ font-size:14.5px; font-weight:700; color:var(--ink,#123d87); }
.okna-geo-req__opt-sub{ font-size:12px; color:#8a97ab; }
/* раскрывашка */
.okna-geo-req__more{ display:inline-flex; align-items:center; gap:7px; background:transparent !important; border:0 !important; cursor:pointer;
  font:inherit; font-size:14px; font-weight:700; color:var(--blue,#1c5bd6) !important; padding:4px 0 !important; margin:0 0 12px; }
.okna-geo-req__more svg{ width:16px; height:16px; transition:transform .2s ease; }
.okna-geo-req__more.is-open svg{ transform:rotate(45deg); }
.okna-geo-req__extra{ overflow:hidden; max-height:0; transition:max-height .26s ease; }
.okna-geo-req__file-label{ display:inline-flex !important; align-items:center; gap:7px; cursor:pointer; color:var(--blue,#1c5bd6) !important; }
.okna-geo-req__file-label svg{ width:16px; height:16px; }
.okna-geo-req__file{ display:block; margin-top:6px; font-size:13px; color:var(--muted,#6b7686); }
/* согласие — КАСТОМНЫЙ чекбокс (единый вид с CF7-формами сайта). Глобальный appearance:none !important
   (design.css) убивал нативную галочку → пустой кривой квадрат; поэтому нативный input скрываем
   и рисуем свой квадрат + галочку через span::before (как .wpcf7-acceptance). */
.okna-geo-req__consent{ display:flex; align-items:flex-start; gap:0; position:relative; margin:4px 0 16px; font-size:13px; line-height:1.45; color:var(--muted,#6b7686); cursor:pointer; }
.okna-geo-req__consent input[type=checkbox]{ position:absolute; left:0; top:1px; width:18px; height:18px; margin:0; opacity:0; cursor:pointer; }
.okna-geo-req__consent span{ position:relative; padding-left:28px; display:block; }
.okna-geo-req__consent span::before{ content:""; position:absolute; left:0; top:0; width:18px; height:18px; border:2px solid #cdd6e4; border-radius:5px; background:#fff; box-sizing:border-box; transition:background-color .15s ease, border-color .15s ease; }
.okna-geo-req__consent input[type=checkbox]:checked + span::before{ border-color:var(--blue,#1c5bd6); background:var(--blue,#1c5bd6) no-repeat center/11px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 6'/%3E%3C/svg%3E"); }
.okna-geo-req__consent a{ color:var(--blue,#1c5bd6); text-decoration:underline; }
.okna-geo-req__consent.is-invalid span{ color:var(--red,#e0223a); }
/* кнопка */
.okna-geo-req__submit{ display:flex; align-items:center; justify-content:center; gap:9px; width:100%; height:48px; cursor:pointer;
  font:inherit; font-size:16px; font-weight:800; color:#fff !important; background:var(--red,#e0223a) !important;
  border:0 !important; border-radius:13px !important; transition:background-color .15s ease; }
.okna-geo-req__submit:hover{ background:#c81a30 !important; }
.okna-geo-req__submit svg{ width:19px; height:19px; }
.okna-geo-req__note{ margin:10px 0 8px; font-size:13px; line-height:1.5; color:var(--muted,#6b7686); }
.okna-geo-req__secure{ display:flex; align-items:center; gap:7px; margin:0; font-size:12.5px; color:#8a97ab; }
.okna-geo-req__secure-ico svg{ width:15px; height:15px; display:block; }

/* НИЗ — 4 преимущества */
.okna-geo-req__features{ position:relative; z-index:1; list-style:none; margin:28px 0 0; padding:24px 0 0; border-top:1px solid #dbe4f0;
  display:grid; grid-template-columns:repeat(4,1fr); gap:20px; }
.okna-geo-req__feature{ display:flex; align-items:flex-start; gap:12px; }
.okna-geo-req__feature-ico{ flex:0 0 auto; width:40px; height:40px; border-radius:11px; display:flex; align-items:center; justify-content:center;
  background:var(--blue-soft,#eef3fb); color:var(--blue,#1c5bd6); }
.okna-geo-req__feature-ico svg{ width:22px; height:22px; }
.okna-geo-req__feature-txt{ display:flex; flex-direction:column; }
.okna-geo-req__feature-txt strong{ font-size:14.5px; color:var(--ink,#123d87); margin-bottom:2px; }
.okna-geo-req__feature-txt span{ font-size:13px; line-height:1.4; color:var(--muted,#6b7686); }

/* honeypot — скрыт от людей (видят только боты) */
.okna-geo-req__hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; opacity:0; pointer-events:none; }
.okna-geo-req__submit:disabled{ opacity:.7; cursor:default; }
/* тост */
.okna-geo-req__toast{ position:fixed; left:50%; bottom:26px; transform:translate(-50%,16px); z-index:11000; max-width:min(440px,92vw);
  padding:13px 20px; border-radius:12px; background:var(--ink,#123d87); color:#fff; font-size:14px; line-height:1.4;
  box-shadow:0 18px 50px rgba(12,28,60,.34); opacity:0; transition:opacity .3s ease, transform .3s ease; }
.okna-geo-req__toast.is-show{ opacity:1; transform:translate(-50%,0); }
.okna-geo-req__toast.is-err{ background:#b3182c; }

/* ===== Адаптив ===== */
@media (max-width:1024px){
  .okna-geo-req__grid{ grid-template-columns:1fr; gap:22px; }
  .okna-geo-req__lead{ max-width:none; }
  .okna-geo-req__features{ grid-template-columns:repeat(2,1fr); }
}
@media (max-width:768px){
  .glavnaya-v4 .okna-geo-req__wrap{ padding:0 16px; }
  .okna-geo-req__box{ padding:22px 18px; border-radius:18px; }
  .okna-geo-req__title{ font-size:25px; }
  .okna-geo-req__form{ padding:20px 16px; }
  .okna-geo-req__features{ grid-template-columns:1fr; gap:16px; }
}

/* [W5-P02 п.5] Тач-цель ≥44: «все марки» и строка согласия (в ней текстовая ссылка).
   Канон «И» (D-209). Без !important. */
@media (hover:none) and (pointer:coarse){
  .okna-geo-req__more{ min-height:44px; }
  .okna-geo-req__consent{ min-height:44px; }
  .okna-geo-req__consent a{
    display:inline-flex;
    align-items:center;
    min-height:44px;
  }
}
