/**
 * Gatherings Bar — dark theme, red/yellow accents (Sportsnet-inspired bar aesthetic).
 */

:root {
	--gb-bg: #0a0a0c;
	--gb-bg-elevated: #111116;
	--gb-bg-card: #18181f;
	--gb-bg-surface: #1e1e26;
	--gb-red: #d41f2e;
	--gb-red-bright: #ff2d3f;
	--gb-red-dark: #8b1520;
	--gb-red-glow: rgba(212, 31, 46, 0.35);
	--gb-yellow: #f5c518;
	--gb-yellow-bright: #ffd633;
	--gb-yellow-dim: #c9a012;
	--gb-yellow-glow: rgba(245, 197, 24, 0.18);
	--gb-text: #f5f5f7;
	--gb-text-muted: #9a9aa8;
	--gb-border: #2e2e38;
	--gb-border-light: rgba(255, 255, 255, 0.12);
	--gb-topbar: #0f0f12;
	--gb-font: "Montserrat", Arial, sans-serif;
	--gb-font-display: "Bebas Neue", Arial, sans-serif;
	--gb-container: min(1320px, 94vw);
	--gb-radius: 8px;
	--gb-header-h: 72px;
	--gb-gradient-red: linear-gradient(135deg, var(--gb-red) 0%, var(--gb-red-dark) 100%);
	--gb-gradient-dark: linear-gradient(180deg, rgba(10, 10, 12, 0.4) 0%, rgba(10, 10, 12, 0.92) 100%);
	--gb-shadow-card: 0 8px 32px rgba(0, 0, 0, 0.45);
	--gb-shadow-glow: 0 0 24px var(--gb-red-glow);
}

*,
*::before,
*::after {
	box-sizing: border-box;
}

body {
	margin: 0;
	font-family: var(--gb-font);
	background: var(--gb-bg);
	color: var(--gb-text);
	line-height: 1.55;
}

::selection {
	background: var(--gb-red);
	color: #fff;
}

a {
	color: var(--gb-yellow);
	text-decoration: none;
}

a:hover {
	color: var(--gb-yellow-bright);
}

.gb-container {
	width: var(--gb-container);
	margin-inline: auto;
	padding-inline: 1rem;
}

.screen-reader-text {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	border: 0;
}

/* Top announcement bar + sports ticker */
.gb-topbar {
	background: var(--gb-topbar);
	border-bottom: 1px solid var(--gb-border);
	height: 40px;
	overflow: hidden;
}

.gb-topbar__inner {
	display: flex;
	align-items: center;
	height: 100%;
	gap: 1.5rem;
}

.gb-topbar__label {
	flex: 0 0 auto;
	margin: 0;
	font-family: var(--gb-font);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gb-yellow);
	white-space: nowrap;
}

.gb-topbar__scores {
	flex: 1;
	overflow: hidden;
	min-width: 0;
}

.gb-topbar__empty {
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gb-text-muted);
}

.gb-ticker__track {
	display: flex;
	align-items: center;
	gap: 2rem;
	height: 40px;
	animation: gb-ticker-scroll 45s linear infinite;
	white-space: nowrap;
}

@keyframes gb-ticker-scroll {
	0% { transform: translateX(0); }
	100% { transform: translateX(-50%); }
}

.gb-ticker__item {
	display: inline-flex;
	align-items: center;
	font-family: var(--gb-font);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--gb-text);
}

.gb-ticker__match {
	white-space: nowrap;
}

/* Header — dark bar with red accent */
.gb-header {
	background: var(--gb-bg-elevated);
	border-bottom: 2px solid var(--gb-red);
	position: sticky;
	top: 0;
	z-index: 100;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}

.gb-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	min-height: var(--gb-header-h);
}

.gb-site-logo,
.custom-logo-link {
	display: inline-flex;
	align-items: center;
	gap: 0.65rem;
	color: #fff !important;
	text-decoration: none;
}

.gb-site-logo__mark {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border: 2px solid var(--gb-yellow);
	color: var(--gb-yellow);
	font-family: var(--gb-font-display);
	font-size: 1.1rem;
	letter-spacing: 0.02em;
	line-height: 1;
}

.gb-site-logo__text {
	display: flex;
	flex-direction: column;
	line-height: 1.05;
}

.gb-site-logo__line {
	font-family: var(--gb-font);
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.custom-logo {
	max-height: 46px;
	width: auto;
	filter: brightness(0) invert(1);
}

.gb-header__brand {
	flex-shrink: 0;
}

.gb-nav {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-left: auto;
	min-width: 0;
	flex: 1;
	justify-content: flex-end;
}

.gb-nav__list {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 0.25rem 1.1rem;
	list-style: none;
	margin: 0;
	padding: 0;
	min-width: 0;
}

.gb-nav__list > li {
	position: relative;
}

.gb-nav__list a {
	color: #fff;
	font-family: var(--gb-font);
	font-weight: 600;
	font-size: 0.72rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	position: relative;
	display: inline-block;
	padding-bottom: 0.35rem;
	transition: color 0.2s;
}

.gb-nav__list a:hover {
	color: var(--gb-yellow);
	opacity: 1;
}

.gb-nav__list .current-menu-item > a,
.gb-nav__list .current_page_item > a,
.gb-nav__list .current-menu-ancestor > a {
	color: var(--gb-yellow);
}

.gb-nav__list .current-menu-item > a::after,
.gb-nav__list .current_page_item > a::after,
.gb-nav__list .current-menu-ancestor > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	background: var(--gb-red);
	border-radius: 2px;
	box-shadow: 0 0 8px var(--gb-red-glow);
}

.gb-nav__list .current-menu-item > a:hover,
.gb-nav__list .current_page_item > a:hover,
.gb-nav__list .current-menu-ancestor > a:hover {
	color: var(--gb-yellow-bright);
}

.gb-btn--book {
	background: var(--gb-yellow);
	color: #111 !important;
	border-radius: 999px;
	padding: 0.55rem 1.35rem;
	font-family: var(--gb-font);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	white-space: nowrap;
	flex-shrink: 0;
	box-shadow: 0 2px 12px var(--gb-yellow-glow);
	transition: background 0.2s, transform 0.15s, box-shadow 0.2s;
}

.gb-btn--book:hover {
	background: var(--gb-yellow-bright);
	color: #111 !important;
	transform: translateY(-1px);
	box-shadow: 0 4px 20px rgba(245, 197, 24, 0.35);
}

.gb-nav-toggle {
	display: none;
	background: none;
	border: none;
	cursor: pointer;
	padding: 0.5rem;
}

.gb-nav-toggle__bar {
	display: block;
	width: 24px;
	height: 2px;
	background: #fff;
	margin: 5px 0;
}

/* Buttons */
.gb-btn {
	display: inline-block;
	padding: 0.55rem 1.1rem;
	border-radius: var(--gb-radius);
	font-family: var(--gb-font);
	font-weight: 700;
	font-size: 0.85rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border: 2px solid transparent;
	transition: transform 0.15s, background 0.15s;
}

