:root{--bg:#0d0e19;--panel:#171827;--panel2:#1c1d2c;--edge:#343546;--text:#f6f4fa;--muted:#aaa9ba;--accent:#e744b5;--cyan:#48d4d7;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.55 'DM Sans',Arial,sans-serif}a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}h1,h2,h3{font-family:Outfit,'Arial Black',sans-serif;line-height:1.05;letter-spacing:-.035em;margin:0 0 .6em}h1{font-size:clamp(3rem,7.2vw,7rem);font-weight:900;max-width:920px}h2{font-size:clamp(2rem,3.8vw,3.5rem)}h3{font-size:1.45rem}p{margin:.5em 0 1.1em}.muted,.fine,small{color:var(--muted)}.fine{font-size:.82rem}.pink{color:var(--accent)}.container{max-width:var(--max);padding:0 30px;margin:0 auto}.narrow{max-width:840px;padding-top:72px;padding-bottom:100px}.section-label,.eyebrow{font-size:.77rem;letter-spacing:.22em;font-weight:800;color:var(--accent);text-transform:uppercase;margin-bottom:19px}.site-header{height:88px;display:flex;align-items:center;justify-content:space-between;max-width:var(--max);padding:0 30px;margin:auto}.brand{display:flex;align-items:center;gap:8px;font-family:Outfit,sans-serif;font-size:1.12rem;letter-spacing:.07em;font-weight:900}.brand b{color:var(--accent)}.brand-mark{font-size:2.2rem;line-height:1;color:var(--accent)}.brand img{max-width:220px;max-height:58px;object-fit:contain}.site-header nav{display:flex;gap:32px;font-weight:700;font-size:.9rem}.site-footer{border-top:1px solid var(--edge);margin-top:80px;padding:35px max(30px,calc((100vw - var(--max))/2));display:flex;justify-content:space-between;color:var(--muted);font-size:.85rem}.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #5a5a69;border-radius:3px;color:white;background:transparent;font:700 .9rem Outfit,Arial,sans-serif;padding:13px 21px;cursor:pointer;letter-spacing:.015em;transition:transform .2s,border-color .2s}.button:hover{color:white;border-color:var(--accent);transform:translateY(-2px)}.button-primary{background:var(--accent);border-color:var(--accent);color:#160f1b;box-shadow:0 8px 35px #e744b533}.button-primary:hover{background:#ff66cf;color:#160f1b}.hero{min-height:610px;position:relative;display:flex;align-items:center;overflow:hidden;border-block:1px solid #25253b;background:radial-gradient(circle at 70% 54%,#771a88 0,#341954 25%,#171527 52%,#11101e 82%)}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,#0d0e19db 0,#0d0e1944 66%,#0d0e1900 100%)}.hero-image{position:absolute;width:100%;height:100%;object-fit:cover;opacity:.48}.hero-glow{position:absolute;right:5%;top:-10%;width:50vw;height:60vw;max-height:800px;border-radius:50%;background:repeating-radial-gradient(circle at center,transparent 0 28px,#e744b50e 30px 32px,transparent 34px 60px),radial-gradient(circle,#f527d262,transparent 66%);filter:blur(2px);transform:rotate(-20deg)}.hero-content{max-width:var(--max);width:100%;padding:85px 30px;margin:auto;position:relative;z-index:1}.hero-content h1{max-width:770px}.hero-content p{font-size:1.25rem;color:#e8e4ed;max-width:520px;margin-bottom:35px}.hero-side{position:absolute;z-index:1;right:30px;bottom:35px;writing-mode:vertical-rl;letter-spacing:.2em;font-size:.7rem;font-weight:800;color:#ffffffa8}.heading-row{display:flex;align-items:end;justify-content:space-between;gap:30px}.heading-row p{color:var(--muted)}#events{padding-top:98px;padding-bottom:105px}.event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:25px}.event-card{background:var(--panel);border:1px solid #303144;overflow:hidden;transition:transform .2s,border-color .2s}.event-card:hover{transform:translateY(-5px);border-color:var(--accent);color:var(--text)}.card-art{background:linear-gradient(135deg,#702183,#191b36 65%,#0c5767);display:grid;place-items:center}.card-art span{font-size:8rem;color:#f75db7}.card-content{padding:24px}.chip{font-size:.74rem;letter-spacing:.06em;color:var(--cyan);text-transform:uppercase;font-weight:800}.card-content h3{margin:13px 0 10px}.card-content p{color:var(--muted);font-size:.9rem}.card-link{color:var(--accent);font-weight:800;font-size:.85rem}.empty{padding:45px;border:1px dashed var(--edge);grid-column:1/-1;color:var(--muted)}.banner{display:flex;align-items:center;gap:40px;background:linear-gradient(90deg,#441350,#162a46);padding:70px max(30px,calc((100vw - var(--max))/2))}.banner>span{font-size:5rem;color:var(--cyan);line-height:1}.banner h2{max-width:720px;margin:0}.back{display:inline-block;color:var(--muted);margin:36px 0;font-size:.9rem}.event-hero{display:grid;grid-template-columns:1.2fr .8fr;align-items:center;gap:56px;margin-bottom:85px}.event-hero h1{font-size:clamp(3.2rem,5vw,5rem)}.event-poster{padding:55px;display:flex;flex-direction:column;justify-content:center;font:900 clamp(2rem,4vw,4rem)/.94 Outfit,sans-serif;background:linear-gradient(135deg,#54145b,#141c38);position:relative}.event-poster b{color:var(--accent)}.event-poster span{color:var(--cyan);font-size:6rem;position:absolute;right:15px;bottom:5px}.lead{font-size:1.22rem;color:#d2cede}.event-facts{display:flex;flex-wrap:wrap;gap:16px;margin:27px 0 35px;color:var(--cyan);font-weight:700}.event-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(340px,440px);gap:80px;align-items:start}.rich{line-height:1.8;color:#d7d5e0}.rich h2{font-size:2.3rem;color:var(--text);margin-top:25px}.rich h3{color:var(--text);margin-top:25px}.rich a{text-decoration:underline;color:var(--cyan)}.booking,.panel{background:var(--panel);border:1px solid var(--edge);padding:30px}.booking h2{font-size:2.2rem;margin-bottom:7px}.ticket-row{display:flex;justify-content:space-between;gap:12px;border-top:1px solid var(--edge);padding:18px 0}.ticket-row strong{font:700 1.1rem Outfit,sans-serif}.ticket-row p{color:var(--muted);font-size:.84rem;margin:2px 0}.ticket-row small{font-size:.72rem;color:var(--cyan)}.ticket-buy{display:flex;align-items:center;gap:13px;white-space:nowrap}.ticket-buy b{font-size:1.05rem}.ticket-buy select{width:65px}.booking .button{width:100%;margin-top:18px}.booking .fine{margin:11px 0 0}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}form label{display:block;color:#ddd9e5;font-size:.9rem;font-weight:700;margin:14px 0}input,select,textarea{display:block;width:100%;background:#10111e;border:1px solid #424259;color:#fff;padding:12px 13px;border-radius:2px;font:inherit;margin-top:6px}input:focus,select:focus,textarea:focus{outline:2px solid var(--accent);outline-offset:1px}textarea{resize:vertical;min-height:80px}.notice,.success{border:1px solid #ca8b3b;background:#4b321738;padding:15px 18px;margin:19px 0}.success{border-color:#4abbad;background:#11555132}.admission{display:flex;justify-content:space-between;gap:15px;align-items:center;padding:23px;margin:15px 0;border:1px solid var(--accent);background:linear-gradient(115deg,#2a1735,#171b31)}.admission div{display:flex;flex-direction:column;gap:4px}.admission small{color:var(--cyan);letter-spacing:.15em}.admission strong{font:800 1.4rem Outfit,sans-serif}.admission code{color:var(--accent);font-size:1rem;word-break:break-all}.embedded{background:transparent}.embedded main{background:#111220;padding:25px;max-width:720px;margin:auto;border:1px solid var(--edge)}.embedded .embed-title h1{font-size:2rem;margin:0}.embedded .embed-title p{color:var(--muted)}.embedded .booking{border:0;background:transparent;padding:14px 0 0}.embedded .booking h2{font-size:1.7rem}.embedded .booking .section-label{display:none}.widgets{margin-top:35px}.widget-img{max-width:100%;height:auto}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.gallery img{width:100%;height:190px;object-fit:cover}.admin-shell{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1500px;margin:35px auto;padding:0 25px;gap:35px}.sidebar{background:#141522;border:1px solid var(--edge);padding:26px;align-self:start;position:sticky;top:20px}.sidebar h2{font-size:1.75rem}.sidebar nav{display:grid;gap:4px}.sidebar nav>a,.link-button{padding:10px 8px;color:#d4d2df;display:block}.sidebar nav>a:hover,.link-button:hover{color:var(--accent)}.sidebar form{margin-top:20px;border-top:1px solid var(--edge)}.link-button{background:transparent;border:0;font:inherit;text-align:left;cursor:pointer}.admin-top{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:10px 0 28px}.admin-top h1{font-size:3rem;margin:0}.admin-main .panel{margin-bottom:22px}.admin-main h2{font-size:1.8rem}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;margin-bottom:25px}.stats>div,.stats>a{border:1px solid var(--edge);background:var(--panel);padding:22px}.stats>a:hover{border-color:var(--accent)}.stats small{display:block;font-size:.65rem;letter-spacing:.12em}.stats strong{display:block;font:800 2rem Outfit,sans-serif;margin-top:12px;color:var(--accent)}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;text-align:left}th,td{padding:13px 12px;border-bottom:1px solid var(--edge);vertical-align:top}th{font-size:.72rem;letter-spacing:.1em;color:var(--muted);text-transform:uppercase}td{font-size:.9rem}td a{color:var(--cyan)}.status{display:inline-block;padding:3px 8px;border-radius:2px;background:#334256}.check{display:flex;align-items:center;gap:12px}.check input{width:auto;margin:0}.checks{margin:25px 0}.checks>div{border-bottom:1px solid var(--edge);padding:7px 0;display:flex;justify-content:space-between}.checks strong{color:var(--cyan)}.install h2{font-size:1.6rem;margin-top:40px}.login{padding-top:12vh}.login form{max-width:450px}.editor{border:1px solid var(--edge);margin-bottom:20px}.toolbar{display:flex;gap:3px;padding:8px;border-bottom:1px solid var(--edge)}.toolbar button,.widget-head button{background:#2b2c40;border:1px solid #535365;color:white;padding:7px 11px;cursor:pointer}.edit-area{background:#10111e;min-height:230px;padding:20px;outline:0}.edit-area:focus{box-shadow:inset 0 0 0 2px var(--accent)}.copy-field{font-family:monospace;font-size:.85rem}.widget-actions{display:flex;gap:8px;flex-wrap:wrap;margin:20px 0}.widget-card{border:1px solid var(--edge);padding:18px;margin:15px 0;background:#10111e}.widget-head{display:flex;align-items:center;gap:9px}.widget-head strong{margin-right:auto}.gallery-picker{max-height:180px;overflow:auto}.gallery-picker label{display:flex;gap:10px;align-items:center;margin:4px 0}.gallery-picker input{width:auto}.media-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.media-card{background:var(--panel);padding:10px}.media-card img{width:100%;height:135px;object-fit:cover}.media-card small{overflow-wrap:anywhere}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(max-width:980px){.event-grid{grid-template-columns:repeat(2,1fr)}.event-layout{gap:30px}.admin-shell{grid-template-columns:1fr}.sidebar{position:static}.sidebar nav{display:flex;flex-wrap:wrap}.stats{grid-template-columns:repeat(2,1fr)}}
@media(max-width:680px){.site-header{height:auto;padding:18px 20px;gap:16px;flex-wrap:wrap}.site-header nav{gap:16px}.container{padding-inline:20px}.hero{min-height:550px}.hero-content{padding:65px 20px}.hero-content h1{font-size:3.2rem}.hero-side{display:none}.event-grid,.event-hero,.event-layout,.form-grid,.stats{grid-template-columns:1fr}.event-hero{gap:25px}.event-grid{gap:15px}.site-footer{padding:25px 20px}.banner{padding:45px 20px}.banner>span{display:none}.booking,.panel{padding:20px}.media-grid{grid-template-columns:repeat(2,1fr)}.admin-shell{padding:0 12px}.admin-top{flex-wrap:wrap}.admission{flex-direction:column;align-items:start}.gallery{grid-template-columns:repeat(2,1fr)}}
@media print{.site-header,.site-footer,.print-button,.back,.notice{display:none!important}body{background:white;color:black}.admission{background:white;color:black;break-inside:avoid;border:2px solid black}.admission code,.admission small{color:black}.container{padding:0}.narrow{max-width:none}}

.home-extras{padding-bottom:90px}
.widget-columns{display:grid;gap:24px;margin:26px 0;align-items:start}
.widget-columns-1{grid-template-columns:minmax(0,1fr)}
.widget-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.widget-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.widget-column{min-width:0;overflow-wrap:anywhere}
.widget-column>*:first-child{margin-top:0}
.widget-column figure{margin:0 0 20px}
.widget-column .gallery{grid-template-columns:repeat(2,minmax(0,1fr))}
.widget-column .gallery img{height:135px}
.widget-tile{min-width:0;padding:24px;background:var(--panel);border:1px solid var(--edge);margin:18px 0}
.widget-tile h3{font-size:clamp(1.25rem,2vw,1.7rem);margin:0 0 14px;color:var(--text)}
.widget-tile .rich>*:last-child{margin-bottom:0}
.widget-divider{border:0;border-top:2px solid var(--accent);opacity:.8;margin:32px 0}
.widget-slot{border:1px dashed #56556c;padding:14px;margin-top:15px;min-width:0}
.widget-slot h4{margin:0 0 9px}
.widget-slot .widget-card{margin:10px 0}
.widget-slot .widget-actions{margin:12px 0 0}
.widget-slot .widget-actions .button{padding:8px 10px;font-size:.78rem}
.widget-rich-field{margin:15px 0}
.widget-rich-field>strong{display:block;margin-bottom:7px}
.widget-rich-editor .edit-area{min-height:105px;padding:12px}
@media(max-width:780px){.widget-columns-2,.widget-columns-3{grid-template-columns:minmax(0,1fr)}}
.guest-action{padding:8px 11px;font-size:.78rem;margin-top:8px}.confirm-revoke .link-button{color:#ff8d9c;padding:7px 0}.admin-main td code{color:var(--cyan);font-size:.86rem}
.ticket-mark{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:174px}.qr-code{width:166px;height:166px;padding:0;background:#fff}.qr-code svg{display:block;width:100%;height:100%}.ticket-mark code{font-size:.87rem;text-align:center}.scanner-panel #scan-video{display:block;max-width:460px;width:100%;max-height:420px;margin:18px auto 0;border:2px solid var(--accent);background:#10111e}.scanner-panel #scan-video[hidden]{display:none}.scanner-panel #scan-status{color:var(--cyan)}.scan-result{border-color:var(--accent)}.scan-result h2{margin:4px 0 14px}.scan-result code{color:var(--cyan)}.scan-result form{margin-top:20px}
@media print{.ticket-mark{min-width:170px}.qr-code{width:165px;height:165px}.qr-code svg{width:100%;height:100%}.ticket-mark code{color:#000!important}}
.role-links{display:flex;flex-wrap:wrap;gap:8px;margin:16px 0 24px}.permission-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:20px 0}.permission-grid fieldset{border:1px solid var(--edge);min-width:0;padding:14px 18px}.permission-grid legend{font-weight:800;color:var(--cyan);padding:0 5px}.permission-grid .check{margin:9px 0;font-weight:500;line-height:1.3}@media(max-width:680px){.permission-grid{grid-template-columns:1fr}}
/* Global floating header and editable footer */
.site-header{position:sticky;top:14px;z-index:100;max-width:1240px;width:calc(100% - 32px);height:auto;min-height:74px;margin:14px auto 0;padding:12px 25px;display:flex;align-items:center;gap:24px;border:1px solid #ffffff30;border-radius:15px;background:#171827ed;box-shadow:0 18px 48px #0506119a;backdrop-filter:blur(16px)}
.site-header .brand{flex:0 0 auto;max-width:240px;min-width:0;line-height:1.1}.site-header .brand span:last-child{overflow-wrap:anywhere}.site-header nav{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:10px 22px;margin-left:auto}.site-header nav a{white-space:nowrap;font-size:.86rem}.site-header .header-widgets{display:flex;align-items:center;gap:12px;min-width:0}.site-header .header-widgets>p,.site-header .header-widgets>.rich{margin:0}.site-header .header-widgets h2{font-size:1rem;margin:0}.site-header .header-widgets .gallery{margin:0;grid-template-columns:repeat(3,50px)}.site-header .header-widgets .gallery img{height:50px}.site-header .header-widgets .widget-img{max-width:120px;max-height:60px;object-fit:contain}
.site-footer{display:block;border-top:1px solid var(--edge);margin-top:80px;padding:50px max(30px,calc((100vw - var(--max))/2)) 25px;background:#121320;color:var(--muted)}.footer-columns{display:grid;gap:38px;max-width:var(--max);margin:auto}.footer-columns-1{grid-template-columns:1fr}.footer-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.footer-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.footer-column{min-width:0}.footer-column h2{font-size:1.55rem;color:var(--text)}.footer-column p{margin-top:0}.footer-bottom{max-width:var(--max);margin:30px auto 0;padding-top:20px;border-top:1px solid var(--edge);font-size:.85rem}
.radio-player{display:flex;align-items:center;gap:13px;max-width:420px;min-width:220px;min-height:72px;padding:10px;border:1px solid #5b375c;border-radius:10px;background:#241d35;color:var(--text)}.radio-toggle{flex:0 0 40px;width:40px;height:40px;padding:0;display:grid;place-items:center;background:var(--accent);border:0;border-radius:50%;font-size:1.1rem;color:#160f1b;cursor:pointer}.radio-art{width:48px;height:48px;flex:0 0 48px;display:grid;place-items:center;background:#46214d;border-radius:5px;color:var(--cyan);font-size:1.7rem;overflow:hidden}.radio-art img{width:100%;height:100%;object-fit:cover}.radio-info{display:flex;flex-direction:column;min-width:0;line-height:1.25;gap:3px}.radio-info strong{font-size:.84rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.radio-live{font-size:.62rem;letter-spacing:.12em;color:var(--accent);font-weight:800}.radio-status,.radio-apple{font-size:.67rem;color:var(--muted)}.radio-apple{color:var(--cyan)}.radio-apple[hidden]{display:none!important}.header-widgets .radio-player{min-width:220px;max-width:300px}.footer-column .radio-player{max-width:100%}
.menu-editor-row{display:grid;grid-template-columns:minmax(130px,1fr) minmax(145px,1.2fr) minmax(160px,1.5fr) auto auto auto;align-items:center;gap:8px;margin:10px 0}.menu-editor-row input,.menu-editor-row select{margin:0}.menu-editor-row input[hidden]{visibility:hidden}.menu-editor-row .button{padding:10px}.footer-column-editor{border:1px solid var(--edge);padding:20px;margin:18px 0;background:#10111e}.footer-column-editor[hidden]{display:none!important}.footer-column-editor h3{margin:0}.footer-column-editor .edit-area{min-height:150px}
@media(max-width:1100px){.site-header{flex-wrap:wrap}.site-header .header-widgets{flex-basis:100%;justify-content:flex-end}.menu-editor-row{grid-template-columns:1fr 1fr auto auto auto}.menu-editor-row input[hidden]{display:none}.menu-editor-row input:not([hidden]){grid-column:1/-1}}
@media(max-width:680px){.site-header{top:8px;width:calc(100% - 16px);margin:8px auto 0;padding:13px;gap:12px}.site-header nav{order:3;flex-basis:100%;justify-content:flex-start;margin:0;gap:8px 18px}.site-header .header-widgets{order:4;justify-content:flex-start}.site-header .brand img{max-height:48px;max-width:195px}.footer-columns-2,.footer-columns-3{grid-template-columns:1fr}.site-footer{padding:38px 20px 22px}.menu-editor-row{grid-template-columns:1fr 1fr auto auto auto}.menu-editor-row input:first-child,.menu-editor-row select{grid-column:1/-1}.radio-player{min-width:0}}
.sidebar{top:110px}.radio-apple img{display:block;width:auto;height:24px;max-width:100%;object-fit:contain}.radio-apple{display:inline-block;align-self:flex-start;margin-top:2px}.radio-apple[hidden]{display:none!important}
/* Header columns and logo sizing */
.site-header{display:grid;align-items:center;gap:18px 25px}.site-header.header-columns-1{grid-template-columns:minmax(0,1fr)}.site-header.header-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header.header-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.site-header .header-column{min-width:0;display:flex;flex-wrap:wrap;align-items:center;gap:10px 18px}.site-header .header-column nav{display:flex;justify-content:flex-start;margin:0;min-width:0}.site-header .header-column .brand{max-width:100%;min-width:0;flex:0 1 auto}.site-header .header-column .brand-image{width:min(100%,var(--header-logo-width,220px))}.site-header .header-column .brand-image img{display:block;width:100%;height:auto;max-width:none;max-height:190px;object-fit:contain;object-position:left center}
.site-header .header-column .header-widgets{display:flex;flex-wrap:wrap;justify-content:flex-start;flex-basis:auto;gap:10px;min-width:0}.site-header .header-column .header-widgets>*{min-width:0}.site-header .header-column .header-widgets .radio-player{max-width:100%;min-width:180px}.site-header .header-column .header-widgets .rich p{margin:0}
.header-column-editor{border:1px solid var(--edge);padding:18px;margin:16px 0;background:#10111e}.header-column-editor[hidden]{display:none!important}.header-column-editor h4{margin:0 0 12px;font-size:1.1rem}.header-column-editor .widget-actions{margin:12px 0}.site-header + main [id]{scroll-margin-top:145px}
@media(max-width:1050px){.site-header.header-columns-3{grid-template-columns:1fr 1fr}.site-header.header-columns-3 .header-column:last-child{grid-column:1/-1}}
@media(max-width:680px){.site-header.header-columns-2,.site-header.header-columns-3{grid-template-columns:1fr}.site-header.header-columns-3 .header-column:last-child{grid-column:auto}.site-header .header-column nav,.site-header .header-column .header-widgets{order:initial;flex-basis:auto}.site-header .header-column .brand-image img{max-height:135px}.site-header .header-column .header-widgets .radio-player{max-width:100%}}

/* The public mobile bar stays mounted while the menu opens and pages change. */
.site-header{display:block}
.mobile-header-bar{display:none}
.site-header .header-columns-wrap{display:grid;align-items:center;gap:18px 25px;width:100%}
.site-header .header-columns-wrap.header-columns-1{grid-template-columns:minmax(0,1fr)}
.site-header .header-columns-wrap.header-columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.site-header .header-columns-wrap.header-columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}
.sidebar-logo{display:block;margin-bottom:23px;max-width:100%}
.sidebar-logo img{display:block;max-width:100%;max-height:90px;width:auto;height:auto;object-fit:contain;object-position:left center}
@media(max-width:1050px){.site-header .header-columns-wrap.header-columns-3{grid-template-columns:repeat(2,minmax(0,1fr))}.site-header .header-columns-wrap.header-columns-3 .header-column:last-child{grid-column:1/-1}}
@media(max-width:680px){
 .site-header{padding:12px 16px}
 .mobile-header-bar{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%}
 .mobile-header-bar .brand{max-width:calc(100% - 60px);min-width:0}
 .mobile-header-bar .brand-image{width:min(calc(100% - 60px),var(--header-logo-width,220px))}
 .mobile-header-bar .brand-image img{display:block;width:100%;height:auto;max-width:none;max-height:54px;object-fit:contain;object-position:left center}
 .mobile-menu-toggle{display:flex;flex:0 0 44px;width:44px;height:44px;flex-direction:column;align-items:center;justify-content:center;gap:5px;border:1px solid #ffffff5c;border-radius:7px;background:#202134;color:#fff;cursor:pointer}
 .mobile-menu-toggle span{display:block;width:19px;height:2px;background:currentColor;border-radius:2px}
 .mobile-menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
 .site-header .header-columns-wrap{display:none;padding-top:17px;margin-top:12px;border-top:1px solid var(--edge)}
 .site-header .header-columns-wrap.is-open{display:flex;flex-direction:column;align-items:stretch;gap:15px}
 .site-header .header-column{display:flex;flex-direction:column;align-items:stretch;gap:14px}
 .site-header .header-column .brand{display:none}
 .site-header .header-column nav{display:flex;flex-direction:column;align-items:stretch;gap:0}
 .site-header .header-column nav a{display:block;white-space:normal;padding:10px 4px}
 .site-header .header-column .header-widgets{justify-content:flex-start;max-width:100%}
 .site-header .header-column .header-widgets .radio-player{min-width:0;width:100%}
}
@media print{.mobile-header-bar{display:none!important}}
.ticket-row .ticket-urgency{color:var(--accent);font-weight:800}
.voucher-entry{margin:20px 0;padding:18px;border:1px solid var(--edge);border-radius:4px;background:var(--panel2)}
.voucher-entry label{display:block}.voucher-entry input{width:100%;max-width:360px;text-transform:uppercase}
.voucher-entry .button{margin-top:10px}.voucher-entry [data-voucher-message]{margin:10px 0 0;min-height:1.4em}

/* Base frame; listing and individual event artwork override this separately. */
.event-card>.event-artwork,.event-hero>.event-artwork{
 position:relative;display:block;width:100%;height:auto;min-width:0;
 aspect-ratio:2480/3508;overflow:hidden;background:#161624;
 border:1px solid var(--edge)
}
.event-hero>.event-artwork{max-width:520px;justify-self:end}
/* Let the uploaded poster set the frame height while keeping the frame width. */
.event-hero>.event-artwork:not(.event-artwork-placeholder){aspect-ratio:auto}
/* Only the empty event page poster uses the original portrait proportions. */
.event-hero>.event-artwork.event-artwork-placeholder{aspect-ratio:2480/3508}
.event-hero .event-artwork img.event-artwork-image,
.event-card .event-artwork img.event-artwork-image{
 position:absolute;inset:0;display:block;width:100%;height:100%;
 object-fit:contain;object-position:center;border:0
}
.event-hero .event-artwork img.event-artwork-image{
 position:static;inset:auto;width:100%;height:auto
}
.event-card>.event-artwork-placeholder,.event-hero>.event-artwork-placeholder{
 display:flex;flex-direction:column;justify-content:center;align-items:center;
 padding:clamp(16px,4vw,48px);text-align:center;
 background:linear-gradient(145deg,#54145b,#141c38 70%,#0c5767)
}
.event-artwork-placeholder strong{
 font:900 clamp(1.35rem,3vw,3.4rem)/1.05 Outfit,Arial,sans-serif;
 overflow-wrap:anywhere;letter-spacing:.03em
}
.event-artwork-placeholder span{font-size:clamp(2.5rem,6vw,6rem);line-height:1.1;color:var(--accent)}
@media(max-width:680px){.event-hero>.event-artwork{max-width:100%;justify-self:center}}

/* Square listing artwork and full-size landscape event artwork keep their proportions. */
.event-card{min-width:0}
.event-card>.event-artwork-card{height:auto;aspect-ratio:1/1}
.gallery img,.media-card img{object-fit:contain;background:#161624}
.event-image-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:28px 0}
.event-image-field{min-width:0;padding:18px;border:1px solid var(--edge);background:#111220}
.event-image-field h3{margin:0 0 10px}
.event-image-preview{display:block;max-width:100%;max-height:240px;width:auto;height:auto;object-fit:contain;margin:15px 0;background:#161624}
@media(max-width:680px){.event-image-fields{grid-template-columns:1fr}}
.inline-form{display:inline-block;margin:0}
.inline-form .button{padding:7px 10px;font-size:.8rem;white-space:normal}
.archive-pages{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 0}
.account-nav{display:flex;flex-wrap:wrap;align-items:center;gap:10px 23px;margin:8px 0 28px}
.account-nav a{color:var(--cyan);font-weight:700}
.account-nav form{margin:0}
.account-nav .link-button{padding:0;color:var(--muted)}
.customer-page .panel{margin:20px 0}
.account-order{display:flex;flex-direction:column;gap:3px;padding:17px 0;border-top:1px solid var(--edge)}
.account-order:first-of-type{border-top:0}
.account-order span,.account-order small{color:var(--muted)}
.account-order a{color:var(--cyan);font-weight:800;margin-top:4px}

/* CMS navigation collapses when the content no longer has room beside the sidebar. */
.sidebar-toggle{display:none}
.cms-nav-group{border-bottom:1px solid var(--edge);padding:3px 0}
.cms-nav-group summary{padding:10px 8px;cursor:pointer;color:#e9e4f1;font-weight:800;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:12px}
.cms-nav-group summary::-webkit-details-marker{display:none}
.cms-nav-group summary:after{content:'+';color:var(--cyan);font-size:1.1rem;line-height:1}
.cms-nav-group[open] summary:after{content:'−'}
.cms-nav-group summary:hover,.cms-nav-group summary:focus-visible{color:var(--accent)}
.cms-nav-links{display:grid;gap:2px;padding:0 0 7px 8px}
.cms-nav-links a{display:block;padding:8px 10px;color:#d4d2df;border-radius:3px}
.cms-nav-links a:hover{color:var(--accent)}
.sidebar nav .cms-account-link{margin-top:12px}
.sidebar nav a[aria-current="page"]{color:var(--accent);font-weight:800;background:#e744b512;border-radius:3px}
@media(max-width:1100px){
 .admin-shell{grid-template-columns:minmax(0,1fr);gap:16px}
 .admin-shell .sidebar{position:sticky;top:8px;z-index:20;padding:14px 18px;min-width:0}
 .sidebar-heading{display:flex;align-items:center;gap:14px;min-height:48px}
 .sidebar-heading .sidebar-logo{max-width:100px;flex:0 1 100px;margin:0}
 .sidebar-heading .sidebar-logo img{max-height:46px}
 .sidebar-heading-text{min-width:0;flex:1}
 .sidebar-heading-text .section-label{display:block;font-size:.64rem;margin:0 0 3px}
 .sidebar-heading-text h2{font-size:1.35rem;margin:0}
 .cms-menu-js .sidebar-toggle{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-width:88px;min-height:44px;padding:8px 10px;border:1px solid var(--edge);border-radius:3px;background:var(--panel2);color:var(--text);font:700 .85rem Outfit,Arial,sans-serif;cursor:pointer}
 .sidebar-toggle:hover{border-color:var(--accent)}
 .sidebar-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:3px}
 .sidebar-toggle-icon{display:grid;gap:4px;width:20px}
 .sidebar-toggle-icon span{display:block;width:20px;height:2px;border-radius:2px;background:currentColor}
 .admin-shell .sidebar nav{display:grid;gap:3px;max-height:min(68vh,600px);overflow-y:auto;overscroll-behavior:contain;margin-top:12px;border-top:1px solid var(--edge);padding-top:9px}
 .cms-menu-js .admin-shell .sidebar nav{display:none}
 .cms-menu-js .admin-shell .sidebar.is-open nav{display:grid}
 .admin-shell .sidebar nav>a{padding:9px 12px}
 .admin-shell .sidebar form{margin-top:8px}
}
@media(max-width:680px){
 .admin-shell .sidebar{top:6px;padding:12px}
 .sidebar-heading .sidebar-logo{max-width:76px;flex-basis:76px}
 .sidebar-heading-text h2{font-size:1.16rem}
 .cms-menu-js .sidebar-toggle{min-width:44px}
 .sidebar-toggle-label{display:none}
}
.booking-total{border:1px solid var(--edge);background:var(--panel);padding:12px 16px;margin-top:18px}.booking-total>div{display:flex;justify-content:space-between;gap:15px;padding:5px 0}.booking-total>div:last-child{border-top:1px solid var(--edge);margin-top:6px;padding-top:10px;font-weight:800}.booking-total strong{white-space:nowrap}.booking-total>div:last-child strong{color:var(--accent)}

[data-payment-plan]{margin:18px 0;padding:16px;border:1px solid var(--edge);background:var(--panel)}
[data-plan-schedule]{max-height:200px;overflow:auto;padding-left:24px;margin:8px 0}
[data-plan-schedule] li{padding:4px 0;font-size:.9rem}

/* Event sharing: the direct links work without JavaScript. */
.event-share{margin:36px 0 48px;padding:24px;border:1px solid var(--edge);background:var(--panel);border-radius:6px}
.event-share-heading{display:flex;align-items:end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:18px}
.event-share-heading .section-label{margin:0 0 8px}
.event-share-heading h2{font-size:clamp(1.55rem,2.6vw,2.25rem);margin:0}
.event-share-heading p{margin:0;color:var(--muted)}
.event-share-links{display:flex;flex-wrap:wrap;gap:10px}
.event-share-link{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:9px 13px;border:1px solid var(--edge);border-radius:5px;background:var(--panel2);color:var(--text);font:700 .88rem Outfit,Arial,sans-serif;line-height:1.25;cursor:pointer;transition:border-color .15s,background-color .15s,transform .15s}
.event-share-link:hover,.event-share-link:focus-visible{color:var(--text);border-color:var(--share-color,var(--accent));background:#282a3c;transform:translateY(-2px)}
.event-share-link:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.event-share-link img{display:block;width:22px;height:22px;filter:invert(1);flex:none}
.event-share-glyph{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:23px;line-height:1}
.event-share-enhanced{display:none}
.event-share.share-ready .event-share-enhanced:not([hidden]){display:inline-flex}
.event-share [hidden]{display:none!important}
.event-share-help{margin:16px 0 0;color:var(--muted);font-size:.84rem}
.event-share-status{margin:8px 0 0;min-height:1.3em;color:var(--accent);font-size:.85rem}
.share-facebook{--share-color:#1877f2}.share-x{--share-color:#f6f4fa}.share-whatsapp{--share-color:#25d366}
.share-linkedin{--share-color:#0a66c2}.share-pinterest{--share-color:#e60023}.share-reddit{--share-color:#ff4500}
.share-telegram{--share-color:#26a5e4}.share-threads{--share-color:#f6f4fa}.share-bluesky{--share-color:#1185fe}
.share-instagram{--share-color:#e4405f}.share-tiktok{--share-color:#25f4ee}.share-snapchat{--share-color:#fffc00}.share-discord{--share-color:#5865f2}
@media(max-width:680px){.event-share{padding:18px}.event-share-link{flex:1 1 calc(50% - 10px)}.event-share-heading p{width:100%}}
@media print{.event-share{display:none!important}}

/* Keep the share tile aligned with the booking form in the event sidebar. */
.event-sidebar{min-width:0}
.event-sidebar .event-share{margin:20px 0 0;padding:20px}
.event-sidebar .event-share-links{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}
.event-sidebar .event-share-link{min-width:0;justify-content:flex-start}
.event-sidebar .event-share-heading{align-items:start}
