/* Supplied v17 geometry. Region chooser content is intentionally preserved. */
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible { outline:2px solid var(--gg-link);outline-offset:2px; }
button,a.button,.row-details { transition:background-color 150ms,border-color 150ms,box-shadow 150ms,transform 100ms; }

.header-main { gap:16px; }
.home-hero .eyebrow { margin:0 0 8px; }
.home-hero .eyebrow:before { width:8px;height:8px;box-shadow:0 0 0 4px #78b29c29;animation:reference-pulse 2.4s ease-in-out infinite; }
.hero-title-slot { margin-bottom:10px;height:calc(clamp(36px,5vw,64px) * 1.3); }
.home-hero h1 { max-width:19ch;text-wrap:balance; }
.home-hero h1.results-title { max-width:100%;-webkit-line-clamp:1; }
.home-hero .lead { max-width:560px;margin:0 auto 22px;height:49.5px;font-size:16.5px;line-height:1.5;text-wrap:pretty; }
.page-search .home-hero .lead { max-width:680px; }
.discovery-form>.field { padding:10px 14px;min-height:60px; }
.discovery-form>.field { box-shadow:inset 0 0 0 1px #555; }
.discovery-form>.field>label,.discovery-form>.field>span:first-child { font-weight:400;color:var(--gg-text-2);margin-bottom:3px; }
.discovery-form>.field input { font-weight:600; }
.quick-links { gap:8px;margin-top:14px; }
.quick-links button { min-height:32px;height:32px;padding:0 14px;font-size:13px;font-weight:400; }
.section-heading { align-items:center;margin:0 0 16px; }
.section-heading h2 { font-size:24px;line-height:1.2;margin:0;letter-spacing:-.03em; }
.section-heading h2:before { content:'◷';font-weight:400;font-size:21px;color:var(--gg-accent-red);margin-right:8px; }
.section-heading .section-link { height:36px;min-height:36px;padding:0 14px;border:1px solid var(--gg-border);background:var(--gg-surface);color:var(--gg-text-2);border-radius:var(--gg-radius);font-size:13px; }
.page-home main>section:not(.discovery-hero) { margin-top:32px;margin-bottom:32px; }
.home-cards { gap:12px;grid-template-columns:repeat(4,minmax(0,1fr)); }
.card-art { position:relative; }.card-art .event-art { aspect-ratio:16/9;height:auto; }
.card-time { position:absolute;right:8px;bottom:8px;padding:2px 7px;border-radius:var(--gg-radius-xs);background:#000b;color:white;font:600 12px/1.6 var(--gg-font-display); }
.card-copy .card-eyebrow { font:500 10.5px/1.4 var(--gg-font-display);text-transform:uppercase;letter-spacing:.08em;color:var(--gg-text-3);margin:0 0 6px; }
.card-copy h3 { margin:0 0 5px; }.card-copy>p { font-size:13px;line-height:1.45;margin:0 0 9px;color:var(--gg-text-3); }
.card-meta { display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:12px; }
.gig-result { grid-template-columns:44px 96px minmax(0,1fr) 36px auto;gap:12px 16px; }
.gig-result>.event-art { width:96px;height:60px;min-height:0;aspect-ratio:16/10; }
.event-copy h3 { font-size:17.5px;line-height:1.2;letter-spacing:-.015em;margin:0 0 4px; }
.event-copy .venue { font-size:12.5px;line-height:1.5;margin:3px 0; }.event-copy .venue a { color:var(--gg-text-3);text-decoration:none; }
.event-type-tag { font-size:10px;line-height:1.4;border-color:color-mix(in srgb,var(--category-color) 33%,transparent);background:color-mix(in srgb,var(--category-color) 14%,transparent);padding:1px 6px; }
.results-sort { display:flex;justify-content:flex-end;align-items:center;gap:8px;margin-bottom:12px;font-size:13px; }
.results-sort select { width:auto;min-height:36px;height:36px;padding:4px 28px 4px 10px;font-size:13px;background:var(--gg-surface); }
.results-sort button { min-height:36px;height:36px;padding:0 12px;font-size:13px; }
.reference-footer.site-footer { display:block;max-width:none;margin:0;padding:32px 26px 38px;background:var(--gg-surface);border-top:1px solid var(--gg-border); }
.footer-columns { max-width:1220px;margin:auto;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px; }
.footer-columns nav { display:flex;flex-direction:column;gap:8px; }.footer-columns h2 { font:400 10.5px/1.5 var(--gg-font-display);letter-spacing:.1em;text-transform:uppercase;color:var(--gg-text-3);margin:0 0 4px; }
.footer-columns a,.footer-columns button { font-size:13.5px;color:var(--gg-text-2);text-decoration:none;background:none;border:0;padding:0;min-height:20px;justify-content:flex-start;text-align:left;font-weight:400; }
.footer-columns p { color:var(--gg-text-3);font-size:13.5px;line-height:1.5; }
.footer-columns .footer-wordmark { display:flex;gap:8px;align-items:center;font:700 17px/1.4 var(--gg-font-display);color:white; }.footer-wordmark span { display:grid;place-items:center;width:26px;height:26px;background:var(--gg-bg-hero);border-radius:var(--gg-radius); }
.footer-states { max-width:1220px;margin:28px auto 0;padding-top:20px;border-top:1px solid var(--gg-border);display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:24px; }.footer-states a { color:var(--gg-text-2);font:600 14px/1.5 var(--gg-font-display);text-decoration:none; }
.footer-bottom { max-width:1220px;margin:24px auto 0;padding-top:16px;border-top:1px solid var(--gg-border);display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font:400 11px/1.5 var(--gg-font-display);color:var(--gg-text-3); }
@keyframes reference-pulse { 50% { box-shadow:0 0 0 7px #78b29c00; } }
@media(max-width:999px) { .quick-links button,.results-sort select,.results-sort button,.section-heading .section-link { min-height:44px;height:44px; }.home-cards { grid-template-columns:repeat(2,minmax(0,1fr)); }.gig-result { grid-template-columns:38px 80px minmax(0,1fr) 44px auto;gap:12px; }.gig-result>.event-art { width:80px;height:50px; }.footer-columns { grid-template-columns:repeat(2,minmax(0,1fr)); }.footer-columns a,.footer-columns button,.footer-states a { min-height:44px;display:flex;align-items:center; } }
@media(max-width:759px) { .reference-footer.site-footer { padding-bottom:96px; }.gig-result { grid-template-columns:38px minmax(0,1fr); }.gig-result>.event-art { display:none; }.gig-result>.save-gig,.gig-result>.row-details { display:none; }.gig-result .event-copy h3 a:after { content:'';position:absolute;inset:0; }.gig-result .event-copy h3 a { position:static; }.footer-columns { gap:28px; } }
@media(max-width:559px) { .hero-title-slot { height:87.84px; }.home-hero .lead { height:99px;font-size:16.5px;-webkit-line-clamp:4; }.home-hero h1.results-title { font-size:23.04px;-webkit-line-clamp:2; }.home-cards { grid-template-columns:minmax(0,1fr); }.section-heading h2 { font-size:20px; }.section-heading .section-link { flex:none; }.footer-columns { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .home-hero .eyebrow:before { animation:none; }button,a.button,.row-details { transition:none; } }

.list-event-cta { background:white!important;color:var(--gg-on-light)!important;min-height:36px;padding:0 14px!important;border-radius:var(--gg-radius);display:inline-flex!important;align-items:center;gap:8px;font-weight:600;white-space:nowrap; }.list-short { display:none; }
.rainbow-label { display:inline-block;padding:3px 7px;border:1px solid var(--gg-border);border-radius:var(--gg-radius-xs);font:700 10.5px/1.4 var(--gg-font-display);text-transform:uppercase;letter-spacing:.12em;background:linear-gradient(90deg,#ff5f6d,#ffc371,#47e891,#3ec6ff,#e86cff);background-clip:text;color:transparent; }
.promoted-section .section-heading h2:before { display:none; }.promoted-section .section-heading h2 { display:flex;align-items:center;gap:12px;font-size:20px; }
.promotion-empty { min-height:190px;display:flex;flex-direction:column;justify-content:center;align-items:center;border:1px dashed var(--gg-border-strong);border-radius:var(--gg-radius);background:var(--gg-surface);color:var(--gg-text-3); }.promotion-empty p { margin:4px 0;font-size:13px; }
.ad-placeholder { margin:32px auto;width:min(970px,100%);height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius);color:var(--gg-text-3); }.ad-placeholder>span { font:500 10px/1.5 var(--gg-font-display);letter-spacing:.1em; }.ad-placeholder p { font:600 24px/1.4 var(--gg-font-display); }
.tonight-quick-filters { display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 0 12px; }.tonight-quick-filters>* { flex:none; }.tonight-quick-filters button { min-height:32px;height:32px;padding:0 12px;font-size:13px;white-space:nowrap; }
.availability-popover { width:min(390px,calc(100vw - 32px));padding:24px;background:var(--gg-surface);color:var(--gg-text-1);border:1px solid var(--gg-border);border-radius:var(--gg-radius);box-shadow:var(--gg-shadow-pop); }.availability-popover h2 { font-size:20px;margin:0; }.availability-popover::backdrop { background:#0008; }
.category-tiles { grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }.category-tiles button { min-height:100px;background:linear-gradient(140deg,color-mix(in srgb,var(--category-color) 20%,var(--gg-bg-hero)),var(--gg-bg-hero));border:1px solid var(--gg-border);align-items:flex-end; }.category-tile-copy { display:flex;flex-direction:column;gap:4px;color:white!important; }.category-tile-copy strong { font:600 16px/1.25 var(--gg-font-display); }.category-tile-copy small { font:400 10px/1.4 var(--gg-font-display);text-transform:uppercase;letter-spacing:.08em; }
.panel-eyebrow { font:500 10.5px/1.5 var(--gg-font-display);text-transform:uppercase;letter-spacing:.1em;color:var(--gg-text-3); }.newsletter-panel { display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:24px;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }.newsletter-panel h2 { margin:0;font-size:24px; }.newsletter-panel p { font-size:14px;color:var(--gg-text-3); }.newsletter-panel label { font-size:12px; }.newsletter-form { display:flex;gap:8px;margin:6px 0; }.newsletter-form input { min-width:0; }.newsletter-form button:disabled { opacity:.55;cursor:default; }
.industry-panels { display:grid;grid-template-columns:1fr 1fr;gap:24px; }.industry-panels article { padding:24px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface); }.industry-panels p { font-size:14px;line-height:1.5;color:var(--gg-text-2); }.industry-panels h3 { font-size:22px; }
.page-list-event main { max-width:none;padding:0; }.page-list-event .listing-heading>div,.submission-content { max-width:1120px;margin:auto; }.page-list-event h1 { max-width:24ch; }.submission-content { padding:32px 26px; }.submission-content h2 { margin:0 0 4px;font-size:20px; }.placement-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px; }.placement-grid article { padding:20px;display:flex;flex-direction:column;gap:12px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface); }.placement-grid strong { font:700 26px/1.2 var(--gg-font-display); }.placement-grid p { font-size:13.5px;line-height:1.5; }
.submission-layout { display:grid;grid-template-columns:1fr 296px;gap:24px;align-items:start; }.submission-layout form,.submission-layout aside { padding:24px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface); }.submission-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0; }.submission-fields label { font-size:12.5px; }.submission-fields input,.submission-fields textarea { display:block;margin-top:5px;width:100%; }.submission-fields textarea { background:var(--gg-surface-3);color:white;border:1px solid var(--gg-border);border-radius:var(--gg-radius);font:inherit;padding:12px; }.full-field { grid-column:1/-1; }
@media(max-width:999px) { .tonight-quick-filters button { height:44px;min-height:44px; }.category-tiles { grid-template-columns:repeat(3,minmax(0,1fr)); }.list-event-cta { min-height:44px; }.submission-layout { grid-template-columns:minmax(0,1fr); } }
@media(max-width:759px) { .newsletter-panel,.industry-panels,.placement-grid { grid-template-columns:minmax(0,1fr); }.category-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:559px) { .header-main { position:relative; }.header-main nav { display:flex;position:absolute;top:11px;right:0; }.header-main nav>*:not(.list-event-cta) { display:none; }.list-short { display:inline; }.list-long { display:none; }.list-event-cta { font-size:13px; }.promoted-section .section-heading { flex-wrap:wrap; }.promoted-section .section-heading h2 { font-size:18px; }.submission-fields { grid-template-columns:minmax(0,1fr); } }

.ui-icon { flex:none;vertical-align:middle; }.discovery-form>.field>label,.discovery-form>.field>span:first-child { display:flex;align-items:center;gap:8px; }.discovery-form>.field .ui-icon { width:14px;height:14px; }
.gig-result:has(.save-gig) { grid-template-columns:44px clamp(84px,9vw,120px) minmax(0,1fr) 36px auto; }.gig-result>.event-art { width:clamp(84px,9vw,120px);height:auto;aspect-ratio:16/10; }
.price-filter-section { border-top:1px solid var(--gg-border);padding-top:16px; }.price-filter-section h3 { font-size:13.5px; }.price-options { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px; }.price-options button { font-size:12px;min-height:30px;padding:4px 9px; }.price-options button[aria-pressed=true] { background:var(--gg-text-1);color:var(--gg-bg); }.price-options button:disabled { opacity:.5;cursor:default; }.price-filter-section label { font-size:12px; }.price-filter-section input { padding:0;min-height:24px; }.price-filter-section small { font-size:12px;line-height:1.4;display:block; }
.filter-clear { font-size:14px;color:var(--gg-link);min-height:44px;display:inline-flex;align-items:center; }
@media(max-width:999px) { .gig-result:has(.save-gig) { grid-template-columns:38px 84px minmax(0,1fr) 44px auto; }.price-options button { min-height:44px; } }
@media(max-width:759px) { .gig-result:has(.save-gig) { grid-template-columns:38px minmax(0,1fr); }.mobile-nav a,.mobile-nav button { flex-direction:column;gap:4px;font:600 11.5px/1 var(--gg-font-display); }.mobile-nav .ui-icon { width:20px;height:20px; }.filter-panel-footer .filter-clear { margin-right:auto; } }

.page-list-event main { margin:0; }.page-list-event .listing-heading .panel-eyebrow { font:400 11px/1.5 var(--gg-font-display);color:var(--gg-success);margin-bottom:12px; }.page-list-event .listing-heading h1 { font-size:clamp(28px,4vw,48px);line-height:1.03; }
.results-sort { min-height:44px; }.rainbow-label { background-size:200% 100%;animation:reference-shine 6s linear infinite; }@keyframes reference-shine { to { background-position:200% 50%; } }@media(prefers-reduced-motion:reduce) { .rainbow-label { animation:none; } }

.draft-actions { display:flex;gap:12px;flex-wrap:wrap; }.draft-actions button:disabled { opacity:.5;cursor:default; }

.row-details.row-more-info { background:transparent;color:var(--gg-text-2);border:1px solid var(--gg-border); }
@media(hover:hover) and (pointer:fine) {
 .row-details.row-more-info:hover { background:var(--gg-surface-3); }
}
.results-toolbar { display:flex;align-items:flex-start;gap:16px; }.results-toolbar .results-controls { min-width:0;flex:1;margin-bottom:0; }.results-toolbar .results-sort { flex:none;margin:0; }.results-time-note { font-size:12px;color:var(--gg-text-3);margin:8px 0 16px; }
@media(max-width:999px) { .results-toolbar { flex-wrap:wrap; }.results-toolbar .results-controls { flex-basis:100%; }.results-toolbar .results-sort { margin-left:auto; } }

/* Measured against v17: 120px desktop header and 80px search shell. */
.category-bar { padding-block:10px 9px; }
.discovery-form>.field { min-height:62px;height:62px;gap:0; }
.discovery-form>.field input { height:18px;min-height:18px;line-height:18px; }
.discovery-form>.field>span:empty { display:none; }
.find-button { height:62px; }.quick-links { margin-top:16px; }
@media(max-width:559px) { .find-button { height:48px; } }

/* v17 location field: two removable chips, one below 1000px, and +N opens the existing chooser. */
.location-chips { display:flex;align-items:center;gap:4px;min-width:0;min-height:24px; }
.location-chips button { margin:0;box-sizing:border-box;height:24px;min-height:24px;border-radius:var(--gg-radius);white-space:nowrap;line-height:1; }
.location-chip { flex:0 1 auto;min-width:0;max-width:130px;display:inline-flex;align-items:center;gap:4px;border:1px solid var(--gg-border-strong);background:var(--gg-surface);color:var(--gg-text-1);font-size:12.5px;font-weight:600;padding:0 8px; }
.location-chip>span:first-child { overflow:hidden;text-overflow:ellipsis; }
.location-chip>span:last-child { flex:none;font-size:18px;font-weight:400; }
@media(hover:hover) and (pointer:fine) {
 .location-chip:hover { background:#2a2a2a;border-color:var(--gg-text-1); }
}

.location-chips .location-more { flex:none;border:0;background:var(--gg-text-1);color:var(--gg-bg);font:700 12px var(--gg-font-display);padding:0 7px; }
.location-chips .location-add { flex:1 0 40px;text-align:left;border:0;background:transparent;color:var(--gg-text-3);font-size:15px;font-weight:600;padding:0 4px; }
@media(hover:hover) and (pointer:fine) {
 .location-chips .location-add:hover { color:white; }
}

.location-more-compact { display:none; }
.event-type-options .category-count { margin-left:auto;color:var(--gg-text-3);font-size:12px;font-variant-numeric:tabular-nums; }
@media(max-width:999px) { .location-chip-second,.location-more-desktop { display:none; }.location-more-compact { display:inline-flex;align-items:center; }.location-chips .location-chip { height:32px;min-height:32px;max-width:150px; }.location-chips .location-add,.location-chips .location-more { position:relative; }.location-chips .location-add:after,.location-chips .location-more:after { content:'';position:absolute;inset:-8px 0; }.discovery-form>.has-area-chips { padding-block:6px; }.location-chips { min-height:32px; } }

@media(max-width:759px) { .event-related .gig-result>.save-gig:not([hidden]) { display:inline-flex; } }

/* Remaining v17 screens: saved is a simple 1080px list; place hubs use a 300px side column. */
.page-saved .saved-content { max-width:1080px;padding:32px 26px 48px; }
.saved-content>h1 { font:700 32px/1.2 var(--gg-font-display);letter-spacing:-.035em;margin:0 0 6px; }
.saved-content>.section-heading { margin:0 0 20px; }.saved-content [data-saved-summary] { font-size:15px;color:var(--gg-text-3); }
.page-places .listing-heading { padding:32px 26px; }.page-places .listing-heading h1 { font-size:clamp(27px,3.6vw,42px);margin-bottom:8px; }
.page-place main { max-width:none;margin:0;padding:0; }
.city-sponsor-strip { background:var(--gg-surface);padding:9px 26px;text-align:center;font:400 11px/1.5 var(--gg-font-display);letter-spacing:.1em;text-transform:uppercase; }
.city-heading { background:var(--gg-bg-hero);padding:32px 26px; }.city-heading>div { max-width:1220px;margin:auto; }
.city-breadcrumb { font:400 11px/1.5 var(--gg-font-display)!important;letter-spacing:.08em;text-transform:uppercase;margin-bottom:12px!important;overflow-wrap:anywhere; }
.city-heading h1 { font:700 clamp(30px,4.2vw,50px)/1.03 var(--gg-font-display);letter-spacing:-.035em;margin:0 0 10px; }
.city-heading p { font-size:16px;line-height:1.55;color:var(--gg-text-3);margin:0 0 20px;max-width:640px; }
.city-shortcuts { display:flex;flex-wrap:wrap;gap:8px; }.city-shortcuts a,.city-shortcuts button { display:inline-flex;align-items:center;box-sizing:border-box;min-height:32px;padding:0 13px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);color:var(--gg-text-2);font:500 13px/1.4 var(--gg-font-display);text-decoration:none; }
.city-content { max-width:1220px;margin:auto;padding:26px 26px 48px; }.city-grid { display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:24px;align-items:start; }.city-main { min-width:0; }.city-main>section { margin-bottom:16px; }.city-main h2 { font-size:20px;letter-spacing:-.025em;margin:0 0 12px; }
.city-category-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:8px; }.city-category-grid button { width:100%;text-align:left;padding:12px;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }.city-category-grid strong { display:block;font-size:14.5px; }.city-category-grid small { display:block;font-size:10.5px;color:var(--gg-text-3);margin-top:3px; }
.city-about,.city-newsletter { padding:16px;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }.city-about h3 { font-size:17px;margin:0 0 8px; }.city-about p { font-size:14px;line-height:1.6;margin:0;color:var(--gg-text-2); }
.city-aside { display:flex;flex-direction:column;gap:12px; }.city-ad { min-height:260px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gg-text-3); }.city-ad span { font-size:10px;letter-spacing:.1em; }.city-ad p { font:700 22px var(--gg-font-display); }.city-newsletter { background:var(--gg-surface-3); }.city-newsletter p,.city-sponsor p { font-size:13px;line-height:1.5; }.city-newsletter button { width:100%;opacity:.5; }.city-newsletter small { display:block;margin-top:8px;font-size:12px;color:var(--gg-text-3); }.city-sponsor { padding:16px;border-radius:var(--gg-radius);background:var(--gg-bg-hero); }
.city-main .gig-result { display:flex;flex-wrap:wrap;gap:12px 16px; }.city-main .event-date { width:44px;flex:none; }.city-main .event-art { flex:none; }.city-main .event-copy { flex:1 1 160px;min-width:0; }.city-main .save-gig { margin-left:auto; }
@media(max-width:999px) { .city-shortcuts a,.city-shortcuts button { min-height:44px; } }
@media(max-width:899px) { .city-grid { grid-template-columns:minmax(0,1fr); } }
@media(max-width:759px) { .saved-content .gig-result>.save-gig:not([hidden]),.city-main .gig-result>.save-gig:not([hidden]) { display:inline-flex; } }

.quick-filter-menu { width:min(380px,calc(100vw - 52px));padding:16px;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius);color:var(--gg-text-1);box-shadow:var(--gg-shadow-pop); }.quick-menu-heading { display:flex;align-items:center;justify-content:space-between;margin-bottom:12px; }.quick-menu-heading h3 { font-size:16px;margin:0; }.quick-menu-heading button { min-height:32px;width:32px;padding:0; }.quick-menu-options { display:flex;gap:8px;flex-wrap:wrap; }.quick-menu-options button { min-height:44px;padding:0 14px; }.quick-filter-menu::backdrop { background:#0006; }

/* Header behaviour follows the original mini-search and navigation breakpoints. */
.page-home:not(.header-scrolled) .header-search,.page-search .header-search,.page-tonight .header-search,.page-timeframe .header-search,.page-list-event .header-search { display:none; }
.header-main .brand { margin-right:10px; }.header-main nav { flex:1;gap:12px;margin-left:0; }.header-main [data-saved-nav] { margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);padding:8px 11px; }
.category-all[aria-current=true]:before { content:'✓';background:none;border-radius:0;width:auto;height:auto;font-size:13px; }
.find-button { display:flex;align-items:center;justify-content:center;gap:8px; }
.footer-states nav { display:flex;flex-direction:column;gap:7px; }.footer-states nav>a { font-size:12.5px;font-weight:400;color:var(--gg-text-3); }.footer-states nav>.footer-state-name { font-size:13px;font-weight:600;color:var(--gg-text-2);margin-bottom:3px; }
@media(min-width:1000px) and (max-width:1399px) { :is(.page-gig,.page-venue,.page-place,.page-saved,.page-places,.page-home.header-scrolled) .header-main nav form { display:none; } }
@media(max-width:759px) { .header-main [data-saved-nav] { display:none; } }
@media(max-width:559px) { .header-main nav { flex:none; }.header-main .brand { margin-right:0; } }