.gb-btn:hover {
	transform: translateY(-1px);
}

.gb-btn--uber,
.gb-btn--door {
	background: var(--gb-yellow);
	color: #111 !important;
}

.gb-btn--uber:hover,
.gb-btn--door:hover {
	background: var(--gb-yellow-bright);
}

.gb-btn--primary {
	background: var(--gb-gradient-red);
	color: #fff !important;
	border: none;
	box-shadow: var(--gb-shadow-glow);
}

.gb-btn--primary:hover {
	background: var(--gb-red-bright);
}

.gb-btn--outline {
	border-color: var(--gb-yellow);
	color: var(--gb-yellow) !important;
	background: transparent;
}

.gb-btn--ghost {
	background: transparent;
	color: #fff !important;
	border: 2px solid var(--gb-yellow);
	border-radius: 999px;
	padding: 0.7rem 2rem;
	font-size: 0.78rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	box-shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
}

.gb-hero-slider__content .gb-btn--ghost {
	background: rgba(0, 0, 0, 0.35);
	backdrop-filter: blur(4px);
}

.gb-hero-slider__content .gb-btn--ghost:hover {
	background: var(--gb-yellow);
	color: #111 !important;
	border-color: var(--gb-yellow);
	transform: none;
}

.gb-order-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}

/* Hero slider — Real Sports style, unique content per slide */
.gb-hero-slider {
	position: relative;
	min-height: calc(100vh - 112px);
	min-height: calc(100dvh - 112px);
	max-height: 900px;
	overflow: hidden;
}

.gb-hero-slider__track {
	position: relative;
	width: 100%;
	height: 100%;
	min-height: inherit;
}

.gb-hero-slider__slide {
	position: absolute;
	inset: 0;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.8s ease, visibility 0.8s ease;
	background: var(--gb-bg);
}

.gb-hero-slider__slide.is-active {
	opacity: 1;
	visibility: visible;
	z-index: 1;
}

.gb-hero-slider__bg {
	position: absolute;
	inset: 0;
	background: #111 center/cover no-repeat;
	opacity: 0.72;
}

.gb-hero-slider__overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	background:
		linear-gradient(180deg, rgba(10, 10, 12, 0.35) 0%, rgba(212, 31, 46, 0.15) 45%, rgba(10, 10, 12, 0.85) 100%);
}

.gb-hero-slider__content {
	position: absolute;
	inset: 0;
	z-index: 3;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	padding: 2rem;
	gap: 1.75rem;
}

.gb-hero-slider__title,
.gb-hero-slider__line {
	display: block;
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(3.5rem, 12vw, 7.5rem);
	font-weight: 400;
	line-height: 0.92;
	letter-spacing: 0.06em;
	color: #fff;
	text-transform: uppercase;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.8), 0 0 40px var(--gb-red-glow);
}

.gb-hero-slider__title {
	margin: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.1rem;
}

.gb-hero-slider__arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	background: none;
	border: none;
	color: rgba(255, 255, 255, 0.85);
	font-size: 2rem;
	cursor: pointer;
	padding: 1rem;
	line-height: 1;
}

.gb-hero-slider__arrow:hover {
	color: var(--gb-yellow);
}

.gb-hero-slider__arrow--prev { left: 0.5rem; }
.gb-hero-slider__arrow--next { right: 0.5rem; }

/* Legacy hero (unused) */
.gb-hero {
	position: relative;
	min-height: 62vh;
	display: flex;
	align-items: center;
	background: var(--gb-bg) center/cover no-repeat;
}

.gb-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(10, 10, 12, 0.92) 0%, rgba(212, 31, 46, 0.4) 100%);
}

.gb-hero__content {
	position: relative;
	z-index: 1;
	padding-block: 4rem;
}

.gb-hero__title {
	font-size: clamp(2.2rem, 6vw, 3.5rem);
	margin: 0 0 0.75rem;
	color: var(--gb-yellow);
	text-transform: uppercase;
	letter-spacing: 0.03em;
	line-height: 1.1;
}

.gb-hero__subtitle {
	font-size: 1.15rem;
	color: var(--gb-text-muted);
	max-width: 36rem;
	margin: 0 0 1.5rem;
}

.gb-hero__cta .gb-order-buttons {
	gap: 0.75rem;
}

.gb-hero__cta .gb-btn {
	padding: 0.75rem 1.5rem;
	font-size: 0.95rem;
}

/* Sections */
.gb-section {
	padding-block: 3rem;
}

.gb-section--alt {
	background: var(--gb-bg-elevated);
	border-block: 1px solid var(--gb-border);
}

.gb-section__title {
	font-family: var(--gb-font-display);
	font-size: clamp(2rem, 5vw, 2.75rem);
	font-weight: 400;
	color: var(--gb-yellow);
	margin: 0 0 1.5rem;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	border-left: 4px solid var(--gb-red);
	padding-left: 0.75rem;
}

.gb-section__link {
	text-align: center;
	margin-top: 1.5rem;
}

/* Score cards */
.gb-scores-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
	gap: 1rem;
}

.gb-score-card {
	background: var(--gb-bg-card);
	border: 1px solid var(--gb-border);
	border-radius: var(--gb-radius);
	padding: 1rem;
	box-shadow: var(--gb-shadow-card);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.gb-score-card:hover {
	border-color: rgba(245, 197, 24, 0.35);
}

.gb-score-card.is-live {
	border-color: var(--gb-red);
	box-shadow: 0 0 0 1px var(--gb-red);
}

.gb-score-card__league {
	font-size: 0.75rem;
	color: var(--gb-red-bright);
	font-weight: 700;
	text-transform: uppercase;
}

.gb-score-card__teams {
	margin: 0.35rem 0;
	font-size: 1rem;
}

.gb-score-card__teams strong {
	color: var(--gb-yellow);
}

.gb-score-card__status {
	font-size: 0.8rem;
	color: var(--gb-text-muted);
}

/* THE LINEUP — dark events section */
.gb-lineup {
	background: var(--gb-bg-elevated);
	padding-block: 3.5rem 4rem;
	border-top: 1px solid var(--gb-border);
	border-bottom: 1px solid var(--gb-border);
}

.gb-lineup__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1.25rem;
	margin-bottom: 1.75rem;
}

.gb-lineup__title,
.gb-experience-more__title {
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(1.75rem, 5vw + 0.25rem, 3.5rem);
	font-weight: 400;
	line-height: 0.95;
	letter-spacing: 0.04em;
	margin: 0;
	text-transform: uppercase;
	border: none;
	padding: 0;
	flex: 1 1 auto;
	min-width: 0;
}

.gb-lineup__title {
	color: var(--gb-yellow);
}

.gb-lineup__see-all {
	font-family: var(--gb-font-body, "Montserrat", Arial, sans-serif);
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
	text-decoration: none;
	white-space: nowrap;
	flex-shrink: 0;
	padding-block: 0.35rem;
}

