/* Reservation reuses page-banner, session-guide-heading, session-sequence and pill.
   These shared components own heading scale and responsive typography. */
.reservation-page .reserve-intro{font-size:1.125rem;line-height:1.65;max-width:48ch;margin-bottom:0}
.reserve-decision{display:flex;align-items:center;flex-wrap:wrap;gap:1.5rem 2rem;margin-top:2rem}
.reserve-decision .pill{min-height:52px;flex-shrink:0}
.reserve-facts{display:grid;gap:.2rem;font-size:.9375rem;line-height:1.65}
.reserve-facts strong{font-weight:700}
.reserve-guide{padding-bottom:clamp(3rem,5vw,4.5rem)}
.reserve-section-heading{max-width:52rem;margin-bottom:clamp(2rem,4vw,3.5rem)}
.reserve-section-heading h2 em{font-style:normal;font-weight:400;color:#a7523e}
#elegir-hora,#agenda{scroll-margin-top:120px}
#elegir-hora:focus{outline:none}
#elegir-hora:focus-visible{outline:2px solid var(--ink);outline-offset:8px}
.reserve-layout{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:clamp(2rem,5vw,5rem);align-items:start}
.reserve-guidance{min-width:0;padding-top:1rem}
.reserve-sequence{gap:2.25rem}
.reserve-sequence p{max-width:30ch}
.reserve-reassurance{margin-top:2.5rem;padding:1.5rem;background:#e8eade;border-radius:12px}
.reserve-reassurance .small-label{margin-bottom:.65rem}
.reserve-reassurance p:last-child{font-size:1rem;line-height:1.7;margin-bottom:0}
.reserve-calendar{min-width:0}
.reserve-calendar-caption{display:flex;justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.5rem;font-size:.875rem;background:#e9d4ad;border-radius:12px 12px 0 0}
.reserve-calendar-caption>span:last-child{font-size:1.4rem;line-height:1}
.reserve-calendar iframe{display:block;border:0;border-radius:0 0 12px 12px;background:#fff;width:100%;height:900px;box-shadow:0 12px 35px #29372508}
.reserve-calendar .calendar-fallback{padding:.75rem 0 0;margin:0;background:none;border:0;border-radius:0;display:flex;align-items:center;flex-wrap:wrap;gap:0 .4rem}
.reserve-calendar .calendar-fallback p,.reserve-calendar .calendar-fallback a{font-size:.875rem;line-height:1.6}
.reserve-personal-help{display:grid;grid-template-columns:1fr 1fr;gap:2rem;align-items:center;margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line)}
.reserve-personal-help h3{font-size:clamp(1.8rem,3vw,2.4rem);line-height:1.22;margin-bottom:0}
.reserve-personal-help>div:last-child{justify-self:end}
.reserve-personal-help>div>p:not(.small-label){font-size:var(--reading-size);line-height:1.75;margin-bottom:1rem}
.reservation-page a:focus-visible{outline:2px solid currentColor;outline-offset:4px}
@media(max-width:1100px){.reserve-layout{grid-template-columns:minmax(240px,.8fr) minmax(0,1.4fr);gap:2rem}.reserve-calendar iframe{height:1050px}}
@media(max-width:800px){.reserve-layout{grid-template-columns:1fr;gap:2rem}.reserve-guidance{padding-top:0}.reserve-sequence{gap:1.6rem}.reserve-sequence p{max-width:48ch}.reserve-reassurance{margin-top:1.75rem;padding:1.2rem 1.5rem}.reserve-calendar iframe{height:970px}.reserve-personal-help{gap:1.5rem}.reserve-personal-help h3{font-size:1.8rem}}
@media(max-width:600px){.reservation-page .reserve-intro{font-size:1.0625rem;line-height:1.7;max-width:30ch}.reserve-decision{align-items:flex-start;flex-direction:column;gap:1rem;margin-top:1.5rem}.reserve-facts{font-size:.875rem}.reserve-guide{padding-top:3rem;padding-bottom:2.5rem}.reserve-section-heading{margin-bottom:2rem}.reserve-section-heading h2{font-size:2.25rem;line-height:1.16}.reserve-sequence h3{font-size:1.6rem;line-height:1.25}.reserve-sequence p{font-size:1.0625rem;line-height:1.75}.reserve-calendar-caption{padding:.85rem 1rem}.reserve-calendar iframe{height:1000px;box-shadow:none}.reserve-calendar .calendar-fallback{display:block}.reserve-personal-help{grid-template-columns:1fr;margin-top:2.5rem;padding-top:2rem}.reserve-personal-help>div:last-child{justify-self:start}.reserve-reassurance p:last-child{font-size:.9375rem}#elegir-hora,#agenda{scroll-margin-top:95px}}
@media(max-width:380px){.reserve-calendar iframe{height:1100px}}

/* Single-column closing invitation. */
.reserve-personal-help{display:flex;flex-direction:column;align-items:center;gap:0;text-align:center;margin-top:3rem;padding:clamp(2.5rem,5vw,4rem) 1rem 1rem}
.reserve-personal-help>.small-label{margin:0 0 1rem}
.reserve-personal-help h3{max-width:24ch;margin:0 0 1.25rem;text-wrap:balance}
.reserve-personal-help>p:not(.small-label){font-size:var(--reading-size);line-height:1.75;margin:0 0 1.5rem}
.reserve-personal-help>.pill{min-height:48px;max-width:100%}
@media(max-width:600px){.reserve-personal-help{margin-top:2.5rem;padding:2.5rem 0 .5rem}.reserve-personal-help h3{font-size:1.8rem;line-height:1.22}}

/* Match the ochre closing panels used on the other interior pages. */
.reserve-personal-help{background:var(--ochre);border-top:0;padding:clamp(3.5rem,6vw,5rem) 2rem;margin-top:3rem}
@media(max-width:600px){.reserve-personal-help{padding:3.5rem 1.5rem;margin-top:2.5rem}}
