/* Keep the booking introduction short and put the calendar before contact details on mobile. */
.booking-layout>.booking-intro{grid-column:1;grid-row:1;display:block;margin:0}
.booking-layout>.booking-intro h2{margin-top:0}
.booking-layout>.booking-intro .booking-one-line{margin:0;max-width:35ch}
.booking-layout>.booking-frame-wrap{grid-column:2;grid-row:1 / span 2}
.booking-layout>.booking-details{grid-column:1;grid-row:2;min-width:0}
.booking-layout{row-gap:22px}
.booking-details .contact-signature{margin:0 0 18px}
.booking-details .booking-phone{margin:0;min-height:44px}
.booking-details .email-contact{margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}
.booking-details .booking-email.email-cta{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:50px;max-width:100%;padding:11px 16px;border:1px solid var(--navy);border-radius:2px;font-size:20px;font-weight:500;color:var(--navy);background:transparent;text-decoration:none;overflow-wrap:anywhere;transition:background .15s,color .15s}
.booking-email.email-cta .email-icon{flex:none;width:22px;height:22px}
.booking-email.email-cta span{min-width:0;flex:1;font-size:inherit}
.booking-details .booking-email.email-cta:hover,.booking-details .booking-email.email-cta:focus-visible{background:var(--navy);color:var(--paper)}
.booking-details .booking-language-note{font-size:14px;line-height:1.6;margin:6px 0 0}
@media(max-width:1023px){
 .booking-layout{display:flex;flex-direction:column;gap:18px}
 .booking-layout>.booking-intro{order:0;width:100%;margin:0}
 .booking-layout>.booking-frame-wrap{order:1}
 .booking-layout>.booking-details{order:2;width:100%;margin-top:8px}
 .booking-layout>.booking-intro h2{margin-bottom:12px}
}

/* Direct profile links, styled to match the email action. */
.booking-details .contact-socials{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px}
.booking-details .social-link{display:inline-flex;align-items:center;justify-content:center;flex:0 0 48px;width:48px;height:48px;border:1px solid var(--navy);border-radius:2px;background:transparent;color:var(--navy);text-decoration:none;transition:background .15s,color .15s}
.booking-details .social-link svg{display:block;width:22px;height:22px;flex:none}
.booking-details .social-link:hover,.booking-details .social-link:focus-visible{background:var(--navy);color:var(--paper)}
.booking-details .social-link:focus-visible{outline:3px solid var(--kelto-blue);outline-offset:3px}
