/* Reservas en 4 pasos (día → hora → personas → datos). Usa los tokens de tema.css. */

/* desplegable opcional (<details class="rs-toggle">): cerrado muestra solo el botón */
.rs-toggle > summary{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:center; gap:10px;
  background:var(--gold); color:var(--bg); font-weight:600; font-size:16px; padding:16px; border-radius:999px;
  transition:background .2s, color .2s;
}
.rs-toggle > summary::-webkit-details-marker{display:none;}
.rs-toggle .rs-chev{width:20px; height:20px; transition:transform .25s;}
.rs-toggle .rs-when-open{display:none;}
.rs-toggle[open] > summary{background:rgba(247,243,238,0.08); color:var(--text); margin-bottom:14px;}
.rs-toggle[open] .rs-when-open{display:inline;}
.rs-toggle[open] .rs-when-closed{display:none;}
.rs-toggle[open] .rs-chev{transform:rotate(180deg);}
.rs-card{background:var(--card); border-radius:26px; padding:18px; box-shadow:0 10px 30px rgba(0,0,0,0.25);}

/* resumen de lo elegido: cada pastilla vuelve a su paso */
.rs-summary{display:flex; flex-wrap:wrap; gap:6px; margin-bottom:16px;}
.rs-summary[hidden]{display:none;}
.rs-pill{
  border:0; font:inherit; font-size:13px; font-weight:500; padding:8px 12px; border-radius:999px;
  background:rgba(247,243,238,0.06); color:var(--muted); cursor:pointer;
}
.rs-pill.done{background:rgba(243,221,182,0.14); color:var(--gold);}
.rs-pill.current{background:var(--gold); color:var(--bg);}
.rs-pill:disabled{cursor:default;}

.rs-title{font-family:var(--font-display); font-weight:600; font-size:28px; line-height:1.05; margin:2px 2px 16px;}
.rs-title small{
  display:block; margin-bottom:6px; font-family:var(--font-body); font-size:11px; font-weight:500;
  letter-spacing:0.18em; text-transform:uppercase; color:var(--gold-soft);
}

/* calendario */
.rs-cal-head{display:flex; align-items:center; justify-content:space-between; margin-bottom:10px;}
.rs-cal-month{font-weight:500;}
.rs-nav{
  width:40px; height:40px; border:0; border-radius:50%; background:rgba(247,243,238,0.07);
  color:var(--text); font:inherit; font-size:20px; line-height:1; cursor:pointer;
}
.rs-nav:disabled{opacity:0.3; cursor:default;}
.rs-grid{display:grid; grid-template-columns:repeat(7,1fr); gap:4px; text-align:center;}
.rs-dow{font-size:11px; font-weight:500; color:var(--muted); padding:4px 0;}
.rs-day{
  aspect-ratio:1; border:0; border-radius:50%; background:transparent; color:var(--text);
  font:inherit; font-size:15px; cursor:pointer; transition:background .15s;
}
.rs-day.today{box-shadow:inset 0 0 0 1.5px rgba(243,221,182,0.5);}
.rs-day[aria-pressed="true"]{background:var(--gold); color:var(--bg); font-weight:600;}
.rs-day:disabled{color:rgba(247,243,238,0.2); cursor:default;}

/* horas y personas */
.rs-group-label{margin:2px 2px 8px; font-size:11px; font-weight:500; letter-spacing:0.16em; text-transform:uppercase; color:var(--gold-soft);}
.rs-options{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin-bottom:16px;}
.rs-options.people{grid-template-columns:repeat(4,1fr);}
.rs-opt{
  border:0; font:inherit; font-size:15px; font-weight:500; padding:13px 0; border-radius:999px;
  background:rgba(247,243,238,0.07); color:var(--text); cursor:pointer; transition:background .15s;
}
.rs-opt[aria-pressed="true"]{background:var(--gold); color:var(--bg);}
.rs-note{font-size:13px; line-height:1.45; color:var(--muted);}
.rs-note a{color:var(--gold);}

/* formulario: todo obligatorio salvo comentarios */
.rs-row{display:grid; grid-template-columns:1fr 1fr; gap:10px;}
.rs-field{margin-bottom:12px;}
.rs-field label{display:block; margin:0 4px 6px; font-size:11px; font-weight:500; letter-spacing:0.12em; text-transform:uppercase; color:var(--gold-soft);}
.rs-field input, .rs-field textarea{
  width:100%; border:0; outline:none; font:inherit; font-size:16px; color:var(--text);
  background:rgba(247,243,238,0.07); border-radius:16px; padding:14px 16px;
}
.rs-field textarea{min-height:84px; resize:vertical; border-radius:18px;}
.rs-field input:focus, .rs-field textarea:focus{box-shadow:0 0 0 2px var(--gold);}
.rs-field.invalid input{box-shadow:0 0 0 2px var(--terracotta);}
.rs-err{display:none; margin:6px 4px 0; font-size:12px; color:var(--terracotta);}
.rs-field.invalid .rs-err{display:block;}
.rs-check{display:flex; align-items:flex-start; gap:10px; margin:6px 2px 16px; font-size:13px; line-height:1.45; color:var(--muted);}
.rs-check input{flex-shrink:0; width:20px; height:20px; margin-top:1px; accent-color:var(--gold);}
.rs-check a{color:var(--gold);}
.rs-check.invalid{color:var(--terracotta);}
.rs-hp{position:absolute; left:-9999px; width:1px; height:1px; opacity:0;} /* trampa para bots */
.rs-submit{
  width:100%; border:0; font:inherit; font-size:16px; font-weight:600; padding:16px; border-radius:999px;
  background:var(--gold); color:var(--bg); cursor:pointer;
}
.rs-submit:disabled{opacity:0.6;}
.rs-back{border:0; background:none; font:inherit; font-size:14px; color:var(--muted); padding:12px 4px 0; cursor:pointer;}
.rs-error{margin-top:12px; font-size:13px; color:var(--terracotta); text-align:center;}

/* confirmación */
.rs-done{text-align:center; padding:8px 4px;}
.rs-done .tick{
  width:64px; height:64px; margin:6px auto 14px; border-radius:50%;
  display:flex; align-items:center; justify-content:center; background:rgba(243,221,182,0.14); color:var(--gold);
}
.rs-done .tick svg{width:30px; height:30px;}
.rs-done h3{font-family:var(--font-display); font-weight:600; font-size:32px; line-height:1.05;}
.rs-done p{margin-top:8px; font-size:14px; line-height:1.5; color:var(--muted);}
.rs-done p b{color:var(--text); font-weight:500;}
.rs-demo{
  display:inline-block; margin-top:12px; font-size:10px; font-weight:600; letter-spacing:0.1em; text-transform:uppercase;
  padding:4px 10px; border-radius:999px; background:rgba(222,121,91,0.16); color:var(--terracotta);
}
