/* ============================================================
   components.css — карточки, кнопки, поля форми, слайдер, бейджі
   ============================================================ */

/* --- hero --- */
.hero{text-align:center;padding:48px 20px 28px;}
.hero-tag{
  display:inline-block;
  background:var(--green-light);
  color:var(--green-text);
  font-size:11px;font-weight:600;
  padding:5px 14px;border-radius:var(--radius-pill);
  letter-spacing:.04em;text-transform:uppercase;
  margin-bottom:16px;
}
.hero h1{
  font-family:var(--font-head);
  font-size:clamp(22px,3.6vw,36px);
  font-weight:700;line-height:1.22;margin-bottom:14px;
}
.hero h1 span{color:var(--green);}
.hero p{
  font-size:15px;color:var(--muted);
  max-width:560px;margin:0 auto;line-height:1.65;
}
.hero p + p{margin-top:12px;}

/* --- card --- */
.card{
  background:var(--white);
  border-radius:var(--radius);
  border:1px solid var(--border);
  box-shadow:var(--shadow-card);
  padding:28px;
}
.card + .card{margin-top:20px;}
.card-title{font-family:var(--font-head);font-size:16px;font-weight:700;margin-bottom:6px;}
.card-sub{font-size:13px;color:var(--muted);margin-bottom:20px;line-height:1.5;}

/* --- кнопки --- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  padding:13px 26px;
  border:none;border-radius:var(--radius-sm);
  font-family:var(--font-body);font-size:14px;font-weight:600;
  cursor:pointer;transition:background var(--ease),transform var(--ease),box-shadow var(--ease);
  text-decoration:none;
}
.btn-primary{background:var(--green);color:#fff;}
.btn-primary:hover{background:var(--green-dark);}
.btn-primary:active{transform:translateY(1px);}
.btn-lg{padding:16px 34px;font-size:15px;}
.btn-ghost{background:transparent;color:var(--muted);border:1px solid var(--border-strong);}
.btn-ghost:hover{background:var(--white);color:var(--text);border-color:var(--green);}
.btn:disabled{opacity:.5;cursor:not-allowed;}
.btn-block{width:100%;}

/* --- бейджі (для майбутніх блоків з пакетами) --- */
.badge{font-size:10px;font-weight:600;padding:2px 8px;border-radius:var(--radius-pill);white-space:nowrap;}
.badge-all{background:#f0f0f0;color:#888;}
.badge-sup{background:#dbeafe;color:#1d4ed8;}
.badge-gar{background:#fef9c3;color:#854d0e;}

/* ============================================================
   ФОРМА
   ============================================================ */
.form-grid{display:flex;flex-direction:column;gap:4px;}

.field{padding:14px 0;border-top:1px solid var(--border);}
.field:first-child{border-top:none;padding-top:2px;}

.field-label{
  display:block;
  font-size:14px;font-weight:600;color:var(--text);
  line-height:1.45;margin-bottom:10px;
}
.field-label .opt{font-weight:500;color:var(--muted);font-size:12px;}
.field-hint{font-size:12px;color:var(--muted);margin-top:-4px;margin-bottom:10px;line-height:1.4;}

/* поля вводу */
.input,.textarea,.select{
  width:100%;
  font-family:var(--font-body);font-size:14px;color:var(--text);
  background:var(--bg);
  border:1px solid var(--border);
  border-radius:var(--radius-sm);
  padding:12px 14px;
  transition:border-color var(--ease),background var(--ease),box-shadow var(--ease);
}
.input:focus,.textarea:focus,.select:focus{
  outline:none;border-color:var(--green);background:var(--white);
  box-shadow:0 0 0 3px rgba(29,158,117,.12);
}
.input::placeholder,.textarea::placeholder{color:#aab;}

/* статус заповнення: світло-зелений = заповнено, світло-оранжевий = треба заповнити */
.input.field-filled:not(:focus),.textarea.field-filled:not(:focus),.select.field-filled:not(:focus){background:#EDF7E8;border-color:#A8D69C;}
.input.field-needs:not(:focus),.textarea.field-needs:not(:focus),.select.field-needs:not(:focus){background:#FFF4E5;border-color:#F0C088;}
.choices.field-filled{background:#EDF7E8;border:1px solid #A8D69C;border-radius:var(--radius-sm);padding:8px;}
.choices.field-needs{background:#FFF4E5;border:1px solid #F0C088;border-radius:var(--radius-sm);padding:8px;}
.textarea{resize:vertical;min-height:84px;line-height:1.5;}
.select{appearance:none;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7280' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 14px center;padding-right:38px;
}

/* рядок з кількох полів */
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
@media(max-width:560px){.field-row{grid-template-columns:1fr;}}

/* число з суфіксом (галочки / 25) */
.input-suffix{display:flex;align-items:center;gap:10px;}
.input-suffix .input{max-width:120px;}
.input-suffix .suffix{font-size:14px;color:var(--muted);font-weight:600;}

/* --- radio / варіанти (Так / Ні) --- */
.choices{display:flex;flex-wrap:wrap;gap:10px;}
.choice{
  display:flex;align-items:center;gap:9px;
  padding:11px 16px;
  border:1px solid var(--border);border-radius:var(--radius-sm);
  background:var(--bg);cursor:pointer;
  font-size:13.5px;line-height:1.35;
  transition:border-color var(--ease),background var(--ease);
}
.choice:hover{border-color:var(--green);}
.choice input{accent-color:var(--green);width:17px;height:17px;cursor:pointer;flex-shrink:0;}
.choice.is-selected{border-color:var(--green);background:var(--green-light);color:var(--green-dark);font-weight:600;}

/* --- слайдер готовності 1–10 --- */
.range-field{padding-top:6px;}
.range-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px;}
.range-value{
  font-family:var(--font-head);font-size:26px;font-weight:700;color:var(--green);
  line-height:1;
}
.range-value small{font-size:14px;color:var(--muted);font-weight:600;}
.range-input{
  -webkit-appearance:none;appearance:none;
  width:100%;height:6px;border-radius:var(--radius-pill);
  background:var(--green-light);outline:none;cursor:pointer;
}
.range-input::-webkit-slider-thumb{
  -webkit-appearance:none;appearance:none;
  width:22px;height:22px;border-radius:50%;
  background:var(--green);border:3px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer;
}
.range-input::-moz-range-thumb{
  width:22px;height:22px;border-radius:50%;
  background:var(--green);border:3px solid #fff;
  box-shadow:0 2px 6px rgba(0,0,0,.2);cursor:pointer;
}
.range-scale{display:flex;justify-content:space-between;font-size:11px;color:var(--muted);margin-top:8px;}

/* --- футер навігації екрана --- */
.screen-nav{
  display:flex;align-items:center;justify-content:space-between;gap:14px;
  margin-top:26px;
}
.screen-nav .spacer{flex:1;}
