/**
 * LM Beauty Studio — Hero Styles
 *
 * Split layout: gold panel (left) + image (right).
 * Reference: 01-Hero Section.png
 *
 * @package LM_Beauty_Studio
 * @since   1.0.0
 */

/* ══════════════════════════════════════════════════════════════════════════
   Hero Section
   ══════════════════════════════════════════════════════════════════════════ */
.hero {
	padding: var(--spacing-lg) 0;
	background-color: var(--color-background);
}

.hero__inner {
	max-width: var(--container-max-width);
}

/* ── Grid: two columns ────────────────────────────────────────────────── */
.hero__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	min-height: 70vh;
	border-radius: var(--border-radius-lg);
	overflow: hidden;
}

/* ── Left: Text Content ───────────────────────────────────────────────── */
.hero__content {
	background-color: var(--color-primary);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: var(--spacing-4xl) var(--spacing-3xl);
}

.hero__title {
	font-family: var(--font-heading);
	font-size: clamp(2.4rem, 4vw, 3.8rem);
	font-weight: var(--font-weight-bold);
	line-height: 1.15;
	color: var(--color-text-inverse);
	margin-bottom: var(--spacing-xl);
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.hero__subtitle {
	font-family: var(--font-primary);
	font-size: 0.82rem;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.85);
	margin-bottom: var(--spacing-2xl);
}

/* ── CTA Button ───────────────────────────────────────────────────────── */
.hero__cta {
	display: inline-block;
	align-self: flex-start;
	padding: var(--spacing-md) var(--spacing-2xl);
	font-family: var(--font-primary);
	font-size: 0.75rem;
	font-weight: var(--font-weight-medium);
	letter-spacing: 0.18em;
	text-transform: uppercase;
	text-decoration: none;
	color: var(--color-primary);
	background-color: var(--color-background);
	border: 1.5px solid var(--color-background);
	border-radius: 50px;
	transition: background-color var(--transition-base),
	            color var(--transition-base),
	            border-color var(--transition-base);
}

.hero__cta:hover {
	background-color: transparent;
	color: var(--color-text-inverse);
	border-color: var(--color-text-inverse);
}

/* ── Right: Image ─────────────────────────────────────────────────────── */
.hero__image {
	position: relative;
	overflow: hidden;
}

.hero__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

/* ══════════════════════════════════════════════════════════════════════════
   Responsive
   ══════════════════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
	.hero__content {
		padding: var(--spacing-3xl) var(--spacing-2xl);
	}

	.hero__title {
		font-size: clamp(2rem, 3.5vw, 3rem);
	}
}

@media (max-width: 768px) {
	.hero__grid {
		grid-template-columns: 1fr;
		min-height: auto;
	}

	.hero__content {
		padding: var(--spacing-3xl) var(--spacing-xl);
		order: 1;
	}

	.hero__image {
		order: 0;
		aspect-ratio: 16 / 10;
	}

	.hero__title {
		font-size: 2rem;
	}

	.hero__cta {
		align-self: center;
	}
}

@media (max-width: 480px) {
	.hero__content {
		padding: var(--spacing-2xl) var(--spacing-lg);
	}

	.hero__title {
		font-size: 1.75rem;
	}
}
