/* ==========================================================
   REQUEST MODAL — popup form used by every "Заявка"/CTA button.
   Submits to FormSubmit (no backend needed) — see modal.js.
   ========================================================== */
.modal-overlay{
  position:fixed;inset:0;z-index:200;
  background:rgba(15,14,11,.6);
  display:flex;align-items:center;justify-content:center;
  padding:24px;
  opacity:0;visibility:hidden;
  transition:opacity .3s ease, visibility 0s linear .3s;
}
.modal-overlay.open{
  opacity:1;visibility:visible;
  transition:opacity .3s ease;
}
.modal-box{
  position:relative;background:var(--cream);width:100%;max-width:460px;
  padding:44px 36px 36px;
  transform:translateY(16px);transition:transform .3s ease;
  max-height:90vh;overflow-y:auto;
}
.modal-overlay.open .modal-box{transform:translateY(0);}
.modal-close{
  position:absolute;top:16px;right:16px;
  width:32px;height:32px;border:none;background:none;cursor:pointer;
  font-size:22px;line-height:1;color:var(--ink);
}
.modal-box h3{
  font-family:Georgia,"Noto Serif","Times New Roman",serif;font-style:italic;font-weight:500;
  font-size:26px;margin-bottom:24px;
}
#requestForm{display:flex;flex-direction:column;gap:16px;}
#requestForm label{
  display:flex;flex-direction:column;gap:6px;
  font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--taupe);
}
#requestForm input[type="text"],
#requestForm input[type="tel"],
#requestForm textarea{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:15px;color:var(--ink);
  border:none;border-bottom:1px solid var(--line);background:transparent;
  padding:8px 2px;
}
#requestForm input:focus,
#requestForm textarea:focus{outline:none;border-bottom-color:var(--ink);}
#requestForm textarea{resize:vertical;min-height:64px;}

.modal-radio-group{
  display:flex;flex-direction:column;gap:10px;
  font-size:13px;color:var(--ink);text-transform:none;letter-spacing:normal;
}
.modal-radio-group > span{font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--taupe);}
.modal-radio-option{display:flex;align-items:center;gap:10px;cursor:pointer;}
.modal-radio-option input{accent-color:var(--ink);width:16px;height:16px;}

.modal-submit{
  margin-top:8px;background:var(--accent);color:#fff;border:none;
  padding:15px 28px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;
  cursor:pointer;transition:opacity .25s;
}
.modal-submit:hover{opacity:.85;}
.modal-submit:disabled{opacity:.5;cursor:default;}

.modal-status{font-size:13px;min-height:18px;}
.modal-status.success{color:#2E6B3E;}
.modal-status.error{color:#B4402A;}

.modal-fallback{
  margin-top:4px;font-size:12px;color:var(--taupe);
}
.modal-fallback a{border-bottom:1px solid var(--taupe);}

@media (max-width:480px){
  .modal-box{padding:36px 22px 28px;}
}
