/* Форма «Отправить запрос» (блок «Первый шаг», главная). Своя часть центра, не связана с комплектом форм основного сайта.
   Оформление повторяет форму записи (assets/alloro-form.css + alloro-form-centr.css), но классы свои (rq*), чтобы скрипт комплекта её не трогал. */
dialog.rq{--rq-navy:#0d2c3e;--rq-teal:#0e8286;--rq-deep:#0a5f75;--rq-mint:#eef7f9;--rq-muted:#516e7e;--rq-err:#D9534F;position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);margin:0;width:min(96vw,520px);max-height:94vh;overflow:auto;border:0;padding:28px 28px 24px;border-radius:24px;background:rgba(255,255,255,.94);-webkit-backdrop-filter:blur(24px) saturate(1.4);backdrop-filter:blur(24px) saturate(1.4);box-shadow:0 30px 80px -30px rgba(13,44,62,.5),inset 0 1px 0 rgba(255,255,255,.9);color:var(--rq-navy);font-family:'Golos Text',sans-serif;line-height:1.5}
dialog.rq *,dialog.rq *::before,dialog.rq *::after{box-sizing:border-box}
dialog.rq::backdrop{background:rgba(13,44,62,.55);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.rq__close{position:absolute;right:12px;top:12px;width:40px;height:40px;border-radius:50%;background:var(--rq-mint);color:var(--rq-navy);display:flex;align-items:center;justify-content:center}
.rq__close svg{width:22px;height:22px;transform:rotate(45deg)}
.rq__head{margin-bottom:18px;padding-right:40px}
.rq__head h2{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.02em;font-size:24px;line-height:1.2;margin:0 0 6px;color:var(--rq-navy)}
.rq__head p{margin:0;color:var(--rq-muted);font-size:14px}
.rq__form{display:grid;gap:14px}
.rq__fields{display:grid;gap:12px}
.rq__field{display:grid;gap:6px;font-size:14px;color:var(--rq-muted)}
.rq__field>span{color:var(--rq-navy);font-weight:500}
.rq__req{color:var(--rq-teal);margin-left:3px}
.rq__field input,.rq__field textarea{font:inherit;font-size:16px;color:var(--rq-navy);padding:12px 16px;border-radius:14px;border:1px solid rgba(13,44,62,.15);background:rgba(255,255,255,.8);outline:none;width:100%;resize:vertical;transition:border-color .2s,box-shadow .2s}
.rq__field textarea{min-height:104px}
.rq__field input:focus,.rq__field textarea:focus{border-color:var(--rq-teal);box-shadow:0 0 0 3px rgba(14,130,134,.18)}
.rq__field .is-invalid{border-color:var(--rq-err)!important}
.rq__msg{display:none;color:var(--rq-err);font-size:12px}
.rq__msg:not(:empty){display:block}
.rq__consent{display:grid;grid-template-columns:auto 1fr;gap:10px;align-items:start;font-size:14px;color:var(--rq-navy)}
.rq__consent input{margin-top:3px;accent-color:var(--rq-teal);width:18px;height:18px}
.rq__consent small{display:block;color:var(--rq-muted);font-size:12px;line-height:1.4;margin-top:4px}
.rq__consent small a{color:var(--rq-deep);text-decoration:underline}
.rq__consent .rq__msg{grid-column:1/-1}
.rq__submit{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:52px;border-radius:12px;background:linear-gradient(135deg,#0e8286,#1796a8);box-shadow:0 12px 26px -12px rgba(10,117,145,.75);color:#fff;font-weight:700;font-size:16px}
.rq__submit:hover{background:linear-gradient(135deg,#0a6f73,#128396)}
.rq__error{margin:0;color:var(--rq-err);font-size:14px}
.rq__error[hidden]{display:none}
.rq__error a{color:inherit;font-weight:700;white-space:nowrap}
@media (max-width:640px){
  dialog.rq{width:100vw;max-width:100vw;top:auto;bottom:0;left:0;transform:none;border-radius:24px 24px 0 0;max-height:92vh;padding:22px 18px calc(18px + env(safe-area-inset-bottom))}
  .rq__head h2{font-size:21px}
}
.rq__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.rq__form.is-done .rq__fields,.rq__form.is-done .rq__consent,.rq__form.is-done .rq__submit,.rq__form.is-done .rq__error{display:none}
.rq__done{text-align:center;padding:12px 0;display:grid;gap:10px;justify-items:center}
.rq__done[hidden]{display:none}
.rq__done-ic{width:64px;height:64px;border-radius:50%;background:var(--rq-mint);color:var(--rq-teal);display:flex;align-items:center;justify-content:center}
.rq__done-ic svg{width:28px;height:28px}
.rq__done h3{font-family:'Manrope',sans-serif;font-weight:800;letter-spacing:-.02em;font-size:22px;margin:0;color:var(--rq-navy)}
.rq__done p{margin:0;color:var(--rq-muted)}
.rq__btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 24px;border-radius:12px;background:#fff;border:1.5px solid var(--rq-teal);color:var(--rq-deep);font-weight:700;font-size:16px}
