/* ============================================================
   Карта экологических рисков — стили формы
   Всё заскоуплено под .erf, переменные с префиксом --erf-,
   чтобы форма не конфликтовала со стилями сайта.
   Под дизайн из Figma меняются ТОЛЬКО значения в блоке :root ниже.
   ============================================================ */

/* --- ТОКЕНЫ: сюда подставляются значения из Figma.
       Общие для формы, кнопки-триггера и модального окна. --- */
.erf, .erf-launcher, .erf-modal-overlay{
  --erf-ink:#16201C;
  --erf-ink-soft:#46524B;
  --erf-card:#FFFFFF;
  --erf-green:#1A5C3E;
  --erf-green-deep:#103E2A;
  --erf-green-soft:#E9F1EC;
  --erf-line:#DCE1DA;
  --erf-risk:#B23A2E;
  --erf-risk-soft:#FBECEA;
  --erf-warn:#B9791A;
  --erf-warn-soft:#F8EFDD;
  --erf-shadow:0 18px 50px -22px rgba(15,40,28,.45);
  --erf-radius:20px;
  --erf-font:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  --erf-font-display:Georgia,"Times New Roman",serif;
}

.erf{
  /* контейнер формы */
  max-width:600px;
  margin:0 auto;
  font-family:var(--erf-font);
  color:var(--erf-ink);
  -webkit-font-smoothing:antialiased;
}
.erf *{box-sizing:border-box}

.erf .card{
  background:var(--erf-card);
  border:1px solid var(--erf-line);
  border-radius:var(--erf-radius);
  box-shadow:var(--erf-shadow);
  overflow:hidden;
}

/* header */
.erf .head{padding:26px 30px 22px;border-bottom:1px solid var(--erf-line);background:linear-gradient(180deg,#FCFDFC,#F6FAF7)}
.erf .eyebrow{font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--erf-green);font-weight:700;display:flex;align-items:center;gap:8px}
.erf .eyebrow .dot{width:7px;height:7px;border-radius:50%;background:var(--erf-risk)}
.erf .title{font-family:var(--erf-font-display);font-size:23px;line-height:1.25;margin-top:10px;letter-spacing:-.01em}
.erf .subtitle{color:var(--erf-ink-soft);font-size:13.5px;margin-top:6px;line-height:1.5}
.erf .rail{display:flex;gap:6px;margin-top:18px}
.erf .rail .seg{flex:1;height:4px;border-radius:4px;background:var(--erf-line);transition:background .35s}
.erf .rail .seg.done{background:var(--erf-green)}
.erf .rail .seg.active{background:var(--erf-warn)}

/* body */
.erf .body{padding:28px 30px 30px;min-height:300px}
.erf .step{display:none;animation:erf-rise .4s ease both}
.erf .step.show{display:block}
@keyframes erf-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (prefers-reduced-motion:reduce){.erf .step,.erf .card *{animation:none!important;transition:none!important}}

.erf .q-count{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--erf-green);font-weight:700}
.erf .q-text{font-family:var(--erf-font-display);font-size:19px;margin:8px 0 18px;line-height:1.35}

.erf .opts{display:grid;gap:10px}
.erf .opt{text-align:left;border:1px solid var(--erf-line);background:#fff;border-radius:13px;padding:14px 16px;cursor:pointer;
  display:flex;align-items:center;gap:13px;font-size:14.5px;color:var(--erf-ink);transition:.18s;font-family:inherit;width:100%}
