/**
 * Header — traducción exacta de Next layout/header/index.tsx
 * Tokens: primary #E96A01, midnight #102D47, border #6bc5f94d
 */

.site-header {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 50;
	width: 100%;
	height: 6rem; /* h-24 */
	transition: all 0.3s ease;
	background: #fff;
	border-bottom: 1px solid rgba(107, 197, 249, 0.3);
	box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
}

/* Home móvil: hero mode (transparente, sin hamburguesa) */
body.is-home .site-header.is-mobile-hero {
	background: transparent;
	border-bottom-color: transparent;
	box-shadow: none;
}

/* Home desktop: siempre blanco como Next lg:bg-white */
@media (min-width: 1024px) {
	body.is-home .site-header.is-mobile-hero {
		background: #fff;
		border-bottom-color: rgba(107, 197, 249, 0.3);
		box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05);
	}
}

.site-header.is-sticky {
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -4px rgba(0, 0, 0, 0.1); /* shadow-lg */
}

/* Barra interior: container mx-auto lg:max-w-screen-xl px-4 flex justify-between */
.site-header__bar {
	width: min(75rem, calc(100% - 2rem)); /* max-w-screen-xl + px-4 */
	margin-inline: auto;
	height: 6rem;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding-inline: 1rem;
}

/* Logo: h-24 py-1, img 85×85 */
.site-header__logo-wrap {
	height: 6rem;
	padding-block: 0.25rem; /* py-1 */
	display: flex;
	align-items: center;
	flex-shrink: 0;
}

.site-header__logo-link {
	display: block;
	line-height: 0;
}

.site-header__logo-img {
	width: 85px;
	height: 85px;
	object-fit: contain;
}

.site-header__logo-fallback {
	font-weight: 700;
	font-size: 1rem;
	color: #102D47;
}

/* Nav desktop: hidden lg:flex flex-grow justify-center gap-6 */
.site-header__nav {
	display: none;
	flex: 1 1 auto;
	align-items: center;
	justify-content: center;
	gap: 1.5rem; /* space-x-6 */
}

@media (min-width: 1024px) {
	.site-header__nav {
		display: flex;
	}
}

/* HeaderLink: text-base py-3 font-normal midnight hover primary */
.site-header__link {
	font-size: 1rem;
	line-height: 1.5;
	padding-block: 0.75rem;
	font-weight: 400;
	color: #102D47;
	text-decoration: none;
	transition: color 0.15s ease;
}

.site-header__link:hover,
.site-header__link.is-active {
	color: #E96A01;
}

/* Actions */
.site-header__actions {
	display: flex;
	align-items: center;
	gap: 1rem;
}

/* WhatsApp desktop: hidden lg:block bg-primary px-4 py-2 rounded-lg hover:bg-green-600 */
.site-header__whatsapp {
	display: none;
	background: #E96A01;
	color: #fff;
	padding: 0.5rem 1rem;
	border-radius: 0.5rem;
	font-size: 1rem;
	font-weight: 400;
	text-decoration: none;
	transition: background-color 0.15s ease;
}

.site-header__whatsapp:hover {
	background: #16a34a; /* green-600 */
	color: #fff;
}

@media (min-width: 1024px) {
	.site-header__whatsapp {
		display: inline-flex;
		align-items: center;
	}
}

/* Hamburguesa: block lg:hidden — oculta en mobile hero mode vía JS class */
.site-header__toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	gap: 0;
	padding: 0.5rem;
	border: 1px solid transparent;
	border-radius: 0.75rem;
	background: transparent;
	cursor: pointer;
	transition: background-color 0.15s ease;
}

.site-header__toggle span {
	display: block;
	width: 1.5rem;
	height: 2px;
	background: #000;
}

.site-header__toggle span + span {
	margin-top: 0.375rem; /* mt-1.5 */
}

body.is-home .site-header.is-mobile-hero .site-header__toggle {
	display: none;
}

@media (min-width: 1024px) {
	.site-header__toggle {
		display: none !important;
	}
}

/* Overlay: fixed inset-0 bg-black/50 z-40 */
.site-header__overlay {
	position: fixed;
	inset: 0;
	background: rgba(0, 0, 0, 0.5);
	z-index: 40;
}

.site-header__overlay[hidden] {
	display: none;
}

/* Drawer: fixed top-0 right-0 h-full max-w-xs w-full bg-white shadow-lg z-50 */
.site-header__drawer {
	position: fixed;
	top: 0;
	right: 0;
	z-index: 50;
	height: 100%;
	width: 100%;
	max-width: 20rem; /* max-w-xs */
	background: #fff;
	box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1);
	transform: translateX(100%);
	transition: transform 0.3s ease;
	overflow-y: auto;
}

.site-header.is-open .site-header__drawer {
	transform: translateX(0);
}

.site-header__drawer-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 1rem;
}

.site-header__drawer-title {
	margin: 0;
	font-size: 1.125rem;
	font-weight: 700;
	color: #102D47;
}

.site-header__drawer-close {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 0.25rem;
	border: 0;
	background: transparent;
	cursor: pointer;
	color: #102D47;
}

.site-header__drawer-nav {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 1rem;
}

/* MobileHeaderLink */
.site-header__mobile-link {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: 0.5rem 0.75rem;
	margin-bottom: 0.25rem;
	border-radius: 0.375rem;
	font-size: 1rem;
	color: #000;
	text-decoration: none;
	border: 0;
	background: transparent;
}

.site-header__mobile-link.is-active {
	background: #E96A01;
	color: #fff;
}

.site-header__drawer-cta {
	margin-top: 1rem;
	display: flex;
	flex-direction: column;
	gap: 1rem;
	width: 100%;
}

.site-header__whatsapp--drawer {
	display: inline-flex;
	justify-content: center;
	width: 100%;
}

/* Espacio bajo header fijo — home sin padding (hero full bleed móvil) */
body.is-home .site-content {
	padding-top: 0;
}

body:not(.is-home) .site-content {
	padding-top: 6rem;
}

@media (min-width: 1024px) {
	body.is-home .site-content {
		padding-top: 0; /* hero usa lg:pt-32 en su propia sección */
	}
}
