/* Reserva con todos los tratamientos (modo «tratamientos», Alex, 31/10/2026). Va después de estilo.css y reserva.css: mismos
   colores, fuentes y botones de la web. Una sola columna estrecha, pensada primero para el móvil y sin scroll largo. */
body.rt .rlay{max-width:640px;grid-template-columns:minmax(0,1fr);margin:12px auto 32px;padding:0 16px}
body.rt .lat{display:none}
body.rt .pasos{max-width:640px;margin:16px auto 0;padding:0 16px}
body.rt .pasos li+li::before{width:12px;margin:0 8px}
body.rt .paso{gap:7px;font-size:14px}
body.rt .paso .num{width:24px;height:24px;font-size:12px}
/* Los tres nombres siempre a la vista, también en el móvil: «1 Tratamiento · 2 Día y hora · 3 Tus datos» */
body.rt .pasos ol{flex-wrap:nowrap}
body.rt .paso .nom,body.rt .paso:not(.actual) .nom{position:static;width:auto;height:auto;overflow:visible;clip:auto;font-size:13.5px;white-space:nowrap}
@media (max-width:420px){body.rt .pasos ol{flex-wrap:wrap}body.rt .pasos li+li::before{width:6px;margin:0 4px}body.rt .paso{gap:5px}body.rt .paso .num{width:22px;height:22px}body.rt .paso .nom,body.rt .paso:not(.actual) .nom{font-size:13px}}
body.rt h1{font-size:30px;margin:0 0 12px}
body.rt .ayuda{margin:18px 0 0;font-size:14px;text-align:center}
body.rt .ayuda a{color:var(--suave);white-space:normal}

/* Atrás y resumen de una línea */
.rt-atras{display:inline-flex;align-items:center;gap:4px;min-height:44px;margin:0 0 2px -4px;padding:0 4px;border:0;background:none;color:var(--posidonia);font-size:15px}
.rt-res{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:6px 8px 6px 14px;border:1px solid var(--linea);border-radius:14px;background:var(--blanco);font-size:15px;line-height:1.3;color:var(--hondo)}
.rt-res span{flex:1;min-width:0;display:grid}
.rt-res b{font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rt-res small{font-size:14px;color:var(--suave)}
.rt-res .enlace{padding:0 6px}
body.rt .enlace{border:0;background:none;padding:0;min-height:44px;color:var(--agua-osc);font-size:15px;text-decoration:underline;text-underline-offset:.2em;cursor:pointer;flex:0 0 auto}

/* Paso 1: consulta gratuita destacada */
.rt-consulta{position:relative;display:grid;gap:4px;width:100%;text-align:left;padding:18px 48px 18px 18px;border:1.5px solid var(--posidonia);border-radius:18px;background:var(--blanco);color:inherit;transition:transform .12s,box-shadow var(--rapido)}
.rt-consulta:active{transform:scale(.99)}
@media (hover:hover){.rt-consulta:hover{box-shadow:var(--sombra)}}
.rt-c-t{font:500 21px/1.2 var(--serif);color:var(--hondo)}
.rt-c-s{font-size:15px;line-height:1.4;color:var(--suave)}
.rt-c-m{font-size:13px;letter-spacing:.06em;color:var(--agua-osc);font-weight:500}
.rt-flecha{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--posidonia)}
.rt-otros{margin:20px 0 8px;font-size:12px;letter-spacing:.16em;text-transform:uppercase;color:var(--suave);font-weight:500}