.gb-lineup__see-all:hover,
.gb-lineup__see-all:focus-visible {
	color: var(--gb-yellow);
}

.gb-lineup__days {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	gap: 0.45rem;
	margin-bottom: 1.5rem;
}

.gb-lineup-day {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 0.35rem;
	min-height: 76px;
	padding: 0.75rem 0.4rem 0.85rem;
	background: transparent;
	border: 1px solid var(--gb-border-light);
	border-radius: 6px;
	color: var(--gb-text);
	cursor: pointer;
	transition: background 0.2s, color 0.2s, border-color 0.2s;
	font-family: "Montserrat", Arial, sans-serif;
}

.gb-lineup-day__name {
	font-size: 0.62rem;
	font-weight: 700;
	letter-spacing: 0.14em;
}

.gb-lineup-day__num {
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(1.85rem, 3.5vw, 2.35rem);
	line-height: 1;
	letter-spacing: 0.02em;
}

.gb-lineup-day.is-active {
	background: var(--gb-yellow);
	border-color: var(--gb-yellow);
	color: #111;
	box-shadow: 0 4px 16px var(--gb-yellow-glow);
}

.gb-lineup-day.is-active .gb-lineup-day__name,
.gb-lineup-day.is-active .gb-lineup-day__num {
	color: #111;
}

.gb-lineup-day:hover:not(.is-active) {
	border-color: var(--gb-red);
	color: var(--gb-yellow);
}

.gb-lineup-panel {
	display: none;
}

.gb-lineup-panel.is-active {
	display: block;
}

.gb-lineup-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 0.65rem;
	overflow: visible;
}

.gb-lineup-item {
	display: grid;
	grid-template-columns: 56px 1fr auto;
	align-items: center;
	gap: 1rem;
	padding: 1rem 1.25rem;
	border: 1px solid var(--gb-border);
	background: var(--gb-bg-card);
	border-radius: var(--gb-radius);
	overflow: visible;
	transition: border-color 0.2s;
}

.gb-lineup-item:hover {
	border-color: rgba(212, 31, 46, 0.45);
}

.gb-lineup-item__icon {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--gb-bg-surface);
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--gb-border);
}

.gb-lineup-item__icon img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gb-lineup-item__icon-fallback {
	font-size: 1.1rem;
	color: var(--gb-yellow);
}

.gb-lineup-item__body {
	display: flex;
	flex-direction: column;
	gap: 0.2rem;
	min-width: 0;
}

.gb-lineup-item__time {
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	font-size: 0.8rem;
	font-weight: 500;
	letter-spacing: 0.06em;
	color: var(--gb-text-muted);
}

.gb-lineup-item__title {
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	font-size: 0.95rem;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: #fff;
	line-height: 1.35;
}

.gb-lineup-item__cal,
.gb-lineup-cal__toggle {
	color: #fff;
	opacity: 0.85;
	padding: 0.35rem;
	line-height: 0;
	background: none;
	border: none;
	cursor: pointer;
}

.gb-lineup-item__cal:hover,
.gb-lineup-cal__toggle:hover,
.gb-lineup-cal.is-open .gb-lineup-cal__toggle {
	opacity: 1;
	color: var(--gb-yellow);
}

.gb-lineup-cal {
	position: relative;
}

.gb-lineup-cal__menu {
	position: absolute;
	right: 0;
	top: calc(100% + 0.45rem);
	min-width: 270px;
	margin: 0;
	padding: 0.35rem 0;
	list-style: none;
	background: var(--gb-bg-card);
	border: 1px solid var(--gb-red);
	border-radius: var(--gb-radius);
	z-index: 30;
	box-shadow: var(--gb-shadow-card);
}

.gb-lineup-cal__menu[hidden] {
	display: none;
}

.gb-lineup-cal__option {
	display: flex;
	align-items: center;
	gap: 0.85rem;
	padding: 0.7rem 1rem;
	color: #fff;
	text-decoration: none;
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	transition: background 0.15s ease, color 0.15s ease;
}

.gb-lineup-cal__option:hover,
.gb-lineup-cal__option:focus-visible {
	background: var(--gb-bg-surface);
	color: var(--gb-yellow);
}

.gb-lineup-cal__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 22px;
	height: 22px;
	flex-shrink: 0;
}

.gb-lineup-cal__icon img {
	width: 20px;
	height: 20px;
	display: block;
	object-fit: contain;
}

.gb-lineup-cal__label {
	line-height: 1.2;
}

.gb-lineup-empty {
	font-family: ui-monospace, monospace;
	font-size: 0.9rem;
	color: var(--gb-text-muted);
	padding: 2rem 0;
	text-align: center;
	border: 1px dashed var(--gb-border);
	border-radius: var(--gb-radius);
}

.gb-lineup__footer {
	text-align: center;
	margin-top: 2rem;
}

/* Live scores — lineup-style rows */
.gb-live-scores-lineup,
.gb-cricket-lineup {
	border-top: 1px solid var(--gb-red);
	background: var(--gb-bg);
}

.gb-live-score-item,
.gb-cricket-item {
	grid-template-columns: 56px 1fr;
}

.gb-live-score-item__icon,
.gb-cricket-item__icon {
	background: var(--gb-bg-surface);
	border: 1px solid var(--gb-border);
}

.gb-live-score-item__emoji,
.gb-cricket-item__emoji {
	font-size: 1.35rem;
	line-height: 1;
}

.gb-live-score-item__match strong,
.gb-cricket-item__match strong {
	color: var(--gb-yellow);
	font-weight: 700;
}

.gb-live-score-item__vs,
.gb-cricket-item__vs {
	color: #666;
	margin-inline: 0.35rem;
	font-size: 0.85em;
}

.gb-live-score-item__status,
.gb-cricket-item__status {
	font-family: ui-monospace, "Cascadia Mono", "Segoe UI Mono", monospace;
	font-size: 0.75rem;
	color: #888;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.gb-live-score-item.is-live .gb-lineup-item__time,
.gb-cricket-item.is-live .gb-lineup-item__time {
	color: var(--gb-red);
	font-weight: 700;
}

.gb-live-score-item.is-live,
.gb-cricket-item.is-live {
	border-color: rgba(196, 30, 58, 0.35);
}

.gb-live-score-item.is-live .gb-lineup-item__time::before,
.gb-cricket-item.is-live .gb-lineup-item__time::before {
	content: "";
	display: inline-block;
	width: 6px;
	height: 6px;
	margin-right: 0.4rem;
	border-radius: 50%;
	background: var(--gb-red);
	vertical-align: middle;
	animation: gb-live-pulse 1.4s ease-in-out infinite;
}

@keyframes gb-live-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.35; }
}

/* Legacy event cards */
.gb-events-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 1.25rem;
}

