/* Всплывающая форма заявки. Палитра и шрифты — как на сайте:
   фон #0e0e0e/#0c0c0c, серый текст #a0a0a0/#8c8c8c, акцент белый.
   Ничего из стилей рантайма не переопределяем — свой изолированный слой. */

.ngf-overlay{
  position:fixed; inset:0; z-index:99999;
  display:flex; align-items:center; justify-content:center;
  padding:20px;
  background:rgba(0,0,0,.78);
  -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  opacity:0; visibility:hidden; transition:opacity .28s ease, visibility .28s ease;
}
.ngf-overlay[data-open="1"]{opacity:1; visibility:visible}

.ngf-panel{
  position:relative; width:100%; max-width:460px;
  max-height:calc(100dvh - 40px); overflow-y:auto;
  background:#0e0e0e; border:1px solid rgba(255,255,255,.12);
  padding:36px 32px 32px;
  transform:translateY(14px); transition:transform .28s ease;
  font-family:"Instrument Sans","Encode Sans Semi Condensed",-apple-system,"Helvetica Neue",Arial,sans-serif;
}
.ngf-overlay[data-open="1"] .ngf-panel{transform:none}

.ngf-close{
  position:absolute; top:12px; right:12px;
  width:36px; height:36px; display:flex; align-items:center; justify-content:center;
  background:none; border:0; cursor:pointer; color:#8c8c8c; font-size:22px; line-height:1;
  transition:color .2s ease;
}
.ngf-close:hover{color:#fff}

.ngf-title{
  margin:0 0 6px; color:#fff; font-size:20px; font-weight:500; letter-spacing:.02em;
}
.ngf-sub{margin:0 0 26px; color:#8c8c8c; font-size:13px; line-height:1.5}

.ngf-field{margin-bottom:20px}
.ngf-label{
  display:block; margin-bottom:7px;
  color:#8c8c8c; font-size:10px; letter-spacing:.14em; text-transform:uppercase;
}
.ngf-input,.ngf-textarea{
  width:100%; box-sizing:border-box;
  background:transparent; border:0; border-bottom:1px solid rgba(255,255,255,.18);
  padding:7px 0; color:#fff; font-size:15px; font-family:inherit;
  transition:border-color .2s ease;
}
.ngf-textarea{resize:vertical; min-height:64px; line-height:1.5}
.ngf-input:focus,.ngf-textarea:focus{outline:none; border-bottom-color:#a0a0a0}
.ngf-input::placeholder,.ngf-textarea::placeholder{color:#4a4a4a}
.ngf-field[data-invalid="1"] .ngf-input,
.ngf-field[data-invalid="1"] .ngf-textarea{border-bottom-color:#a85454}

.ngf-hint{margin:18px 0 20px; color:#6a6a6a; font-size:11px; line-height:1.5}

.ngf-consent{display:flex; gap:10px; align-items:flex-start; margin-bottom:24px}
.ngf-consent input{
  appearance:none; -webkit-appearance:none;
  flex:0 0 18px; width:18px; height:18px; margin:0; margin-top:1px;
  border:1px solid rgba(255,255,255,.45); background:transparent no-repeat center/12px 12px;
  cursor:pointer; transition:border-color .2s ease, background-color .2s ease;
}
.ngf-consent input:hover{border-color:#a0a0a0}
.ngf-consent input:focus-visible{outline:1px solid #fff; outline-offset:2px}
/* отмечено: светлый квадрат и тёмная галочка — читается с первого взгляда */
.ngf-consent input:checked{
  background-color:#e6e6e6; border-color:#e6e6e6;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath d='M2.2 6.3 4.8 8.8 9.8 3.4' fill='none' stroke='%230c0c0c' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}
.ngf-consent label{color:#8c8c8c; font-size:11px; line-height:1.55; cursor:pointer}
.ngf-consent a{color:#a0a0a0; text-decoration:underline; text-underline-offset:2px}
.ngf-consent a:hover{color:#fff}
.ngf-consent[data-invalid="1"] input{border-color:#a85454}

/* Кнопка — серая гамма сайта, без цветных акцентов */
.ngf-submit{
  width:100%; padding:13px 20px; cursor:pointer;
  background:#a0a0a0; border:1px solid #a0a0a0; color:#0c0c0c;
  font-family:inherit; font-size:12px; letter-spacing:.14em; text-transform:uppercase;
  transition:background-color .2s ease, border-color .2s ease, color .2s ease;
}
.ngf-submit:hover:not(:disabled){background:#fff; border-color:#fff}
.ngf-submit:disabled{background:transparent; border-color:#3a3a3a; color:#6a6a6a; cursor:default}

.ngf-msg{margin-top:16px; font-size:12px; line-height:1.5; min-height:1em}
.ngf-msg[data-kind="err"]{color:#c98080}
.ngf-msg[data-kind="ok"]{color:#a0a0a0}

.ngf-done{text-align:center; padding:22px 0 10px}
.ngf-done h3{margin:0 0 10px; color:#fff; font-size:18px; font-weight:500}
.ngf-done p{margin:0; color:#8c8c8c; font-size:13px; line-height:1.6}

@media (max-width:480px){
  .ngf-panel{padding:30px 22px 26px}
  .ngf-title{font-size:18px}
}

/* кнопки сайта, открывающие форму, — рука при наведении (их размечает ng-form.js) */
[data-ngf-open]{cursor:pointer}
