.rv{padding-top:34px;padding-bottom:80px}.rv h1{font-size:clamp(1.8rem,4vw,2.5rem);margin:6px 0 8px}.rv h2{font-size:1.25rem;margin-bottom:14px}
.panel{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:22px;margin-top:18px}.panel.ok{border-color:#9bc9a8;background:#f2faf4}
.pasos{display:flex;gap:6px;list-style:none;margin:22px 0 0;flex-wrap:wrap}.pasos li{font-size:.78rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:6px 14px;border-radius:999px;background:var(--bg2);color:var(--muted)}.pasos li.on{background:var(--black);color:var(--gold-l)}.pasos li.hecho{background:var(--gold-l);color:#000}
.svcs{display:grid;gap:12px}.svc{display:grid;grid-template-columns:auto 1fr;gap:6px 12px;align-items:start;border:1.5px solid var(--line);border-radius:14px;padding:14px;cursor:pointer}.svc.on{border-color:var(--gold);background:#fffaf0}.svc.off{opacity:.55;cursor:not-allowed}
.svc input[type=checkbox]{width:20px;height:20px;margin-top:3px}.svc h3{font-size:1.1rem}.svc .meta{grid-column:2}.svc select{grid-column:2;max-width:260px}
label{display:grid;gap:5px;font-size:.78rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}
input,select,textarea{font:500 1rem Manrope,sans-serif;padding:11px 13px;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink);width:100%}
.form{display:grid;gap:14px;margin-top:10px}.chk{display:flex;gap:10px;align-items:flex-start;text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600;color:var(--ink)}.chk input{width:20px;height:20px;flex:none;margin-top:2px}
.resumen{margin-top:14px;font-weight:700;background:var(--bg2);border-radius:12px;padding:12px 16px}
.horas{display:flex;flex-wrap:wrap;gap:8px}.horas button{border:1.5px solid var(--black);background:#fff;border-radius:999px;padding:8px 16px;font:700 .92rem Manrope,sans-serif;cursor:pointer;min-width:84px}.horas button:hover,.horas button.on{background:var(--black);color:var(--gold-l)}
.msg{min-height:1.3em;font-weight:600;font-size:.9rem;color:#a02828}.msg.ok{color:#256b3a}
.aviso{background:#fbefd3;border-radius:12px;padding:12px 14px;font-size:.92rem;margin-top:12px;display:block}.aviso .btn{display:block;margin-top:10px}#resFinal{display:grid;gap:4px}
.tabs{display:flex;gap:6px;margin:10px 0}.tabs button{flex:1;padding:9px;border:1.5px solid var(--line);background:#fff;border-radius:999px;font:700 .85rem Manrope,sans-serif;cursor:pointer}.tabs button.on{background:var(--black);color:var(--gold-l);border-color:var(--black)}
.pol{margin-top:4px;font-size:.88rem}.pol summary,.esp summary{cursor:pointer;font-weight:700}.pol div{margin-top:8px;white-space:pre-line}
.chips{display:flex;flex-wrap:wrap;gap:8px}.chips label{display:flex;gap:6px;align-items:center;text-transform:none;letter-spacing:0;font-size:.9rem;color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:6px 12px}.chips input{width:auto}
.cita{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:18px;margin-bottom:14px;display:grid;gap:8px}.cita h3{font-size:1.1rem}.cita ul{list-style:none;display:grid;gap:2px;font-size:.93rem}
.est{display:inline-block;border-radius:999px;padding:3px 12px;font-size:.74rem;font-weight:800;background:var(--bg2);color:var(--muted);width:max-content}.est.pendiente{background:#fbefd3;color:#9a6a10}.est.confirmada{background:#e1f2e6;color:#256b3a}.est.mal{background:#f7dede;color:#a02828}
.toast{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);background:#000;color:#fff;padding:11px 20px;border-radius:999px;font-weight:700;z-index:300;font-size:.9rem;max-width:90vw}
@media(max-width:560px){.panel{padding:16px}}

.form label.chk,label.chk{text-transform:none;letter-spacing:0;font-size:.9rem;font-weight:600;color:var(--ink);display:flex}
.invitada{display:grid;gap:8px;margin:6px 0 4px}.invitada .btn{width:100%}.o{display:flex;align-items:center;gap:10px;margin:14px 0 4px;color:var(--muted);font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em}.o::before,.o::after{content:"";flex:1;border-top:1px solid var(--line)}.help{font-size:.85rem;color:var(--muted)}
