.etterem-page {
	overflow-x: hidden;
}

.etterem-hero {
	position: relative;
	height: 80vh;
	min-height: 520px;
}
.hero-bg {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}
.hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(
		90deg,
		rgba(38, 33, 31, 0.55),
		rgba(38, 33, 31, 0.1)
	);
	display: flex;
	align-items: center;
}
.hero-text {
	max-width: 480px;
	margin-left: 8%;
	color: #fff;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
}
.hero-text h1 {
	color: #fff;
}
.hero-text p {
	color: #f0ece6;
}

@media (max-width: 1100px) {
	.hero-overlay {
		align-items: flex-end;
	}
	.hero-text {
		margin: 0 auto;
		padding: var(--space-lg);
		text-align: center;
	}
}

.concept-inner {
	max-width: 800px;
	margin-inline: auto;
}

.space-row {
	display: grid;
	grid-template-columns: 60% 40%;
	gap: var(--space-xl);
	align-items: center;
	margin-bottom: var(--space-xl);
}
.space-row.reverse {
	grid-template-columns: 40% 60%;
}
.space-row.reverse .space-image {
	order: 2;
}
.space-image img {
	width: 100%;
	height: auto;
}
.space-text {
	max-width: 520px;
}

@media (max-width: 900px) {
	.space-row,
	.space-row.reverse {
		grid-template-columns: 1fr;
	}
	.space-row.reverse .space-image {
		order: 0;
	}
}

.table-grid {
	display: grid;
	grid-template-columns: 55% 45%;
	gap: var(--space-xl);
	align-items: center;
}
.table-text {
	max-width: 700px;
}
.table-image img {
	width: 100%;
}

@media (max-width: 1000px) {
	.table-grid {
		grid-template-columns: 1fr;
	}
	.table-image {
		order: -1;
	}
}

.transition-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-xl);
	max-width: 800px;
	margin-inline: auto;
	text-align: center;
}

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

.social-inner {
	max-width: 900px;
}

.disclaimer-inner {
	max-width: 800px;
	margin-inline: auto;
	text-align: center;
}
.disclaimer-inner strong {
	display: block;
	margin-top: var(--space-sm);
	color: var(--color-accent-bordeaux);
}

.details-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: var(--space-lg);
}

@media (max-width: 1000px) {
	.details-grid {
		grid-template-columns: 1fr;
	}
}

.closing-inner {
	max-width: 700px;
	margin-inline: auto;
	text-align: center;
}

.cta-card {
	max-width: 500px;
	margin-inline: auto;
	display: flex;
	flex-direction: column;
	gap: var(--space-md);
	text-align: center;
	padding: var(--space-lg);
}

.fade-in {
	opacity: 0;
	transform: translateY(20px);
	transition:
		opacity 0.6s ease,
		transform 0.6s ease;
}
.fade-in.visible {
	opacity: 1;
	transform: none;
}
