/* ===== HOSTELE — formulario "menú" multipaso ===== */
.menu-wrap{padding:56px 0 88px;background:var(--bg-alt);min-height:70vh}
.menu-head{text-align:center;max-width:40rem;margin:0 auto 32px}
.menu-head h1{font-size:clamp(2rem,4.5vw,3rem);margin:.4rem 0 .6rem}
.menu-head .lead{margin:0 auto}

.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}

/* Alerts */
.alert{max-width:640px;margin:0 auto 20px;padding:14px 18px;border-radius:14px;font-size:.98rem}
.alert--ok{background:#e9f7ee;border:1px solid #b7e4c7;color:#1b5e34}
.alert--err{background:var(--accent-soft);border:1px solid #f6c3b5;color:#b3341a}

/* Card */
.menu-card{max-width:640px;margin:0 auto;background:#fff;border:1px solid var(--line);
  border-radius:24px;box-shadow:var(--shadow);padding:30px 30px 34px}

/* Steps */
.steps{display:flex;flex-wrap:wrap;gap:.4rem 1rem;justify-content:center;margin-bottom:14px}
.step{font-size:.82rem;font-weight:600;color:var(--ink-soft);opacity:.5;transition:.25s}
.step.is-active{color:var(--accent);opacity:1}
.step.is-done{color:var(--ink);opacity:1}
.progress{height:6px;background:var(--bg-alt);border-radius:999px;overflow:hidden;margin-bottom:28px}
.progress i{display:block;height:100%;background:var(--accent);border-radius:999px;transition:width .35s ease}

/* Courses (steps) */
.course{display:none;animation:fade .35s ease}
.course.is-active{display:block}
.course h2{font-family:'Fraunces',serif;font-size:1.35rem;font-weight:600;margin-bottom:1.1rem;
  display:flex;align-items:center;gap:.6rem;line-height:1.25}
.course__num{flex:none;width:30px;height:30px;background:var(--ink);color:#fff;border-radius:50%;
  display:grid;place-items:center;font-size:.9rem;font-family:'Inter',sans-serif}
.course__hint{color:var(--ink-soft);font-size:.92rem;margin:-.5rem 0 1rem}
.course__hint--center{text-align:center;margin:1rem 0 0}

/* Options */
.options{display:flex;flex-direction:column;gap:.6rem}
.options--grid{display:grid;grid-template-columns:repeat(3,1fr)}
.opt{position:relative;display:flex;align-items:center;gap:.7rem;padding:.9rem 1rem;
  border:1.5px solid var(--line);border-radius:14px;cursor:pointer;font-weight:500;
  transition:.2s;background:#fff;min-width:0;overflow:hidden}
.opt:hover{border-color:var(--ink)}
.opt input{position:absolute;opacity:0;pointer-events:none;outline:none}
.opt:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}
.opt__ic{font-size:1.3rem;flex:none}
.opt:has(input:checked){border-color:var(--accent);background:var(--accent-soft);color:var(--accent);font-weight:600}
.opt--wide{width:100%}

/* Fields */
.fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.field{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem;font-weight:600;color:var(--ink-soft)}
.field--wide{grid-column:1/-1}
.field input,.field textarea{font-family:inherit;font-size:1rem;font-weight:400;color:var(--ink);
  padding:.8rem 1rem;border:1.5px solid var(--line);border-radius:12px;background:#fff;transition:.2s;width:100%}
.field input:focus,.field textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 4px var(--accent-soft)}
.field textarea{resize:vertical}

/* Nav */
.course__nav{display:flex;justify-content:space-between;align-items:center;gap:.8rem;margin-top:1.6rem}
.course__nav .btn{flex:0 0 auto}
.pay{font-size:1rem}

@keyframes fade{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(max-width:560px){
  .menu-card{padding:22px 18px 26px}
  .options--grid{grid-template-columns:1fr 1fr}
  .fields{grid-template-columns:1fr}
  .course__nav{flex-direction:column-reverse}
  .course__nav .btn{width:100%}
}