.gb-event-card {
	background: var(--gb-bg-card);
	border-radius: var(--gb-radius);
	overflow: hidden;
	border: 1px solid var(--gb-border);
}

.gb-event-card h3 {
	margin: 0.75rem 1rem 0;
	font-size: 1.1rem;
}

.gb-event-card h3 a {
	color: var(--gb-text);
}

.gb-event-card__meta {
	color: var(--gb-yellow);
	font-size: 0.85rem;
	margin: 0.25rem 1rem;
}

.gb-event-card p {
	padding: 0 1rem 1rem;
	color: var(--gb-text-muted);
	font-size: 0.9rem;
}

.gb-events-list .gb-event-row {
	display: flex;
	gap: 1.25rem;
	padding: 1.25rem 0;
	border-bottom: 1px solid var(--gb-border);
}

.gb-event-row h2 {
	margin: 0 0 0.35rem;
	font-size: 1.25rem;
}

.gb-event-row__meta {
	color: var(--gb-yellow);
	font-size: 0.9rem;
}

/* EXPERIENCE MORE — dark promo card carousel */
.gb-experience-more {
	background: var(--gb-bg);
	color: var(--gb-text);
	padding-block: 3.5rem 4rem;
	border-top: 1px solid var(--gb-border);
}

.gb-experience-more__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 1rem;
	margin-bottom: 1.75rem;
}

.gb-experience-more__title {
	color: var(--gb-yellow);
}

.gb-experience-more__nav {
	display: flex;
	gap: 0.65rem;
	flex-shrink: 0;
}

.gb-experience-more__arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--gb-border-light);
	background: var(--gb-bg-card);
	color: var(--gb-yellow);
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s, color 0.2s;
}

.gb-experience-more__arrow:hover,
.gb-experience-more__arrow:focus-visible {
	border-color: var(--gb-yellow);
	background: var(--gb-yellow);
	color: #111;
}

.gb-experience-more__viewport {
	overflow: hidden;
}

.gb-experience-more__track {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	scrollbar-width: none;
	-ms-overflow-style: none;
	padding-bottom: 0.25rem;
}

.gb-experience-more__track::-webkit-scrollbar {
	display: none;
}

.gb-exp-card {
	position: relative;
	flex: 0 0 calc(25% - 0.75rem);
	min-width: 240px;
	aspect-ratio: 3 / 4.1;
	overflow: hidden;
	scroll-snap-align: start;
	background: var(--gb-bg-card);
	border: 1px solid var(--gb-border);
	border-radius: var(--gb-radius);
	transition: border-color 0.2s, box-shadow 0.2s;
}

.gb-exp-card:hover {
	border-color: var(--gb-red);
	box-shadow: var(--gb-shadow-glow);
}

.gb-exp-card__bg {
	position: absolute;
	inset: 0;
	background-size: cover;
	background-position: center;
}

.gb-exp-card__bg--fallback {
	background: linear-gradient(145deg, #2a2a32 0%, #111 100%);
}

.gb-exp-card__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.92) 0%, rgba(0, 0, 0, 0.45) 45%, rgba(0, 0, 0, 0.08) 100%);
}

.gb-exp-card__content {
	position: absolute;
	inset: auto 0 0;
	padding: 1.35rem 1.25rem 1.5rem;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 0.65rem;
	color: #fff;
	z-index: 1;
}

.gb-exp-card__title {
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(1.75rem, 3vw, 2.25rem);
	font-weight: 400;
	line-height: 1;
	margin: 0;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.gb-exp-card__desc {
	font-family: var(--gb-font);
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.45;
	letter-spacing: 0.06em;
	margin: 0;
	color: rgba(255, 255, 255, 0.92);
}

.gb-exp-card__btn {
	margin-top: 0.35rem;
	padding: 0.55rem 1.35rem;
	font-size: 0.68rem;
	box-shadow: none;
}

.gb-exp-card__btn:hover {
	background: var(--gb-yellow);
	color: #111 !important;
	border-color: var(--gb-yellow);
	transform: none;
}

/* Quick links */
.gb-quick-links__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: 1rem;
}

.gb-quick-card {
	background: var(--gb-bg-card);
	border: 2px solid var(--gb-border);
	border-radius: var(--gb-radius);
	padding: 1.5rem;
	text-align: center;
	color: var(--gb-text) !important;
	transition: border-color 0.2s, background 0.2s;
}

.gb-quick-card:hover {
	border-color: var(--gb-red);
	background: var(--gb-bg-surface);
	box-shadow: var(--gb-shadow-glow);
}

.gb-quick-card__icon {
	font-size: 2rem;
	display: block;
	margin-bottom: 0.5rem;
}

.gb-quick-card__label {
	font-weight: 700;
	text-transform: uppercase;
	font-size: 0.9rem;
	color: var(--gb-yellow);
}

.gb-quick-links {
	background: var(--gb-bg-elevated);
	border-top: 1px solid var(--gb-border);
}

/* Menu — dark modern style */
.gb-menu-page {
	background: var(--gb-bg);
}

.gb-menu-hero {
	position: relative;
	min-height: clamp(220px, 32vw, 360px);
	background-color: var(--gb-bg-elevated);
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: flex-end;
}

.gb-menu-hero__overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(to top, rgba(10, 10, 12, 0.92) 0%, rgba(212, 31, 46, 0.25) 55%, rgba(10, 10, 12, 0.5) 100%);
}

.gb-menu-hero__inner {
	position: relative;
	z-index: 1;
	padding-block: 2.5rem 2rem;
}

.gb-menu-hero__title {
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(3.5rem, 12vw, 7rem);
	font-weight: 400;
	line-height: 0.9;
	letter-spacing: 0.03em;
	color: var(--gb-yellow);
	margin: 0;
	text-transform: uppercase;
	text-shadow: 0 0 30px var(--gb-red-glow);
}

.gb-menu-tabs {
	background: var(--gb-bg);
	padding: 1.5rem 0 0.5rem;
}

.gb-menu-tabs__inner {
	display: flex;
	justify-content: center;
}

.gb-menu-tabs__list {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	border: 1px solid var(--gb-border);
	border-radius: 999px;
	overflow: hidden;
	background: var(--gb-bg-card);
}

.gb-menu-tab {
	display: inline-block;
	padding: 0.7rem 1.35rem;
	font-family: var(--gb-font);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gb-text-muted) !important;
	text-decoration: none;
	white-space: nowrap;
	transition: background 0.2s, color 0.2s;
}

.gb-menu-tab + .gb-menu-tab {
	border-left: 1px solid var(--gb-border);
}

.gb-menu-tab:hover,
.gb-menu-tab:focus-visible {
	background: var(--gb-bg-surface);
	color: var(--gb-yellow) !important;
}

.gb-menu-tab.is-active {
	background: var(--gb-red);
	color: #fff !important;
}

.gb-menu-body {
	padding: 1.5rem 0 4rem;
}

.gb-menu-body__order {
	margin-bottom: 1.5rem;
}