.erf .opt:hover{border-color:var(--erf-green);background:var(--erf-green-soft)}
.erf .opt:focus-visible{outline:2px solid var(--erf-warn);outline-offset:2px}
.erf .opt .em{font-size:18px;flex:none}
.erf .opt .mk{margin-left:auto;width:22px;height:22px;border-radius:7px;border:1.5px solid var(--erf-line);flex:none;
  display:flex;align-items:center;justify-content:center;color:#fff;font-size:13px;transition:.18s}
.erf .opt.sel{border-color:var(--erf-green);background:var(--erf-green-soft)}
.erf .opt.sel .mk{background:var(--erf-green);border-color:var(--erf-green)}
.erf .opt[data-tone="no"]:hover{border-color:var(--erf-risk);background:var(--erf-risk-soft)}
.erf .opt[data-tone="idk"]:hover{border-color:var(--erf-warn);background:var(--erf-warn-soft)}

.erf .hint{font-size:12px;color:var(--erf-ink-soft);margin-top:14px;line-height:1.5}

.erf .field{margin-top:4px}
.erf .field label{display:block;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--erf-ink-soft);font-weight:600;margin-bottom:7px}
.erf .field input{width:100%;border:1px solid var(--erf-line);border-radius:11px;padding:13px 14px;font-size:15px;font-family:inherit;color:var(--erf-ink);background:#fff}
.erf .field input:focus{outline:none;border-color:var(--erf-green);box-shadow:0 0 0 3px var(--erf-green-soft)}
.erf .field + .field{margin-top:14px}

.erf .nav{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:24px}
.erf .btn{font-family:inherit;font-size:14.5px;font-weight:600;border-radius:11px;padding:13px 22px;cursor:pointer;border:1px solid transparent;transition:.18s}
.erf .btn:focus-visible{outline:2px solid var(--erf-warn);outline-offset:2px}
.erf .btn-ghost{background:transparent;color:var(--erf-ink-soft);padding-left:4px}
.erf .btn-ghost:hover{color:var(--erf-ink)}
.erf .btn-ghost[disabled]{opacity:0;pointer-events:none}
.erf .btn-primary{background:var(--erf-green);color:#fff;margin-left:auto;box-shadow:0 8px 20px -10px rgba(26,92,62,.8)}
.erf .btn-primary:hover{background:var(--erf-green-deep)}
.erf .btn-primary[disabled]{opacity:.4;cursor:not-allowed;box-shadow:none}

/* risk report */
.erf .meter-card{border-radius:16px;padding:20px;color:#fff;position:relative;overflow:hidden}
.erf .meter-card.high{background:linear-gradient(135deg,#B23A2E,#8C2A20)}
.erf .meter-card.med{background:linear-gradient(135deg,#C2891F,#9A6913)}
.erf .meter-card.low{background:linear-gradient(135deg,#1A7A4E,#125A39)}
.erf .meter-card .lvl{font-size:11px;letter-spacing:.16em;text-transform:uppercase;font-weight:700;opacity:.92}
.erf .meter-card .sum{font-family:var(--erf-font-display);font-size:34px;line-height:1.05;margin:8px 0 2px}
.erf .meter-card .sum small{font-size:14px;font-family:inherit;opacity:.85;font-weight:400}
.erf .meter-card .stop{display:inline-flex;align-items:center;gap:7px;margin-top:12px;background:rgba(255,255,255,.18);padding:7px 12px;border-radius:30px;font-size:12.5px;font-weight:600}

.erf .res-lead{font-size:13.5px;color:var(--erf-ink-soft);line-height:1.55;margin:18px 0 14px}

.erf .gaps{display:grid;gap:10px}
.erf .gap{border:1px solid var(--erf-line);border-radius:13px;padding:13px 15px;display:flex;gap:12px;align-items:flex-start}
.erf .gap .ic{width:24px;height:24px;border-radius:7px;flex:none;display:flex;align-items:center;justify-content:center;font-size:14px;margin-top:1px;background:var(--erf-risk-soft);color:var(--erf-risk)}
.erf .gap.idk .ic{background:var(--erf-warn-soft);color:var(--erf-warn)}
.erf .gap .nm{font-weight:600;font-size:14.5px;line-height:1.3}
.erf .gap .meta{font-size:12.5px;color:var(--erf-ink-soft);margin-top:3px;line-height:1.45}
.erf .gap .amt{margin-left:auto;text-align:right;flex:none;font-weight:700;font-size:14px;color:var(--erf-risk);white-space:nowrap}
.erf .gap.idk .amt{color:var(--erf-warn)}
.erf .gap .stoptag{display:block;font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--erf-risk);font-weight:700;margin-top:3px}

.erf .fix{background:var(--erf-green-soft);border-radius:14px;padding:16px 18px;margin-top:18px}
.erf .fix h4{font-family:var(--erf-font-display);font-size:15.5px;font-weight:400;margin-bottom:8px;display:flex;align-items:center;gap:8px}
.erf .fix ul{list-style:none;display:grid;gap:6px}
.erf .fix li{font-size:13.5px;color:var(--erf-ink);display:flex;gap:9px;align-items:flex-start}
.erf .fix li::before{content:"→";color:var(--erf-green);font-weight:700;flex:none}

.erf .disc{font-size:11.5px;color:var(--erf-ink-soft);line-height:1.5;margin:16px 0 22px}

.erf .contacts{border-top:1px dashed var(--erf-line);padding-top:20px}
.erf .contacts h4{font-family:var(--erf-font-display);font-size:16px;margin-bottom:14px;font-weight:400}

.erf .done-screen{text-align:center;padding:24px 6px}
.erf .done-screen .ring{width:62px;height:62px;border-radius:50%;background:var(--erf-green-soft);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;font-size:28px}
.erf .done-screen h3{font-family:var(--erf-font-display);font-size:22px;margin-bottom:8px}
.erf .done-screen p{color:var(--erf-ink-soft);font-size:14px;line-height:1.55;max-width:400px;margin:0 auto}

.erf .foot{padding:14px 30px;border-top:1px solid var(--erf-line);font-size:11.5px;color:var(--erf-ink-soft);display:flex;align-items:center;gap:7px}


/* ============================================================
   Кнопка-триггер (плавающий квадрат) + модальное окно с формой
   ============================================================ */

/* --- Кнопка запуска --- */
.erf-launcher{
  position:fixed;
  right:24px;
  bottom:24px;
  width:62px;
  height:62px;
  border-radius:18px;
  background:var(--erf-card);
  border:1px solid var(--erf-line);
  box-shadow:0 12px 30px -10px rgba(15,40,28,.4);
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  z-index:9998;
  transition:transform .18s ease, box-shadow .18s ease;
  font-family:var(--erf-font);
}
.erf-launcher:hover{transform:translateY(-3px);box-shadow:0 18px 38px -12px rgba(15,40,28,.5)}
.erf-launcher:active{transform:translateY(-1px)}
.erf-launcher:focus-visible{outline:2px solid var(--erf-green);outline-offset:3px}
/* зелёная галка по умолчанию — замените содержимое кнопки на свой логотип */
.erf-launcher__check{width:30px;height:30px;color:var(--erf-green);display:block}
/* если вставите <img> с логотипом — он аккуратно впишется */
.erf-launcher img{max-width:64%;max-height:64%;display:block;object-fit:contain}

/* --- Оверлей (затемнённый фон) --- */
.erf-modal-overlay{
  position:fixed;
  inset:0;
  z-index:9999;
  background:rgba(11,26,19,.55);
  backdrop-filter:blur(2px);
  display:flex;
  align-items:flex-start;
  justify-content:center;
  padding:32px 16px;
  overflow-y:auto;
  opacity:0;
  transition:opacity .2s ease;
}
.erf-modal-overlay[hidden]{display:none}
.erf-modal-overlay.is-open{opacity:1}

/* --- Диалог (обёртка формы + крестик) --- */
.erf-modal{
  position:relative;
  width:100%;
  max-width:600px;
  margin:auto;
  transform:translateY(8px);
  transition:transform .22s ease;
}
.erf-modal-overlay.is-open .erf-modal{transform:none}
@media (prefers-reduced-motion:reduce){
  .erf-modal-overlay,.erf-modal{transition:none}
  .erf-modal{transform:none}
}

/* внутри модалки форма занимает всю ширину */
.erf-modal .erf{max-width:100%;margin:0}

/* --- Кнопка закрытия --- */
.erf-modal__close{
  position:absolute;
  top:-14px;
  right:-14px;
  width:36px;
  height:36px;
  border-radius:50%;
  border:1px solid var(--erf-line);
  background:var(--erf-card);
  color:var(--erf-ink);
  font-size:20px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px -8px rgba(15,40,28,.4);
  transition:background .15s ease, transform .15s ease;
  z-index:2;
}
.erf-modal__close:hover{background:var(--erf-green-soft);transform:scale(1.05)}
.erf-modal__close:focus-visible{outline:2px solid var(--erf-green);outline-offset:2px}

@media (max-width:520px){
  .erf-modal__close{top:8px;right:8px}
}

/* блокировка прокрутки страницы, когда модалка открыта */
body.erf-modal-open{overflow:hidden}
