/* Owner-provided allocation snapshot; not a live inventory counter. */
.ticket-dock__scarcity { color:#ffc67d; font-size:14px; font-weight:650; line-height:1.4; margin:0; }
.ticket-claim-status { color:#ffc67d; font-size:16px; font-weight:700; line-height:1.5; margin:0 0 18px; }
#brx-header .ticket-announcement__context { font-size:14px; letter-spacing:.045em; }
html:has(.ticket-invitation[open]) { overflow:hidden; scrollbar-gutter:stable; }
.ticket-invitation:not([open]) { display:none; }
.ticket-invitation { position:fixed; inset:0; padding:0; margin:auto; width:min(780px, calc(100% - 40px)); max-width:none; max-height:calc(100dvh - 40px); overflow:auto; border:1px solid #42403c; border-radius:16px; background:#141414; color:#fff; box-shadow:0 24px 80px #0008; font-family:inherit; }
.ticket-invitation[open] { display:block; }
.ticket-invitation::backdrop { background:#000a; backdrop-filter:blur(6px); -webkit-backdrop-filter:blur(6px); }
.ticket-invitation__layout { display:grid; grid-template-columns:40% 60%; }
.ticket-invitation__visual { position:relative; min-height:410px; overflow:hidden; background:#111; }
.ticket-invitation__photo { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; object-position:35% center; }
.ticket-invitation__visual::after { content:''; position:absolute; inset:0; background:linear-gradient(#0006, transparent 35%, #0007); }
.ticket-invitation__logo { position:absolute; z-index:1; top:28px; left:24px; width:calc(100% - 48px); height:auto; }
.ticket-invitation__caption { position:absolute; z-index:1; bottom:24px; left:24px; color:#fff; font-size:12px; font-weight:650; letter-spacing:.025em; }
.ticket-invitation__content { display:flex; flex-direction:column; justify-content:center; padding:56px 34px 30px; }
.ticket-invitation__eyebrow { margin:0 0 20px; color:#b5aea5; font-size:12px; font-weight:650; letter-spacing:.075em; }
.ticket-invitation__title { margin:0 0 22px; color:#fff; font-size:32px; font-weight:750; line-height:1.15; letter-spacing:-.025em; }
.ticket-invitation__title span { display:block; color:#f4a13f; }
.ticket-invitation__description { margin:0 0 26px; color:#c1beb9; font-size:16px; line-height:1.6; }
.ticket-invitation__claim { display:flex; align-items:center; justify-content:center; width:100%; min-height:54px; padding:14px 18px; border:0; border-radius:6px; background:#f2a03c; color:#17110a; font-size:16px; font-weight:750; line-height:1.35; text-decoration:none; }
.ticket-invitation__claim:hover { background:#ffb455; color:#17110a; }
.ticket-invitation__dismiss { display:block; min-height:44px; margin:8px auto 0; padding:8px 16px; background:transparent; color:#b9b5af; border:0; font:inherit; font-size:14px; cursor:pointer; }
.ticket-invitation__close { position:absolute; top:12px; right:12px; z-index:2; display:grid; place-items:center; width:40px; height:40px; padding:0; border:1px solid #ffffff26; border-radius:50%; background:#141414; color:#ddd; cursor:pointer; }
.ticket-invitation__close svg { width:18px; height:18px; }
.ticket-invitation__close:hover, .ticket-invitation__dismiss:hover { color:#fff; }
.ticket-invitation :is(button,a):focus-visible { outline:2px solid #f7bd77; outline-offset:3px; }
@media (max-width:680px) {
 .ticket-invitation { width:min(420px, calc(100% - 32px)); max-height:calc(100dvh - 32px); border-radius:12px; }
 .ticket-invitation__layout { display:block; }
 .ticket-invitation__visual { display:block; min-height:0; height:clamp(132px, 40vw, 168px); }
 .ticket-invitation__photo { object-position:center 35%; }
 .ticket-invitation__visual::after { background:linear-gradient(180deg, #0006, #0000 48%, #141414); }
 .ticket-invitation__logo { top:22px; left:22px; width:min(210px, calc(100% - 94px)); }
 .ticket-invitation__caption { bottom:15px; left:22px; font-size:11px; letter-spacing:.05em; }
 .ticket-invitation__close { background:#141414dc; border-color:#ffffff40; }
 .ticket-invitation__content { padding:22px 24px 18px; }
 .ticket-invitation__eyebrow { margin-bottom:14px; font-size:11px; letter-spacing:.04em; }
 .ticket-invitation__title { margin-bottom:16px; font-size:clamp(26px, 7.5vw, 32px); }
 .ticket-invitation__description { margin-bottom:22px; line-height:1.5; }
 .ticket-invitation__description br { display:none; }
}
@media (max-width:600px) {
 #brx-header .ticket-announcement { flex-direction:column; gap:3px; padding-block:8px; }
 #brx-header .ticket-announcement__context { display:block; border:0; padding:0; font-size:13px; letter-spacing:0; }
 .ticket-dock__scarcity { font-size:14px; }
}