.gb-menu-body__order .gb-order-buttons {
	justify-content: flex-start;
}

.gb-menu-size-head {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1rem;
	align-items: end;
	margin-bottom: 0.5rem;
	padding-bottom: 0.35rem;
	border-bottom: 1px solid var(--gb-border);
}

.gb-menu-size-head__cols {
	display: grid;
	grid-template-columns: repeat(3, 3.5rem);
	gap: 0.5rem;
	text-align: center;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--gb-text-muted);
}

.gb-menu-section {
	margin-bottom: 2.75rem;
}

.gb-menu-section:last-child {
	margin-bottom: 0;
}

.gb-menu-section__rule {
	width: 100%;
	height: 2px;
	background: var(--gb-gradient-red);
	margin-bottom: 0.85rem;
}

.gb-menu-section__title {
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(1.85rem, 4vw, 2.75rem);
	font-weight: 400;
	line-height: 1;
	letter-spacing: 0.04em;
	color: var(--gb-yellow);
	margin: 0 0 1.25rem;
	text-transform: uppercase;
	border: none;
	padding: 0;
}

.gb-menu-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gb-menu-list__item {
	padding: 0.95rem 0;
	border-bottom: 1px solid var(--gb-border);
}

.gb-menu-list__item:last-child {
	border-bottom: 0;
}

.gb-menu-list__row {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 1.25rem;
}

.gb-menu-list__row--wine {
	align-items: center;
}

.gb-menu-list__main {
	flex: 1 1 auto;
	min-width: 0;
}

.gb-menu-list__name {
	display: block;
	font-family: var(--gb-font);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--gb-text);
}

.gb-menu-list__price {
	flex: 0 0 auto;
	font-family: var(--gb-font);
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	color: var(--gb-yellow);
	white-space: nowrap;
	padding-top: 0.1rem;
}

.gb-menu-list__prices--wine {
	display: grid;
	grid-template-columns: repeat(3, 3.5rem);
	gap: 0.5rem;
	text-align: center;
	font-size: 0.82rem;
	font-weight: 700;
	color: var(--gb-yellow);
	flex-shrink: 0;
}

.gb-menu-list__desc {
	margin: 0.35rem 0 0;
	font-size: 0.78rem;
	line-height: 1.45;
	font-weight: 700;
	color: var(--gb-yellow-dim);
}

.gb-menu-empty {
	padding: 2rem 0;
	font-size: 0.95rem;
	color: var(--gb-text-muted);
	text-align: center;
}

.gb-menu-empty a {
	color: var(--gb-red-bright);
	font-weight: 600;
}

.gb-page--menu .gb-container {
	width: min(920px, 94vw);
}

/* Legacy menu inside other pages */
.gb-page:not(.gb-menu-page) .gb-menu-section__title {
	color: var(--gb-yellow);
	font-size: 1.5rem;
	border-bottom: 2px solid var(--gb-red);
	padding-bottom: 0.35rem;
}

/* Pages */
.gb-page {
	padding-block: 2.5rem 3rem;
}

.gb-page__header {
	margin-bottom: 2rem;
}

.gb-page__title {
	font-family: var(--gb-font-display);
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-weight: 400;
	color: var(--gb-yellow);
	margin: 0 0 1rem;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	border-left: 4px solid var(--gb-red);
	padding-left: 0.75rem;
}

.gb-page .entry-content h2,
.gb-page .entry-content h3 {
	color: var(--gb-yellow);
}

.gb-page .entry-content p {
	color: var(--gb-text-muted);
}

.gb-page__cta {
	margin-top: 1rem;
}

/* Reservations */
.gb-reservations-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	align-items: start;
}

.gb-deposit-notice {
	background: rgba(212, 31, 46, 0.12);
	border-left: 4px solid var(--gb-red);
	padding: 1rem;
	color: var(--gb-text);
	border-radius: 0 var(--gb-radius) var(--gb-radius) 0;
}

.gb-placeholder-form {
	background: var(--gb-bg-card);
	padding: 1.5rem;
	border-radius: var(--gb-radius);
	border: 1px dashed var(--gb-border);
}

.gb-empty {
	color: var(--gb-text-muted);
	font-style: italic;
}

/* Footer */
.gb-footer {
	background: var(--gb-bg-elevated);
	border-top: 2px solid var(--gb-red);
	padding: 2.75rem 0;
	margin-top: 0;
}

.gb-footer__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: clamp(1.25rem, 3vw, 3rem);
}

.gb-footer__brand {
	flex: 0 0 auto;
}

.gb-site-logo--footer {
	align-items: center;
}

.gb-site-logo__mark--footer {
	width: 52px;
	height: 52px;
	border: 2px solid var(--gb-yellow);
	color: var(--gb-yellow);
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: 1.65rem;
	font-weight: 400;
}

.gb-footer__brand .custom-logo {
	max-height: 52px;
}

.gb-footer__columns {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: clamp(1rem, 2vw, 2rem);
	flex: 1 1 auto;
	min-width: 0;
}

.gb-footer__heading {
	font-family: var(--gb-font);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--gb-yellow);
	margin: 0 0 0.7rem;
}

.gb-footer__col p {
	margin: 0 0 0.35rem;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
}

.gb-footer__col p:last-child {
	margin-bottom: 0;
}

.gb-footer__col a {
	color: rgba(255, 255, 255, 0.72);
	text-decoration: none;
}

.gb-footer__col a:hover,
.gb-footer__col a:focus-visible {
	color: var(--gb-yellow);
}

.gb-footer__links {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gb-footer__links li + li {
	margin-top: 0.35rem;
}

.gb-footer__links a {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1.55;
	letter-spacing: 0.07em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.72);
	text-decoration: underline;
	text-underline-offset: 3px;
}

.gb-footer__links a:hover,
.gb-footer__links a:focus-visible {
	color: var(--gb-yellow);
}

.gb-footer__social {
	display: flex;
	align-items: center;
	gap: 0.65rem;
	flex: 0 0 auto;
}

.gb-footer__social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	border-radius: 50%;
	background: var(--gb-yellow);
	color: #111;
	text-decoration: none;
	transition: background 0.2s, transform 0.15s;
}

.gb-footer__social-link:hover,
.gb-footer__social-link:focus-visible {
	background: var(--gb-yellow-bright);
	color: #111;
	transform: translateY(-2px);
}

