/* =====================================================================
   Окна заявок morrowgroup.ru — новый вид (решение владельца 28.09.2026 23:31: вариант А,
   макет ~/zadachi/formy-maket/). Подключает mu-plugins/morrowgroup-formy-zayavok.php в wp_footer —
   после всех стилей темы и карточек на любой странице.
   Образец — окно заявки витрины (dialog#mgv-zayavka, geo-vitrina.css), уже утверждённое:
   тёмно-зелёная шапка, поля 54 px, зелёная кнопка во всю ширину, согласие под ней.
   ТОЛЬКО ВИД. Разметка, имена полей, классы, на которые опирается JS
   (scripts.js, applications.js), обработчики и адреса отправки не меняются.
   Раскладка полей — сеткой по ИМЕНИ поля (:has), поэтому одна таблица стилей
   обслуживает все три вида разметки окон темы:
     А) .form_popup_row > .form_popup_col > label + .in_box   — Ф1 «Заявка», Ф6 подвал;
     Б) .form_popup_box > label + .in_box                     — Ф2, Ф3, Ф4, Ф7;
     В) поля только с подсказкой внутри (placeholder)          — Ф5 «Позвоните мне».
   Браузеры без :has (Safari < 15.4, Firefox < 121) получают поля столбиком — тоже рабочий вид.
   ===================================================================== */

