.page-venue main,.page-places main { max-width:none;padding:0;margin:0; }
.listing-heading { background:var(--gg-bg-hero);padding:24px 26px 32px; }
.listing-heading>div { max-width:1220px;margin:auto; }
.venue-heading>div { max-width:1080px; }
.listing-heading h1 { font-size:clamp(28px,4vw,46px);line-height:1.03;letter-spacing:-.035em;margin:0 0 10px; }
.listing-heading p { margin:0;color:var(--gg-text-2);font-size:16px; }
.listing-heading .eyebrow { font-size:11px;margin-bottom:12px; }
.listing-back { display:inline-flex;min-height:32px;align-items:center;margin-bottom:16px;color:var(--gg-text-3);font-size:13px;text-decoration:none; }
.venue-content { max-width:1080px;margin:auto;padding:32px 26px 48px; }
.directory-content { max-width:1220px;margin:auto;padding:32px 26px 48px; }
.venue-content>section+section { margin-top:32px; }
.venue-content h2 { font-size:20px;margin:0 0 12px; }
.venue-links { display:flex;flex-wrap:wrap;gap:8px;margin-top:16px; }
.outline-action { display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--gg-border);border-radius:var(--gg-radius);min-height:40px;padding:8px 14px;text-decoration:none;color:var(--gg-text-2);font:600 13.5px/1.4 var(--gg-font-display); }
@media(hover:hover) and (pointer:fine) {
 .outline-action:hover { background:var(--gg-surface-3);color:white; }
}

.day-group-heading { display:flex;align-items:center;flex-wrap:wrap;gap:8px 16px;margin:24px 0 12px; }
.day-group-heading h3 { font-size:16px;margin:0;letter-spacing:-.01em; }
.day-group-heading span { font-size:12px;color:var(--gg-text-3); }
.day-group-heading:after { content:'';height:1px;background:var(--gg-border);flex:1;min-width:20px; }
.event-copy .row-tags { margin:4px 0; }
.event-type-tag { display:inline-block;padding:2px 6px;border-radius:var(--gg-radius-xs);background:var(--gg-bg-hero);color:var(--category-color);border:1px solid var(--category-color);font:600 10.5px/1.4 var(--gg-font-display);letter-spacing:.06em;text-transform:uppercase; }
.event-date .event-date-time { font-size:11px;font-weight:600;color:var(--gg-text-3);margin-top:4px;white-space:nowrap; }
.listing-pagination { display:flex;align-items:center;flex-wrap:wrap;gap:16px;margin:24px 0;font-size:14px; }
.listing-pagination a { display:inline-flex;align-items:center;min-height:44px; }
.place-directory-search { max-width:620px;margin-top:24px; }
.place-directory-search label { display:block;font-size:13px;margin-bottom:8px; }
.place-directory-search>div { display:flex;gap:8px; }
.place-directory-search input { min-width:0;flex:1; }
.place-directory-search button { min-height:48px; }
.directory-state { margin-bottom:28px; }
.place-directory-grid { list-style:none;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(194px,1fr));gap:8px; }
.place-directory-grid a { display:flex;flex-direction:column;gap:4px;background:var(--gg-surface);border:1px solid var(--gg-border);padding:14px;border-radius:var(--gg-radius);text-decoration:none;height:100%; }
@media(hover:hover) and (pointer:fine) {
 .place-directory-grid a:hover { background:var(--gg-surface-3); }
}

.place-directory-grid strong { font:600 16px/1.4 var(--gg-font-display);color:var(--gg-text-1); }
.place-directory-grid span { font:500 10.5px/1.4 var(--gg-font-display);letter-spacing:.06em;color:var(--gg-text-3); }
@media(max-width:999px) { .outline-action,.listing-back { min-height:44px; } }
@media(max-width:559px) { .place-directory-grid { grid-template-columns:minmax(0,1fr); } }

.section-link { border:0;background:transparent;color:var(--gg-link);padding:0;min-height:44px; }
.category-tiles { display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px; }
.category-tiles button { width:100%;min-height:68px;display:flex;align-items:center;justify-content:flex-start;gap:12px;text-align:left;padding:14px;background:var(--gg-surface); }
.category-tiles button>span:first-child { color:var(--category-color); }
.category-tiles button>span:last-child { margin-left:auto;color:var(--gg-text-3); }
@media(hover:hover) and (pointer:fine) {
 .category-tiles button:where(:not(:disabled):not([aria-disabled=true])):hover { background:var(--gg-surface-3);border-color:var(--category-color); }
}

