/* RITM Tickets 115 — a dedicated, full-screen ticket workspace. */
html[data-theme] body:has(#ritm-events.open){overflow:hidden!important}
html[data-theme] #ritm-events.open{position:fixed!important;inset:0!important;width:100%!important;height:100dvh!important;max-width:none!important;z-index:110!important;display:grid!important;grid-template-rows:72px minmax(0,1fr);background:#090909!important;color:#fafafa;isolation:isolate;--tx:#fafafa;--mu:#b8b8c0;--card:#17171b;--bg:#090909;--ui-border:#303037}
body:has(#ritm-events.open)>:is(header,.hero,#arts,#s1,#rows,#shelves,#s2,#chips,#grid,.home-events,.home-ticket-entry,footer){visibility:hidden!important}
html[data-theme] #ritm-events>.vh{width:100%;max-width:none;padding:12px max(20px,calc((100vw - 1160px)/2));background:#101013;border-bottom:1px solid #303037;display:flex;align-items:center;gap:18px}
html[data-theme] #ritm-events>.vh b{font-size:20px;letter-spacing:.02em}
html[data-theme] #ritm-events>.ev-wrap{width:100%;max-width:1200px;min-height:0;overflow-y:auto;padding:28px 24px 64px;margin:0 auto;font-size:16px;line-height:1.5}
#ritm-events .ev-tabs{display:flex;align-items:flex-start;gap:12px;overflow:visible;border-bottom:1px solid #303037;margin-bottom:32px;padding-bottom:18px;position:relative;z-index:5}
#ritm-events .ev-tabs>button{flex:0 1 auto;font:700 15px/1.3 system-ui;padding:14px 22px;min-height:50px;border-radius:12px}
#ritm-events .ev-tabs>button[aria-selected=true]{background:#b42340;border-color:#b42340}
#ritm-events .ev-tools-menu{margin-left:auto;position:relative;min-width:190px}
#ritm-events .ev-tools-menu summary{cursor:pointer;padding:14px 16px;border:1px solid #303037;border-radius:12px;font-weight:650;font-size:14px}
#ritm-events .ev-tools-menu>div{position:absolute;right:0;top:58px;width:265px;padding:16px;background:#1b1b20;box-shadow:0 18px 48px #0009;border:1px solid #3b3b44;border-radius:16px}
#ritm-events .ev-tools-menu p{font-size:13px;color:#b8b8c0;margin:0 0 12px}
#ritm-events .ev-tools-menu button{width:100%;display:block;text-align:left;margin:6px 0;padding:13px;font-size:14px}
#ritm-events .ev-heading,#ritm-events .ev-workspace-header h1{font-size:clamp(30px,4vw,46px);letter-spacing:-.035em;color:#fff;margin:8px 0 10px;line-height:1.12}
#ritm-events .ev-intro{font-size:17px;margin:0 0 28px;max-width:650px}
#ritm-events .ev-filters{max-width:760px;margin-top:28px;gap:12px}
#ritm-events .ev-category-filter{max-width:380px;display:grid;gap:8px;font-size:13px;color:#b8b8c0}
#ritm-events select{min-height:48px;background:#17171b;color:#fff;border:1px solid #393940;border-radius:10px;padding:12px;font:inherit}
#ritm-events .ev-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:24px;margin-top:28px}
#ritm-events .ev-card{width:100%;min-width:0;border-radius:18px;background:#17171b;border:1px solid #303037;transition:transform .18s,border-color .18s}
#ritm-events .ev-card:hover{transform:translateY(-3px);border-color:#b42340}
#ritm-events .ev-card img,#ritm-events .ev-card>.ev-art{aspect-ratio:16/10;object-fit:contain;background:#20131a;font-size:32px}
#ritm-events .ev-card-body{padding:20px}#ritm-events .ev-card h3{font-size:25px;color:#fff;margin:12px 0 10px}
#ritm-events .ev-meta{font-size:14px;line-height:1.7}
.ev-card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;margin-top:20px;border-top:1px solid #ffffff1c;padding-top:16px;font-size:13px}
.ev-card-cta{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:11px 16px;background:#b42340;color:#fff;border-radius:10px;font-size:14px;font-weight:750}
#ritm-events .ev-pill{background:#b4234026;color:#ff8da4}
#ritm-events .ev-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;font-size:15px;line-height:1.3}
#ritm-events .ev-btn svg{width:20px;height:20px;flex:none}
#ritm-events .ev-detail{max-width:900px;margin:0 auto;display:flex;flex-direction:column;gap:18px}
#ritm-events .ev-detail>.ev-detail-art{max-height:380px;aspect-ratio:16/8;object-fit:contain;background:#21131a;border:1px solid #303037;border-radius:20px;order:0}
#ritm-events .ev-detail>h1{font-size:clamp(32px,5vw,48px);line-height:1.1;margin:8px 0 0;order:1}
#ritm-events .ev-detail>.ev-pill{align-self:flex-start;order:2}#ritm-events .ev-detail>.ev-meta{order:3;margin:0}#ritm-events .ev-detail>.ev-category-label{order:4}#ritm-events .ev-detail>.ev-facts{order:5;background:#17171b;padding:22px}
#ritm-events .ev-booking-panel{order:6;background:#17171b;border:1px solid #b42340;border-radius:20px;padding:26px;box-shadow:0 10px 40px #0003}
#ritm-events .ev-booking-panel>small{font-size:12px;font-weight:800;letter-spacing:.14em;color:#ff8da4}
#ritm-events .ev-booking-panel h2{font-size:25px;margin:6px 0 22px}
#ritm-events .ev-booking-panel .ev-reserve{display:flex;align-items:end;gap:18px;flex-wrap:wrap}
#ritm-events .ev-booking-panel label{display:grid;gap:8px;min-width:140px}
#ritm-events .ev-booking-panel .ev-btn{min-width:200px}
#ritm-events .ev-detail>.ev-description{order:7;line-height:1.8;margin:4px 0;white-space:pre-wrap}
#ritm-events .ev-detail>.ev-help{order:6;padding:18px;background:#17171b;border-radius:12px}
#ritm-events .ev-detail>.ev-share{order:8;margin:0;padding:0;border:0;background:none}
#ritm-events .ev-detail>.ev-management{order:9;border-top:1px solid #303037;padding-top:26px;margin-top:18px}
#ritm-events .ev-detail>.ritm-sale-tools{order:10;border-top:1px solid #303037;padding:24px 0}
#ritm-events .ev-workspace{max-width:none}#ritm-events .ev-workspace-header{align-items:center;margin-bottom:28px}
#ritm-events .ev-workspace-stats{gap:16px;margin:24px 0}#ritm-events .ev-workspace-stats article{padding:20px;border-radius:16px;background:#17171b}
#ritm-events .ev-workspace-stats strong{font-size:32px}#ritm-events .ev-organizer-actions{padding:16px;gap:10px}
#ritm-events .ev-ticket-list{max-width:800px;margin:24px auto}#ritm-events .ev-ticket-summary{padding:20px}#ritm-events .ev-ticket-summary strong{font-size:22px}
#ritm-events .ev-empty{grid-column:1/-1;width:100%;box-sizing:border-box;padding:36px;text-align:center}
#ritm-events .ev-status:empty{display:none}
@media(max-width:900px){#ritm-events .ev-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){html[data-theme] #ritm-events.open{grid-template-rows:64px minmax(0,1fr)}html[data-theme] #ritm-events>.ev-wrap{padding:20px 16px 48px}#ritm-events .ev-tabs{flex-wrap:wrap;gap:8px;margin-bottom:24px}#ritm-events .ev-tabs>button{flex:1;padding:13px 10px;font-size:13px}#ritm-events .ev-tools-menu{margin:0;width:100%;min-width:0}#ritm-events .ev-tools-menu summary{padding:10px 12px;font-size:13px}#ritm-events .ev-tools-menu>div{width:100%;box-sizing:border-box;top:48px}#ritm-events .ev-grid{grid-template-columns:1fr;gap:18px}#ritm-events .ev-card img,#ritm-events .ev-card>.ev-art{aspect-ratio:16/9}#ritm-events .ev-booking-panel{padding:20px}#ritm-events .ev-booking-panel .ev-reserve>*{width:100%}#ritm-events .ev-workspace-header{align-items:stretch;flex-direction:column}#ritm-events .ev-workspace-stats{grid-template-columns:repeat(2,1fr)}#ritm-events .ev-detail>.ev-detail-art{aspect-ratio:4/3}}
@media(prefers-reduced-motion:reduce){#ritm-events .ev-card{transition:none}}

/* Exactly three primary destinations. Gate tools belong to Organizer. */
#ritm-events .ev-tabs>button{flex:1;max-width:300px}
#ritm-events .ev-staff-tools{margin:0 0 24px;border:1px solid #303037;border-radius:14px;padding:16px 20px;background:#17171b}
#ritm-events .ev-staff-tools summary{cursor:pointer;font-weight:700}
#ritm-events .ev-staff-tools p{color:#b8b8c0;font-size:14px}
@media(max-width:600px){#ritm-events .ev-tabs{flex-wrap:nowrap}#ritm-events .ev-tabs>button{font-size:13px;padding:12px 8px;min-width:0;white-space:normal}}
/* 116: organizer tools are a workspace, public details are a purchase page. */
#ritm-events [hidden]{display:none!important}
#ritm-events .rt-organizer{max-width:1100px;margin:auto}
#ritm-events .rt-organizer h1{font-size:clamp(28px,4vw,42px);line-height:1.15;letter-spacing:-.03em;margin:6px 0;overflow-wrap:anywhere}
.rt-section-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}
.rt-section-head h2,.rt-section-head h3{margin:0;overflow-wrap:anywhere}
.rt-workspace-tabs,.rt-filter-tabs{display:flex;gap:8px;overflow-x:auto;padding:8px 0 18px;margin:22px 0;border-bottom:1px solid #303037}
.rt-workspace-tabs button,.rt-filter-tabs button{background:#17171b;color:#b8b8c0;min-height:46px;padding:12px 18px;border:1px solid #303037;border-radius:12px;font:650 14px/1.3 system-ui;white-space:nowrap;cursor:pointer}
.rt-workspace-tabs button[aria-selected=true],.rt-filter-tabs button[aria-pressed=true]{background:#b42340;color:white;border-color:#b42340}
.rt-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:14px;margin:24px 0}
.rt-metrics article{border:1px solid #303037;border-radius:16px;padding:20px;background:#17171b;min-width:0}
.rt-metrics small{display:block;color:#b8b8c0;font-size:13px;line-height:1.5}.rt-metrics strong{display:block;font-size:34px;line-height:1.3;margin-top:12px;color:white}
.rt-finance,.rt-action-group,.rt-order{background:#17171b;border:1px solid #303037;border-radius:18px;padding:24px;margin:18px 0}
.rt-finance dl,.rt-order-facts{display:grid;grid-template-columns:1fr auto;gap:14px 24px;margin:22px 0}
.rt-finance dd,.rt-order-facts dd{margin:0;text-align:right;font-weight:750;overflow-wrap:anywhere}
.rt-finance dt,.rt-order-facts dt{color:#b8b8c0}
.rt-badge{display:inline-block;border:1px solid #b4234066;background:#b4234026;color:#ff9cb0;border-radius:30px;padding:7px 12px;font-size:12px;font-weight:750;white-space:nowrap}
.rt-search{display:flex;flex:1;gap:10px}.rt-search .ev-search{min-width:0}
.rt-table-wrap{overflow:auto;border:1px solid #303037;border-radius:16px}
.rt-table-wrap table{width:100%;border-collapse:collapse;min-width:650px;font-size:14px;background:#17171b;text-align:left}
.rt-table-wrap th{padding:16px;background:#212127;color:#b8b8c0;font-weight:600}.rt-table-wrap td{padding:18px 16px;border-top:1px solid #303037;vertical-align:top}
.rt-table-wrap td small{display:block;margin-top:5px;font-size:12px;color:#b8b8c0;overflow-wrap:anywhere}
.rt-orders{margin:48px auto 0;max-width:900px;border-top:1px solid #303037;padding-top:28px}
.rt-order>small{display:block;color:#b8b8c0;overflow-wrap:anywhere}.rt-refund-status{border-left:3px solid #b42340;background:#b4234015;padding:14px 18px;line-height:1.7;border-radius:4px}
.rt-dialog{width:min(600px,calc(100vw - 32px));box-sizing:border-box;max-height:90dvh;overflow:auto;border:1px solid #43434b;border-radius:20px;padding:28px;background:#17171b;color:#fafafa;font:16px/1.6 system-ui;box-shadow:0 20px 90px #0009}
.rt-dialog::backdrop{background:#000b;backdrop-filter:blur(5px)}.rt-dialog-head{display:flex;justify-content:space-between;align-items:start;gap:16px}.rt-dialog-head h2{margin:0;font-size:26px;line-height:1.2}
.rt-dialog form label{display:grid;gap:10px;margin:22px 0}.rt-dialog textarea{padding:14px;border:1px solid #43434b;border-radius:10px;font:inherit;background:#101013;color:#fff;resize:vertical;width:100%;box-sizing:border-box}
.rt-dialog .ev-secondary{color:#fafafa;border-color:#43434b}.rt-dialog [role=status]{color:#ff9cb0}
#ritm-events .rt-checkout{max-width:none;gap:20px}
.rt-tier-options{display:grid;gap:12px}#ritm-events .ev-booking-panel .rt-tier{display:flex;align-items:center;gap:14px;min-width:0;padding:18px;border:1px solid #43434b;border-radius:14px;cursor:pointer}
#ritm-events .rt-tier:has(input:checked){border-color:#ff6689;background:#b423401a}#ritm-events .rt-tier:has(input:disabled){opacity:.45;cursor:default}
.rt-tier input{accent-color:#b42340;flex:none;width:19px;height:19px}.rt-tier>span{flex:1}.rt-tier b,.rt-tier small{display:block}.rt-tier small{color:#b8b8c0;font-size:12px;margin-top:5px}.rt-tier strong{font-size:20px;white-space:nowrap}
.rt-checkout-total{display:flex;align-items:center;justify-content:space-between;gap:16px;border-top:1px solid #43434b;padding-top:20px}.rt-checkout-total strong{font-size:28px}
#ritm-events .rt-get-ticket{width:100%;min-height:56px;font-size:18px}
.rt-management-note{color:#b8b8c0;font-size:14px}
#ritm-events :is(button,input,select,textarea,summary):focus-visible,.rt-dialog :is(button,input,textarea):focus-visible{outline:3px solid #ff8da4;outline-offset:3px}
#ritm-events .ev-btn:disabled{opacity:.5;cursor:not-allowed}
@media(max-width:900px){.rt-metrics{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.rt-section-head{align-items:flex-start;flex-wrap:wrap}.rt-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.rt-metrics article{padding:16px}.rt-metrics strong{font-size:29px}.rt-workspace-tabs{margin-top:18px}.rt-finance,.rt-action-group,.rt-order{padding:18px}.rt-order .ev-actions{display:grid;grid-template-columns:1fr}.rt-search{width:100%;flex-basis:100%}#ritm-events .ev-filters:has(.rt-search){flex-wrap:wrap}.rt-dialog{padding:20px}.rt-order-facts{grid-template-columns:1fr;gap:6px}.rt-order-facts dd{text-align:left;margin-bottom:10px}.rt-tier strong{font-size:17px}.rt-checkout-total strong{font-size:24px}}
@media print{
 body>*:not(#ritm-events){display:none!important}
 html[data-theme] body:has(#ritm-events.open){overflow:visible!important;background:white!important}
 html[data-theme] #ritm-events.open{position:static!important;display:block!important;height:auto!important;overflow:visible!important;background:white!important;color:black!important}
 html[data-theme] #ritm-events>.ev-wrap{display:block!important;overflow:visible!important;max-width:700px!important;padding:0!important;width:100%!important}
 #ritm-events>.vh,#ritm-events .ev-tabs,#ritm-events .ev-wrap>:not(.ev-pass):not(.ev-ticket-info){display:none!important}
 #ritm-events .ev-pass{max-width:640px!important;margin:0 auto!important;break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact;box-shadow:none!important}
 #ritm-events .ev-ticket-info{color:black!important;background:white!important;font-size:12px;break-inside:avoid}
}
/* 117: remove the underlying home document from layout while Tickets is open.
   Keep dialog/share/toast surfaces and the audio element available. */
html[data-theme]:has(#ritm-events.open){height:100%;overflow:hidden!important}
html[data-theme] body:has(#ritm-events.open){box-sizing:border-box;min-height:0!important;height:100dvh!important;max-height:100dvh!important;padding:0!important;margin:0!important;overflow:hidden!important}
body:has(#ritm-events.open)>:not(#ritm-events):not(dialog):not(#ov):not(.toast):not(audio):not(script):not(style):not(link){display:none!important}
body:has(#ritm-events.open)>#ov{z-index:170!important}
body:has(#ritm-events.open)>.toast{z-index:180!important}
@media print{html[data-theme]:has(#ritm-events.open){height:auto!important;overflow:visible!important}html[data-theme] body:has(#ritm-events.open){height:auto!important;max-height:none!important;overflow:visible!important}}
