/* Scoped improvements: all native booking controls remain untouched. */
body .w4 .wrap,body .w4 .grid>*{min-width:0}body .w4 .grid.two{align-items:start}body .w4 p,body .w4 li,body .w4 h1,body .w4 h2,body .w4 h3{overflow-wrap:break-word}body .w4 .btn{white-space:normal;text-align:center;min-height:44px}body .w4 .brand-menu a{min-height:40px;display:inline-flex;align-items:center}body .w4 .brand-menu a.w4-groups-link{background:#e8f3ff}body .w4 .w4-mobile-menu{margin:0;padding:0;border:0;flex:1}body .w4 .w4-mobile-menu>summary{display:none}body .w4 .w4-pass-details{padding:12px 0 16px;margin-bottom:18px}body .w4 .w4-pass-details summary{font-size:16px;line-height:1.4;min-height:44px;display:list-item}body .w4 .w4-pass-details ul{font-size:15px;margin-bottom:0}body .w4 .w4-pass-prices{font-weight:700}body .w4 .w4-group-teaser{padding:24px;margin-top:24px;border-radius:20px;background:#eaf4df}body .w4 .w4-group-hero .badge{font-size:15px;line-height:1.5}body .w4 .w4-group-hero .hero-img{height:360px}body .w4 details>summary:focus-visible{outline:3px solid #b88100;outline-offset:4px}body .w4 .table-scroll{max-width:100%;overflow-x:auto}body .w4 .info-content a{overflow-wrap:anywhere}body .w4 .w4-mobile-menu .brand-menu{justify-content:flex-end}body .w4 .brand-header .brand-logo{max-width:100%}
@media(max-width:900px){body .w4 .w4-mobile-menu{width:100%}body .w4 .w4-mobile-menu .brand-menu{justify-content:flex-start}}
@media(max-width:650px){body .w4 .brand-header-inner{flex-direction:row;align-items:center;flex-wrap:wrap;gap:12px}body .w4 .brand-logo{width:170px}body .w4 .w4-mobile-menu{flex:0 0 100%}body .w4 .w4-mobile-menu>summary{display:list-item;cursor:pointer;background:#edf6e7;border:1px solid #cadfc0;border-radius:12px;padding:10px 14px;font-size:15px;line-height:24px;min-height:44px}body .w4 .w4-mobile-menu[open]>.brand-menu{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding-top:12px}body .w4 .w4-mobile-menu:not([open])>.brand-menu{display:none}body .w4 .w4-mobile-menu .brand-menu a{font-size:13px;padding:9px 11px;line-height:1.35;min-height:44px;border-radius:12px;overflow-wrap:break-word}body .w4 .w4-group-teaser{padding:20px}body .w4 .w4-group-hero .hero-img{height:260px}body .w4 .card{padding:24px}body .w4 .card.photo{padding:0}body .w4 h1{font-size:clamp(30px,8.2vw,42px)}body .w4 h2{font-size:clamp(26px,7vw,34px)}body .w4 .w4-language-bar{padding-bottom:14px}body .w4 .w4-pass-details summary{font-size:16px}}
@media(prefers-reduced-motion:reduce){body .w4 *, body .w4 *::before,body .w4 *::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Compact homepage opening hours. Fixed tile heights keep loading stable. */
body .w4 > #w4-live-hours{padding:8px 12px;font-size:12px;line-height:1.3}
body .w4 > #w4-live-hours .w4-hours-heading{margin-bottom:8px;gap:8px}
body .w4 > #w4-live-hours .w4-hours-label{font-size:12px;line-height:1.25}
body .w4 > #w4-live-hours [data-hours-date]{font-size:10.5px;margin-top:2px}
body .w4 > #w4-live-hours .w4-hours-controls{gap:4px}
body .w4 > #w4-live-hours button{font-size:11px;line-height:1.2;padding:8px 10px;min-height:40px}
body .w4 > #w4-live-hours [data-hours-cards]{grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:82px;gap:6px;min-height:82px}
body .w4 > #w4-live-hours .w4-hours-card{height:72px;min-height:72px;padding:6px 8px;gap:2px;border-radius:10px;overflow:hidden;justify-content:space-between}
body .w4 > #w4-live-hours .w4-hours-card>strong{font-size:12px;line-height:16px}
body .w4 > #w4-live-hours .w4-hours-times{font-size:11.5px;line-height:14px;height:28px;min-height:28px;margin:0;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
body .w4 > #w4-live-hours .w4-hours-street,body .w4 > #w4-live-hours .w4-hours-price,body .w4 > #w4-live-hours .w4-hours-buy{display:none}
body .w4 > #w4-live-hours .w4-capacity{display:block!important;height:4px;min-height:4px;max-height:4px;margin:0;padding:0;font-size:0;line-height:0;overflow:hidden}
body .w4 > #w4-live-hours .w4-capacity[hidden]{display:block!important;visibility:hidden}
body .w4 > #w4-live-hours .w4-capacity-track{display:block;height:4px;margin:0;width:100%}
body .w4 > #w4-live-hours .w4-capacity-level{font-size:0;line-height:0}
@media(max-width:650px){body .w4 > #w4-live-hours [data-hours-cards]{grid-template-columns:repeat(2,minmax(0,1fr));min-height:170px}}
@media(pointer:coarse){body .w4 > #w4-live-hours button{min-height:44px}}

/* Price shares the location row; occupancy label and mini-bar share the final row. */
body .w4 > #w4-live-hours .w4-hours-card{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:16px 28px 16px;align-content:space-between;height:82px;min-height:82px;gap:2px 4px}
body .w4 > #w4-live-hours .w4-hours-card>strong{grid-column:1;grid-row:1;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
body .w4 > #w4-live-hours .w4-hours-price{display:block;grid-column:2;grid-row:1;margin:0;font-size:9.5px;line-height:16px;white-space:nowrap}
body .w4 > #w4-live-hours .w4-hours-times{grid-column:1 / -1;grid-row:2}
body .w4 > #w4-live-hours .w4-capacity{display:grid!important;grid-column:1 / -1;grid-row:3;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:4px;height:16px;min-height:16px;max-height:16px}
body .w4 > #w4-live-hours .w4-capacity-track{width:28px;height:4px}
body .w4 > #w4-live-hours .w4-capacity-level{display:block;font-size:9.5px;line-height:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
