/* Booking presentation only; action resolution and progressive enhancement are shared. */
.mh-events .mh-booking-dialog{box-sizing:border-box;width:min(1080px,calc(100vw - 64px));max-width:none;height:min(760px,calc(100dvh - 64px));max-height:calc(100dvh - 64px);margin:auto;padding:0;background:#FAF9F6;color:#4A4D66;border:0;border-radius:24px;overflow:hidden;box-shadow:0 20px 60px #10132E33;font:400 16px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif}
.mh-events .mh-booking-dialog::backdrop{background:#10132E80;backdrop-filter:blur(4px)}
.mh-events .mh-booking-dialog:not([open]){display:none}
.mh-events .mh-booking-dialog>.mh-booking-fallback{display:grid;grid-template-columns:45% 55%;height:100%;min-height:0}
.mh-events .mh-booking-photo{display:none;position:relative;min-width:0;overflow:hidden}
.mh-events .mh-booking-dialog .mh-booking-photo{display:block}
.mh-events .mh-booking-photo img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;object-position:center}
.mh-events .mh-booking-photo::after{content:"";position:absolute;inset:50% 0 0;background:linear-gradient(transparent,#10132E99);pointer-events:none}
.mh-events .mh-booking-photo p{position:absolute;z-index:1;bottom:36px;left:36px;right:24px;margin:0;color:#FFFFFF;font:italic 400 28px/1.15 "Cormorant Garamond",Georgia,serif}
.mh-events .mh-booking-photo p::before{content:"";display:block;width:56px;height:2px;margin-bottom:18px;background:#E4B675}
.mh-events .mh-booking-panel{min-width:0;padding:52px 48px 32px;background:#FAF9F6;overflow:auto;overscroll-behavior:contain}
.mh-events .mh-booking-intro{margin-bottom:24px}
.mh-events .mh-booking-intro::after{content:"";display:block;width:48px;height:1px;background:#987142;margin-top:22px}
.mh-events .mh-booking .mh-booking-eyebrow{font:600 11px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;letter-spacing:.28em;text-transform:uppercase;color:#987142;margin:0 0 12px}
.mh-events .mh-booking h2{font:400 56px/1.02 "Cormorant Garamond",Georgia,serif;letter-spacing:-.02em;color:#10132E;margin:0 0 16px}
.mh-events .mh-booking .mh-booking-subtitle{font:400 16px/1.6 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#4A4D66;margin:0}
.mh-events .mh-booking-options{display:grid;gap:12px}
.mh-events .mh-booking-row{display:grid;grid-template-columns:52px minmax(0,1fr) 20px;gap:16px;align-items:center;min-height:88px;padding:18px;border:1px solid #9871423d;border-radius:16px;background:#FFFFFF;text-decoration:none;color:#10132E;overflow-wrap:anywhere;transition:background-color 160ms,border-color 160ms}
.mh-events .mh-booking-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:#E4B6751a;color:#987142}
.mh-events .mh-booking-icon svg{width:28px;height:28px}
.mh-events .mh-booking-label{min-width:0;font:600 16px/1.4 "Helvetica Neue",Helvetica,Arial,sans-serif}
.mh-events .mh-booking-label small{display:block;margin-top:4px;color:#4A4D66;font:400 14px/1.45 "Helvetica Neue",Helvetica,Arial,sans-serif}
.mh-events .mh-booking-arrow{color:#987142;transition:transform 160ms;display:flex}.mh-events .mh-booking-arrow svg{width:20px;height:20px}
.mh-events .mh-booking-row:hover{border-color:#987142;background:#E4B6750d}.mh-events .mh-booking-row:hover .mh-booking-arrow{transform:translateX(3px)}
.mh-events .mh-booking-dialog .mh-booking-close,.mh-events .mh-booking-dialog .mh-booking-close:hover,.mh-events .mh-booking-dialog .mh-booking-close:focus{position:absolute!important;z-index:2;top:12px;right:12px;display:flex!important;align-items:center;justify-content:center;width:40px!important;height:40px!important;min-width:40px!important;min-height:40px!important;margin:0!important;padding:9px!important;border:0!important;border-radius:6px;background:transparent!important;color:#10132E!important;cursor:pointer;box-shadow:none!important;outline:0!important}
.mh-events .mh-booking-dialog .mh-booking-close svg{width:22px;height:22px}.mh-events .mh-booking-dialog .mh-booking-close:hover{color:#987142!important}.mh-events .mh-booking-dialog .mh-booking-close:focus-visible{color:#987142!important;outline:2px solid #987142!important;outline-offset:3px!important}
.mh-events .mh-booking :is(a,button,summary):focus-visible{outline:2px solid #10132E;outline-offset:4px}
.mh-events .mh-booking-help{display:flex;align-items:flex-start;gap:14px;margin-top:24px;padding:18px;border-radius:16px;background:#9871420d}
.mh-events .mh-booking-help>svg{flex:0 0 24px;width:24px;height:24px;color:#987142;margin-top:3px}
.mh-events .mh-booking-help h3{font:400 26px/1.15 "Cormorant Garamond",Georgia,serif;color:#10132E;margin:0 0 6px}
.mh-events .mh-booking-help p{font:400 14px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;color:#4A4D66;margin:0}
.mh-events .mh-booking-open{list-style:none}.mh-events .mh-booking-open::-webkit-details-marker{display:none}.mh-events .mh-booking-disclosure{max-width:100%}
/* Inline fallback stays compact inside a card, with every action still reachable. */
.mh-events .mh-booking-disclosure>.mh-booking-fallback .mh-booking-panel{padding:20px 0;overflow:visible}
.mh-events .mh-booking-disclosure>.mh-booking-fallback h2{font-size:32px}
.mh-events .mh-booking-disclosure>.mh-booking-fallback .mh-booking-row{grid-template-columns:32px minmax(0,1fr) 16px;gap:8px;padding:12px}
.mh-events .mh-booking-disclosure>.mh-booking-fallback .mh-booking-icon{width:32px;height:32px}
@media(min-width:768px) and (max-width:1024px){.mh-events .mh-booking-dialog{width:calc(100vw - 40px);height:min(760px,calc(100dvh - 40px));max-height:calc(100dvh - 40px)}.mh-events .mh-booking-dialog>.mh-booking-fallback{grid-template-columns:40% 60%}.mh-events .mh-booking-panel{padding:52px 28px 28px}.mh-events .mh-booking h2{font-size:44px}.mh-events .mh-booking-row{gap:12px;padding:16px;grid-template-columns:44px minmax(0,1fr) 20px}.mh-events .mh-booking-icon{width:44px;height:44px}}
@media(max-width:767px){.mh-events .mh-booking-dialog{width:calc(100% - 32px);max-width:520px;height:fit-content;max-height:calc(100dvh - 32px);border-radius:22px}.mh-events .mh-booking-dialog>.mh-booking-fallback{display:block;height:auto;max-height:calc(100dvh - 32px);overflow:auto}.mh-events .mh-booking-dialog .mh-booking-photo{display:none}.mh-events .mh-booking-panel{padding:56px 20px 24px;overflow:visible}.mh-events .mh-booking h2{font-size:40px}.mh-events .mh-booking .mh-booking-subtitle{font-size:15px}.mh-events .mh-booking-row{padding:16px;grid-template-columns:44px minmax(0,1fr) 18px;gap:12px}.mh-events .mh-booking-icon{width:44px;height:44px}.mh-events .mh-booking-close{width:48px;height:48px;min-height:48px;top:4px;right:8px}.mh-events .mh-booking-help{padding:16px;gap:10px}}
@media(max-width:390px){.mh-events .mh-booking-dialog{width:calc(100% - 24px)}.mh-events .mh-booking-panel{padding:56px 16px 20px}.mh-events .mh-booking h2{font-size:36px}.mh-events .mh-booking-label{font-size:15px}.mh-events .mh-booking-label small{font-size:13px}}
@media(prefers-reduced-motion:reduce){.mh-events .mh-booking-row,.mh-events .mh-booking-arrow{transition:none}.mh-events .mh-booking-row:hover .mh-booking-arrow{transform:none}}

