/*
 * Стили модалки заявок (LeadModal). Вынесены из src/components/LeadModal.astro,
 * чтобы НЕ инлайниться в основной CSS-бандл (~32 КБ unused CSS на каждой странице
 * — модалка скрыта пока юзер не нажмёт CTA). Теперь подключается асинхронно
 * через preload+onload swap в BaseLayout.astro.
 */

.lead-modal{
  position:fixed; inset:0; z-index:9999;
  display:none; align-items:center; justify-content:center;
  padding:20px;
  font-family:'Golos Text','SF Pro Text',-apple-system,BlinkMacSystemFont,sans-serif;
}
.lead-modal[aria-hidden="false"]{display:flex}
.lead-modal__backdrop{
  position:absolute; inset:0;
  background:rgba(11,11,11,.55);
  backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px);
  animation:lm-fade .25s ease;
}
.lead-modal__card{
  position:relative; z-index:1;
  width:100%; max-width:460px;
  background:#FBFAF6; border-radius:20px;
  padding:36px 30px 28px;
  box-shadow:0 30px 80px rgba(0,0,0,.35), 0 4px 12px rgba(0,0,0,.18);
  animation:lm-pop .35s cubic-bezier(.22,1,.36,1);
  max-height:calc(100vh - 40px);
  overflow-y:auto;
}
.lead-modal__close{
  position:absolute; top:14px; right:14px;
  width:34px; height:34px; border-radius:50%;
  background:transparent; border:0; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  color:#666; transition:background .15s, color .15s;
}
.lead-modal__close:hover{background:rgba(0,0,0,.06); color:#0B0B0B}

.lead-modal__eyebrow{
  display:flex; align-items:center; gap:8px;
  font-family:'JetBrains Mono','SF Mono',monospace;
  font-size:11px; letter-spacing:.18em; text-transform:uppercase;
  color:#888; font-weight:600;
  margin-bottom:14px;
}
.lead-modal__star{color:#1659F5; font-size:14px}
.lead-modal__title{
  font-family:'Golos Text',sans-serif;
  font-size:clamp(22px,2.4vw,28px); font-weight:700;
  letter-spacing:-.02em; line-height:1.15; color:#0B0B0B;
  margin:0 0 10px;
}
.lead-modal__title em{font-style:italic; font-family:'Cormorant Garamond',serif; font-weight:500; color:#1659F5}
.lead-modal__lead{
  font-size:14px; line-height:1.5; color:#555;
  letter-spacing:-.005em;
  margin:0 0 22px;
}

.lead-modal__form{display:flex; flex-direction:column; gap:14px}
.lead-modal__field{display:flex; flex-direction:column; gap:6px}
.lead-modal__label{
  font-size:12px; font-weight:600; color:#0B0B0B;
  letter-spacing:-.005em;
}
.lead-modal__opt{font-weight:400; color:#999}
.lead-modal__field input,
.lead-modal__field textarea{
  font-family:inherit; font-size:15px; color:#0B0B0B;
  background:#fff; border:1px solid #E0DCD0; border-radius:10px;
  padding:12px 14px;
  outline:0; resize:vertical;
  transition:border-color .15s, box-shadow .15s;
}
.lead-modal__field input:focus,
.lead-modal__field textarea:focus{
  border-color:#1659F5;
  box-shadow:0 0 0 3px rgba(22,89,245,.12);
}
.lead-modal__field input::placeholder,
.lead-modal__field textarea::placeholder{color:#aaa}
.lead-modal__field input[aria-invalid="true"]{border-color:#D14343}

.lead-modal__hp{
  position:absolute !important;
  width:1px; height:1px; padding:0; margin:-1px; overflow:hidden;
  clip:rect(0,0,0,0); border:0;
}

.lead-modal__submit{
  margin-top:6px;
  display:inline-flex; align-items:center; justify-content:center; gap:8px;
  background:#1659F5; color:#fff;
  border:0; border-radius:999px;
  padding:14px 24px; font-size:15px; font-weight:600;
  cursor:pointer;
  transition:transform .2s, background .2s, opacity .2s;
  font-family:inherit;
}
.lead-modal__submit:hover:not([disabled]){background:#0e47cf; transform:translateY(-1px)}
.lead-modal__submit[disabled]{opacity:.6; cursor:not-allowed}
.lead-modal__submit.is-loading .lead-modal__submit-label::after{content:'…'}

.lead-modal__error{
  background:#FDECEC; color:#9B2C2C; border-radius:10px;
  padding:10px 14px; font-size:13px; line-height:1.4;
}
.lead-modal__legal{
  font-size:11.5px; color:#888; line-height:1.5;
  letter-spacing:-.005em;
  margin:6px 0 0;
}
.lead-modal__legal a{color:#1659F5; text-decoration:none}
.lead-modal__legal a:hover{text-decoration:underline}

.lead-modal__view[data-view="success"]{text-align:center; padding-top:8px}
.lead-modal__success-icon{margin:0 auto 18px; width:44px; height:44px}
.lead-modal__tg{
  display:inline-block; margin-top:18px;
  color:#1659F5; font-weight:600; text-decoration:none;
  font-size:14px;
}
.lead-modal__tg:hover{text-decoration:underline}

body.lead-modal-open{overflow:hidden}

@keyframes lm-fade{from{opacity:0} to{opacity:1}}
@keyframes lm-pop{
  from{opacity:0; transform:translateY(8px) scale(.98)}
  to{opacity:1; transform:translateY(0) scale(1)}
}

@media (max-width:520px){
  .lead-modal__card{padding:28px 22px 22px; border-radius:16px}
  .lead-modal__title{font-size:20px}
}