/* Mobile */
@media (max-width: 768px) {
	.gb-topbar__inner {
		flex-direction: column;
		align-items: flex-start;
		height: auto;
		padding-block: 0.35rem;
		gap: 0;
	}

	.gb-topbar {
		height: auto;
	}

	.gb-ticker__track {
		height: 28px;
	}

	.gb-nav-toggle {
		display: block;
		margin-left: auto;
	}

	.gb-nav {
		display: none;
		position: absolute;
		top: var(--gb-header-h);
		left: 0;
		right: 0;
		flex-direction: column;
		align-items: stretch;
		background: var(--gb-bg-elevated);
		padding: 1rem;
		gap: 0;
		border-top: 1px solid var(--gb-border);
	}

	.gb-header {
		position: relative;
	}

	.gb-header__inner {
		position: relative;
		flex-wrap: wrap;
	}

	.gb-nav.is-open {
		display: flex;
	}

	.gb-nav__list {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.75rem;
		padding-bottom: 1rem;
	}

	.gb-nav__book {
		width: 100%;
		text-align: center;
	}

	.gb-hero-slider {
		min-height: 70vh;
	}

	.gb-hero-slider__arrow {
		font-size: 1.5rem;
		padding: 0.5rem;
	}

	.gb-reservations-grid {
		grid-template-columns: 1fr;
	}

	.gb-contact-grid {
		grid-template-columns: 1fr;
	}

	.gb-footer__inner {
		flex-direction: column;
		align-items: flex-start;
	}

	.gb-footer__columns {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		width: 100%;
	}

	.gb-footer__social {
		align-self: flex-end;
	}

	.gb-lineup__days {
		display: flex;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		scrollbar-width: none;
		-ms-overflow-style: none;
		padding-bottom: 0.25rem;
	}

	.gb-lineup__days::-webkit-scrollbar {
		display: none;
	}

	.gb-lineup-day {
		flex: 0 0 calc((100% - 2.7rem) / 7);
		min-width: 68px;
		scroll-snap-align: start;
	}

	.gb-exp-card {
		flex-basis: calc(50% - 0.5rem);
		min-width: 220px;
	}

	.gb-lineup__title,
	.gb-experience-more__title {
		font-size: clamp(1.65rem, 6.5vw, 2.75rem);
	}

	.gb-form-row--half {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 520px) {
	.gb-lineup__days {
		gap: 0.35rem;
	}

	.gb-lineup-day {
		flex: 0 0 calc((100% - 2.1rem) / 7);
		min-width: 58px;
		min-height: 68px;
		padding: 0.55rem 0.25rem 0.65rem;
	}

	.gb-lineup-day__num {
		font-size: 1.65rem;
	}

	.gb-lineup-item {
		grid-template-columns: 44px 1fr auto;
		padding: 0.85rem;
		gap: 0.65rem;
	}

	.gb-exp-card {
		flex-basis: 85%;
		min-width: 260px;
	}

	.gb-lineup__title,
	.gb-experience-more__title {
		font-size: clamp(1.45rem, 8.5vw, 2.25rem);
		letter-spacing: 0.03em;
	}

	.gb-experience-more__head {
		align-items: center;
		gap: 0.65rem;
	}

	.gb-experience-more__nav {
		gap: 0.4rem;
	}

	.gb-experience-more__arrow {
		width: 38px;
		height: 38px;
		font-size: 1rem;
	}

	.gb-footer__columns {
		grid-template-columns: 1fr;
	}

	.gb-footer__social {
		align-self: flex-start;
	}

	.gb-menu-tabs__list {
		width: 100%;
		border-radius: 999px;
	}

	.gb-menu-tab {
		flex: 1 1 auto;
		text-align: center;
		padding: 0.65rem 0.75rem;
		font-size: 0.62rem;
	}

	.gb-menu-list__row,
	.gb-menu-list__row--wine {
		flex-direction: column;
		align-items: flex-start;
		gap: 0.65rem;
	}

	.gb-menu-list__prices--wine,
	.gb-menu-size-head__cols {
		grid-template-columns: repeat(3, 2.75rem);
	}
}

/* Reservation form */
.gb-reservation-form label {
	display: block;
	font-weight: 600;
	margin-bottom: 0.35rem;
	font-size: 0.9rem;
}

.gb-reservation-form input,
.gb-reservation-form select,
.gb-reservation-form textarea {
	width: 100%;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--gb-border);
	border-radius: var(--gb-radius);
	background: var(--gb-bg);
	color: var(--gb-text);
	font-size: 1rem;
}

.gb-form-row {
	margin-bottom: 1rem;
}

.gb-form-row--half {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
}

.gb-btn--submit {
	background: var(--gb-red);
	color: #fff !important;
	border: none;
	cursor: pointer;
	width: 100%;
	padding: 0.85rem;
	font-size: 1rem;
}

.gb-btn--submit:hover {
	background: var(--gb-red-bright);
}

.gb-form-deposit {
	font-size: 0.9rem;
	color: var(--gb-text-muted);
}

.gb-notice {
	padding: 1rem;
	border-radius: var(--gb-radius);
	margin-bottom: 1rem;
}

.gb-notice--success {
	background: var(--gb-yellow-glow);
	border: 1px solid var(--gb-yellow);
	color: var(--gb-text);
}

.gb-notice--error {
	background: rgba(212, 31, 46, 0.12);
	border: 1px solid var(--gb-red);
	color: var(--gb-text);
}

.gb-contact__hours .gb-hours-list li span:only-child {
	display: block;
	width: 100%;
	color: var(--gb-yellow);
	font-weight: 600;
}

/* LatePoint dark theme overrides */
.gb-latepoint-wrap .latepoint-booking-form-element,
.gb-latepoint-wrap .os-booking-form,
.gb-latepoint-wrap .latepoint-content {
	background: var(--gb-bg-card) !important;
	color: var(--gb-text) !important;
	border-radius: var(--gb-radius);
}

.gb-latepoint-wrap .latepoint-btn,
.gb-latepoint-wrap .os-next-btn,
.gb-latepoint-wrap button[type="submit"] {
	background: var(--gb-red) !important;
	color: #fff !important;
	border: none !important;
}

/* Contact page */
.gb-contact-grid {
	display: grid;
	grid-template-columns: 1.2fr 1fr;
	gap: 2rem;
}

.gb-hours-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.gb-hours-list li {
	display: flex;
	justify-content: space-between;
	padding: 0.5rem 0;
	border-bottom: 1px solid var(--gb-border);
}

.gb-hours-list span:last-child {
	color: var(--gb-yellow);
	font-weight: 600;
}

.gb-hours-note {
	font-size: 0.85rem;
	color: var(--gb-text-muted);
}

body.gatherings-bar-active,
body.gatherings-bar-active.gatherings-bar {
	font-family: "Montserrat", Arial, sans-serif !important;
	background: var(--gb-bg) !important;
	color: var(--gb-text) !important;
}

body.gatherings-bar-active .gb-topbar,
body.gatherings-bar-active .gb-topbar * {
	font-family: "Montserrat", Arial, sans-serif !important;
}

body.gatherings-bar-active .gb-header,
body.gatherings-bar-active .gb-header *:not(.gb-site-logo__mark) {
	font-family: "Montserrat", Arial, sans-serif !important;
}

body.gatherings-bar-active .gb-site-logo__mark,
body.gatherings-bar-active .gb-hero-slider__title,
body.gatherings-bar-active .gb-hero-slider__line,
body.gatherings-bar-active .gb-hero-slider__title * {
	font-family: "Bebas Neue", Arial, sans-serif !important;
	font-weight: 400 !important;
}

