.booking{background:#123b5c;padding-block:80px}.appointment-heading{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:32px}.appointment-heading h2{font-size:58px;line-height:1.15;margin:0 0 16px;color:#fff}.appointment-heading>div>p:last-child{font-size:20px;color:#d9eaf4;margin:0}.appointment-heading .eyebrow{margin-bottom:16px}.appointment-availability{display:flex;align-items:center;gap:16px;padding:18px 24px;border:1px solid #ffffff30;border-radius:16px;color:#e6f5fd;font-size:19px;line-height:1.6;margin:0}.appointment-availability svg{width:30px;height:30px;flex-shrink:0}.booking .booking-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin:0}.booking .appointment-route{display:flex;flex-direction:column;background:#fff;color:#173c59;border:0;border-radius:20px;padding:30px;min-width:0}.route-top{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:38px;margin-bottom:24px}.booking .route-label{font-size:15px;color:#526d80;letter-spacing:0}.route-top img{width:110px;height:auto;object-fit:contain}.route-top>svg{width:32px;height:32px;color:#167cb6}.booking .appointment-route h3{font-size:32px;line-height:1.25;color:#123d5d;margin:0 0 12px}.booking .appointment-route p{font-size:19px;line-height:1.6;color:#526d80;margin:0 0 26px}.booking .appointment-route .button{margin-top:auto;width:100%;background:#123d5d;color:#fff;box-shadow:none;min-height:56px;font-size:19px;gap:12px;padding:14px 18px}.booking .appointment-route .private-appointment{background:#d9eef7;color:#123d5d}.appointment-contact{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-top:28px;padding-top:28px;border-top:1px solid #ffffff30}.appointment-contact>div{display:flex;align-items:center;gap:14px;color:#e4f1fa;font-size:19px}.appointment-contact a{display:flex;align-items:center;gap:12px;color:#fff;font-size:29px;font-weight:700}.appointment-contact svg{width:24px;height:24px}.booking .booking-note{text-align:right;font-size:14px;color:#cedfea;margin-top:24px}.booking .appointment-route .button:focus-visible{outline-color:#167cb6}
@media(max-width:800px){.booking{padding-block:56px}.appointment-heading{flex-direction:column;align-items:stretch;gap:24px}.appointment-heading h2{font-size:43px}.appointment-availability{align-self:flex-start;padding:12px 18px;font-size:17px}.appointment-availability br{display:none}.appointment-availability strong::before{content:' · '}.booking .booking-grid{grid-template-columns:1fr;gap:16px}.booking .appointment-route{padding:24px}.route-top{margin-bottom:18px}.booking .appointment-route h3{font-size:28px}.booking .appointment-route p{font-size:18px;margin-bottom:22px}.booking .appointment-route .button{font-size:18px}.appointment-contact{align-items:flex-start;flex-direction:column;gap:14px}.appointment-contact>div{font-size:18px}.appointment-contact a{font-size:29px}.route-top img{width:90px}}
@media(max-width:800px){.appointment-availability br{display:initial}.appointment-availability strong::before{content:none}.appointment-availability{align-self:stretch}}

@media(min-width:1101px){.booking .booking-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.booking .appointment-route{padding:26px}.booking .appointment-route h3{font-size:29px}}
@media(min-width:801px) and (max-width:1100px){.booking .clinic-booking{grid-column:1/-1}.booking .clinic-booking .button{max-width:380px}}

/* One continuous row at every width; narrow screens scroll within the track. */
.booking .booking-grid{display:flex;flex-wrap:nowrap;gap:20px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x proximity;padding:6px 6px 18px;scrollbar-width:thin;scrollbar-color:#83b7d4 #234b68}
.booking .booking-grid>.appointment-route{flex:1 0 280px;min-width:0;scroll-snap-align:start;grid-column:auto}.booking-scroll-hint{display:none;color:#d9eaf4;font-size:15px;margin:0 0 16px}
@media(max-width:1100px){.booking-scroll-hint{display:block}}
@media(max-width:800px){.booking .booking-grid>.appointment-route{flex:0 0 min(300px,88%)}.booking .booking-grid{gap:16px}.booking .appointment-route{padding:22px}.booking .route-top{gap:10px}}
