/* =====================================================
   Единая форма заявки + модальное окно — /local/lead-form/
   Самодостаточные стили: не зависят от CSS лендинга и .lk-page.
   Цвета берутся из переменных лендинга, если они есть (--purple и т.д.).
   ===================================================== */

/* ---------------- ФОРМА ---------------- */
.lead-form {
   font-family: 'Golos Text', 'Open Sans', Arial, sans-serif;
   color: var(--text, #0d0a14);
   line-height: 1.6;
   text-align: left;
}

.lead-form .lead-form__field {
   display: block;
   margin: 0 0 16px;
}

.lead-form .lead-form__field label {
   display: block;
   margin: 0 0 6px;
   font-family: var(--font-heading, 'Manrope', 'Golos Text', Arial, sans-serif) !important;
   font-size: 13px;
   font-weight: 700;
   line-height: 1.4;
   color: var(--text-muted, #4a4459);
}

.lead-form .lead-form__field input,
.lead-form .lead-form__field textarea {
   display: block;
   width: 100%;
   height: auto;
   margin: 0;
   box-sizing: border-box;
   border: 1px solid #ded5ef;
   border-radius: 10px;
   background: #fff;
   box-shadow: none;
   padding: 13px 14px;
   font-family: inherit !important;
   font-size: 15px;
   line-height: 1.4;
   color: var(--text, #0d0a14);
   outline: none;
   resize: vertical;
   transition: border-color 0.2s;
}

.lead-form .lead-form__field input:focus,
.lead-form .lead-form__field textarea:focus { border-color: var(--purple, #7048b8); }

.lead-form .lead-form__field input::placeholder,
.lead-form .lead-form__field textarea::placeholder {
   /* Шаблон сайта глобально красит ::placeholder в белый */
   color: #9a93a8;
   opacity: 1;
}

.lead-form .lead-form__field input.error,
.lead-form .lead-form__field textarea.error { border-color: var(--red, #e2483d); }

.lead-form .lead-form__agree {
   display: flex;
   gap: 10px;
   align-items: flex-start;
   margin: 0 0 18px;
   font-size: 12.5px;
   font-weight: 400;
   line-height: 1.5;
   color: var(--text-muted, #4a4459);
   cursor: pointer;
}

.lead-form .lead-form__req {
   color: var(--red, #e2483d);
   font-weight: 700;
}

.lead-form .lead-form__agree input { margin: 3px 0 0; flex-shrink: 0; }
.lead-form .lead-form__agree a { color: var(--purple, #7048b8); }

/* Кнопка без класса .btn: у шаблона сайта есть свой глобальный .btn */
.lead-form .lead-form__submit {
   display: flex;
   align-items: center;
   justify-content: center;
   width: 100%;
   height: auto;
   margin: 0;
   padding: 15px 30px;
   border: 2px solid var(--accent, #fba802);
   border-radius: 999px;
   background: var(--accent, #fba802);
   box-shadow: 0 14px 30px rgba(251, 168, 2, 0.32);
   font-family: var(--font-heading, 'Manrope', 'Golos Text', Arial, sans-serif) !important;
   font-size: 15px;
   font-weight: 800;
   line-height: 1.2;
   color: var(--accent-text, #2a1c06);
   text-transform: none;
   cursor: pointer;
   transition: all 0.25s ease;
   box-sizing: border-box;
}

.lead-form .lead-form__submit:hover {
   background: var(--accent-dark, #e89700);
   border-color: var(--accent-dark, #e89700);
   box-shadow: 0 16px 34px rgba(251, 168, 2, 0.4);
   transform: translateY(-1px);
}

.lead-form .lead-form__submit:disabled {
   opacity: 0.7;
   cursor: default;
   transform: none;
}

.lead-form .lead-form__result:empty { display: none; }

.lead-form .lead-form__result {
   margin-top: 14px;
   font-size: 14px;
   font-weight: 600;
   text-align: center;
}

.lead-form .lead-form__result--ok    { color: var(--green, #1a9b5c); }
.lead-form .lead-form__result--error { color: var(--red, #e2483d); }

/* ---------------- МОДАЛКА ---------------- */
.lead-modal {
   position: fixed;
   inset: 0;
   z-index: 10000; /* выше cookie-баннера шаблона (9999) */
   display: flex;
   align-items: center;
   justify-content: center;
   padding: 24px 16px;
   box-sizing: border-box;
   overflow-y: auto;
   background: rgba(20, 12, 36, 0.45);
   -webkit-backdrop-filter: blur(8px);
   backdrop-filter: blur(8px);
   opacity: 0;
   transition: opacity 0.2s ease;
}

.lead-modal[hidden] { display: none; }
.lead-modal.is-open { opacity: 1; }

.lead-modal__dialog {
   position: relative;
   width: 100%;
   max-width: 480px;
   margin: auto;
   padding: 36px 32px 32px;
   box-sizing: border-box;
   background: #fff;
   border-radius: var(--radius, 16px);
   box-shadow: 0 30px 80px rgba(49, 15, 80, 0.25);
   transform: translateY(12px) scale(0.98);
   transition: transform 0.2s ease;
}

.lead-modal.is-open .lead-modal__dialog { transform: none; }

.lead-modal__title {
   margin: 0 32px 8px 0;
   font-family: var(--font-heading, 'Manrope', 'Golos Text', Arial, sans-serif);
   font-size: 24px;
   font-weight: 800;
   line-height: 1.3;
   color: var(--text, #0d0a14);
}

.lead-modal__text {
   margin: 0 0 22px;
   font-family: 'Golos Text', 'Open Sans', Arial, sans-serif;
   font-size: 15px;
   line-height: 1.6;
   color: var(--text-muted, #4a4459);
}

.lead-modal__close {
   position: absolute;
   top: 14px;
   right: 14px;
   width: 40px;
   height: 40px;
   margin: 0;
   padding: 0;
   border: none;
   border-radius: 50%;
   background: var(--purple-pale, #ece7f5);
   color: var(--purple, #7048b8);
   font-size: 26px;
   line-height: 40px;
   text-align: center;
   cursor: pointer;
   transition: background 0.2s, color 0.2s;
}

.lead-modal__close:hover {
   background: var(--purple, #7048b8);
   color: #fff;
}

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

@media (prefers-reduced-motion: reduce) {
   .lead-modal,
   .lead-modal__dialog { transition: none; }
}