body.gatherings-bar-active .gb-section__title,
body.gatherings-bar-active .gb-page__title,
body.gatherings-bar-active .gb-menu-hero__title,
body.gatherings-bar-active .gb-menu-section__title,
body.gatherings-bar-active .gb-lineup__title,
body.gatherings-bar-active .gb-experience-more__title {
	font-family: "Bebas Neue", Arial, sans-serif !important;
	font-weight: 400 !important;
}

/* Menu page — dark theme (inherits site palette) */
body.gatherings-bar-active .gb-menu-page,
body.gatherings-bar-active .gb-menu-page .gb-menu-body,
body.gatherings-bar-active .gb-menu-page .gb-menu-body__inner {
	color: var(--gb-text) !important;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-section__title {
	color: var(--gb-yellow) !important;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-list__name {
	color: var(--gb-text) !important;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-list__desc {
	color: var(--gb-yellow-dim) !important;
	font-weight: 700;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-list__price,
body.gatherings-bar-active .gb-menu-page .gb-menu-list__prices--wine,
body.gatherings-bar-active .gb-menu-page .gb-menu-list__prices--wine span {
	color: var(--gb-yellow) !important;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-size-head__cols,
body.gatherings-bar-active .gb-menu-page .gb-menu-size-head__cols span {
	color: var(--gb-text-muted) !important;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-empty {
	color: var(--gb-text-muted) !important;
}

body.gatherings-bar-active .gb-menu-page .gb-menu-empty a {
	color: var(--gb-red-bright) !important;
}

/* Private Dining page */
.gb-page--private-dining {
	background: var(--gb-bg);
	color: var(--gb-text);
}

.gb-pd-hero {
	padding: 3.5rem 0 2.5rem;
}

.gb-pd-hero__title {
	margin: 0 0 1.25rem;
	font-size: clamp(3rem, 8vw, 5.5rem);
	line-height: 0.95;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--gb-yellow);
}

.gb-pd-hero__intro {
	max-width: 920px;
	margin: 0;
	font-size: 0.72rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	font-weight: 500;
	color: #fff;
}

.gb-pd-gallery {
	padding: 0 0 3rem;
}

.gb-pd-gallery .gb-container {
	position: relative;
}

.gb-pd-gallery__nav {
	display: flex;
	justify-content: flex-end;
	gap: 0.65rem;
	margin-bottom: 1rem;
}

.gb-pd-gallery__arrow {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--gb-border-light);
	background: var(--gb-bg-card);
	color: var(--gb-yellow);
	font-size: 1.15rem;
	line-height: 1;
	cursor: pointer;
	transition: border-color 0.2s, background 0.2s;
}

.gb-pd-gallery__arrow:hover,
.gb-pd-gallery__arrow:focus-visible {
	border-color: var(--gb-yellow);
	background: var(--gb-yellow);
	color: #111;
}

.gb-pd-gallery__viewport {
	overflow: hidden;
}

.gb-pd-gallery__track {
	display: flex;
	gap: 1rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
}

.gb-pd-gallery__track::-webkit-scrollbar {
	display: none;
}

.gb-pd-gallery__item {
	flex: 0 0 min(320px, 78vw);
	margin: 0;
	scroll-snap-align: start;
}

.gb-pd-gallery__item img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.gb-pd-inquiry {
	padding: 2rem 0 4rem;
}

.gb-pd-inquiry__title {
	margin: 0 0 0.75rem;
	font-size: clamp(2rem, 5vw, 3.25rem);
	line-height: 1;
	text-transform: uppercase;
	color: var(--gb-yellow);
}

.gb-pd-inquiry__lead {
	max-width: 720px;
	margin: 0 0 2.5rem;
	font-size: 0.72rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	color: #fff;
}

.gb-pd-form__group-title {
	margin: 2rem 0 1rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #fff;
}

.gb-pd-form__group-title:first-of-type {
	margin-top: 0;
}

.gb-pd-form__grid {
	display: grid;
	gap: 1.25rem 1.5rem;
	margin-bottom: 0.5rem;
}

.gb-pd-form__grid--2 {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.gb-pd-form__grid--3 {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.gb-pd-form__grid--date {
	grid-template-columns: repeat(5, minmax(0, 1fr));
}

.gb-pd-form__field label {
	display: block;
	margin-bottom: 0.45rem;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}

.gb-pd-form__field input,
.gb-pd-form__field select {
	width: 100%;
	padding: 0.55rem 0;
	border: 0;
	border-bottom: 1px solid rgba(255, 255, 255, 0.55);
	border-radius: 0;
	background: transparent;
	color: #fff;
	font-size: 0.85rem;
}

.gb-pd-form__field input:focus,
.gb-pd-form__field select:focus {
	outline: none;
	border-bottom-color: var(--gb-yellow);
}

.gb-pd-form__field select {
	appearance: none;
	cursor: pointer;
}

.gb-pd-form__submit {
	margin-top: 2.5rem;
}

.gb-pd-notice {
	margin-bottom: 1.5rem;
}

.gb-pd-catering-banner {
	min-height: 280px;
	background-size: cover;
	background-position: center;
}

.gb-pd-catering {
	background: var(--gb-bg-card);
	color: var(--gb-text);
	padding: 3rem 0 4rem;
	border-top: 1px solid var(--gb-border);
}

.gb-pd-catering__title {
	margin: 0 0 1rem;
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	line-height: 1;
	text-transform: uppercase;
	color: var(--gb-yellow);
}

.gb-pd-catering__text {
	max-width: 920px;
	margin: 0 0 1.75rem;
	font-size: 0.72rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	color: var(--gb-text-muted);
}

.gb-btn--dark {
	background: var(--gb-gradient-red);
	color: #fff;
	border: 1px solid var(--gb-red);
}

.gb-btn--dark:hover {
	background: var(--gb-red-bright);
	color: #fff;
}

body.gatherings-bar-active .gb-pd-hero__title,
body.gatherings-bar-active .gb-pd-inquiry__title,
body.gatherings-bar-active .gb-pd-catering__title {
	font-family: "Bebas Neue", Arial, sans-serif !important;
	font-weight: 400 !important;
}

@media (max-width: 900px) {
	.gb-pd-form__grid--3,
	.gb-pd-form__grid--date {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.gb-pd-form__grid--2,
	.gb-pd-form__grid--3,
	.gb-pd-form__grid--date {
		grid-template-columns: 1fr;
	}

	.gb-pd-gallery__item img {
		height: 320px;
	}
}

/* Golf Simulator page */
.gb-page--golf-sim {
	background: var(--gb-bg);
	color: var(--gb-text);
}

.gb-btn--pill {
	display: inline-block;
	padding: 0.85rem 1.75rem;
	border-radius: 999px;
	background: var(--gb-yellow);
	color: #111;
	border: 1px solid var(--gb-yellow);
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	text-decoration: none;
	box-shadow: 0 2px 12px var(--gb-yellow-glow);
	transition: background 0.2s, transform 0.15s;
}

.gb-btn--pill:hover {
	background: var(--gb-yellow-bright);
	color: #111;
	transform: translateY(-1px);
}

.gb-golf-hero {
	padding: 3.5rem 0 2.5rem;
	text-align: center;
}

.gb-golf-hero__brand-main {
	margin: 0;
	font-family: "Bebas Neue", Arial, sans-serif;
	font-size: clamp(3.5rem, 10vw, 6rem);
	line-height: 0.95;
	letter-spacing: 0.02em;
	color: var(--gb-yellow);
}

.gb-golf-hero__brand-sub {
	margin: 0.35rem 0 0;
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	color: rgba(255, 255, 255, 0.85);
}

.gb-golf-hero__intro {
	max-width: 920px;
	margin: 2rem auto 2.25rem;
	font-size: 0.72rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	font-weight: 500;
	color: #fff;
}

.gb-golf-gallery {
	padding: 0 0 3rem;
}

.gb-golf-gallery__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.gb-golf-gallery__item {
	margin: 0;
}

.gb-golf-gallery__item img {
	display: block;
	width: 100%;
	height: 420px;
	object-fit: cover;
}

.gb-golf-pass {
	padding: 0 0 4rem;
}

.gb-golf-pass__box {
	background: var(--gb-bg-card);
	border: 1px solid var(--gb-border);
	border-left: 4px solid var(--gb-red);
	border-radius: 12px;
	padding: 2.5rem 2rem;
	box-shadow: var(--gb-shadow-card);
}

.gb-golf-pass__title {
	margin: 0 0 1rem;
	font-size: clamp(1.5rem, 4vw, 2.25rem);
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--gb-yellow);
}

.gb-golf-pass__intro {
	margin: 0 0 1.75rem;
	font-size: 0.72rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	color: #fff;
}

.gb-golf-pass__benefits {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 1.25rem;
	margin-bottom: 1.75rem;
}

.gb-golf-pass__benefit p {
	margin: 0;
	font-size: 0.68rem;
	line-height: 1.55;
	letter-spacing: 0.06em;
	color: #fff;
}

.gb-golf-pass__disclaimer {
	margin: 0 0 1.5rem;
	font-size: 0.65rem;
	color: rgba(255, 255, 255, 0.7);
}

.gb-golf-pass__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1.25rem;
}

.gb-golf-pass__terms {
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: underline;
	color: var(--gb-yellow);
}

.gb-golf-pass__terms:hover {
	opacity: 0.8;
	color: var(--gb-yellow-bright);
}

.gb-golf-play {
	padding: 3rem 0 5rem;
}

.gb-golf-play__title {
	margin: 0 0 1.25rem;
	font-size: clamp(2rem, 5vw, 3rem);
	line-height: 1;
	text-transform: uppercase;
	color: var(--gb-yellow);
}

.gb-golf-play__text {
	max-width: 920px;
	margin: 0 0 1rem;
	font-size: 0.72rem;
	line-height: 1.65;
	letter-spacing: 0.08em;
	color: #fff;
}

.gb-golf-play__list {
	margin: 1.5rem 0 2rem;
	padding-left: 1.25rem;
	max-width: 720px;
}

.gb-golf-play__list li {
	margin-bottom: 0.5rem;
	font-size: 0.85rem;
	line-height: 1.5;
	color: #fff;
}

body.gatherings-bar-active .gb-golf-pass__title,
body.gatherings-bar-active .gb-golf-play__title {
	font-family: "Bebas Neue", Arial, sans-serif !important;
	font-weight: 400 !important;
}

@media (max-width: 900px) {
	.gb-golf-gallery__grid {
		grid-template-columns: 1fr;
	}

	.gb-golf-pass__benefits {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.gb-golf-pass__benefits {
		grid-template-columns: 1fr;
	}

	.gb-golf-gallery__item img {
		height: 280px;
	}
}

/* Golf Simulator booking modal */
.gb-golf-modal {
	position: fixed;
	inset: 0;
	z-index: 1000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	overflow: hidden;
}

.gb-golf-modal[hidden] {
	display: none;
}

.gb-golf-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.72);
}

.gb-golf-modal__dialog {
	position: relative;
	width: min(560px, 100%);
	max-height: calc(100vh - 2.5rem);
	overflow-y: auto;
	scrollbar-width: none;
	-ms-overflow-style: none;
	background: var(--gb-bg-card);
	border: 1px solid var(--gb-red);
	border-radius: 12px;
	padding: 2rem 1.75rem 1.75rem;
	color: var(--gb-text);
	box-shadow: var(--gb-shadow-card), var(--gb-shadow-glow);
}

.gb-golf-modal__dialog::-webkit-scrollbar {
	display: none;
	width: 0;
	height: 0;
}

.gb-golf-modal__close {
	position: absolute;
	top: 0.75rem;
	right: 0.85rem;
	background: none;
	border: 0;
	color: #fff;
	font-size: 1.75rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.75;
}

.gb-golf-modal__close:hover,
.gb-golf-modal__close:focus-visible {
	opacity: 1;
}

.gb-golf-modal__title {
	margin: 0 0 1.5rem;
	font-size: clamp(1.5rem, 4vw, 2rem);
	line-height: 1.05;
	text-transform: uppercase;
	color: var(--gb-yellow);
}

.gb-golf-booking-form__row {
	margin-bottom: 1rem;
}

.gb-golf-booking-form__row label {
	display: block;
	margin-bottom: 0.4rem;
	font-size: 0.68rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #fff;
}

.gb-golf-booking-form__row input,
.gb-golf-booking-form__row select,
.gb-golf-booking-form__row textarea {
	width: 100%;
	padding: 0.65rem 0.75rem;
	border: 1px solid var(--gb-border);
	border-radius: 4px;
	background: var(--gb-bg);
	color: var(--gb-text);
	font-size: 0.9rem;
}

.gb-golf-booking-form__row input:focus,
.gb-golf-booking-form__row select:focus,
.gb-golf-booking-form__row textarea:focus {
	outline: none;
	border-color: var(--gb-yellow);
}

.gb-golf-booking-form__row--half {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.gb-golf-booking-form__submit {
	margin-top: 0.5rem;
	border: 0;
	cursor: pointer;
}

.gb-golf-modal__success {
	margin-bottom: 0;
}

body.gb-golf-modal-open {
	overflow: hidden;
}

html.gb-golf-modal-open {
	overflow: hidden;
}

body.gatherings-bar-active .gb-golf-modal__title {
	font-family: "Bebas Neue", Arial, sans-serif !important;
	font-weight: 400 !important;
}

@media (max-width: 640px) {
	.gb-golf-booking-form__row--half {
		grid-template-columns: 1fr;
	}
}
