/* Shared desktop sidebar and mobile booking order for bookable detail pages. */
.detail-page .detail-grid,.bookable-page .detail-grid,.hotel-detail-page .detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 390px;gap:clamp(30px,5vw,80px);align-items:start;padding:clamp(60px,8vw,110px) 0}
.detail-page .detail-grid>.article-content,.bookable-page .detail-grid>.article-content,.hotel-detail-page .detail-grid>.article-content{min-width:0;max-width:none}
.detail-page .detail-grid>.booking-card,.bookable-page .detail-grid>.booking-card,.hotel-detail-page .detail-grid>.booking-card{position:sticky;top:25px;max-height:calc(100dvh - 50px);overflow-y:auto;min-width:0;max-width:none;margin:0;padding:27px;grid-column:2}
.booking-card .widget-wrap{min-width:0}
.bookable-page .detail-grid .seasonal-table-scroll table{min-width:450px}
.bookable-page .detail-hero h1{font-size:clamp(2.6rem,4.5vw,5rem)}
.bookable-page .detail-hero .broadway-hero-actions{display:block}
.bookable-page .detail-hero .broadway-hero-actions p{margin-top:16px}
.detail-page .related .card-image img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:1100px) and (min-width:951px){.detail-page .detail-grid,.bookable-page .detail-grid,.hotel-detail-page .detail-grid{grid-template-columns:minmax(0,1fr) 340px;gap:26px}.detail-page .detail-grid>.booking-card,.bookable-page .detail-grid>.booking-card,.hotel-detail-page .detail-grid>.booking-card{padding:20px}}
@media(max-width:950px){.detail-page .detail-grid,.bookable-page .detail-grid,.hotel-detail-page .detail-grid{grid-template-columns:minmax(0,1fr);gap:44px}.detail-page .detail-grid>.booking-card,.bookable-page .detail-grid>.booking-card,.hotel-detail-page .detail-grid>.booking-card{position:static;max-height:none;overflow:visible;grid-row:1;grid-column:1}.detail-page .detail-grid>.article-content,.bookable-page .detail-grid>.article-content,.hotel-detail-page .detail-grid>.article-content{grid-column:1}}
