/* Shared Bookings: direct calendar, external fallback and outside-hours requests. */
.v7-booking-section{padding-block:42px 24px;scroll-margin-top:115px}
.v7-booking-card{border:1px solid #d9e3e3;border-radius:14px;padding:28px;background:#fff;overflow:hidden}
.v7-booking-heading{display:flex;align-items:center;justify-content:space-between;gap:30px}
.v7-booking-heading h2,.v7-booking-heading h3{font-size:30px;line-height:1.2;letter-spacing:-.04em;margin:8px 0 12px}
.v7-booking-heading p:not(.eyebrow){font-size:14px;line-height:1.8;color:#536570;margin:0}
.v7-booking-heading>.text-link{font-size:12px;flex-shrink:0}
.v7-booking-hours{font-weight:700;margin-top:16px!important;color:#162e40!important}
.v7-booking-hours small{display:block;font-size:11px;font-weight:400}
.v7-booking-privacy{font-size:11px;line-height:1.8;color:#536570;margin:16px 0}
.v7-booking-privacy a{text-decoration:underline;text-underline-offset:3px}
.v7-mobile-booking-note{display:none}
.v7-booking-frame{display:block;width:100%;height:980px;border:1px solid #e1e7e7;border-radius:8px;background:#f6f8f8}
.v7-outside-hours{background:#f7f4ed;border-radius:10px;padding:22px 26px;margin-top:18px}
.v7-outside-hours p{font-size:13px;line-height:1.8;margin:0 0 12px;color:#536570}
.v7-outside-hours strong{display:block;color:#162e40}
.v7-outside-hours .text-link{font-size:12px;line-height:1.7}
.v5-online-hero .v7-hero-note{font-size:11px!important;margin-top:14px}
.v5-consultation-dialog{width:min(1000px,calc(100% - 32px));padding:28px}
.v5-consultation-dialog>h2{font-size:29px;margin-bottom:20px}
.v7-booking-compact{padding:18px}
.v7-booking-compact .eyebrow,.v7-booking-compact h3{display:none}
.v7-booking-compact .v7-booking-frame{height:55dvh;min-height:350px}
.v5-consultation-dialog .v7-outside-hours{padding:18px 20px}
.v5-consultation-dialog .v5-dialog-existing{margin-top:18px;padding-top:16px}
.v5-consultation-dialog .v5-dialog-phone{margin-top:18px}
.v5-consultation-dialog .v7-email-alternative select{max-width:480px;display:block}
@media(max-width:760px){
 .v7-booking-section{padding-block:28px 20px;scroll-margin-top:95px}
 .v7-booking-card{padding:17px 12px;border-radius:10px}
 .v7-booking-heading{display:block}
 .v7-booking-heading h2{font-size:26px}
 .v7-booking-heading p:not(.eyebrow){font-size:12px}
 .v7-booking-heading>.text-link{display:inline-block;margin-top:13px;font-size:11px}
 .v7-booking-frame{height:900px}
 .v7-booking-privacy{font-size:10px}
 .v7-outside-hours{padding:19px 17px}
 .v7-outside-hours p{font-size:12px}
 .v7-outside-hours .text-link{font-size:11px;overflow-wrap:anywhere}
 .v5-consultation-dialog{padding:22px 14px;width:calc(100% - 18px);max-height:92dvh}
 .v5-consultation-dialog .dialog-close{margin:-6px 0 0 8px}
 .v5-consultation-dialog>h2{font-size:27px}
 .v7-booking-compact{padding:12px 8px}
 .v7-booking-compact .v7-booking-frame{height:65dvh;min-height:380px}
}
@media(max-width:600px){
 .v7-booking-frame{display:none}
 .v7-booking-heading>.v7-booking-fallback{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#162e40;color:white;border:0;border-radius:6px;min-height:48px;padding:13px 16px;font-size:12px;margin-top:20px;line-height:1.6}
 .v7-mobile-booking-note{display:block;font-size:11px;line-height:1.8;color:#536570;margin:15px 0 0}
 .v7-booking-privacy{margin-bottom:0}
}
