.location-page {
	background:#fff;
	color:#1a1a1a;
}

.location-page * {
	box-sizing:border-box;
}

.location-page h1,
.location-page h2,
.location-page h3 {
	color:#000;
	font-family:"Outfit","Open Sans",Arial,sans-serif;
}

/* HERO */

.location-hero {
	padding:72px 20px;
	background:linear-gradient(135deg,#fdfbfb 0%,#ebedee 100%);
	text-align:center;
}

.location-hero-inner {
	max-width:980px;
	margin:0 auto;
}

.location-hero h1 {
	font-size:44px;
	font-weight:700;
	line-height:1.2;
	margin:0 0 18px;
}

.location-hero p {
	font-size:20px;
	line-height:1.6;
	max-width:820px;
	margin:0 auto;
}

/* BLOC PRINCIPAL */

.location-main {
	max-width:900px;
	margin:0 auto;
	padding:64px 20px;
}

.location-content {
	background:#fff;
	border:1px solid #e9ecef;
	border-radius:16px;
	padding:32px;
}

.location-content h2 {
	text-align:center;
	margin:0 0 24px;
}

.location-content p,
.location-card p,
.location-card li,
.location-reservation p {
	font-size:16px;
	line-height:1.7;
}

.location-highlight-grid {
	display:grid;
	grid-template-columns:repeat(2,1fr);
	gap:12px;
	margin:28px 0 0;
}

.location-highlight-grid div {
	background:#ffffff;
	border:1px solid #e9ecef;
	border-radius:12px;
	padding:14px;
	font-weight:700;
	text-align:center;
	color:#2c3e50;
}

/* OPTIONS */

.location-options {
	background:#f8f9fa;
	padding:64px 20px;
	text-align:center;
}

.location-section-inner {
	max-width:1140px;
	margin:0 auto;
}

.location-options h2,
.location-reservation h2 {
	margin:0 0 28px;
	font-size:34px;
	font-weight:700;
}

.location-options-grid {
	display:grid;
	grid-template-columns:repeat(3,1fr);
	gap:18px;
	margin-top:28px;
}

.location-card {
	background:#fff;
	border:1px solid #e9ecef;
	border-radius:14px;
	padding:24px;
	text-align:left;
}

.location-card h3 {
	margin:0 0 15px;
	font-size:23px;
}

.location-card ul {
	margin:18px 0;
	padding-left:28px;
}

.location-card li {
	margin:6px 0;
}

.location-note {
	background:#fff4f2;
	border:1px solid #f1c4bd;
	border-radius:12px;
	padding:14px;
	font-size:15px;
	font-weight:700;
	line-height:1.6;
	color:#2c3e50;
}

/* RESERVATION */

.location-reservation {
	padding:72px 20px;
	text-align:center;
	background:#ffffff;
}

.location-reservation p {
	max-width:760px;
	margin:0 auto 24px;
	color:#444;
}

.location-phone {
	display:inline-block;
	margin:0 auto 28px;
	font-size:28px;
	font-weight:700;
	color:#ed615a;
}

.location-cta-buttons {
	display:flex;
	justify-content:center;
	gap:12px;
	flex-wrap:wrap;
}

.location-btn {
	display:inline-block;
	padding:12px 26px;
	border-radius:8px;
	background:#ed615a;
	color:#fff !important;
	border:1px solid #ed615a;
	font-weight:700;
	text-decoration:none !important;
	transition:all 0.2s ease;
}

.location-btn:hover {
	background:#d44d47;
	border-color:#d44d47;
	color:#fff !important;
}

.location-btn-outline {
	background:#ffffff;
	color:#ed615a !important;
}

.location-btn-outline:hover {
	background:#ed615a;
	color:#fff !important;
}

/* RESPONSIVE */

@media (max-width:991px) {
	.location-hero h1 {
		font-size:36px;
	}

	.location-highlight-grid,
	.location-options-grid {
		grid-template-columns:1fr;
	}

	.location-options h2,
	.location-reservation h2 {
		font-size:30px;
	}
}