:root {
  --mgf-g: #90bb59;      /* кнопка — как .mgv-otpr */
  --mgf-g-h: #9cc766;
  --mgf-gt: #4f7a12;     /* зелёный для текста и рамки в фокусе */
  --mgf-g50: #e5efd9;
  --mgf-ink: #141a10;
  --mgf-mu: #4b5443;
  --mgf-pl: #c9d3be;     /* рамка поля */
  --mgf-osh: #c20;
  --mgf-ease: cubic-bezier(.23, 1, .32, 1);
  --mgf-shapka: radial-gradient(120% 120% at 90% 0%, #3d5c1f 0%, #1f3310 62%);
}

/* ---------- подложка и коробка окна ---------- */
.popup { background: rgba(9, 14, 6, .62); transition: opacity .2s ease; -webkit-tap-highlight-color: transparent; }
.popup.active { overflow-y: auto; }
.popup .popup_box {
  width: min(600px, calc(100vw - 24px));
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  margin: 12px 0;
  padding: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  border-radius: 24px;
  background: #fff;
  color: var(--mgf-ink);
  font: 400 16px/1.5 'Ubuntu', Arial, sans-serif;
  box-shadow: 0 30px 80px -30px rgba(9, 14, 6, .7);
  transform: translateY(12px) scale(.98);
  opacity: 0;
  transition: transform .26s var(--mgf-ease), opacity .18s ease;
}
.popup.active .popup_box { transform: none; opacity: 1; }
.popup .popup_box *, .popup .popup_box *::before, .popup .popup_box *::after { box-sizing: border-box; }
.popup .popup_box ::selection { background: rgba(144, 187, 89, .4); }
#p_call .popup_box:has([name=time]) { width: min(480px, calc(100vw - 24px)); }  /* «Позвоните мне»: три поля */
#p_order_app .popup_box { width: min(480px, calc(100vw - 24px)); }
#p_success .popup_box { padding: 44px 28px; }   /* «Сообщение отправлено» без формы (показ в scripts.js закомментирован) — только чтобы текст не лёг в край */

/* крестик — как .mgv-okno__zakryt */
.popup .clouse_popup {
  position: absolute; top: 14px; right: 14px; z-index: 3;
  width: 44px; height: 44px; border-radius: 12px;
  background: rgba(255, 255, 255, .14);
  transition: background-color .16s ease, transform .14s var(--mgf-ease);
  touch-action: manipulation;
}
.popup .clouse_popup::before, .popup .clouse_popup::after {
  width: 2px; height: 20px; margin: -10px 0 0 -1px; border-radius: 1px; background: #fff;
}
.popup .clouse_popup:active { transform: scale(.94); }
.popup .clouse_popup:focus-visible { outline: 3px solid var(--mgf-g); outline-offset: 2px; }

/* ---------- сетка формы ---------- */
.popup .form_popup {
  display: grid;
  grid-template-columns: 28px minmax(0, 1fr) 12px minmax(0, 1fr) 28px;
  grid-template-areas:
    "zag   zag    zag    zag    zag"
    ".     msg    msg    msg    ."
    ".     intro  intro  intro  ."
    ".     fio-l  .      ph-l   ."
    ".     fio    .      ph     ."
    ".     org-l  .      em-l   ."
    ".     org    .      em     ."
    ".     tm-l   tm-l   tm-l   ."
    ".     tm     tm     tm     ."
    ".     note-l note-l note-l ."
    ".     note   note   note   ."
    ".     btn    btn    btn    ."
    ".     pol    pol    pol    .";
  padding: 0 0 26px;
}
.popup .form_popup > * { grid-column: 2 / 5; min-width: 0; }
.popup .form_popup_row, .popup .form_popup_col { display: contents; }   /* вид А: колонки темы растворяются в сетке */
.popup .form_popup_row::after { content: none; }

/* заголовок окна = шапка. Элемент прежний (h2 или .mgz-okno): после него scripts.js ставит div.msg с ошибкой сервера.
   .mgz-okno3 и h3 — заголовок «Контактная информация» (#p_contact, открывающей кнопки нет). */
.popup .form_popup > h2,
.popup .form_popup > .mgz-okno,
.popup .form_popup > .mgz-okno3,
.popup .form_popup > h3:first-child,
.popup .form_popup > .mgz-h4:first-child {
  grid-area: zag;
  margin: 0 0 22px;
  padding: 28px 84px 22px 28px;
  border: 0;
  border-radius: 0;
  background: var(--mgf-shapka);
  color: #fff;
  font: 900 30px/1.05 'RoadRadio', Arial, sans-serif;
  text-align: left;
  text-transform: uppercase;
  text-wrap: balance;
}
/* Ф7 «Аренда парковки»: заголовка у окна нет, шапкой служит его же первый абзац — текст прежний, меняется только вид */
.popup .form_popup > .mgz-h4:first-child {
  font: 500 18px/1.4 'Ubuntu', Arial, sans-serif;
  text-transform: none;
  text-wrap: pretty;
}

.popup .form_popup > .msg { grid-area: msg; }
.popup .form_popup > .msg.error { margin: 0 0 16px; padding: 10px 12px; border-radius: 10px; background: #fbe9e6; color: #a31800; font-size: 14px; line-height: 1.4; }
.popup .form_popup > .mgz-h4,
.popup .form_popup > .wnd_no_spam {
  grid-area: intro; margin: 0 0 18px; padding: 10px 12px; border-radius: 10px;
  background: var(--mgf-g50); color: #2f3a26; font: 400 14px/1.45 'Ubuntu', Arial, sans-serif;
}
.popup .form_popup > .mgz-h4 br { display: none; }   /* две фразы текста парковки — одним абзацем */

/* подписи полей */
.popup .form_popup label:not(.error) {
  display: block; float: none; width: auto; margin: 0 0 6px; padding: 0;
  text-align: left; color: var(--mgf-mu); font: 500 14px/1.3 'Ubuntu', Arial, sans-serif;
}
.popup .form_popup .form_red { position: static; margin-left: 2px; color: var(--mgf-osh); }

/* вид А: подпись и поле — отдельные клетки сетки */
.popup label:has(+ .in_box [name=fio])     { grid-area: fio-l; }
.popup label:has(+ .in_box [name=phone])   { grid-area: ph-l; }
.popup label:has(+ .in_box [name=organization]) { grid-area: org-l; }
.popup label:has(+ .in_box [name=email])   { grid-area: em-l; }
.popup label:has(+ .in_box [name=note])    { grid-area: note-l; }
.popup .form_popup .in_box:has([name=fio])   { grid-area: fio; }
.popup .form_popup .in_box:has([name=phone]) { grid-area: ph; }
.popup .form_popup .in_box:has([name=organization]) { grid-area: org; }
.popup .form_popup .in_box:has([name=email]) { grid-area: em; }
.popup .form_popup .in_box:has([name=note])  { grid-area: note; }
.popup .form_popup .in_box:has([name=time])  { grid-area: tm; }
/* вид Б: блок «подпись + поле» занимает обе строки своей пары */
.popup .form_popup_box:has([name=fio])   { grid-row: fio-l-start / fio-end; grid-column: fio; }
.popup .form_popup_box:has([name=phone]) { grid-row: ph-l-start / ph-end;   grid-column: ph; }
.popup .form_popup_box:has([name=organization]),
.popup .form_popup_box:has([name=number_of_parking_spaces]) { grid-row: org-l-start / org-end; grid-column: org; }
.popup .form_popup_box:has([name=email]) { grid-row: em-l-start / em-end;   grid-column: em; }
.popup .form_popup_box:has([name=note])  { grid-row: note-l-start / note-end; grid-column: note; }
.popup .form_popup_box:has([name=time])  { grid-row: tm-l-start / tm-end;   grid-column: tm; }
.popup .form_popup .form_popup_box { padding: 0; margin: 0; }
.popup .form_popup .form_popup_box::after { content: none; }
.popup .form_popup .in_box { margin: 0 0 14px; }

/* «Позвоните мне»: одна колонка — телефон, имя, время */
.popup .form_popup:has([name=time]) {
  grid-template-areas:
    "zag zag zag zag zag" ". msg msg msg ." ". ph ph ph ." ". fio fio fio ." ". tm tm tm ." ". btn btn btn ." ". pol pol pol .";
}
.popup .form_popup:has([name=time]) .in_box:has([name=fio]),
.popup .form_popup:has([name=time]) .form_popup_box:has([name=fio]) { grid-area: fio; }
.popup .form_popup:has([name=time]) .in_box:has([name=phone]),
.popup .form_popup:has([name=time]) .form_popup_box:has([name=phone]) { grid-area: ph; }

/* ---------- поля — как .mgv-pole ---------- */
.popup .form_popup .tx,
.popup .form_popup textarea {
  display: block; width: 100%; height: 54px; margin: 0; padding: 0 16px;
  border: 1.5px solid var(--mgf-pl); border-radius: 12px; background: #fff;
  color: var(--mgf-ink); font: 400 18px/1.3 'Ubuntu', Arial, sans-serif;
  caret-color: var(--mgf-gt); outline: none; box-shadow: none;
  -webkit-appearance: none; appearance: none;
  transition: border-color .16s ease, box-shadow .16s ease;
}
.popup .form_popup textarea { height: auto; min-height: 96px; padding: 14px 16px; line-height: 1.4; resize: vertical; }
.popup .form_popup textarea.taxr_smol:not(.bc_textarea) { min-height: 54px; height: 54px; padding: 15px 16px; resize: none; overflow: hidden; }  /* «Название компании» — textarea, но выглядит строкой */
.popup .form_popup .tx::placeholder, .popup .form_popup textarea::placeholder { color: #6b7363; opacity: 1; }
.popup .form_popup .tx:focus, .popup .form_popup textarea:focus { border-color: var(--mgf-gt); box-shadow: 0 0 0 4px rgba(144, 187, 89, .3); }
.popup .form_popup .tx.error, .popup .form_popup textarea.error { border-color: var(--mgf-osh); }
.popup .form_popup .tx.error:focus, .popup .form_popup textarea.error:focus { box-shadow: 0 0 0 4px rgba(204, 34, 0, .16); }
/* ошибка jquery.validate — label.error сразу после поля */
.popup .form_popup label.error {
  display: block; width: auto; margin: 6px 0 0; padding: 0;
  color: var(--mgf-osh); font: 400 14px/1.35 'Ubuntu', Arial, sans-serif; text-align: left;
}

/* ---------- кнопка — как .mgv-otpr ---------- */
.popup .form_popup > .btn_green,
.popup .form_popup > .form_popup_box:has(> .btn_green) { grid-area: btn; margin: 6px 0 0; }
.popup .form_popup .btn_green {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: auto; min-height: 56px; margin: 0; padding: 0 20px;
  border: 0; border-radius: 12px; background: var(--mgf-g); color: var(--mgf-ink);
  font: 900 17px/1 'RoadRadio', Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase;
  cursor: pointer; touch-action: manipulation; -webkit-user-select: none; user-select: none;
  transition: transform .14s var(--mgf-ease), background-color .18s ease;
}
.popup .form_popup > .form_popup_box:has(> .btn_green) .btn_green { margin: 0; }
.popup .form_popup .btn_green:active { transform: scale(.97); }
.popup .form_popup .btn_green:focus-visible { outline: 3px solid var(--mgf-gt); outline-offset: 3px; }

/* ---------- согласие ---------- */
.popup .form_popup > .f_form_policy { grid-area: pol; margin: 14px 0 0; color: var(--mgf-mu); font-size: 13px; line-height: 1.45; }
.popup .form_popup .f_form_policy a { color: inherit; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- «спасибо» после отправки (#p_order_app) ---------- */
.popup .form_popup > .msg.success {
  margin: 4px 0 8px; padding: 0; color: var(--mgf-ink);
  font: 700 20px/1.35 'Ubuntu', Arial, sans-serif;
}
.popup .form_popup > .msg.success::before {
  content: ''; display: block; width: 52px; height: 52px; margin-bottom: 14px; border-radius: 50%;
  background: var(--mgf-g) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23141a10' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center / 28px no-repeat;
}

@media (hover: hover) and (pointer: fine) {
  .popup .form_popup .btn_green:hover { background: var(--mgf-g-h); }
  .popup .clouse_popup:hover { background: rgba(255, 255, 255, .24); }
  .popup .form_popup .tx:hover:not(:focus), .popup .form_popup textarea:hover:not(:focus) { border-color: #a9b59c; }
  .popup .form_popup .f_form_policy a:hover { color: var(--mgf-ink); }
}

/* ---------- телефон ---------- */
@media (max-width: 767px) {
  .popup .popup_box { width: calc(100vw - 24px); border-radius: 20px; }
  .popup .form_popup,
  .popup .form_popup:has([name=time]) {
    grid-template-columns: 16px minmax(0, 1fr) 16px;
    grid-template-areas:
      "zag zag zag" ". msg ." ". intro ."
      ". fio-l ." ". fio ." ". ph-l ." ". ph ."
      ". org-l ." ". org ." ". em-l ." ". em ." ". tm-l ." ". tm ."
      ". note-l ." ". note ." ". btn ." ". pol .";
    padding-bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  }
  .popup .form_popup > * { grid-column: 2; }
  .popup .form_popup > h2, .popup .form_popup > .mgz-okno, .popup .form_popup > .mgz-okno3,
  .popup .form_popup > h3:first-child, .popup .form_popup > .mgz-h4:first-child {
    margin-bottom: 18px; padding: 22px 70px 18px 16px; font-size: 26px;
  }
  .popup .form_popup > .mgz-h4:first-child { font-size: 16px; }
  .popup .form_popup .tx, .popup .form_popup textarea { height: 50px; font-size: 17px; }   /* не меньше 16 px: iPhone не увеличивает страницу */
  .popup .form_popup textarea { height: auto; min-height: 84px; }
  .popup .form_popup textarea.taxr_smol:not(.bc_textarea) { height: 50px; min-height: 50px; padding: 13px 16px; }
  .popup .form_popup .in_box { margin-bottom: 12px; }
  /* кнопка прилипает к низу окна, пока листаешь поля (как у витрины .mgv-otpr-niz) */
  .popup .form_popup > .btn_green,
  .popup .form_popup > .form_popup_box:has(> .btn_green) {
    position: sticky; bottom: 0; z-index: 2; margin: 4px 0 0;
    box-shadow: 0 0 0 10px #fff, 0 -16px 18px -8px rgba(20, 26, 16, .22);
  }
  .popup .form_popup > .form_popup_box:has(> .btn_green) { background: #fff; border-radius: 12px; }
  .popup .form_popup > .f_form_policy { margin-top: 16px; font-size: 12.5px; }
}

@media (prefers-reduced-motion: reduce) {
  .popup .popup_box { transform: none; transition: opacity .12s linear; }
  .popup .form_popup .btn_green, .popup .clouse_popup { transition: none; }
}


/* =====================================================================
   Ф11. Автоокно-опрос (applications.js, tmpl/applications/app*.php).
   Классы и шаги те же; JS по-прежнему двигает margin-top окна и переключает .f_step.
   Префикс html body — чтобы перекрыть tmpl/applications/style.css, который грузится позже.
   ===================================================================== */
html body .f_applications.f_dialog { background: rgba(9, 14, 6, .62); -webkit-tap-highlight-color: transparent; }
html body .f_applications * { font-family: 'Ubuntu', Arial, sans-serif; }
html body .f_applications *, html body .f_applications *::before, html body .f_applications *::after { box-sizing: border-box; }
html body .f_applications.f_dialog .f_applications_window {
  width: min(780px, calc(100vw - 24px)); margin: 12px 0;
  border-radius: 24px; background: #fff; color: var(--mgf-ink);
  box-shadow: 0 30px 80px -30px rgba(9, 14, 6, .7);
}
html body .f_applications .f_applications_window .f_applications_content { position: relative; padding: 0; }
html body .f_applications hr { display: none; }
html body .f_applications .f_steps { margin: 0; }
/* вопрос шага = шапка */
html body .f_applications.f_dialog .f_steps .f_step h2,
html body .f_applications.f_dialog .f_steps .f_step:first-child h2 {
  margin: 0 0 22px; padding: 30px 84px 24px 32px; border-radius: 24px 24px 0 0;
  background: var(--mgf-shapka); color: #fff; text-align: left;
  font: 700 24px/1.3 'Ubuntu', Arial, sans-serif; text-wrap: balance;
}
html body .f_applications .f_area_ctrl { min-height: 0; padding: 0 32px; }
html body .f_applications .f_close_btn {
  position: absolute; top: 14px; right: 14px; z-index: 3; width: 44px; height: 44px;
  border-radius: 12px; background: rgba(255, 255, 255, .14); color: transparent; font-size: 0; cursor: pointer;
  transition: background-color .16s ease;
}
html body .f_applications .f_close_btn::before, html body .f_applications .f_close_btn::after {
  content: ''; position: absolute; top: 50%; left: 50%; width: 2px; height: 20px; margin: -10px 0 0 -1px; border-radius: 1px; background: #fff; transform: rotate(45deg);
}
html body .f_applications .f_close_btn::after { transform: rotate(-45deg); }

/* варианты ответа — плитки */
html body .f_applications .f_steps .f_list_checkes { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin: 0; }
html body .f_applications .f_steps .f_list_checkes::after { content: none; }
html body .f_applications .f_steps .f_list_checkes .f_check { float: none; width: auto; padding: 0; }
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a {
  display: flex; align-items: center; min-height: 54px; margin: 0; padding: 12px 16px 12px 50px;
  border: 1.5px solid var(--mgf-pl); border-radius: 12px; background: #fff;
  color: var(--mgf-ink); font: 500 17px/1.25 'Ubuntu', Arial, sans-serif; cursor: pointer;
  transition: border-color .16s ease, background-color .16s ease;
}
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a:has(input:checked) { border-color: var(--mgf-gt); background: #f3f8ec; }
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a input { position: absolute; opacity: 0; }
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a span::before {
  top: 50%; left: 16px; width: 22px; height: 22px; margin-top: -11px; border: 1.5px solid var(--mgf-pl); border-radius: 50%; background: #fff;
}
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a input[type="radio"]:checked + span::before { border-color: var(--mgf-gt); background: #fff; }
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a input[type="radio"]:checked + span::after {
  top: 50%; left: 22px; width: 10px; height: 10px; margin-top: -5px; border-radius: 50%; background: var(--mgf-gt); box-shadow: none;
}
html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a:has(input:focus-visible) { outline: 3px solid var(--mgf-gt); outline-offset: 2px; }

/* «Можно пропустить» и поля */
html body .f_applications .f_txt_propusk { padding: 6px 12px; border-radius: 999px; background: #eef4e4; color: var(--mgf-mu); font-size: 13px; }
html body .f_applications .f_controls { margin-top: 14px; }
html body .f_applications label { margin: 0 0 6px; color: var(--mgf-mu); font: 500 14px/1.3 'Ubuntu', Arial, sans-serif; }
html body .f_applications .f_col_right label { margin-bottom: 6px; font-size: 14px; }
html body .f_applications .f_txt_group,
html body .f_applications .f_txt_group.f_phone, html body .f_applications .f_txt_group.f_people, html body .f_applications .f_txt_group.f_email {
  height: auto; margin: 0 0 14px; padding: 0; border: 0; border-radius: 0; background: none;
}
html body .f_applications .f_txt_group.f_req::after { content: none; }
html body .f_applications .f_txt,
html body .f_applications .f_txt_group .f_txt {
  display: block; width: 100%; height: 54px; margin: 0 0 14px; padding: 0 16px;
  border: 1.5px solid var(--mgf-pl); border-radius: 12px; background: #fff;
  color: var(--mgf-ink); font: 400 18px/1.3 'Ubuntu', Arial, sans-serif; caret-color: var(--mgf-gt);
  outline: none; -webkit-appearance: none; appearance: none; transition: border-color .16s ease, box-shadow .16s ease;
}
html body .f_applications .f_txt_group .f_txt { margin: 0; }
html body .f_applications .f_txt::placeholder { color: #6b7363; opacity: 1; }
html body .f_applications .f_txt:focus { border-color: var(--mgf-gt); box-shadow: 0 0 0 4px rgba(144, 187, 89, .3); }
html body .f_applications .has-error .f_txt_group .f_txt { border-color: var(--mgf-osh); }
html body .f_applications .has-error label { color: var(--mgf-osh); }
html body .f_applications .has-error .error { display: block; margin: -8px 0 12px; color: var(--mgf-osh); font-size: 14px; font-weight: 400; }
/* последний шаг: слева «не спам», справа контакты */
html body .f_applications .f_row { display: grid; grid-template-columns: 1fr 1.25fr; gap: 24px; }
html body .f_applications .f_row::after { content: none; }
html body .f_applications .f_col_left, html body .f_applications .f_col_right { float: none; width: auto; margin: 0; padding: 0; }
html body .f_applications .f_col_left .f_info {
  padding: 12px 14px; border-radius: 10px; background: var(--mgf-g50); background-image: none;
  color: #2f3a26; font-size: 14px; line-height: 1.45;
}
html body .f_applications .f_ctrl_row_btn { text-align: left; }
html body .f_applications .f_ctrl_row_btn .f_btn_send {
  display: flex; align-items: center; justify-content: center; width: 100%; min-height: 56px; padding: 0 20px;
  border: 0; border-radius: 12px; background: var(--mgf-g); box-shadow: none; color: var(--mgf-ink); text-shadow: none;
  font: 900 17px/1 'RoadRadio', Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase; cursor: pointer;
  transition: transform .14s var(--mgf-ease), background-color .18s ease;
}
html body .f_applications .f_btn_icon { display: none; }
html body .f_applications .f_form_policy { margin: 14px 0 28px; color: var(--mgf-mu); font-size: 13px; line-height: 1.45; }
html body .f_applications .f_form_policy a { color: inherit; text-underline-offset: 2px; }
html body .f_applications .f_msg.f_error { color: #a31800; }
html body .f_applications .f_msg.f_success { color: var(--mgf-gt); font-weight: 700; }

/* низ: прогресс и «Далее» */
html body .f_applications .f_footer { margin: 24px 0 0; padding: 18px 32px 26px; border-top: 1px solid #e1e8d8; }
html body .f_applications .f_footer .f_row { display: flex; align-items: center; gap: 20px; margin: 0; }
html body .f_applications .f_footer .f_row .f_progress_div { flex: 1; width: auto; float: none; padding: 0; }
html body .f_applications .f_progress_div div { color: var(--mgf-mu); font-size: 14px; }
html body .f_applications .f_prc { color: var(--mgf-gt); font-weight: 700; font-variant-numeric: tabular-nums; }
html body .f_applications .f_progress { height: 6px; margin-top: 8px; border-radius: 3px; background: var(--mgf-g50); overflow: hidden; }
html body .f_applications .f_progress .f_progress_line { background: var(--mgf-g); background-image: none; box-shadow: none; border-radius: 3px; transition: width .3s var(--mgf-ease); }
html body .f_applications .f_footer .f_row .f_buttons { display: flex; flex: none; gap: 10px; width: auto; margin: 0; padding: 0; float: none; }
html body .f_applications .f_footer .f_row .f_buttons button { margin: 0; }
html body .f_applications .f_footer .f_row .f_buttons button.f_btn_prev {
  width: 52px; height: 52px; padding: 0; border: 1.5px solid var(--mgf-pl); border-radius: 12px; background: #fff;
  color: var(--mgf-ink); font: 700 20px/1 'Ubuntu', Arial, sans-serif;
}
html body .f_applications .f_footer .f_row .f_buttons button.f_btn_next {
  height: 52px; padding: 0 28px; border: 0; border-radius: 12px; background: var(--mgf-g); background-image: none; box-shadow: none;
  color: var(--mgf-ink); text-shadow: none; font: 900 15px/1 'RoadRadio', Arial, sans-serif; letter-spacing: .04em; text-transform: uppercase;
  transition: transform .14s var(--mgf-ease), background-color .18s ease;
}
html body .f_applications button { touch-action: manipulation; -webkit-user-select: none; user-select: none; }
html body .f_applications button:active { transform: scale(.97); }
html body .f_applications button:focus-visible { outline: 3px solid var(--mgf-gt); outline-offset: 3px; }
/* календарь шага «до какого числа» — только цвет выбранного дня под общий зелёный */
html body .f_applications .ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-current-day a,
html body .f_applications .ui-datepicker .ui-datepicker-calendar tbody td.ui-datepicker-current-day::before { background: var(--mgf-g); background-image: none; box-shadow: none; }

@media (hover: hover) and (pointer: fine) {
  html body .f_applications .f_close_btn:hover { background: rgba(255, 255, 255, .24); }
  html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a:hover { border-color: #a9b59c; }
  html body .f_applications .f_footer .f_row .f_buttons button.f_btn_next:hover,
  html body .f_applications .f_ctrl_row_btn .f_btn_send:hover { background: var(--mgf-g-h); }
}
@media (max-width: 767px) {
  html body .f_applications.f_dialog .f_applications_window { width: calc(100vw - 24px); border-radius: 20px; }
  html body .f_applications.f_dialog .f_steps .f_step h2,
  html body .f_applications.f_dialog .f_steps .f_step:first-child h2 { margin-bottom: 18px; padding: 22px 70px 18px 16px; border-radius: 20px 20px 0 0; font-size: 19px; }
  html body .f_applications .f_area_ctrl { padding: 0 16px; }
  html body .f_applications .f_steps .f_list_checkes { grid-template-columns: 1fr; gap: 8px; }
  html body .f_applications .f_steps .f_list_checkes .f_check .f_ch_a { min-height: 50px; font-size: 16px; }
  html body .f_applications .f_txt, html body .f_applications .f_txt_group .f_txt { height: 50px; font-size: 17px; }
  html body .f_applications .f_row { grid-template-columns: 1fr; gap: 14px; }
  html body .f_applications .f_footer { margin-top: 18px; padding: 14px 16px calc(18px + env(safe-area-inset-bottom, 0px)); }
  html body .f_applications .f_footer .f_row { display: flex; }
}
