.hero-contact {
	position: relative;
	padding-top: 120px;
	padding-bottom: 80px;
	
}
.hero-contact::after {
	content: "";
	position: absolute;
	inset: 0;
	background:
		radial-gradient(
			circle at 10% 0,
			rgba(200, 155, 69, 0.22) 0,
			transparent 55%
		),
		radial-gradient(
			circle at 90% 100%,
			rgba(138, 31, 45, 0.48) 0,
			transparent 60%
		),
		linear-gradient(to bottom, rgba(4, 6, 8, 0.85), rgba(4, 6, 8, 0.98));
	pointer-events: none;
}
.hero-contact .hero-overlay {
	display: none;
}
.hero-contact .hero-inner {
	position: relative;
	z-index: 1;
}
.hero-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.6fr) minmax(0, 1.2fr);
	gap: var(--space-40);
	align-items: stretch;
}
.hero-contact-card {
	align-self: stretch;
}
.card-contact {
	height: 100%;
	display: flex;
	flex-direction: column;
}
.contact-quick {
	flex: 1;
	display: flex;
	flex-direction: column;
}
.contact-row {
	display: flex;
	gap: var(--space-32);
	flex-wrap: wrap;
}
.contact-link {
	font-size: var(--font-size-lg);
	color: var(--color-heading);
}
.contact-link:hover {
	color: var(--color-accent);
}
.contact-note {
	font-size: var(--font-size-xs);
	color: var(--gray-300);
	border-top: 1px solid var(--color-border);
	padding-top: var(--space-16);
	margin-top: var(--space-16);
}
.contact-detail-grid {
	gap: var(--space-32);
}
.contact-detail-card .card-title {
	margin-bottom: var(--space-12);
}
.contact-highlight {
	font-family: var(--font-serif);
	color: var(--color-heading);
	margin-bottom: var(--space-16);
}
.section-contact-details {
	background: var(--color-bg-secondary);
}
.section-reservation {
	background: var(--color-bg);
}
.reservation-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);
	gap: var(--space-32);
	align-items: flex-start;
}
.reservation-form .reservation-grid {
	gap: var(--space-20);
}
.reservation-info {
	margin-top: var(--space-12);
}
.reservation-actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	margin-top: var(--space-24);
}
.reservation-success {
	margin-top: var(--space-16);
	color: var(--color-success);
}
.reservation-success[hidden] {
	display: none;
}
.reservation-aside {
	position: sticky;
	top: 120px;
}
.section-events {
	background: var(--color-bg-secondary);
}
.events-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);
	gap: var(--space-32);
	align-items: flex-start;
}
.events-form .events-grid {
	gap: var(--space-20);
}
.events-services {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-12);
}
.events-checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	font-size: var(--font-size-sm);
	padding: 6px 12px;
	border-radius: var(--radius-pill);
	border: 1px solid var(--color-border);
	background: rgba(15, 20, 24, 0.7);
}
.events-checkbox input {
	width: auto;
	margin: 0;
}
.events-actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	margin-top: var(--space-24);
}
.events-success {
	margin-top: var(--space-16);
	color: var(--color-success);
}
.events-success[hidden] {
	display: none;
}
.events-aside {
	position: sticky;
	top: 120px;
}
.section-access {
	background: var(--color-bg);
}
.access-grid {
	gap: var(--space-32);
}
.access-card .card-title {
	margin-bottom: var(--space-12);
}
.section-team {
	background: var(--color-bg-secondary);
}
.team-grid {
	gap: var(--space-32);
}
.team-card .card-title {
	margin-bottom: var(--space-4);
}
.section-social {
	background: var(--color-bg);
}
.social-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr);
	gap: var(--space-32);
	align-items: flex-start;
}
.social-links {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-12);
	margin-top: var(--space-16);
	margin-bottom: var(--space-16);
}
.social-pill {
	padding: 8px 18px;
	border-radius: var(--radius-pill);
	border: 1px solid var(--color-border);
	color: var(--gray-200);
	background: rgba(15, 20, 24, 0.7);
	font-size: var(--font-size-sm);
}
.social-pill:hover {
	border-color: var(--color-accent);
	color: var(--color-heading);
}
.newsletter-preferences {
	display: flex;
	flex-wrap: wrap;
	gap: var(--space-12);
}
.newsletter-checkbox {
	display: inline-flex;
	align-items: center;
	gap: var(--space-8);
	font-size: var(--font-size-sm);
	padding: 6px 12px;
	border-radius: var(--radius-pill);
	border: 1px solid var(--color-border);
	background: rgba(15, 20, 24, 0.7);
}
.newsletter-checkbox input {
	width: auto;
	margin: 0;
}
.newsletter-actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	margin-top: var(--space-16);
}
.newsletter-success {
	margin-top: var(--space-16);
	color: var(--color-success);
}
.newsletter-success[hidden] {
	display: none;
}
.section-faq {
	background: var(--color-bg-secondary);
}
.faq-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-24);
}
.faq-item .card-title {
	margin-bottom: var(--space-12);
}
.section-feedback {
	background: var(--color-bg);
}
.feedback-layout {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.2fr);
	gap: var(--space-32);
	align-items: flex-start;
}
.feedback-form .feedback-grid {
	gap: var(--space-20);
}
.feedback-actions {
	display: flex;
	flex-direction: column;
	gap: var(--space-8);
	margin-top: var(--space-24);
}
.feedback-success {
	margin-top: var(--space-16);
	color: var(--color-success);
}
.feedback-success[hidden] {
	display: none;
}
.feedback-aside {
	position: sticky;
	top: 120px;
}
.section-privacy {
	background: var(--color-bg-secondary);
}
.privacy-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1.3fr);
	gap: var(--space-32);
}
.privacy-card .card-title {
	margin-bottom: var(--space-12);
}
@media (max-width: 1200px) {
	.hero-contact-layout,
	.reservation-layout,
	.events-layout,
	.social-layout,
	.feedback-layout,
	.privacy-layout {
		grid-template-columns: 1fr;
	}
	.reservation-aside,
	.events-aside,
	.feedback-aside {
		position: static;
	}
}
@media (max-width: 992px) {
	.faq-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.hero-contact {
		padding-top: 96px;
		padding-bottom: 64px;
	}
}
@media (max-width: 768px) {
	.hero-contact {
		padding-top: 96px;
		padding-bottom: 56px;
	}
	.hero-contact-layout {
		grid-template-columns: 1fr;
	}
	.contact-row {
		flex-direction: column;
	}
	.reservation-layout,
	.events-layout,
	.social-layout,
	.feedback-layout,
	.privacy-layout {
		grid-template-columns: 1fr;
	}
	.faq-grid {
		grid-template-columns: 1fr;
	}
	.social-links,
	.newsletter-preferences,
	.events-services {
		flex-direction: column;
		align-items: flex-start;
	}
}
