/* CARIBIAN · módulo: Ventana de reserva (calendario)
   Al pasar a PHP este CSS no cambia. */
.rs{padding:26px 22px 28px}
.rs h3{font-size:2rem;line-height:1;letter-spacing:-.03em;color:var(--navy);padding-right:40px}
.rs .sub{color:var(--mut);margin:8px 0 20px}
.rs label,.rs .field{display:block;margin-bottom:16px}
.lbl{display:block;font-weight:700;font-size:.95rem;color:var(--navy);margin-bottom:8px}
.rs input[type=text],.rs input[type=tel]{width:100%;min-height:52px;padding:0 16px;border-radius:16px;border:1.5px solid rgba(43,49,123,.22);background:#fff;font:inherit;font-size:16px;color:var(--ink)}
.rs input:focus{outline:none;border-color:var(--navy);box-shadow:0 0 0 4px rgba(43,49,123,.12)}
.stepper{display:inline-flex;align-items:center;gap:6px;border:1.5px solid rgba(43,49,123,.22);border-radius:999px;padding:4px}
.stepper button{width:44px;height:44px;border-radius:50%;border:0;background:var(--tint);color:var(--navy);font-size:1.4rem;font-weight:700;cursor:pointer}
.stepper button:disabled{opacity:.35;cursor:not-allowed}
.stepper output{min-width:44px;text-align:center;font-weight:700;font-size:1.15rem}
.hint{font-size:.88rem;color:var(--mut);margin-top:8px}
.cal{border:1.5px solid rgba(43,49,123,.16);border-radius:22px;padding:14px}
.cal-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.cal-head b{color:var(--navy)}
.cal-nav{width:40px;height:40px;border-radius:50%;border:0;background:var(--tint);color:var(--navy);cursor:pointer;display:grid;place-items:center}
.cal-nav:disabled{opacity:.3;cursor:not-allowed}
.cal-nav i{width:18px;height:18px}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px;text-align:center}
.cal-grid .wd{font-size:.78rem;font-weight:700;color:var(--mut);padding:6px 0}
.cal-grid button,.cal-grid .off{aspect-ratio:1;min-height:38px;border-radius:50%;border:0;background:none;font:inherit;font-weight:500;display:grid;place-items:center}
.cal-grid button{color:var(--navy);font-weight:700;cursor:pointer;transition:background-color .2s,color .2s}
.cal-grid button:hover{background:var(--tint)}
.cal-grid button.sel{background:var(--red);color:#fff}
.cal-grid button.today{box-shadow:inset 0 0 0 2px var(--navy)}
.cal-grid .off{color:rgba(31,36,79,.28)}
.times{display:flex;flex-wrap:wrap;gap:8px}
.times button{min-height:44px;padding:0 16px;border-radius:999px;border:1.5px solid rgba(43,49,123,.25);background:#fff;color:var(--navy);font-weight:700;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
.times button:hover{border-color:var(--navy)}
.times button.sel{background:var(--navy);border-color:var(--navy);color:#fff}
.err{color:var(--red);font-weight:700;font-size:.92rem;min-height:1.3em;margin-bottom:10px}
.rs-done{padding:8px 0}
.rs-done h3{margin-bottom:10px}
.rs-done p{color:var(--mut);margin-bottom:20px}
@media (min-width:720px){
  #rs-modal .sheet{width:min(560px,92vw)}
}
