.page-gig main { max-width:none;padding:0;margin:0; }
.event-heading { background:var(--gg-bg-hero);padding:24px 26px 32px; }
.event-heading-inner { max-width:1080px;margin:0 auto; }
.event-back { display:inline-flex;align-items:center;gap:8px;min-height:32px;margin-bottom:16px;color:var(--gg-text-3);font-size:13px;text-decoration:none; }
@media(hover:hover) and (pointer:fine) { .event-back:hover { color:white; } }
.event-tags { display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:12px; }
.event-tags>span { font:600 11px/1.4 var(--gg-font-display);letter-spacing:.08em;text-transform:uppercase;padding:4px 9px;border-radius:var(--gg-radius);border:1px solid var(--gg-border); }
.event-date-tag { background:var(--gg-surface);color:var(--gg-text-2); }
.event-category-tag { color:var(--category-color,var(--gg-text-2));background:var(--gg-surface);border-color:var(--category-color,var(--gg-border))!important; }
.event-heading h1 { font-size:clamp(30px,4.4vw,52px);font-weight:700;letter-spacing:-.035em;line-height:1.02;margin:0 0 12px;text-wrap:balance;overflow-wrap:anywhere; }
.event-heading-meta { font-size:16.5px;color:var(--gg-text-2);margin:0; }
.event-heading-meta a { color:inherit; }
.gig-time-note { display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere; }
.event-detail-grid { max-width:1080px;margin:0 auto;padding:32px 26px 48px;grid-template-columns:minmax(0,1fr) 316px;gap:24px;align-items:start; }
.event-story { min-width:0; }
.event-story>.event-art { height:320px;min-height:320px;max-height:320px;margin-bottom:16px; }
.event-story .gig-description { font-size:16.5px;line-height:1.6;color:var(--gg-text-2);margin:0 0 20px; }
.event-stats { display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:1px;background:var(--gg-border);border:1px solid var(--gg-border);border-radius:var(--gg-radius);overflow:hidden;margin:0 0 24px; }
.event-stats>div { background:var(--gg-surface);padding:13px 15px; }
.event-stats dt { font:500 10px/1.4 var(--gg-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gg-text-3);margin-bottom:4px; }
.event-stats dd { margin:0;font-size:15px;font-weight:600; }
.event-where h2 { font-size:20px;margin:0 0 12px;letter-spacing:-.02em; }
.event-venue-card { background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius);padding:16px;margin-bottom:24px; }
.event-venue-card h3 { font-size:18px;font-weight:600;margin:0 0 3px; }
.event-venue-card h3 a { color:var(--gg-text-1); }
.event-venue-card p { font-size:14px;color:var(--gg-text-3);margin:0 0 12px;overflow-wrap:anywhere; }
.event-secondary { display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;border:1px solid var(--gg-border);background:var(--gg-bg);color:var(--gg-text-2);font:600 13.5px/1.4 var(--gg-font-display);padding:9px 14px;border-radius:var(--gg-radius);text-decoration:none;margin:4px 4px 0 0; }
@media(hover:hover) and (pointer:fine) { .event-secondary:hover { background:var(--gg-surface-3);color:white; } }
.event-booking { position:sticky;top:145px;padding:16px; }
.event-booking h2 { font-size:25px;letter-spacing:-.03em;margin:0 0 12px; }
.event-booking .ticket-button { min-height:48px;margin-bottom:8px;line-height:1.4; }
.event-booking .ticket-note { font-size:12.5px;color:var(--gg-text-3);line-height:1.5; }
.event-source-wrap { max-width:1080px;margin:0 auto;padding:24px 26px 32px; }
.event-source { border-top:1px solid var(--gg-border);padding-top:14px; }
.event-source p { font-size:12px; }
.event-share { border-top:1px solid var(--gg-border);margin-top:16px;padding-top:12px; }
.event-share button { width:100%; }
.event-share p { margin:8px 0 0;font-size:12.5px; }
.event-share:has(button[hidden]) { display:none; }
.event-ticket-bar { display:none; }
@media(max-width:999px) { .event-back,.event-secondary,.event-share button { min-height:44px; } }
@media(max-width:999px) { .event-detail-grid { grid-template-columns:minmax(0,1fr); }.event-booking { position:static; } }
@media(max-width:999px) {
 .page-gig:has(.event-ticket-bar) { padding-bottom:calc(144px + env(safe-area-inset-bottom)); }
 .page-gig:has(.event-ticket-bar)>.mobile-nav { display:none; }
 .event-ticket-bar { position:fixed;inset:auto 0 0;z-index:80;display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:8px 12px;background:#121212f7;backdrop-filter:blur(12px);border-top:1px solid var(--gg-border);padding:12px 16px calc(12px + env(safe-area-inset-bottom)); }
 .ticket-bar-summary { grid-column:1/-1;display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0; }
 .ticket-bar-time { display:flex;flex-direction:column;flex:1;min-width:0;font:600 13px/1.5 var(--gg-font-display); }
 .ticket-bar-time span { color:var(--gg-text-3);font-size:12px; }
 .ticket-bar-action { display:grid;gap:8px;min-width:0; }
 .ticket-bar-action .ticket-button { display:flex;min-height:48px;justify-content:center;align-items:center;padding:8px 12px;font-size:14px;line-height:1.3;text-align:center; }
 body:has(#area-dialog[open]) .event-ticket-bar { display:none; }
}

.event-related h2 { font-size:20px;font-weight:700;letter-spacing:-.02em;margin:0 0 12px; }
.related-rows { display:flex;flex-direction:column;gap:8px;margin-bottom:16px; }
.event-related .gig-result { display:flex;flex-wrap:wrap;align-items:center;gap:12px 16px;margin:0;padding:10px 14px; }
.event-related .event-date { width:44px;flex:none; }
.event-related .event-art { flex:none; }
.event-related .event-copy { flex:1 1 160px;min-width:0; }
.event-related .save-gig { margin-left:auto; }
.event-related .row-details { flex:none; }

/* Event actions share one icon, label and arrow grid; tickets remain primary. */
.page-gig .event-booking :is(.booking-action,.ticket-button[data-booking-action]),.page-gig .event-ticket-bar :is(.booking-action,.ticket-button[data-booking-action]) { display:grid;grid-template-columns:18px minmax(0,1fr) 18px;align-items:center;gap:10px;width:100%;min-height:56px;margin:0;padding:8px 12px;border-radius:var(--gg-radius);font:600 13.5px/1.4 var(--gg-font-display);text-align:left;text-decoration:none; }
.page-gig .booking-action-label { min-width:0;overflow-wrap:anywhere; }
.page-gig :is(.booking-action,.ticket-button[data-booking-action])>.ui-icon { width:18px;height:18px; }
.page-gig :is(.booking-action,.ticket-button[data-booking-action])>span:last-child { text-align:right; }
.event-booking .booking-action-stay { border:1px solid var(--gg-border-strong);background:var(--gg-surface);color:var(--gg-text-1);margin-top:16px!important; }
.event-booking .booking-action-stay>span:last-child { color:#d8bd75; }
@media(hover:hover) and (pointer:fine) { .event-booking .booking-action-stay:hover { background:var(--gg-surface-3);border-color:var(--gg-text-3); } }
.event-booking .booking-action-stay:active { background:var(--gg-surface-3); }
.page-gig .event-ticket-bar .ticket-button[data-booking-action=compact] { min-height:48px;grid-template-columns:16px minmax(0,1fr) 12px;gap:6px;padding-inline:8px; }
.page-gig .event-ticket-bar .ticket-button[data-booking-action=compact]>.ui-icon { width:16px;height:16px; }

/* Spec 17: the fixed compact action is the gig's sole visible ticket button. */
@media(max-width:999px) {
 .page-gig:has(.event-ticket-bar) .event-booking .ticket-button[data-booking-action=primary] { display:none; }
}

/* Seller artwork is local and sized before it loads. */
.ticket-seller-mark { display:flex;align-items:center;justify-content:center;gap:10px;min-height:24px;margin:10px 0 14px;color:var(--gg-text-2);font:400 12px/1.2 var(--gg-font-body); }
.ticket-seller-mark img { flex:none;display:block;object-fit:contain; }
.ticket-seller-mark-ticketmaster img { width:101px;height:18px; }
.ticket-seller-mark-moshtix img { width:72px;height:48px; }
.event-booking .ticket-seller-mark { justify-content:flex-start;margin:0 0 12px; }
@media(max-width:999px) {
 .page-gig:has(.event-ticket-bar) .event-booking .ticket-seller-mark { display:none; }
 .event-ticket-bar .ticket-seller-mark { flex:none;justify-content:flex-end;gap:8px;margin:0;min-height:18px;font-size:12px;line-height:16px;white-space:nowrap; }
}
@media(max-width:360px) {
 .event-ticket-bar { padding-inline:12px; }
}

/* The compact ticket action also covers the stacked tablet/landscape layout. */
@media(min-width:760px) and (max-width:999px) {
 .page-gig:has(.event-ticket-bar) { padding-bottom:calc(108px + env(safe-area-inset-bottom)); }
 .event-ticket-bar { grid-template-columns:minmax(0,1fr) 48px minmax(220px,1fr); }
 .ticket-bar-summary { grid-column:auto; }
}
@media(max-height:480px) {
 .page-gig main>.seo-breadcrumbs { margin-block:0;padding-block:6px; }
 .event-heading { padding-block:12px 16px; }
 .event-back,.event-tags { margin-bottom:8px; }
 .event-heading h1 { font-size:clamp(26px,3vw,34px);line-height:1.1;margin-bottom:8px; }
 .event-heading-meta { font-size:15px; }
}
