/* v49: slide menu, search, info pages, agent note */
.mx-ov{position:fixed;inset:0;background:rgba(120,10,5,.6);z-index:900;opacity:0;visibility:hidden;transition:.25s}
.mx-ov.on{opacity:1;visibility:visible}
.mx-dr{position:fixed;top:0;right:0;bottom:0;width:min(50vw,420px);min-width:260px;background:#e60000;z-index:901;transform:translateX(100%);transition:transform .28s;display:flex;flex-direction:column;color:#fff;overflow-y:auto;padding-top:env(safe-area-inset-top,0)}
.mx-dr.on{transform:none}
.mx-dh{display:flex;justify-content:center;align-items:center;gap:22px;padding:28px 0 150px}
.mx-dh button{background:none;border:0;color:#fff;cursor:pointer;padding:6px}
.mx-dh svg{width:26px;height:26px;fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round}
.mx-dr a{display:block;color:#fff;text-decoration:none;font:500 14px var(--font-display);text-transform:uppercase;padding:16px 20px;border-bottom:1px solid rgba(255,255,255,.25)}
.mx-dr a.sub{padding-left:40px;font-size:13px}
.mx-sr{position:absolute;left:0;right:0;top:100%;background:#fff;color:#222;box-shadow:0 8px 24px rgba(0,0,0,.2);max-height:60vh;overflow:auto;z-index:850}
.mx-sr a{display:flex;justify-content:space-between;gap:10px;padding:12px 16px;color:#222;text-decoration:none;border-bottom:1px solid #eee;font-size:14px}
.mx-sr a small{color:#b91d16;text-transform:uppercase;font-size:11px}
.mx-sr p{padding:14px 16px;margin:0;color:#666}
.mx-pg .mx-hero{min-height:70svh;display:grid;place-items:center;text-align:center;color:#fff;padding:40px 20px;background:#8f1610 center/cover;position:relative;clip-path:polygon(0 0,100% 0,100% 90%,0 100%)}
.mx-pg .mx-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(247,25,10,.78),rgba(150,10,10,.88))}
.mx-pg .mx-hero div{position:relative}
.mx-pg .mx-hero h1{font-size:18px;font-weight:400}.mx-pg .mx-hero hr{width:50px;border:0;border-top:1px solid #fff;margin:16px auto}.mx-pg .mx-hero p{font-size:20px;font-weight:300;max-width:560px;margin:0 auto}
.mx-t{text-align:center;padding:50px 20px 10px}.mx-t h2{font-size:30px;color:#444;margin:0}.mx-t h2 i{color:#c00;font-family:Georgia,serif}.mx-t p{color:#777;margin:8px 0}
.mx-dv{display:flex;align-items:center;justify-content:center;gap:8px;margin:22px 0}.mx-dv:before,.mx-dv:after{content:"";width:40px;border-top:1px solid #a1141c}.mx-dv b{width:9px;height:9px;border-radius:50%;background:#f7c948}
.mx-w{max-width:760px;margin:0 auto;padding:0 20px 30px}
.mx-c{background:#f7f7f7;padding:20px;margin:0 0 20px}.mx-c h3{color:#c00;font-size:20px;margin:0 0 10px;padding-bottom:14px;border-bottom:1px solid #a1141c;width:fit-content}.mx-c p,.mx-c li{color:#777;font-size:14px;line-height:1.8}
.mx-img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover;background:#e3e3e3;margin:0 0 20px}
.mx-f{text-align:center;padding:26px 10px}.mx-f h3{font-size:18px;color:#444;margin:12px 0 4px}.mx-f small{color:#555;font-family:var(--font-display)}.mx-f p{color:#777;font-size:13px;max-width:560px;margin:8px auto 0}
.mx-f svg{width:32px;height:32px;fill:none;stroke:#c00;stroke-width:2}
.mx-ag{background:#f7f7f7;padding:60px 20px}.mx-ag>div{max-width:760px;margin:0 auto}.mx-ag h2{font-size:22px;color:#111}.mx-ag p{line-height:1.8;color:#222}.mx-ag a{color:#b91d16;font-weight:700}

.seat.occ{background:#d9dbe0;border-color:#d9dbe0;color:#8a8f98;box-shadow:inset 0 -6px 0 #b6bac2;cursor:not-allowed}.seat-mini.occ{background:#d9dbe0;border-color:#d9dbe0;box-shadow:inset 0 -5px 0 #b6bac2}.seat.vip.occ{border-color:#d9dbe0}

/* v54: header floats over the homepage hero; logo doubled everywhere */
.m-logo-img{height:88px!important;max-width:300px!important}
.site-header .header-inner{height:auto!important;min-height:var(--header-h);padding-top:6px!important;padding-bottom:6px!important}
body.is-home .site-header{position:absolute!important;top:0!important;left:0!important;right:0!important;background:linear-gradient(180deg,rgba(0,0,0,.45),rgba(0,0,0,0))!important;z-index:800}
body.is-home .site-header .header-inner{height:auto!important;padding-top:calc(6px + env(safe-area-inset-top,0px))!important}
body.is-home .m-hero{min-height:100svh!important}
.mx-pg .mx-hero h1,.mx-pg .mx-hero p{color:#fff!important;text-shadow:0 1px 8px rgba(0,0,0,.4)}
.mx-pg .mx-hero h1{font-family:var(--font-display);font-size:20px;font-weight:400}
.mx-img[src*="destinations-map"]{aspect-ratio:auto;object-fit:contain;background:none}
