/* 0.1.57: appointment-page layout only. No vendor controls, global options or booking values change. */
#ahp-site .ahp-booking-page { padding-block:clamp(28px,4vw,58px); }
#ahp-site .ahp-booking-page > .ahp-wrap { width:min(1120px,calc(100% - 64px)); max-width:1120px; }
#ahp-site .ahp-booking-top { display:grid; grid-template-columns:minmax(0,1.7fr) minmax(0,.8fr); gap:clamp(24px,4vw,56px); align-items:start; }
#ahp-site .ahp-booking-page .ahp-booking-intro { min-width:0; max-width:none; margin:0; }
#ahp-site .ahp-booking-page h1 { font-size:clamp(32px,3.3vw,48px); line-height:1.16; margin:0; max-width:none; }
#ahp-site .ahp-booking-page .ahp-kicker { margin:0 0 14px; }
#ahp-site .ahp-booking-page .ahp-hero-lead { margin:18px 0 0; max-width:60ch; font-size:18px; line-height:1.7; }
#ahp-site .ahp-booking-address { margin:18px 0 0; font-size:16px; line-height:1.6; }
#ahp-site .ahp-booking-address strong { font-size:inherit; font-weight:700; }
#ahp-site .ahp-booking-photo { min-width:0; width:100%; align-self:start; }
#ahp-site .ahp-booking-page .ahp-booking-person-image { margin:0; width:100%; max-width:none; }
#ahp-site .ahp-booking-page .ahp-booking-person-image .ahp-image-frame { width:100%; height:auto; min-height:0; max-height:none; background:transparent; }
#ahp-site .ahp-booking-page .ahp-booking-person-image[data-ahp-fit="full"] img { display:block; width:100%; height:auto; min-height:0; max-height:310px; object-fit:contain; border-radius:14px; }
#ahp-site .ahp-booking-page .ahp-booking-person-image[data-ahp-fit="crop"] .ahp-image-frame { aspect-ratio:4/3; }
#ahp-site .ahp-booking-page .ahp-booking-person-image[data-ahp-fit="crop"] img { width:100%; height:100%; max-height:none; object-fit:cover; }
#ahp-site .ahp-booking-page .ahp-booking-person-image figcaption { margin-top:8px; font-size:13px; line-height:1.5; }
#ahp-site .ahp-booking-fee-pair { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:24px 0 0; }
#ahp-site .ahp-booking-fee { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:8px 14px; padding:15px 18px; background:#edf3ed; border:1px solid #b4c7b9; border-radius:12px; }
#ahp-site .ahp-booking-fee strong,#ahp-site .ahp-booking-fee span { font-family:inherit; font-size:19px; font-weight:700; line-height:1.4; color:#204d41; }
#ahp-site .ahp-booking-page .ahp-booking-tax { margin:12px 0 0; font-size:13px; line-height:1.6; max-width:70ch; }
#ahp-site .ahp-booking-calendar { display:block; min-width:0; width:100%; margin-top:32px; padding-top:28px; border-top:1px solid #b4c7b9; scroll-margin-top:120px; }
#ahp-site .ahp-booking-calendar-intro h2 { font-size:clamp(23px,2.3vw,30px); line-height:1.25; margin:0 0 10px; max-width:none; }
#ahp-site .ahp-booking-calendar-intro p { margin:0; max-width:76ch; font-size:16px; line-height:1.65; }
#ahp-site .ahp-booking-page .ahp-booking-mount { width:100%; min-width:0; margin-top:20px; padding:0; }
#ahp-site .ahp-booking-page .ahp-native-slot { display:block; width:100%; min-width:0; margin:0; padding:0; }
#ahp-site .ahp-booking-page .ahp-booking-help { margin-top:18px; padding-top:14px; }
#ahp-site .ahp-booking-page .ahp-booking-fallback { margin:0; font-size:15px; line-height:1.6; }
@media(max-width:900px) {
 #ahp-site .ahp-booking-top { grid-template-columns:minmax(0,1fr); gap:0; }
 /* This supplementary portrait has no form function. Keep the calendar near the introduction on phones. */
 #ahp-site .ahp-booking-photo { display:none; }
}
@media(max-width:600px) {
 #ahp-site .ahp-booking-page > .ahp-wrap { width:calc(100% - 32px); }
 #ahp-site .ahp-booking-page .ahp-hero-lead { font-size:17px; }
 #ahp-site .ahp-booking-fee-pair { gap:10px; margin-top:20px; }
 #ahp-site .ahp-booking-fee { padding:12px; }
 #ahp-site .ahp-booking-fee strong,#ahp-site .ahp-booking-fee span { font-size:17px; }
 #ahp-site .ahp-booking-calendar { margin-top:24px; padding-top:22px; }
}
@media(max-width:359px) {
 #ahp-site .ahp-booking-fee-pair { grid-template-columns:minmax(0,1fr); }
}