:is(.page-gig,.page-venue,.page-place,.page-saved,.page-places,.page-list-event,.page-series) .category-bar { display:none; }
.header-search { max-width:340px;flex:1 1 200px; }.header-search .header-search-open { display:flex;align-items:center;gap:12px;width:100%;min-width:0;height:34px;padding:0 6px 0 14px;text-align:left;color:var(--gg-text-1); }.header-search-open>span:first-of-type { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:600; }.header-search-open .header-search-date { border-left:1px solid var(--gg-border);padding-left:12px;white-space:nowrap;color:var(--gg-text-2);font-size:14px;min-width:0;overflow:hidden;text-overflow:ellipsis; }.header-search-open .header-search-icon { display:grid;place-items:center;flex:none;margin-left:auto;width:30px;height:30px;border-radius:var(--gg-radius);background:white;color:var(--gg-on-light); }
.saved-empty { background:var(--gg-surface);border:1px dashed var(--gg-border);border-radius:var(--gg-radius);padding:32px;text-align:center; }.saved-empty h2 { font:600 20px/1.4 var(--gg-font-display);margin:0 0 6px; }.saved-empty p { font-size:14px;color:var(--gg-text-3);margin:0 0 16px; }.saved-empty button { font-size:14px;font-weight:600;padding:10px 16px; }.saved-storage-note { display:block;margin-top:12px;font-size:12px;color:var(--gg-text-3); }

