/* modern hero with advanced overlay and micro-interactions */
.hero-section {
	height: 85vh;
	min-height: 620px;
	background: linear-gradient(105deg, var(--black-65) 0%, var(--black-45) 100%),
		url('https://images.unsplash.com/photo-1552566626-52f8b828add9?ixlib=rb-4.0.3&auto=format&fit=crop&w=1920&q=80');
	background-size: cover;
	background-position: center 30%;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	border-radius: 36px;
	margin: 24px 0 40px 0;
	position: relative;
	backdrop-filter: brightness(0.96);
	box-shadow: 0 25px 45px -12px var(--black-30);
	transition: all 0.3s ease;
	overflow: hidden;
}

.hero-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: radial-gradient(circle at 20% 40%, var(--orange-500-15) 0%, var(--black-0) 70%);
	pointer-events: none;
}

.hero-section h2 {
	font-size: var(--text-hero);
	font-weight: 800;
	margin-bottom: 18px;
	letter-spacing: -0.02em;
	background: linear-gradient(135deg, var(--white) 0%, var(--amber-200) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	color: var(--transparent);
	text-shadow: 0 2px 5px var(--black-20);
	animation: fadeSlideUp 0.9s ease-out;
}

.hero-section p {
	font-size: var(--text-xl);
	max-width: 620px;
	margin: 0 auto 38px auto;
	color: var(--ivory-92);
	font-weight: 500;
	backdrop-filter: blur(2px);
	background: var(--black-30);
	padding: 8px 24px;
	border-radius: 60px;
	letter-spacing: -0.2px;
	animation: fadeSlideUp 0.9s ease-out 0.1s backwards;
}

.btn-group {
	display: flex;
	gap: 20px;
	flex-wrap: wrap;
	justify-content: center;
	animation: fadeSlideUp 0.9s ease-out 0.2s backwards;
}

/* modern button styles matching base UI */
.btn-hero-primary {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: linear-gradient(100deg, var(--orange-500), var(--orange-600));
	color: var(--white);
	padding: 14px 34px;
	border-radius: 60px;
	text-decoration: none;
	font-weight: 700;
	font-size: var(--text-base);
	transition: all 0.25s ease;
	box-shadow: 0 10px 20px -8px var(--orange-500-40);
	border: none;
	cursor: pointer;
	letter-spacing: 0.3px;
}

.btn-hero-primary i {
	font-size: var(--text-lg);
	transition: transform 0.2s;
}

.btn-hero-primary:hover {
	transform: translateY(-3px);
	background: linear-gradient(100deg, var(--orange-600), var(--orange-700));
	box-shadow: 0 20px 28px -12px var(--orange-600-50);
}

.btn-hero-primary:hover i {
	transform: translateX(4px);
}

.btn-hero-outline {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	background: var(--white-12);
	backdrop-filter: blur(12px);
	border: 1.5px solid var(--ivory-65);
	color: var(--white);
	padding: 14px 32px;
	border-radius: 60px;
	text-decoration: none;
	font-weight: 600;
	font-size: var(--text-base);
	transition: all 0.25s;
	box-shadow: 0 4px 12px var(--black-12);
}

.btn-hero-outline:hover {
	background: var(--orange-500-85);
	border-color: var(--transparent);
	transform: translateY(-2px);
	box-shadow: 0 14px 22px -10px var(--orange-500-40);
}

/* feature badges */
.feature-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
	gap: 28px;
	margin: 60px 0 30px 0;
}

.feature-card {
	background: var(--white-75);
	backdrop-filter: blur(4px);
	border-radius: 32px;
	padding: 28px 20px;
	text-align: center;
	transition: 0.2s ease;
	border: 1px solid var(--ivory-50);
	box-shadow: 0 6px 14px var(--black-4);
}

.feature-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 18px auto;
	border-radius: 50%;
	background: linear-gradient(135deg, var(--orange-500), var(--amber-400));
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 10px 20px -6px var(--orange-500-30);
}

.feature-icon i {
	font-size: var(--text-2xl);
	color: var(--white);
}

.feature-card h4 {
	font-size: var(--text-xl);
	font-weight: 700;
	margin-bottom: 12px;
	color: var(--slate-800);
}

.feature-card p {
	color: var(--blue-gray-800);
	font-size: var(--text-ui);
	line-height: 1.45;
}

.feature-card:hover {
	transform: translateY(-6px);
	background: var(--white);
	border-color: var(--amber-200);
	box-shadow: 0 20px 32px -12px var(--black-12);
}

/* restaurant stats section */
.stats-row {
	background: var(--white);
	backdrop-filter: blur(8px);
	border-radius: 48px;
	padding: 28px 24px;
	margin: 48px 0 30px;
	display: flex;
	justify-content: space-around;
	flex-wrap: wrap;
	gap: 30px;
	border: 1px solid var(--orange-50);
}

.stat-item {
	text-align: center;
}

.stat-number {
	font-size: var(--text-5xl);
	font-weight: 800;
	color: var(--orange-700);
	line-height: 1.2;
}

.stat-label {
	font-weight: 500;
	color: var(--slate-700);
	text-transform: uppercase;
	letter-spacing: 1px;
	font-size: var(--text-sm);
}

@keyframes fadeSlideUp {
	0% {
		opacity: 0;
		transform: translateY(24px);
	}

	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* responsive adjustments */
@media (max-width: 760px) {
	.hero-section {
		height: 70vh;
		min-height: 520px;
		border-radius: 28px;
	}

	.hero-section h2 {
		font-size: var(--text-6xl);
		padding: 0 16px;
	}

	.hero-section p {
		font-size: var(--text-base);
		padding: 5px 18px;
	}

	.btn-hero-primary,
	.btn-hero-outline {
		padding: 10px 24px;
		font-size: var(--text-ui);
	}

	.feature-card {
		padding: 20px 16px;
	}
}

@media (max-width: 480px) {
	.btn-group {
		gap: 14px;
	}

	.hero-section h2 {
		font-size: var(--text-4xl);
	}

	.stats-row {
		padding: 20px;
	}

	.stat-number {
		font-size: var(--text-2xl);
	}
}

/* additional small details */
.highlight-text {
	background: linear-gradient(120deg, var(--amber-50), var(--orange-50-light));
	padding: 2px 10px;
	border-radius: 40px;
	color: var(--amber-700);
	font-weight: 600;
}

.hero-crown {
	font-size: 0.9em;
	color: var(--amber-400);
	background: none;
	-webkit-background-clip: unset;
	background-clip: unset;
}

.powered-by-row {
	text-align: center;
	margin: 20px 0 10px;
}

.powered-by-row p {
	max-width: 720px;
	margin: 0 auto;
	color: var(--blue-gray-800);
	font-size: var(--text-sm);
	background: var(--white-98-rgba);
	padding: 12px 28px;
	border-radius: 100px;
	backdrop-filter: blur(2px);
}

.powered-by-cloud {
	margin-left: 8px;
	color: var(--orange-500);
}