/**
 * SEI Integra — Header premium (Etapa 2)
 * Glass desktop, navegación editorial, menú móvil refinado.
 */

/* --------------------------------------------------------------------------
   Base del header
   -------------------------------------------------------------------------- */
.elementor-location-header.sei-header {
	--sei-header-bar-h: var(--sei-header-h, 74px);
	--sei-header-bar-h-scrolled: 64px;
}

.elementor-location-header.sei-header .elementor-70 .elementor-element-459f1a70 {
	transition: none;
}

/* Progreso de scroll (inyectado por JS) */
.sei-header-progress {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 2px;
	z-index: 10003;
	transform-origin: left center;
	transform: scaleX(0);
	background: linear-gradient(
		90deg,
		rgba(160, 160, 160, 0.2) 0%,
		rgba(240, 240, 240, 0.85) 50%,
		rgba(160, 160, 160, 0.2) 100%
	);
	pointer-events: none;
	opacity: 0.85;
}

/* --------------------------------------------------------------------------
   Desktop — glass premium + navegación
   -------------------------------------------------------------------------- */
@media (min-width: 768px) {
	.elementor-location-header.sei-header:not(.sei-header-solid) .elementor-70 .elementor-element-459f1a70 {
		background: var(--sei-glass-bg) !important;
		backdrop-filter: blur(var(--sei-glass-blur)) saturate(165%);
		-webkit-backdrop-filter: blur(var(--sei-glass-blur)) saturate(165%);
		border-bottom-color: var(--sei-glass-border) !important;
		box-shadow:
			0 1px 0 rgba(255, 255, 255, 0.04),
			0 12px 36px rgba(0, 0, 0, 0.42) !important;
	}

	.elementor-location-header.sei-header.sei-header-solid .elementor-70 .elementor-element-459f1a70,
	body.sei-scrolled .elementor-location-header.sei-header .elementor-70 .elementor-element-459f1a70 {
		background: rgba(0, 0, 0, 0.96) !important;
		backdrop-filter: blur(10px) saturate(140%);
		-webkit-backdrop-filter: blur(10px) saturate(140%);
	}

	/* Nav principal — editorial premium */
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-nav-menu {
		display: flex;
		flex-wrap: nowrap;
		align-items: center;
		gap: clamp(0.2rem, 0.9vw, 1.1rem);
		white-space: nowrap;
	}

	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-nav-menu > li {
		flex: 0 0 auto;
		white-space: nowrap;
	}

	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item {
		position: relative;
		padding: 0.55rem clamp(0.15rem, 0.45vw, 0.35rem) !important;
		font-size: clamp(0.62rem, 0.85vw, 0.72rem) !important;
		font-weight: 500 !important;
		letter-spacing: clamp(0.06em, 0.12vw, 0.14em) !important;
		color: var(--sei-silver-light) !important;
		white-space: nowrap;
		transition: color var(--sei-motion-base) var(--sei-ease), text-shadow var(--sei-motion-base) var(--sei-ease);
	}

	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item::after {
		content: "";
		position: absolute;
		left: 0;
		right: 0;
		bottom: 0;
		height: 1px;
		transform: scaleX(0);
		transform-origin: center;
		background: linear-gradient(
			90deg,
			transparent,
			rgba(232, 232, 232, 0.9),
			transparent
		);
		transition: transform var(--sei-motion-base) var(--sei-ease);
	}

	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item:hover::after,
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item:focus-visible::after,
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item.elementor-item-active::after {
		transform: scaleX(1);
	}

	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item:hover,
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item:focus-visible,
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item.elementor-item-active {
		color: var(--sei-silver-bright) !important;
		text-shadow: 0 0 20px rgba(255, 255, 255, 0.18);
	}

	/* Ocultar pointers nativos de Elementor */
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item::before {
		display: none !important;
	}

	/* Dropdown desktop — tarjeta glass */
	.elementor-location-header.sei-header .elementor-nav-menu--dropdown:not(.elementor-nav-menu__container) {
		margin-top: 10px !important;
		padding: 0.5rem 0 !important;
		border-radius: var(--sei-radius-md) !important;
		background: rgba(12, 12, 12, 0.96) !important;
		border: 1px solid var(--sei-glass-border) !important;
		box-shadow: var(--sei-shadow-glow) !important;
		backdrop-filter: blur(16px);
		-webkit-backdrop-filter: blur(16px);
		min-width: 220px;
	}

	.elementor-location-header.sei-header .elementor-nav-menu--dropdown .elementor-sub-item {
		padding: 0.75rem 1.25rem !important;
		font-size: 0.72rem !important;
		letter-spacing: 0.1em !important;
		border-left: 2px solid transparent;
		transition:
			background var(--sei-motion-base) var(--sei-ease),
			color var(--sei-motion-base) var(--sei-ease),
			border-color var(--sei-motion-base) var(--sei-ease);
	}

	.elementor-location-header.sei-header .elementor-nav-menu--dropdown .elementor-sub-item:hover,
	.elementor-location-header.sei-header .elementor-nav-menu--dropdown .elementor-sub-item:focus-visible {
		background: rgba(255, 255, 255, 0.04) !important;
		border-left-color: rgba(232, 232, 232, 0.65);
		color: var(--sei-silver-bright) !important;
	}

	/* Acciones header: búsqueda + carrito */
	.elementor-location-header.sei-header .wpr-search-form-submit,
	.elementor-location-header.sei-header .elementor-menu-cart__toggle .elementor-button {
		width: 42px !important;
		height: 42px !important;
		min-width: 42px !important;
		padding: 0 !important;
		border-radius: 50% !important;
		border: 1px solid transparent !important;
		background: transparent !important;
		transition:
			background var(--sei-motion-base) var(--sei-ease),
			border-color var(--sei-motion-base) var(--sei-ease),
			box-shadow var(--sei-motion-base) var(--sei-ease),
			transform var(--sei-motion-fast) var(--sei-ease) !important;
	}

	.elementor-location-header.sei-header .wpr-search-form-submit:hover,
	.elementor-location-header.sei-header .elementor-menu-cart__toggle .elementor-button:hover {
		background: rgba(255, 255, 255, 0.06) !important;
		border-color: var(--sei-border) !important;
		box-shadow: 0 0 20px rgba(255, 255, 255, 0.08);
	}

	.elementor-location-header.sei-header .elementor-menu-cart__toggle .elementor-button-icon-qty[data-counter]:not([data-counter="0"]) {
		background: var(--sei-metal) !important;
		color: var(--sei-black-deep) !important;
		font-weight: 600;
		box-shadow: 0 0 14px rgba(255, 255, 255, 0.2);
	}

	/* Logo con transición suave al scroll (GSAP complementa) */
	.elementor-location-header.sei-header .sei-logo,
	.elementor-location-header.sei-header .custom-logo {
		transform-origin: left center;
		will-change: transform;
	}
}