/* Reference max-widths are content-box; include the 26px gutters in this project's border-box containers. */
main { min-height:0; }
.event-detail-grid,.venue-content,.page-saved .saved-content { max-width:1132px; }
.directory-content,.city-content { max-width:1272px; }
.submission-content { max-width:1172px; }
.saved-content>h1 { max-width:none;line-height:normal; }.saved-content [data-saved-summary] { margin:0;line-height:1.5; }
.saved-content>.section-heading { gap:12px; }.saved-storage-note { font-size:11px; }

.directory-state .section-heading h2:before { display:none; }.directory-state .section-heading { gap:12px; }.directory-state .section-heading h2 { flex:1;display:flex;align-items:center;gap:12px; }.directory-state .section-heading h2:after { content:'';height:1px;background:var(--gg-border);flex:1; }

.city-category-grid button { display:block; }
@media(max-width:759px) { .gig-result>.save-gig:not([hidden]) { display:inline-flex; } }

.promotion-slots { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px; }.promotion-slot { min-width:0;border:1px solid var(--gg-border);border-radius:var(--gg-radius);overflow:hidden;background:var(--gg-surface); }.promotion-slot-art { aspect-ratio:16/9;display:grid;place-items:center;background:var(--gg-surface-3);color:var(--gg-text-3);font:500 11px var(--gg-font-display);letter-spacing:.08em;text-transform:uppercase; }.promotion-slot>div:last-child { padding:14px; }.promotion-slot strong { font:600 16px var(--gg-font-display); }.promotion-slot p { font-size:12px;line-height:1.5;color:var(--gg-text-3);margin:6px 0 0; }
@media(max-width:999px) { .promotion-slots { grid-template-columns:repeat(2,minmax(0,1fr)); } }@media(max-width:559px) { .promotion-slots { grid-template-columns:minmax(0,1fr); } }