@media(max-width:999px) { .category-tiles { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:380px) { .category-tiles { grid-template-columns:minmax(0,1fr); } }

.event-date span { display:block; }.event-date .event-date-time { text-transform:none;font-size:10px; }

.selection-count { display:inline-flex;align-items:center;justify-content:center;margin-left:6px;background:var(--gg-text-1);color:var(--gg-on-light);padding:0 5px;border-radius:var(--gg-radius-xs);font-size:11.5px;line-height:20px;flex:none; }
.area-selection>[data-area-selection] { display:flex;gap:4px;overflow-x:auto;align-items:center;height:36px;min-width:0;scrollbar-width:thin;white-space:nowrap; }
.area-selected-chip { flex:none;min-height:30px!important;font-size:12px;padding:2px 7px; }
.event-type-options input[type=checkbox] { accent-color:var(--category-color,var(--gg-link));width:16px;height:16px;flex:none; }
.event-type-options>p { font-size:12px;line-height:1.4; }
.search-suggestions,.date-dialog { text-align:left; }
@media(max-width:999px) { .area-selection>[data-area-selection] { height:44px; }.area-selected-chip { min-height:44px!important; } }

.area-button-name { min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1; }.area-picker { gap:8px; }
.category-chip[aria-current=true]:not(.category-all):before { content:'✓';background:transparent;width:12px;height:auto;border-radius:0;font-size:12px;line-height:1; }
.event-type-tag.is-selected { background:var(--category-color);color:var(--gg-on-light); }

.header-search { display:flex;align-items:center;flex:1;min-width:110px;max-width:210px;height:36px;background:var(--gg-field);border:1px solid var(--gg-border);border-radius:var(--gg-radius); }
.header-search input { width:100%;min-width:0;height:34px;min-height:0;border:0;background:transparent;padding:4px 8px;font-size:13px; }
.header-search button { border:0;background:transparent;min-height:34px;width:32px;padding:0;flex:none; }.header-main nav { margin-left:auto;flex:none; }
.page-home:not(.header-scrolled) .header-search { visibility:hidden;pointer-events:none; }
@media(max-width:999px) { .header-search { display:none; } }

html { scrollbar-gutter:stable; }
.area-selected-overflow { anchor-name:--extra-areas;flex:none; }
.area-selected-more { position:fixed;position-anchor:--extra-areas;top:anchor(bottom);left:anchor(left);bottom:auto;right:auto;margin:4px 0 0;max-width:calc(100vw - 40px);width:300px;max-height:200px;overflow:auto;padding:8px;background:var(--gg-bg-hero);color:var(--gg-text-1);border:1px solid var(--gg-border);border-radius:var(--gg-radius);box-shadow:var(--gg-shadow-pop); }
.area-selected-more .area-selected-chip { display:block;width:100%;text-align:left;white-space:normal; }
.calendar-trigger { display:block;text-overflow:ellipsis; }

@media(max-width:559px) { .home-hero .lead { height:45px;-webkit-line-clamp:2; } }

.travel-filter-section { border-top:1px solid var(--gg-border);padding-top:16px; }.travel-filter-section h3 { font-size:13.5px;margin-bottom:8px; }.travel-origin,.travel-explainer { font-size:12px;line-height:1.5;color:var(--gg-text-3); }
.travel-toggle { display:flex;align-items:center;gap:8px;min-height:44px;cursor:pointer; }.travel-toggle input { width:16px;min-height:16px;height:16px;accent-color:var(--gg-success); }
.travel-filter-section>label:not(.travel-toggle) { display:block;margin:12px 0 6px;font-size:13px; }.travel-filter-section select { width:100%;min-height:44px;background:var(--gg-surface);border:1px solid var(--gg-border);font-size:13px; }
.event-copy .travel-line { font-size:12.5px;font-weight:600;color:var(--gg-success);margin:6px 0 0; }.event-copy .travel-soon { color:var(--gg-warning); }.event-copy .travel-late,.travel-late { color:var(--gg-danger); }

.event-copy .travel-future { color:var(--gg-text-3); }
