/* Página /reservar: reserva propia de la llamada de 20 minutos (sin terceros) */
.rv-who{display:flex;align-items:center;gap:14px}
.rv-who img{flex:none;width:56px;height:56px;border-radius:50%;object-fit:cover;border:2px solid rgba(216,255,0,.55)}
.rv-who p{font-size:14px;line-height:1.4;color:var(--onDMute)}
.rv-who b{display:block;color:var(--onD);font-size:15px;font-weight:600}
.rv-card{min-height:500px}
.rv-weekbar{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:2px 0 12px}
.rv-weekbar span{font-size:14px;font-weight:600;text-align:center}
.rv-nav{flex:none;width:36px;height:36px;border-radius:50%;border:1px solid var(--lineL);background:#fff;font:inherit;font-size:20px;line-height:1;cursor:pointer;color:var(--ink)}
.rv-nav:hover:not(:disabled){border-color:var(--petrol3)}
.rv-nav:disabled{opacity:.35;cursor:default}
.rv-days{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px}
.rv-day{display:flex;flex-direction:column;align-items:center;gap:1px;padding:10px 2px 9px;border-radius:12px;border:1px solid var(--lineL);background:#fff;font:inherit;cursor:pointer;color:var(--ink);transition:.15s}
.rv-day i{font-style:normal;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--mute)}
.rv-day b{font-size:21px;font-weight:600;letter-spacing:-.02em;line-height:1.15}
.rv-day small{font-size:11.5px;color:var(--faint)}
.rv-day:hover:not(:disabled){border-color:var(--petrol3)}
.rv-day[aria-pressed="true"]{background:var(--petrol);border-color:var(--petrol);color:var(--onD)}
.rv-day[aria-pressed="true"] i,.rv-day[aria-pressed="true"] small{color:var(--acid)}
.rv-day:disabled{background:transparent;border-style:dashed;color:var(--faint);cursor:default}
.rv-day:disabled i,.rv-day:disabled small{color:var(--faint)}
.rv-day.sk{min-height:66px;background:rgba(10,15,19,.05);border-color:transparent;animation:rvsk 1.2s ease-in-out infinite}
@keyframes rvsk{50%{opacity:.5}}
@media(prefers-reduced-motion:reduce){.rv-day.sk{animation:none}}
.rv-label{margin:18px 0 10px;font-size:13px;font-weight:600;color:var(--ink)}
.rv-times{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.rv-time{padding:11px 2px;border-radius:10px;border:1px solid rgba(9,51,65,.32);background:#fff;font:inherit;font-size:15px;font-weight:600;color:var(--petrol);cursor:pointer;transition:.15s}
.rv-time:hover,.rv-time:focus-visible{background:var(--acid);border-color:var(--acid);color:var(--ink)}
.rv-day:focus-visible,.rv-time:focus-visible,.rv-nav:focus-visible,.rv-back:focus-visible{outline:2px solid var(--petrol3);outline-offset:2px}
.rv-msg{margin-top:14px;font-size:14px;line-height:1.5;color:var(--mute)}
.rv-msg:empty{display:none}
.rv-msg a,.gl-ok .gl-sub a{color:var(--petrol3)}
.rv-back{background:none;border:0;font:inherit;font-size:14px;font-weight:600;color:var(--petrol3);cursor:pointer;padding:0;margin-bottom:14px}
.rv-sum{display:flex;flex-direction:column;gap:2px;background:#fff;border:1px solid var(--lineL);border-left:4px solid var(--acid);border-radius:10px;padding:12px 14px;margin-bottom:16px}
.rv-sum b{font-size:16px;letter-spacing:-.01em}
.rv-sum span{font-size:13.5px;color:var(--mute)}
.gl-f textarea{display:block;width:100%;min-height:84px;font:inherit;font-size:16px;line-height:1.45;padding:12px 14px;border:1px solid rgba(10,15,19,.22);border-radius:10px;background:#fff;color:var(--ink);resize:vertical}
.gl-f textarea:focus{outline:2px solid var(--petrol3);outline-offset:1px;border-color:var(--petrol3)}
.gl-f textarea[aria-invalid="true"]{border-color:var(--crit)}
.gl-f textarea::placeholder,.gl-f input::placeholder{color:var(--faint)}
#rv-ok .rv-sum{margin:4px 0 14px}
#rv-meet{margin-bottom:4px}
.rv-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--lineL);border:1px solid var(--lineL);border-radius:16px;overflow:hidden}
.rv-steps>div{background:var(--paper);padding:26px 26px 28px}
.rv-steps u{text-decoration:none;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--petrol3)}
.rv-steps b{display:block;font-size:19px;letter-spacing:-.02em;margin:8px 0 8px}
.rv-steps p{font-size:15px;line-height:1.55;color:var(--mute)}
@media(max-width:900px){
  .rv-steps{grid-template-columns:1fr}
  .rv-card{min-height:0}
}
@media(max-width:640px){
  .rv-days{gap:5px}
  .rv-day{padding:9px 0 8px;border-radius:10px}
  .rv-day b{font-size:18px}
  .rv-day i,.rv-day small{font-size:10.5px}
  .rv-times{grid-template-columns:repeat(3,minmax(0,1fr))}
}
/* Hero: en móvil el calendario va justo después del titular */
.rv-hero .hero-grid{grid-template-areas:"intro card" "more card";grid-template-rows:auto 1fr;row-gap:0}
.rv-intro{grid-area:intro}
.rv-more{grid-area:more}
.rv-hero .gl-formwrap{grid-area:card}
.rv-intro h1{margin-bottom:22px}
@media(max-width:1000px){
  .rv-hero .hero-grid{grid-template-areas:"intro" "card" "more";grid-template-rows:auto;row-gap:28px}
  .rv-intro h1{margin-bottom:0}
}