/* --------------------------------------------------------------------------
   Móvil — overlay refinado + estados GSAP
   -------------------------------------------------------------------------- */
@media (max-width: 767px) {
	.elementor-location-header.sei-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container {
		padding-top: calc(var(--sei-header-h, 60px) + 28px) !important;
		background:
			radial-gradient(ellipse 100% 40% at 50% -5%, rgba(200, 200, 200, 0.12), transparent 58%),
			linear-gradient(180deg, #050505 0%, #0a0a0a 100%) !important;
	}

	.elementor-location-header.sei-header.sei-nav-animating nav.elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu > li > a {
		opacity: 0;
		transform: translateX(-18px);
	}

	body.sei-nav-open .elementor-location-header.sei-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container .elementor-item,
	body.sei-nav-open .elementor-location-header.sei-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container a {
		border-bottom-color: rgba(192, 192, 192, 0.12) !important;
	}

	/* Toggle hamburger — estado activo premium */
	body.sei-nav-open .elementor-location-header.sei-header .elementor-menu-toggle {
		background: rgba(255, 255, 255, 0.08) !important;
		border: 1px solid rgba(255, 255, 255, 0.12) !important;
		box-shadow: 0 0 24px rgba(255, 255, 255, 0.1);
	}

	.sei-header-progress {
		height: 1px;
		opacity: 0.65;
	}
}

/* Sin animación CSS del header — GSAP controla la entrada */
.elementor-location-header.sei-header {
	animation: none !important;
}

/* Accesibilidad */
.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item:focus-visible,
.elementor-location-header.sei-header .elementor-menu-toggle:focus-visible {
	outline: 1px solid var(--sei-silver-mid);
	outline-offset: 3px;
}

@media (prefers-reduced-motion: reduce) {
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item::after {
		transition: none;
	}

	.elementor-location-header.sei-header nav.elementor-nav-menu--dropdown.elementor-nav-menu__container > .elementor-nav-menu > li > a {
		opacity: 1 !important;
		transform: none !important;
	}
}

/* Tablets / ventanas medias: evita que CONTACTO baje de línea */
@media (min-width: 768px) and (max-width: 1180px) {
	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-nav-menu {
		gap: 0.15rem !important;
	}

	.elementor-location-header.sei-header .elementor-nav-menu--main .elementor-item {
		font-size: 0.6rem !important;
		letter-spacing: 0.06em !important;
		padding: 0.45rem 0.12rem !important;
	}
}

/* --------------------------------------------------------------------------
   Side-cart Elementor — panel a pantalla completa (no franja del header)
   El carrito vive dentro del header; transform/backdrop-filter/overflow del
   header lo convertían en un bloque recortado de ~60–74px.
   -------------------------------------------------------------------------- */
.elementor-location-header,
.elementor-location-header .e-con,
.elementor-location-header .e-con-inner,
.elementor-location-header .elementor-element-459f1a70,
.elementor-location-header .elementor-widget-woocommerce-menu-cart,
.elementor-location-header .elementor-menu-cart__wrapper,
.elementor-location-header .elementor-menu-cart__toggle_wrapper {
	overflow: visible !important;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__container,
.elementor-menu-cart--cart-type-side-cart.elementor-menu-cart--shown .elementor-menu-cart__container {
	position: fixed !important;
	inset: 0 !important;
	top: 0 !important;
	left: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	width: 100vw !important;
	height: 100vh !important;
	height: 100dvh !important;
	max-height: none !important;
	z-index: 100050 !important;
	overflow: hidden !important;
	transform: none !important;
	-webkit-transform: none !important;
	background-color: rgba(0, 0, 0, 0.55) !important;
}

.elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__main,
.elementor-menu-cart--cart-type-side-cart.elementor-menu-cart--shown .elementor-menu-cart__main {
	position: fixed !important;
	top: 0 !important;
	right: 0 !important;
	left: auto !important;
	bottom: 0 !important;
	width: min(380px, 100vw) !important;
	height: 100vh !important;
	height: 100dvh !important;
	max-height: none !important;
	min-height: 100vh !important;
	min-height: 100dvh !important;
	opacity: 1 !important;
	visibility: visible !important;
	transform: none !important;
	-webkit-transform: none !important;
	z-index: 100051 !important;
	overflow-x: hidden !important;
	overflow-y: auto !important;
	display: flex !important;
	flex-direction: column !important;
	background-color: var(--sei-black-card, #1a1a1a) !important;
	color: var(--sei-silver-light, #e0e0e0) !important;
	box-shadow: -12px 0 40px rgba(0, 0, 0, 0.55) !important;
	padding: 1.25rem 1.5rem !important;
}

body.admin-bar .elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__main {
	top: 32px !important;
	height: calc(100vh - 32px) !important;
	height: calc(100dvh - 32px) !important;
	min-height: calc(100vh - 32px) !important;
	min-height: calc(100dvh - 32px) !important;
}

@media (max-width: 782px) {
	body.admin-bar .elementor-widget-woocommerce-menu-cart.elementor-menu-cart--shown .elementor-menu-cart__main {
		top: 46px !important;
		height: calc(100vh - 46px) !important;
		height: calc(100dvh - 46px) !important;
		min-height: calc(100vh - 46px) !important;
		min-height: calc(100dvh - 46px) !important;
	}
}

.elementor-menu-cart--shown .elementor-menu-cart__close-button,
.elementor-menu-cart--shown .elementor-menu-cart__close-button-custom {
	color: var(--sei-silver-bright, #f0f0f0) !important;
}

.elementor-menu-cart--shown .woocommerce-mini-cart__empty-message,
.elementor-menu-cart--shown .elementor-menu-cart__product-name a,
.elementor-menu-cart--shown .elementor-menu-cart__product-price {
	color: var(--sei-silver-light, #e0e0e0) !important;
}

/* Con carrito abierto: anular filtros/transforms del header que crean containing block */
.elementor-location-header:has(.elementor-menu-cart--shown),
.elementor-location-header:has(.elementor-menu-cart--shown) .elementor-element-459f1a70,
.elementor-location-header:has(.elementor-menu-cart--shown) .e-con,
body:has(.elementor-menu-cart--shown) .elementor-location-header,
body:has(.elementor-menu-cart--shown) .elementor-location-header::before {
	transform: none !important;
	-webkit-transform: none !important;
	filter: none !important;
	backdrop-filter: none !important;
	-webkit-backdrop-filter: none !important;
	contain: none !important;
}
