
.tm-booking{padding:80px 0;scroll-margin-top:110px;background:radial-gradient(ellipse at top right,rgba(227,38,54,.13),transparent 60%),#090b0d}.tm-booking-intro{max-width:760px;margin-bottom:30px}.tm-booking h2{font-size:clamp(2rem,4vw,3rem);margin:18px 0}.tm-booking p{color:#bdc5cd;line-height:1.7}.tm-booking form{max-width:900px;padding:clamp(20px,4vw,40px);background:#161a1e;border:1px solid #3c4147;border-top:3px solid #e32636;border-radius:16px}.tm-steps{display:grid;grid-template-columns:repeat(4,1fr);padding:0;gap:10px;list-style:none;margin:0 0 30px}.tm-steps li{padding:12px 5px;border-bottom:3px solid #454c54;color:#bdc5cd;font-size:.85rem}.tm-steps li[aria-current=step]{color:#fff;border-color:#e32636}.tm-step h3{font-size:1.5rem;margin-bottom:24px}.tm-booking label{display:block;color:#f3f4f5;margin-bottom:20px}.tm-booking input,.tm-booking select,.tm-booking textarea{display:block;width:100%;min-width:0;margin-top:8px;padding:13px;border:1px solid #66717c;border-radius:7px;background:#090b0d;color:#fff;font:inherit;color-scheme:dark}.tm-booking :focus-visible{outline:3px solid #ff6470;outline-offset:3px}.tm-fields{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}.tm-note{font-size:.9rem;margin:20px 0}.tm-controls{display:flex;gap:12px;justify-content:space-between;margin-top:22px}.tm-booking [hidden]{display:none!important}#tm-summary{white-space:pre-wrap;overflow-wrap:anywhere;font:inherit;line-height:1.8;background:#090b0d;border-left:3px solid #e32636;padding:20px}#tm-error{color:#ffb5bd}.tm-booking .btn{white-space:normal;text-align:center}@media(max-width:600px){.tm-fields{grid-template-columns:1fr}.tm-steps{gap:5px}.tm-steps li{font-size:.73rem}.tm-booking{padding:48px 0}}

/* Anclar al formulario, descontando la altura responsive del encabezado fijo. */
#tm-booking-form{scroll-margin-top:calc(var(--header-height, 96px) + 12px)}

.tm-progress{height:5px;background:#343a41;border-radius:9px;margin:-10px 0 28px;overflow:hidden}.tm-progress span{display:block;width:25%;height:100%;background:linear-gradient(90deg,#941b27,#ff4855);transition:width .25s}
.tm-booking form{margin-inline:auto;border-radius:22px}.tm-booking-intro{margin-inline:auto;text-align:center}.tm-steps{counter-reset:step}.tm-steps li{font-weight:600}.tm-steps li[aria-current=step]{background:rgba(227,38,54,.09);border-radius:8px 8px 0 0}
.tm-times{border:0;margin:8px 0;padding:0;min-width:0}.tm-times legend{font-weight:700;margin-bottom:16px}.tm-slot-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}.tm-booking .tm-slot{position:relative;margin:0;cursor:pointer}.tm-slot input{position:absolute;opacity:0;width:1px;height:1px;padding:0;margin:0}.tm-slot span{display:block;text-align:center;padding:12px 6px;border:1px solid #59616b;border-radius:8px;background:#101316;color:#f3f4f5;font-weight:600}.tm-slot input:checked+span{background:#bd1c2b;border-color:#ff6470;box-shadow:0 0 16px #e326362b}.tm-slot input:focus-visible+span{outline:3px solid #ff6470;outline-offset:3px}.tm-slot:hover span{border-color:#ff6470}#tm-slots-status{font-size:.88rem;margin-top:16px}@media(max-width:650px){.tm-slot-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(prefers-reduced-motion:reduce){.tm-progress span{transition:none}}
