/* ══════════════════════════════════════════════════════════════════════════
   EPTI — FORMULARIOS
   Barra de progreso, campos, chips, selector de país, preguntas médicas
   y acciones. Depende de epti-programa.css.
   ══════════════════════════════════════════════════════════════════════════ */

/* ── Barra de progreso multi-paso ──────────────────────────────────────── */
.progress-wrap{margin-bottom:36px}
.progress-head{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}
.progress-step{font-family:var(--serif);font-style:italic;color:var(--ink);font-size:18px}
.progress-step strong{color:var(--gold);font-style:normal;font-weight:600}
.progress-pct{font-size:11px;letter-spacing:.22em;text-transform:uppercase;color:var(--gold);font-weight:700}
.progress-track{height:4px;background:var(--line);border-radius:999px;overflow:hidden}
.progress-fill{height:100%;background:linear-gradient(90deg,var(--gold),var(--orange));border-radius:999px;transition:width .35s ease}
.progress-dots{display:flex;align-items:center;gap:8px;margin-top:14px}
.progress-dot{flex:0 0 auto;display:flex;align-items:center;gap:8px;font-size:11px;letter-spacing:.18em;text-transform:uppercase;color:var(--topo-soft);padding:4px 4px;border-radius:999px;border:1px solid transparent;transition:all .2s}
.progress-dot .num{width:22px;height:22px;border-radius:50%;border:1px solid var(--line);display:grid;place-items:center;font-size:11px;font-family:var(--serif);font-style:italic;color:var(--topo);background:var(--cream-soft);flex-shrink:0}
.progress-dot.active{color:var(--ink);border-color:var(--gold);background:rgba(201,146,42,.06);padding:4px 12px 4px 4px}
.progress-dot.active .num{background:var(--gold);color:#fff;border-color:var(--gold)}
.progress-dot.done .num{background:var(--cream);color:var(--gold);border-color:var(--gold)}
.progress-dot.done{color:var(--ink-soft)}

/* ── Encabezado de sección ─────────────────────────────────────────────── */
.section-label{font-size:11px;letter-spacing:.24em;text-transform:uppercase;color:var(--gold);font-weight:700;margin:8px 0 22px;display:flex;align-items:center;gap:12px}
.section-label::after{content:"";flex:1;height:1px;background:var(--line)}

/* ── Campos ────────────────────────────────────────────────────────────── */
.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px 24px}
.field{display:flex;flex-direction:column;gap:8px}
.field.full{grid-column:1/-1}
.field label{font-size:12.5px;font-weight:600;color:var(--ink);letter-spacing:.02em}
.req{color:var(--orange);margin-left:4px}
.field .hint{font-size:12px;color:var(--topo);margin-top:-2px}
.field input[type=text],.field input[type=email],.field input[type=tel],.field input[type=date],.field input[type=file],.field select,.field textarea{width:100%;border:1px solid var(--line);background:var(--cream-soft);border-radius:var(--r-btn);padding:13px 14px;font-family:var(--sans);font-size:14px;color:var(--ink);transition:all .18s ease}
.field input[type=file]{cursor:pointer}
.field textarea{resize:vertical;min-height:110px;line-height:1.55}
.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(201,146,42,.12)}
.field input::placeholder,.field textarea::placeholder{color:#B7A98E}

/* ── Chips (selección única y múltiple) ────────────────────────────────── */
.chip-row{display:flex;flex-wrap:wrap;gap:8px}
.chip{border:1px solid var(--line);background:var(--cream-soft);border-radius:999px;padding:8px 14px;font-size:13px;color:var(--ink-soft);cursor:pointer;transition:all .15s ease;user-select:none}
.chip:hover{border-color:var(--gold);color:var(--gold)}
.chip.on{background:var(--gold);color:#fff;border-color:var(--gold)}

/* ── Avisos ────────────────────────────────────────────────────────────── */
.notice{margin-top:28px;background:var(--cream);border-left:3px solid var(--gold);border-radius:4px;padding:18px 22px;font-size:13.5px;line-height:1.6;color:var(--ink-soft)}
.notice strong{color:var(--ink);font-weight:700}

/* ── Teléfono con selector de país ─────────────────────────────────────── */
.phone-wrap{display:flex;border:1px solid var(--line);background:var(--cream-soft);border-radius:var(--r-btn);overflow:visible;transition:all .18s ease;position:relative}
.phone-wrap:focus-within{border-color:var(--gold);background:#fff;box-shadow:0 0 0 4px rgba(201,146,42,.12)}
.cc-picker{position:relative;flex-shrink:0}
.cc-btn{display:flex;align-items:center;gap:4px;border:0;background:transparent;padding:12px 10px 12px 13px;font-size:14px;color:var(--ink);cursor:pointer;border-right:1px solid var(--line);white-space:nowrap;height:100%;font-family:inherit;line-height:1}
.cc-btn:focus{outline:none}
.cc-arr{font-size:10px;opacity:.5;margin-left:1px}
.cc-panel{position:absolute;top:calc(100% + 4px);left:0;z-index:300;background:#fff;border:1px solid var(--line);border-radius:10px;box-shadow:0 8px 28px rgba(0,0,0,.13);min-width:230px;overflow:hidden}
.cc-search{width:100%;box-sizing:border-box;border:0!important;border-bottom:1px solid var(--line)!important;padding:10px 13px!important;font-size:13px;outline:none;background:#fafaf8!important;border-radius:0!important;box-shadow:none!important;font-family:inherit}
.cc-opts{max-height:210px;overflow-y:auto}
.cc-opt{padding:8px 13px;font-size:13px;cursor:pointer;display:flex;align-items:center;gap:8px}
.cc-opt:hover{background:var(--cream-soft)}
.cc-opt.chosen{background:rgba(201,146,42,.1);font-weight:600}
.phone-wrap input[type=tel]{width:auto!important;flex:1;border:0!important;background:transparent!important;border-radius:0!important;padding:12px 14px!important;box-shadow:none!important;font-size:14px;color:var(--ink)}
.phone-wrap input[type=tel]:focus{border:0!important;box-shadow:none!important;background:transparent!important;outline:none}
.phone-wrap input[type=tel]::placeholder{color:#B7A98E}

/* ── Preguntas médicas (Sí/No con campo condicional) ───────────────────── */
.med-q{margin-bottom:22px}
.med-q-label{font-size:13px;font-weight:600;color:var(--ink);margin-bottom:8px;line-height:1.5}
.med-q .chip-row{margin-top:4px}
.med-q .field{margin-top:10px}

/* ── Acciones del formulario ───────────────────────────────────────────── */
.form-actions{margin-top:36px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--line)}
.form-actions .meta{font-size:12px;color:var(--topo);letter-spacing:.04em}

/* ── Responsive ────────────────────────────────────────────────────────── */
@media(max-width:820px){
  .field-grid{grid-template-columns:1fr}
  .field.half{grid-column:span 1}
  .chip-row{flex-wrap:wrap}
  .progress-dots{flex-wrap:wrap;gap:4px}
  .form-actions{flex-wrap:wrap;gap:10px}
}
@media(max-width:480px){
  .form-actions{flex-direction:column}
  .form-actions .btn-ghost{order:2}
  .form-actions>.btn-primary{order:1}
}