/* Categorías plegables */
.rt-cats{display:grid;gap:8px}
.rt-cat{border:1px solid var(--linea);border-radius:14px;background:var(--blanco);overflow:hidden}
.rt-cat summary{display:flex;align-items:center;gap:10px;min-height:52px;padding:0 16px;cursor:pointer;list-style:none;font-size:16px;font-weight:500;color:var(--hondo)}
.rt-cat summary::-webkit-details-marker{display:none}
.rt-cat summary small{display:grid;place-items:center;min-width:26px;height:22px;padding:0 7px;border-radius:999px;background:var(--niebla);color:var(--posidonia);font-size:12px;font-weight:500}
.rt-cat summary::after{content:"";margin-left:auto;width:8px;height:8px;border-right:1.5px solid var(--posidonia);border-bottom:1.5px solid var(--posidonia);transform:rotate(45deg) translateY(-2px);transition:transform var(--rapido)}
.rt-cat[open] summary::after{transform:rotate(225deg) translate(-2px,0)}
.rt-lista{border-top:1px solid var(--linea)}
.rt-t{display:flex;align-items:center;gap:12px;width:100%;min-height:50px;padding:0 16px;border:0;border-top:1px solid var(--niebla);background:none;text-align:left;color:var(--tinta);font-size:16px}
.rt-t:first-child{border-top:0}
.rt-t span{flex:1;min-width:0;line-height:1.3;padding:8px 0}
.rt-t small{color:var(--suave);font-size:14px;white-space:nowrap}
.rt-t:active{background:var(--sal)}
@media (hover:hover){.rt-t:hover{background:var(--sal)}}

/* Paso 2: tira de días y rejilla de horas */
.rt-tira{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;margin:0 -16px 8px;padding:2px 16px 10px;scrollbar-width:none}
.rt-tira::-webkit-scrollbar{display:none}
.rt-dia{flex:0 0 62px;display:grid;justify-items:center;gap:1px;padding:8px 0;border:1px solid var(--linea);border-radius:14px;background:var(--blanco);color:var(--hondo);scroll-snap-align:start;line-height:1.15}
.rt-dia small{font-size:12px;color:var(--suave);text-transform:capitalize}
.rt-dia b{font-size:20px;font-weight:500;font-variant-numeric:tabular-nums}
.rt-dia[aria-pressed="true"]{background:var(--posidonia);border-color:var(--posidonia);color:#fff}
.rt-dia[aria-pressed="true"] small{color:rgba(255,255,255,.8)}
.rt-dia:disabled{background:transparent;border-color:var(--niebla);color:#AAB8B3;cursor:default}
.rt-dia:disabled small{color:#AAB8B3}
.rt-mas{flex-basis:84px;font-size:13px;color:var(--agua-osc);padding:0 8px}
.rt-franja{margin:8px 0 6px;font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--suave);font-weight:500}
.rt-horas{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
@media (max-width:359px){.rt-horas{grid-template-columns:repeat(3,1fr)}}
body.rt .rt-horas .slot{min-height:48px;padding:0;font-size:16px;border-color:var(--linea)}
@media (hover:hover){body.rt .rt-horas .slot:hover{border-color:var(--posidonia)}}

/* Paso 3: datos */
.rt-form .field{margin-bottom:10px;gap:4px}
.rt-form .field label{font-size:15px}
.rt-form .field input{padding:13px 14px;min-height:50px}
.rt-form .check{font-size:14px;line-height:1.45}
.rt-form .cta{min-height:56px}
.rt-pend{margin:10px 0 0;font-size:14px;text-align:center}

/* Confirmación */
.rt-ok{text-align:center;padding:24px 4px 8px}
.rt-ok .conf-icono{margin:0 auto 14px;width:64px;height:64px}
.rt-ok .conf-icono svg{width:64px;height:64px;fill:none;stroke-width:2.5;stroke-linecap:round;stroke-linejoin:round}
.rt-ok-res{margin:0 0 10px;font:500 22px/1.3 var(--serif);color:var(--hondo)}
.rt-ok-pend{margin:0 0 10px;padding:10px 14px;border-radius:12px;background:#FFF6EA;color:#7A4F1A;font-size:15px}
.rt-ok .cta{max-width:360px;margin:16px auto 6px}
.rt-aviso{padding:8px 0}
.rt-aviso .cta{max-width:360px}