/* Remaining v17 listing and inactive advertising geometry. */
.submission-fields { grid-template-columns:repeat(auto-fit,minmax(min(218px,100%),1fr)); }
.submission-layout .listing-ad-positions { padding:16px; }.listing-ad-positions h2 { font-size:17px; }.ad-position-list { display:flex;flex-direction:column;gap:10px;font-size:13px;line-height:1.4;margin:12px 0 16px; }.listing-ad-positions button { width:100%; }.listing-ad-positions p { font-size:12px;color:var(--gg-text-3); }
@media(min-width:900px) { .submission-layout { grid-template-columns:minmax(0,1fr) 296px; } }
.reference-ad-space { position:relative;overflow:hidden;border:1px solid var(--gg-border);border-radius:var(--gg-radius);min-height:250px;background:var(--gg-surface);display:flex;flex-direction:column;justify-content:flex-end;gap:8px;padding:18px;color:var(--gg-text-2); }.reference-ad-space>span,.reference-ad-space>small { position:absolute;top:8px;font:500 10px/1.5 var(--gg-font-display);letter-spacing:.06em; }.reference-ad-space>span { left:8px; }.reference-ad-space>small { right:8px; }.reference-ad-space>strong { font:700 22px/1.08 var(--gg-font-display);letter-spacing:-.025em; }.reference-ad-space>p { font-size:13.5px;line-height:1.4;margin:0; }.in-feed-ad-space { min-height:120px;margin:18px 0; }.filter-ad-space { margin-top:12px; }
.event-booking { padding:0;background:transparent;border:0;display:flex;flex-direction:column;gap:12px;top:76px; }.event-booking-card { width:100%;padding:16px;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }.event-booking-card>.save-gig { width:100%;height:44px; }.event-share-actions { display:flex;gap:8px; }.event-share-actions button { flex:1;min-width:0;padding:9px;font-size:13px; }.event-owner-card { padding:16px;background:var(--gg-surface-3);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }.event-owner-card h3 { font-size:14.5px;margin:0 0 5px; }.event-owner-card p { font-size:12.5px;line-height:1.45;margin:0 0 11px; }.event-owner-card a { display:flex;margin:0;font-size:13px; }
@media(max-width:759px) { .filter-ad-space { display:none; } }

