.eo-hero {
	position: relative;
	background: linear-gradient(135deg, var(--eo-hero-gradient-from, #1c6d78), var(--eo-hero-gradient-to, #d9a78d));
	color: var(--eo-hero-title-color, #fff);
	overflow: hidden;
}

.eo-hero--has-image {
	background-image: linear-gradient(135deg, var(--eo-hero-gradient-from, #1c6d78), var(--eo-hero-gradient-to, #d9a78d)), var(--eo-hero-bg-image);
	background-size: cover;
	background-position: center;
	background-blend-mode: multiply;
}

/* Header/hero content stays boxed to an admin-set width; the gradient background itself (.eo-hero) always stays full-bleed */
.eo-hero .eo-hero-topbar,
.eo-hero .eo-hero-inner {
	max-width: var(--eo-hero-max-width, 1200px);
}

/* Logo + menu + search + Sign In - only present on the front page's hero (see header.php) */
.eo-hero-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	padding: 20px 0;
	flex-wrap: wrap;
}

.eo-hero .eo-logo-link {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	color: #fff;
	font-weight: 700;
	font-size: 1.4rem;
}

.eo-logo-img {
	max-height: 40px;
	width: auto;
}

.eo-logo-text {
	white-space: nowrap;
}

.eo-hero-nav ul {
	display: flex;
	gap: 28px;
	list-style: none;
	margin: 0;
	padding: 0;
	flex-wrap: wrap;
}

.eo-hero-nav a {
	color: rgba(255, 255, 255, 0.9);
	text-transform: uppercase;
	font-size: 0.8rem;
	letter-spacing: 0.04em;
	font-weight: 600;
}

.eo-hero-nav a:hover {
	color: #fff;
	text-decoration: none;
}

.eo-hero-actions {
	display: flex;
	align-items: center;
	gap: 16px;
}

.eo-hero-search {
	background: transparent;
	border: none;
	color: #fff;
	cursor: pointer;
	display: inline-flex;
	padding: 4px;
}

.eo-hero-signin {
	background: #fff;
	color: #111;
	font-weight: 700;
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	padding: 10px 22px;
	border-radius: 999px;
}

.eo-hero-signin:hover {
	background: #f1f1f1;
	text-decoration: none;
}

/* Title / subtitle / CTA */
.eo-hero-inner {
	padding: 60px 0 100px;
}

.eo-hero-content {
	max-width: 620px;
}

.eo-hero-title {
	margin: 0 0 20px;
	font-size: var(--eo-hero-title-size, 56px);
	line-height: 1.1;
	color: var(--eo-hero-title-color, #fff);
	font-weight: 500;
}

.eo-hero-subtitle {
	margin: 0 0 28px;
	font-size: var(--eo-hero-subtitle-size, 18px);
	color: var(--eo-hero-subtitle-color, #f1f5f4);
	max-width: 480px;
}

.eo-hero-button {
	display: inline-block;
	background: var(--eo-hero-button-bg, #e8b49a);
	color: var(--eo-hero-button-color, #1a1a1a);
	font-weight: 700;
	padding: 16px 34px;
	border-radius: 999px;
	text-transform: uppercase;
	font-size: 0.85rem;
	letter-spacing: 0.03em;
}

.eo-hero-button:hover {
	opacity: 0.92;
	text-decoration: none;
}

@media (max-width: 768px) {
	.eo-hero-topbar {
		justify-content: center;
	}

	.eo-hero-nav {
		order: 3;
		width: 100%;
	}

	.eo-hero-nav ul {
		justify-content: center;
	}

	.eo-hero-title {
		font-size: calc(var(--eo-hero-title-size, 56px) * 0.6);
	}

	.eo-hero-inner {
		text-align: center;
		padding: 40px 0 60px;
	}

	.eo-hero-content {
		max-width: 100%;
		margin: 0 auto;
	}

	.eo-hero-subtitle {
		max-width: 100%;
	}
}
