.contact-hero {
	align-items: center;
}
.contact-hero-layout {
	display: grid;
	grid-template-columns: minmax(0, 2.1fr) minmax(0, 1.4fr);
	gap: var(--space-8);
	align-items: center;
}
.contact-hero-main {
	max-width: 680px;
}
.contact-hero-actions {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	align-items: center;
	margin-bottom: var(--space-4);
}
.contact-hero-meta {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
}
.contact-hero-card {
	max-width: 480px;
	margin-left: auto;
}
.contact-quick-info {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}
.contact-quick-row {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-quick-row-secondary {
	border-top: 1px solid rgba(61, 68, 75, 0.9);
	padding-top: var(--space-4);
	margin-top: var(--space-2);
}
.contact-link-strong {
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--color-gold-accent);
}
.contact-link-strong:hover {
	color: var(--color-heading);
}
.contact-address {
	font-size: 0.95rem;
	color: var(--color-text);
}
.contact-links-inline {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-3);
	align-items: center;
}
.contact-grid-main {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.4fr);
	gap: var(--space-10);
	align-items: flex-start;
}
.contact-section-header {
	max-width: 640px;
}
.contact-details-panels {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}
.contact-panel-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}
.contact-info-block h4 {
	margin-bottom: var(--space-2);
	font-size: 1.05rem;
}
.contact-hours-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-hours-grid {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}
.contact-hours-row {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 0.95rem;
}
.contact-forms-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.5fr);
	gap: var(--space-10);
	align-items: flex-start;
}
.form-grid-two {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: var(--space-4);
}
.contact-form {
	margin-top: var(--space-5);
}
.contact-form-footer {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-4);
	justify-content: space-between;
	align-items: center;
	margin-top: var(--space-4);
}
.contact-form-privacy {
	display: flex;
	align-items: flex-start;
	gap: var(--space-2);
	font-size: 0.8rem;
	color: var(--color-muted);
}
.contact-form-privacy input {
	width: 16px;
	height: 16px;
	margin-top: 3px;
	border-radius: 4px;
	border: 1px solid rgba(112, 120, 129, 0.8);
	background-color: rgba(20, 21, 23, 0.6);
}
.contact-form-privacy a {
	text-decoration: underline;
}
.contact-side-panels {
	display: flex;
	flex-direction: column;
	gap: var(--space-5);
}
.contact-reservation-mini,
.contact-event-mini {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-live-faq-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.5fr);
	gap: var(--space-8);
	align-items: flex-start;
}
.contact-live-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-live-status {
	display: flex;
	flex-direction: column;
	gap: var(--space-3);
}
.contact-location-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.8fr) minmax(0, 1.2fr);
	gap: var(--space-10);
	align-items: stretch;
}
.contact-location-modes {
	margin-top: var(--space-6);
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-5);
}
.contact-location-mode h3 {
	font-size: 1.1rem;
	margin-bottom: var(--space-2);
}
.contact-map-panel {
	align-self: stretch;
}
.contact-map-body {
	display: flex;
	flex-direction: column;
	gap: var(--space-4);
}
.contact-map-placeholder {
	position: relative;
	border-radius: var(--radius-xl);
	border: 1px solid rgba(61, 68, 75, 0.9);
	background:
		radial-gradient(
			circle at 10% 0,
			rgba(224, 192, 108, 0.08),
			transparent 55%
		),
		radial-gradient(
			circle at 90% 100%,
			rgba(138, 31, 40, 0.6),
			transparent 60%
		),
		linear-gradient(135deg, #141517, #202327);
	min-height: 260px;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.contact-map-marker {
	position: absolute;
	padding: 0.5rem 1.1rem;
	border-radius: 999px;
	background-color: rgba(20, 21, 23, 0.92);
	border: 1px solid rgba(199, 154, 70, 0.8);
	color: var(--color-text);
	font-size: 0.85rem;
	box-shadow: var(--shadow-soft);
}
.contact-map-ring {
	position: absolute;
	border-radius: 999px;
	border: 1px dashed rgba(224, 192, 108, 0.7);
	pointer-events: none;
}
.contact-map-ring-outer {
	width: 78%;
	height: 68%;
	opacity: 0.4;
}
.contact-map-ring-inner {
	width: 44%;
	height: 38%;
	opacity: 0.6;
}
.contact-parking-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.4fr);
	gap: var(--space-10);
	align-items: flex-start;
}
.contact-parking-columns {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: var(--space-5);
}
.contact-feedback-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.7fr) minmax(0, 1.5fr);
	gap: var(--space-10);
	align-items: flex-start;
}
.contact-feedback-intro {
	max-width: 640px;
}
.contact-hero-media-layer {
	position: absolute;
	inset: 0;
	opacity: 0.33;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}
.contact-hero-media-restaurant {
	background-image: linear-gradient(120deg, rgba(0, 0, 0, 0.7), transparent);
}
.contact-hero-media-bar {
	background-image: radial-gradient(
		circle at 15% 0,
		rgba(199, 154, 70, 0.45),
		transparent 60%
	);
	mix-blend-mode: soft-light;
}
.contact-hero-media-poker {
	background-image: radial-gradient(
		circle at 80% 120%,
		rgba(138, 31, 40, 0.75),
		transparent 55%
	);
	mix-blend-mode: overlay;
}
.contact-hero-media-layer:nth-child(2) {
	opacity: 0.42;
}
.contact-hero-media-layer:nth-child(3) {
	opacity: 0.5;
}
.faq-item[data-open="true"] .faq-toggle {
	transform: rotate(45deg);
}
@media (max-width: 1024px) {
	.contact-hero-layout {
		grid-template-columns: minmax(0, 1.6fr);
		gap: var(--space-6);
	}
	.contact-hero-card {
		max-width: none;
	}
	.contact-grid-main {
		grid-template-columns: minmax(0, 1.7fr);
		gap: var(--space-8);
	}
	.contact-forms-layout {
		grid-template-columns: minmax(0, 1.7fr);
		gap: var(--space-8);
	}
	.contact-live-faq-grid {
		grid-template-columns: minmax(0, 1.7fr);
		gap: var(--space-8);
	}
	.contact-location-grid {
		grid-template-columns: minmax(0, 1.7fr);
		gap: var(--space-8);
	}
	.contact-parking-grid {
		grid-template-columns: minmax(0, 1.7fr);
		gap: var(--space-8);
	}
	.contact-feedback-grid {
		grid-template-columns: minmax(0, 1.7fr);
		gap: var(--space-8);
	}
	.contact-map-placeholder {
		min-height: 220px;
	}
}
@media (max-width: 768px) {
	.contact-hero {
		padding-top: var(--space-12);
		padding-bottom: var(--space-12);
	}
	.contact-hero-layout {
		gap: var(--space-5);
	}
	.contact-hero-actions {
		flex-direction: column;
		align-items: flex-start;
	}
	.contact-hero-meta {
		flex-direction: column;
		align-items: flex-start;
	}
	.contact-grid-main,
	.contact-forms-layout,
	.contact-live-faq-grid,
	.contact-location-grid,
	.contact-parking-grid,
	.contact-feedback-grid {
		gap: var(--space-6);
	}
	.form-grid-two {
		grid-template-columns: minmax(0, 1fr);
	}
	.contact-section-header,
	.contact-feedback-intro {
		max-width: none;
	}
	.contact-map-placeholder {
		min-height: 200px;
	}
	.contact-form-footer {
		align-items: flex-start;
		flex-direction: column-reverse;
	}
	.contact-links-inline {
		flex-direction: column;
		align-items: flex-start;
	}
}