.weekend-cards { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(238px,100%),1fr));gap:12px; }.weekend-card { border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface);padding:16px; }
@media(hover:hover) and (pointer:fine) {
 .weekend-card:hover { background:var(--gg-surface-2); }
}
.weekend-card>a { display:flex;flex-direction:column;gap:8px;text-decoration:none;color:inherit; }.weekend-card time { font:400 11px var(--gg-font-display);letter-spacing:.08em;text-transform:uppercase;color:var(--gg-accent-blue); }.weekend-card h3 { font:600 18.5px/1.15 var(--gg-font-display);letter-spacing:-.02em;margin:0; }.weekend-card p { font-size:13.5px;color:var(--gg-text-3);margin:0; }.weekend-card-meta { display:flex;justify-content:space-between;gap:8px;margin-top:2px;padding-top:10px;border-top:1px solid var(--gg-surface-3);font-size:13px; }.festival-cards { grid-template-columns:repeat(auto-fill,minmax(min(190px,100%),1fr));gap:16px; }.festival-cards .event-card { border:0;background:transparent; }.festival-cards .event-art { aspect-ratio:1; }.festival-cards .card-time { display:none; }.festival-cards .card-copy { padding:12px 0 0; }
.category-tiles { grid-template-columns:repeat(auto-fit,minmax(min(172px,100%),1fr));gap:8px; }.category-tiles button { position:relative;overflow:hidden;background:var(--gg-surface);padding:16px;align-items:flex-start;text-align:left; }.category-tile-copy { max-width:62%;position:relative;z-index:1; }.category-art-placeholder { position:absolute;right:-10px;bottom:-8px;width:74px;height:74px;border-radius:var(--gg-radius);background:var(--gg-surface-3);transform:rotate(18deg);box-shadow:0 4px 14px #0006; }.category-tile-copy strong { font-size:17px; }
.browse-intro { font-size:13.5px;color:var(--gg-text-3);margin:0 0 13px; }.browse-region-grid { display:grid;grid-template-columns:repeat(auto-fit,minmax(min(196px,100%),1fr));gap:8px; }.browse-region-grid button { display:block;width:100%;height:100%;padding:14px;text-align:left;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }.browse-region-grid strong { display:block;font:600 16px var(--gg-font-display);letter-spacing:-.015em; }.browse-region-grid small { display:block;font:400 10.5px var(--gg-font-display);letter-spacing:.06em;margin-top:4px; }.browse-all { display:inline-flex;align-items:center;min-height:44px;font-size:14px;color:var(--gg-accent-blue); }

.page-list-event .listing-heading { padding-top:32px; }.page-list-event .listing-heading p:last-child { max-width:580px;font-size:16.5px;color:var(--gg-text-3); }.submission-content#placement { padding-bottom:0; }.placement-grid { grid-template-columns:repeat(auto-fit,minmax(min(252px,100%),1fr)); }.placement-grid strong { font-size:32px; }.placement-grid strong small { font-size:12px;font-weight:400; }.placement-grid article { min-height:280px; }.placement-grid article>a,.placement-grid article>.muted { margin-top:auto; }.submission-layout .listing-sidebar { padding:0;border:0;background:transparent;display:flex;flex-direction:column;gap:12px; }.listing-sidebar>div { padding:16px;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface); }.listing-sidebar>.listing-already { background:var(--gg-surface-3); }.listing-already h2 { font-size:17px; }.listing-already strong { display:block;font:700 26px var(--gg-font-display);margin-top:12px; }.listing-already p { font-size:13px;margin:4px 0 0;color:var(--gg-text-2); }.submission-fields label { font-weight:600; }.submission-fields input,.submission-fields textarea { background:#fff;color:#111;font-size:14.5px;padding:12px; }.submission-fields input::placeholder,.submission-fields textarea::placeholder { color:#767676; }.event-image-field>span { font-size:12.5px;font-weight:600; }.event-image-unavailable { min-height:120px;padding:22px 20px;display:flex;align-items:center;border:1px solid var(--gg-border);border-radius:var(--gg-radius);background:var(--gg-surface-3);color:var(--gg-text-3);font-size:13px;margin-top:5px; }

.footer-states form { margin:0; }.footer-states button { min-height:20px;border:0;background:none;padding:0;color:var(--gg-text-3);font:400 12.5px/1.5 var(--gg-font-display);text-align:left; }
@media(hover:hover) and (pointer:fine) {
 .footer-states button:where(:not(:disabled):not([aria-disabled=true])):hover { color:white; }
}
.placement-grid article>button { margin-top:auto; }.placement-grid article:last-child { background:var(--gg-bg-hero); }.featured-plan-label { color:var(--gg-accent-blue); }.placement-grid article .button { background:var(--gg-surface);color:var(--gg-text-1);border:1px solid var(--gg-border); }.placement-grid button:disabled { opacity:.5; }
@media(max-width:999px) { .footer-states button { min-height:44px; } }

.category-all[aria-current=true]:before { display:inline-block; }.distance-options { display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:16px 0 0;border:0; }.distance-options legend { font:400 10.5px var(--gg-font-display);letter-spacing:.12em;text-transform:uppercase;color:var(--gg-text-3);margin-bottom:12px; }.distance-options label { position:relative;display:block;margin:0; }.distance-options input { position:absolute;opacity:0;width:1px;height:1px; }.distance-options span { display:inline-flex;align-items:center;gap:8px;border:1px solid var(--gg-border);background:var(--gg-surface);color:var(--gg-text-2);font-size:13px;font-weight:600;padding:7px 12px;border-radius:var(--gg-radius);cursor:pointer; }.distance-options input:checked+span:before { content:'✓';color:var(--gg-success); }.distance-options input:focus-visible+span { outline:2px solid var(--gg-accent-blue);outline-offset:2px; }
@media(max-width:999px) { .distance-options span { min-height:44px; } }

.area-current-location { padding:8px 0 12px;border-bottom:1px solid var(--gg-border); }.area-current-location button { border:0;background:none;color:var(--gg-accent-blue);font-size:14px;padding:0;min-height:32px; }.area-current-location small { display:block;font-size:12px; }.report-event { color:var(--gg-accent-blue);background:none;border:0;padding:0;font-size:12.5px;min-height:36px; }

/* One entertainment backdrop across home and discovery results. */
.discovery-hero.home-hero:before { left:calc(50% - 50vw);right:calc(50% - 50vw);background:linear-gradient(180deg,rgba(8,9,10,.55),rgba(8,9,10,.66) 65%,var(--gg-bg) 100%),url('/assets/gigguide/hero.jpg') center 62% / cover no-repeat;box-shadow:none; }
.discovery-hero h1 { text-shadow:0 2px 24px rgba(0,0,0,.65); }
.discovery-hero .lead { color:var(--gg-text-1);text-shadow:0 1px 8px #000; }
.discovery-hero .discovery-form { background:rgba(25,25,25,.94); }
.discovery-hero .hero-shortcuts button { background:rgba(25,25,25,.92); }
.filter-update-status { margin:0;font-size:12px;line-height:1.4;color:var(--gg-text-2);flex-basis:100%; }
.filter-panel-footer:has(.filter-update-status) { flex-wrap:wrap; }
@media(max-width:559px) { .discovery-hero.home-hero:before { background-position:center,42% center; } }

/* Supplied v17 photography belongs to the twelve Browse what's on tiles. */
.category-tiles { grid-template-columns:repeat(6,minmax(0,1fr));gap:8px; }
.category-tiles form { min-width:0; }
.category-tiles button { position:relative;isolation:isolate;display:flex;align-items:flex-end;min-height:128px;aspect-ratio:16/10;padding:0;overflow:hidden;background:var(--gg-surface);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }
@media(hover:hover) and (pointer:fine) {
 .category-tiles button:where(:not(:disabled):not([aria-disabled=true])):hover { border-color:#5a5a5a; }
}

.category-tiles .category-tile-photo { position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(.9); }
.category-tiles button::after { content:'';position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,11,11,.05),rgba(11,11,11,.35) 45%,rgba(11,11,11,.88));pointer-events:none; }
.category-tiles button > span.category-tile-copy { position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-start;gap:4px;max-width:none;margin:0;padding:0 14px 12px;color:#fff;text-shadow:0 1px 8px #0008; }
.category-tiles .category-tile-copy strong { color:#fff;font:700 17px/1.15 var(--gg-font-display);letter-spacing:-.02em; }
.category-tiles .category-tile-copy small { color:var(--gg-primary-hover);font:600 10.5px/1.25 var(--gg-font-display);letter-spacing:.1em;text-transform:uppercase; }
@media(max-width:1099px) { .category-tiles { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:759px) { .category-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:359px) {
  .category-tiles button > span.category-tile-copy { padding:0 10px 10px; }
  .category-tiles .category-tile-copy small { font-size:9px;letter-spacing:.04em; }
}

/* Applied constraints remain visible; date shortcuts use the same selected meaning. */
.header-main nav button[data-date-shortcut][aria-pressed=true] { background:var(--gg-surface-3);color:var(--gg-text-1);border-color:var(--gg-accent-blue); }
.header-main nav button[data-date-shortcut]:before { visibility:hidden;content:'✓';margin-right:6px;color:var(--gg-accent-blue); }
.header-main nav button[data-date-shortcut][aria-pressed=true]:before { visibility:visible; }
.mobile-nav button[data-date-shortcut][aria-pressed=true] { background:var(--gg-surface-3);color:var(--gg-accent-blue);box-shadow:inset 0 3px var(--gg-accent-blue); }
.filter-summary-heading { display:flex;align-items:baseline;justify-content:space-between;gap:12px;font-size:13px; }
.filter-summary-heading strong { color:var(--gg-text-2);font-weight:600; }
.results-controls .active-filter-row { flex-wrap:wrap;height:auto;min-height:44px;overflow:visible;white-space:normal;mask-image:none;padding:0;gap:8px; }
.active-filter-row .active-filter { max-width:100%; }
.active-filter-row .active-filter button { height:auto;min-height:44px;max-width:100%; }
.active-filter-row .active-filter button>span:first-child { max-width:100%;white-space:normal;text-align:left;overflow-wrap:anywhere; }
.empty-filter-recovery { display:inline-flex;align-items:center;min-height:44px; }
/* List thumbnails reserve one frame regardless of source shape or missing media. */
.gig-result,.gig-result:not(:has(.save-gig)),.city-main .gig-result { display:grid;grid-template-columns:44px 144px minmax(0,1fr);min-height:128px; }
.gig-result:has(.save-gig),.city-main .gig-result:has(.save-gig) { grid-template-columns:44px 144px minmax(0,1fr) 36px auto; }
.gig-result>.gig-photo,.gig-result>.event-art { width:144px;height:90px;min-height:0;aspect-ratio:16/10;border-radius:var(--gg-radius);flex:none; }
.gig-result>.gig-photo>img { width:100%;height:100%;max-width:none;max-height:none;object-fit:cover; }
.gig-result>.gig-photo figcaption { padding:3px 5px;font-size:10px;line-height:1.2; }
.gig-photo>[data-photo-fallback] { width:100%;height:100%;min-height:0; }
.gig-photo>[hidden] { display:none; }
.gig-photo.is-unavailable>figcaption { display:none; }
.card-art { aspect-ratio:16/9;overflow:hidden; }
.card-art>.gig-photo,.card-art>.event-art { width:100%;height:100%;min-height:0;aspect-ratio:auto; }
.card-art>.gig-photo>img { width:100%;height:100%;max-height:none;aspect-ratio:auto;object-fit:cover; }
.festival-cards .card-art { aspect-ratio:1; }
.festival-cards .card-art>.event-art { aspect-ratio:auto; }
@media(min-width:760px) and (max-width:999px) {
 .gig-result,.gig-result:not(:has(.save-gig)),.city-main .gig-result { grid-template-columns:38px 112px minmax(0,1fr);min-height:96px; }
 .gig-result:has(.save-gig),.city-main .gig-result:has(.save-gig) { grid-template-columns:38px 112px minmax(0,1fr) 44px; }
 .gig-result>.gig-photo,.gig-result>.event-art { width:112px;height:70px; }
 .gig-result>.row-details { display:none; }
}
@media(max-width:759px) {
 /* Keep real photos and the existing icon visible, without squeezing titles beside Save. */
 .gig-result,.gig-result:not(:has(.save-gig)),.city-main .gig-result,.event-related .gig-result,.gig-result:has(.save-gig),.city-main .gig-result:has(.save-gig) { display:grid;grid-template-columns:clamp(88px,25vw,104px) minmax(0,1fr);gap:8px 12px;min-height:144px;align-items:start; }
 .gig-result>.gig-photo,.gig-result>.event-art { display:flex;grid-column:1;grid-row:1;width:100%;height:auto;aspect-ratio:4/3;align-self:start; }
 .gig-result>.gig-photo>img { position:absolute;inset:0; }
 .gig-result>.event-art,.gig-result>.gig-photo>[data-photo-fallback] { gap:0; }
 .gig-result>.event-art>img,.gig-result>.gig-photo>[data-photo-fallback]>img { width:36px;height:36px;max-height:36px; }
 .gig-result>.event-art>span,.gig-result>.gig-photo>[data-photo-fallback]>span { display:none; }
 .gig-result>.event-copy { grid-column:2;grid-row:1; }
 .gig-result>.event-date { grid-column:1/-1;grid-row:2;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px;width:auto;align-self:center;text-align:left;font-size:12px;line-height:1.4;letter-spacing:0; }
 .gig-result>.event-date strong { margin:0;font-size:14px; }
 .gig-result>.event-date .event-date-time { margin:0 0 0 4px;font-size:12px; }
 .gig-result:has(.save-gig:not([hidden]))>.event-date { margin-right:56px; }
 .gig-result>.save-gig { grid-column:2;grid-row:2;justify-self:end;align-self:center;margin:0; }
}

.event-story>.gig-photo.is-unavailable { height:320px;margin-bottom:16px; }
.gig-photo>[data-photo-fallback]>img { width:64px;height:64px;max-height:64px;aspect-ratio:auto;object-fit:contain; }
.card-art .gig-photo>[data-photo-fallback]>img { width:36px;height:36px; }

/* Homepage identity: a quiet signature directly beneath the name. */
.hero-title-slot.hero-brand { height:auto;flex-direction:column;align-items:center;gap:8px;margin-bottom:16px; }
.hero-brand .hero-official { margin:0;color:var(--gg-text-2);font:600 clamp(16px,1.5vw,20px)/1.45 var(--gg-font-display);letter-spacing:.08em; }

/* Reserve the same heading space when home becomes a filtered results page.
   Keep the breadcrumb visible without inserting a new band above the photo.
   Mobile keeps its compact results heading so the gigs stay in view. */
@media(min-width:760px) {
 .discovery-hero .hero-title-slot { height:calc(var(--gg-fs-hero) * 1.15 + clamp(16px,1.5vw,20px) * 1.45 + 8px);margin-bottom:16px; }
 .page-search main { position:relative; }
 .page-search main>.seo-breadcrumbs { position:absolute;top:8px;left:0;z-index:1;margin:0;padding:0;font-size:12px; }
}

/* Overflow controls expose the last categories without changing their filters. */
.category-scroll-shell { display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;max-width:1272px;margin:auto;padding-inline:26px; }
.category-scroll-shell .category-bar { grid-column:2;width:100%;margin-inline:0;min-width:0; }
.category-scroll-control { width:32px;height:32px;min-height:32px;padding:0;flex:none; }
.category-scroll-control[hidden] { display:none; }
.category-scroll-shell:has(.category-bar[hidden]),:is(.page-gig,.page-venue,.page-place,.page-saved,.page-places,.page-list-event,.page-series) .category-scroll-shell { display:none; }
@media(max-width:999px) { .category-scroll-control { width:44px;height:44px;min-height:44px; } }
@media(max-width:759px) { .category-scroll-shell { padding-inline:16px;gap:6px; } }
.page-search main>.seo-breadcrumbs,.page-search.mobile-discovery-ready .seo-breadcrumbs { font-size:13.6px; }
