/* Electro Footer Pro - Header premium
   Namespaced con .efp-h- para no chocar con WoodMart. */

.efp-header {
	--efp-primary: #ff6b00;
	--efp-h-bg: #ffffff;
	--efp-h-promo-bg: #181818;
	position: relative;
	z-index: 1000;
	font-family: inherit;
	line-height: 1.4;
}
.efp-header *,
.efp-header *::before,
.efp-header *::after {
	box-sizing: border-box;
}
.efp-header a {
	text-decoration: none;
	transition: color .15s ease, background .15s ease;
}
.efp-h-container {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
}

/* --- Barra de promoción --- */
.efp-h-promo {
	background: var(--efp-h-promo-bg);
	color: #fff;
}
.efp-h-promo-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 8px 24px;
	min-height: 40px;
}

/* Slider de mensajes rotatorios */
.efp-h-promo-slider {
	position: relative;
	flex: 1 1 auto;
	height: 20px;
	overflow: hidden;
	min-width: 0;
}
.efp-h-promo-slide {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	opacity: 0;
	transform: translateY(10px);
	transition: opacity .45s ease, transform .45s ease;
	pointer-events: none;
}
.efp-h-promo-slide.is-active {
	opacity: 1;
	transform: translateY(0);
	pointer-events: auto;
}

/* Wrap con overflow oculto: si el texto no cabe, el JS activa el
   marquee (desplazamiento automático) dentro de este contenedor. */
.efp-h-promo-text-wrap {
	width: 100%;
	overflow: hidden;
	/* Difumina los bordes cuando hay marquee, para que el texto no se
	   corte en seco al entrar/salir del viewport visible. */
	-webkit-mask-image: none;
	mask-image: none;
}
.efp-h-promo-text-wrap.has-marquee {
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
	mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}
.efp-h-promo-track {
	display: inline-flex;
	align-items: center;
	white-space: nowrap;
	width: max-content;
}
.efp-h-promo-text-wrap:not(.has-marquee) .efp-h-promo-track {
	max-width: 100%;
}
.efp-h-promo-text-wrap:not(.has-marquee) .efp-h-promo-text-inner {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	display: block;
	max-width: 100%;
}
/* Cuando hay marquee, el JS duplica el contenido dentro del track y
   anima su desplazamiento horizontal en bucle continuo, para que el
   mensaje completo pueda leerse aunque no quepa en la pantalla. */
.efp-h-promo-track.is-marquee {
	animation-name: efpMarquee;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
}
.efp-h-promo-marquee-gap { display: inline-block; flex: 0 0 auto; }
@keyframes efpMarquee {
	from { transform: translateX(0); }
	to   { transform: translateX(var(--efp-marquee-distance, -50%)); }
}
@media (prefers-reduced-motion: reduce) {
	.efp-h-promo-track.is-marquee { animation: none; transform: none; }
}

.efp-h-promo-text {
	color: #fff;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .02em;
}
a.efp-h-promo-text:hover { color: var(--efp-primary); }

/* Herramientas a la derecha: cuenta atrás + botón CTA + redes */
.efp-h-promo-tools {
	display: flex;
	align-items: center;
	gap: 14px;
	flex: 0 0 auto;
}
.efp-h-countdown {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #fff;
	font-size: 12px;
}
.efp-h-countdown-label { opacity: .8; }
.efp-h-countdown-time {
	background: rgba(255,255,255,.14);
	padding: 3px 8px;
	border-radius: 5px;
	font-variant-numeric: tabular-nums;
	font-weight: 800;
	letter-spacing: .04em;
}
.efp-h-promo-btn {
	display: inline-flex;
	align-items: center;
	background: var(--efp-primary);
	color: #fff !important;
	font-size: 12px;
	font-weight: 800;
	padding: 5px 14px;
	border-radius: 999px;
	white-space: nowrap;
	transition: filter .15s ease, transform .1s ease;
}
.efp-h-promo-btn:hover { filter: brightness(.92); transform: translateY(-1px); }

.efp-h-socials {
	display: flex;
	gap: 8px;
}
.efp-h-socials a {
	width: 28px;
	height: 28px;
	border-radius: 6px;
	background: rgba(255,255,255,.12);
	color: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.efp-h-socials a:hover { background: var(--efp-primary); }

/* --- Barra principal --- */
.efp-h-main {
	background: var(--efp-h-bg);
	border-bottom: 1px solid rgba(0,0,0,.07);
}
.efp-h-main-inner {
	display: flex;
	align-items: center;
	gap: 28px;
	padding-top: 16px;
	padding-bottom: 16px;
}
.efp-h-logo { display: inline-flex; align-items: center; flex: 0 0 auto; }
.efp-h-logo img { max-height: 52px; width: auto; display: block; }
.efp-h-logo-text {
	font-size: 24px;
	font-weight: 800;
	color: #181818;
}

/* Buscador */
.efp-h-search {
	flex: 1 1 auto;
	display: flex;
	max-width: 640px;
	border: 2px solid var(--efp-primary);
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
}
.efp-h-search input[type="search"] {
	flex: 1;
	border: none;
	outline: none;
	padding: 11px 16px;
	font-size: 14px;
	min-width: 0;
	background: #fff;
	color: #181818;
	box-shadow: none;
}
.efp-h-search button {
	border: none;
	background: var(--efp-primary);
	color: #fff;
	padding: 0 20px;
	cursor: pointer;
	display: inline-flex;
	align-items: center;
	transition: filter .15s ease;
}
.efp-h-search button:hover { filter: brightness(.92); }

/* Acciones derecha */
.efp-h-actions {
	display: flex;
	align-items: center;
	gap: 20px;
	flex: 0 0 auto;
	margin-left: auto;
}
.efp-h-action {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	color: #181818;
}
.efp-h-action:hover { color: var(--efp-primary); }
.efp-h-action svg { flex: 0 0 auto; }
.efp-h-action-label { display: flex; flex-direction: column; line-height: 1.2; }
.efp-h-action-label small { font-size: 11px; color: #8a8a8a; }
.efp-h-action-label b { font-size: 13.5px; font-weight: 700; }
.efp-h-phone .efp-h-action-label b { color: var(--efp-primary); }
.efp-h-iconbtn { padding: 6px; }

/* Seguimiento de pedido: icono en el color principal para que destaque
   igual que el teléfono ("es importante" que se vea a simple vista). */
.efp-h-tracking svg { color: var(--efp-primary); }
.efp-h-tracking .efp-h-action-label b { color: var(--efp-primary); }

/* Icono de agente con auricular en el bloque "¿Dudas? Llámanos":
   verde para transmitir "atención en vivo", con punto pulsante. */
.efp-h-support-icon {
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	color: #17a94d;
	flex: 0 0 auto;
}
.efp-h-support-dot {
	position: absolute;
	bottom: -1px;
	right: -1px;
	width: 9px;
	height: 9px;
	border-radius: 50%;
	background: #17a94d;
	border: 2px solid #fff;
	box-shadow: 0 0 0 0 rgba(23,169,77,.55);
	animation: efpSupportPulse 2s infinite;
}
@keyframes efpSupportPulse {
	0%   { box-shadow: 0 0 0 0 rgba(23,169,77,.55); }
	70%  { box-shadow: 0 0 0 6px rgba(23,169,77,0); }
	100% { box-shadow: 0 0 0 0 rgba(23,169,77,0); }
}
@media (prefers-reduced-motion: reduce) {
	.efp-h-support-dot { animation: none; }
}

/* Desplegable de "Mi cuenta" (accesos rápidos si el usuario está logado) */
.efp-h-account-wrap { position: relative; }
.efp-h-account-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	width: 260px;
	background: #fff;
	color: #181818;
	border-radius: 10px;
	box-shadow: 0 10px 34px rgba(0,0,0,.18);
	padding: 14px;
	z-index: 1002;
}
@media (min-width: 783px) {
	.efp-h-account-wrap:hover .efp-h-account-dropdown,
	.efp-h-account-wrap:focus-within .efp-h-account-dropdown {
		display: block;
	}
}
.efp-h-account-greeting {
	display: flex;
	align-items: center;
	gap: 10px;
	padding-bottom: 12px;
	margin-bottom: 6px;
	border-bottom: 1px solid rgba(0,0,0,.08);
}
.efp-h-account-avatar img {
	border-radius: 50%;
	display: block;
	width: 40px;
	height: 40px;
}
.efp-h-account-who { display: flex; flex-direction: column; min-width: 0; line-height: 1.25; }
.efp-h-account-who b { font-size: 13.5px; }
.efp-h-account-who small {
	font-size: 11.5px;
	color: #888;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.efp-h-account-links { list-style: none; margin: 0; padding: 0; }
.efp-h-account-links li a {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 9px 6px;
	border-radius: 7px;
	color: #181818;
	font-size: 13.5px;
	font-weight: 600;
}
.efp-h-account-links li a:hover { background: rgba(0,0,0,.05); color: var(--efp-primary); }
.efp-h-account-links .efp-h-mi { color: var(--efp-primary); opacity: .85; display: inline-flex; }
.efp-h-account-logout {
	display: block;
	text-align: center;
	margin-top: 8px;
	padding-top: 10px;
	border-top: 1px solid rgba(0,0,0,.08);
	font-size: 12.5px;
	font-weight: 700;
	color: #c00 !important;
}
.efp-h-account-logout:hover { text-decoration: underline; }

/* Carrito en píldora destacada */
.efp-h-cart-wrap { position: relative; }
.efp-h-cart-iconbox { position: relative; display: inline-flex; }
.efp-h-cart-badge {
	position: absolute;
	top: -8px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	padding: 0 5px;
	border-radius: 9px;
	background: #fff;
	color: var(--efp-primary);
	font-size: 11px;
	font-weight: 800;
	line-height: 18px;
	text-align: center;
	display: none;
}

/* Desplegable de resumen del carrito (solo escritorio, al pasar el ratón) */
.efp-h-cart-dropdown {
	display: none;
	position: absolute;
	top: 100%;
	right: 0;
	width: 340px;
	max-width: 90vw;
	background: #fff;
	color: #181818;
	border-radius: 10px;
	box-shadow: 0 10px 34px rgba(0,0,0,.18);
	padding: 16px;
	z-index: 1002;
}
@media (min-width: 783px) {
	.efp-h-cart-wrap:hover .efp-h-cart-dropdown,
	.efp-h-cart-wrap:focus-within .efp-h-cart-dropdown {
		display: block;
	}
}
/* Estilos del mini-cart nativo de WooCommerce dentro del desplegable */
.efp-h-cart-dropdown ul.woocommerce-mini-cart {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 320px;
	overflow-y: auto;
}
.efp-h-cart-dropdown li.woocommerce-mini-cart-item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 10px 0;
	border-bottom: 1px solid rgba(0,0,0,.07);
	position: relative;
	font-size: 13px;
}
.efp-h-cart-dropdown li.woocommerce-mini-cart-item img {
	width: 48px;
	height: 48px;
	object-fit: contain;
	flex: 0 0 auto;
	order: -1;
}
.efp-h-cart-dropdown li.woocommerce-mini-cart-item a {
	color: #181818;
	font-weight: 600;
}
.efp-h-cart-dropdown li.woocommerce-mini-cart-item a.remove {
	position: absolute;
	right: 0;
	top: 10px;
	color: #c00 !important;
	font-size: 16px;
	font-weight: 700;
	width: 20px;
	height: 20px;
	line-height: 20px;
	text-align: center;
	border-radius: 50%;
}
.efp-h-cart-dropdown .woocommerce-mini-cart__total {
	display: flex;
	justify-content: space-between;
	padding: 12px 0 4px;
	margin: 0;
	font-size: 14px;
	font-weight: 700;
}
.efp-h-cart-dropdown .woocommerce-mini-cart__buttons {
	display: flex;
	gap: 8px;
	margin: 10px 0 0;
}
.efp-h-cart-dropdown .woocommerce-mini-cart__buttons a {
	flex: 1;
	text-align: center;
	padding: 10px 8px;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 700;
	background: #f1f1f1;
	color: #181818;
}
.efp-h-cart-dropdown .woocommerce-mini-cart__buttons a.checkout {
	background: var(--efp-primary);
	color: #fff;
}
.efp-h-cart-dropdown .woocommerce-mini-cart__empty-message {
	margin: 6px 0;
	font-size: 13.5px;
	color: #666;
	text-align: center;
}
.efp-h-cart-dd-goto {
	display: block;
	text-align: center;
	margin-top: 10px;
	font-size: 12.5px;
	font-weight: 700;
	color: var(--efp-primary);
}

.efp-h-cart {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--efp-primary);
	color: #fff !important;
	padding: 9px 16px;
	border-radius: 8px;
	transition: filter .15s ease;
}
.efp-h-cart:hover { filter: brightness(.92); }
.efp-h-cart-meta { display: flex; flex-direction: column; line-height: 1.15; }
.efp-h-cart-meta b { font-size: 14px; font-weight: 800; }
.efp-h-cart-meta small { font-size: 11px; opacity: .9; }
.efp-h-cart-meta .woocommerce-Price-amount { color: #fff; }

/* --- Navegación de categorías --- */
.efp-h-nav {
	background: var(--efp-h-bg);
	border-bottom: 1px solid rgba(0,0,0,.07);
}
.efp-h-nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	align-items: center;
	gap: 6px;
	overflow-x: auto;
	scrollbar-width: none;
}
.efp-h-nav ul::-webkit-scrollbar { display: none; }
.efp-h-nav li { flex: 0 0 auto; }
.efp-h-nav a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 14px;
	color: #181818;
	font-size: 14.5px;
	font-weight: 600;
	border-bottom: 2px solid transparent;
}
.efp-h-nav a:hover {
	color: var(--efp-primary);
	border-bottom-color: var(--efp-primary);
}
.efp-h-nav-icon { display: inline-flex; color: inherit; opacity: .85; }
.efp-h-nav a.efp-h-highlight,
.efp-h-drawer a.efp-h-highlight {
	color: var(--efp-primary);
	font-weight: 800;
}

/* --- Menú nativo de WordPress (megamenú compatible) --- */
.efp-h-nav-native .efp-h-container { position: relative; }
.efp-h-nav-native ul.efp-h-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	/* stretch + flex en los li: todos los items ocupan la misma altura y
	   quedan alineados aunque el megamenú meta spans, flechas o markup
	   distinto en cada uno. */
	align-items: stretch;
	gap: 6px;
	/* overflow visible: los paneles del megamenú deben poder desplegarse
	   fuera de la barra sin recortarse. */
	overflow: visible;
	flex-wrap: wrap;
}
.efp-h-nav-native ul.efp-h-menu > li {
	position: relative;
	display: inline-flex;
	margin: 0;
}
.efp-h-nav-native ul.efp-h-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 13px 14px;
	margin: 0;
	color: #181818;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.2;
	border-bottom: 2px solid transparent;
	height: 100%;
}
/* Normaliza cualquier markup interno que añada el tema o el megamenú
   (spans de texto, flechas de submenú...) para que no rompa el centrado. */
.efp-h-nav-native ul.efp-h-menu > li > a > span {
	display: inline-flex;
	align-items: center;
}
.efp-h-nav-native ul.efp-h-menu > li > a:hover,
.efp-h-nav-native ul.efp-h-menu > li.current-menu-item > a {
	color: var(--efp-primary);
	border-bottom-color: var(--efp-primary);
}
/* Iconos en items del menú nativo (clase efp-icon-{nombre} en el item) */
.efp-h-mi {
	display: inline-flex;
	align-items: center;
	color: inherit;
	opacity: .85;
}
.efp-h-mi svg { display: block; }
.efp-h-mi-label { display: inline-flex; align-items: center; }
/* Resaltar un item del menú nativo: añade la clase efp-highlight al item */
.efp-h-nav-native ul.efp-h-menu > li.efp-highlight > a {
	color: var(--efp-primary);
	font-weight: 800;
}

/* --- Menú automático de categorías WooCommerce --- */
.efp-h-chevron {
	display: inline-flex;
	align-items: center;
	opacity: .55;
	margin-left: 2px;
	transition: transform .15s ease;
}
.efp-h-nav-wc ul.efp-h-menu > li.has-children:hover > a > .efp-h-chevron {
	transform: rotate(180deg);
}
/* En submenús, la flecha apunta a la derecha (el panel abre lateral) */
.efp-h-chevron-right { transform: rotate(-90deg); margin-left: auto; }
.efp-h-nav-wc ul.sub-menu a {
	display: flex;
	align-items: center;
	gap: 8px;
}
.efp-h-nav-wc ul.sub-menu li.efp-highlight > a {
	color: var(--efp-primary);
	font-weight: 700;
}
/* Dropdown básico de RESPALDO para submenús estándar. Si tu megamenú
   aplica sus propios estilos/estructura, estos apenas interfieren:
   solo actúan sobre ul.sub-menu anidados sin estilo propio. */
.efp-h-nav-native ul.efp-h-menu ul.sub-menu {
	display: none;
	position: absolute;
	top: 100%;
	left: 0;
	min-width: 230px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 10px 30px rgba(0,0,0,.15);
	padding: 8px 0;
	margin: 0;
	list-style: none;
	z-index: 1002;
}
.efp-h-nav-native ul.efp-h-menu li:hover > ul.sub-menu { display: block; }
.efp-h-nav-native ul.efp-h-menu ul.sub-menu li { position: relative; }
.efp-h-nav-native ul.efp-h-menu ul.sub-menu a {
	display: block;
	padding: 9px 16px;
	color: #181818;
	font-size: 13.5px;
	font-weight: 500;
}
.efp-h-nav-native ul.efp-h-menu ul.sub-menu a:hover {
	color: var(--efp-primary);
	background: rgba(0,0,0,.03);
}
/* Sub-submenús hacia la derecha */
.efp-h-nav-native ul.efp-h-menu ul.sub-menu ul.sub-menu {
	top: 0;
	left: 100%;
}

/* --- Sticky (lo activa el JS) --- */
.efp-h-bars.efp-h-fixed {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1001;
	box-shadow: 0 3px 14px rgba(0,0,0,.12);
	animation: efpHeaderDrop .2s ease;
}
@keyframes efpHeaderDrop {
	from { transform: translateY(-100%); }
	to   { transform: translateY(0); }
}
body.admin-bar .efp-h-bars.efp-h-fixed { top: 32px; }
@media (max-width: 782px) {
	body.admin-bar .efp-h-bars.efp-h-fixed { top: 46px; }
}
/* Al fijarse, compactamos y ocultamos la nav para dejar solo lo esencial */
.efp-h-bars.efp-h-fixed .efp-h-main-inner { padding-top: 10px; padding-bottom: 10px; }

/* --- Burger + cortina (visible en escritorio y móvil): solo icono --- */
.efp-h-burger {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	border: 1.5px solid rgba(0,0,0,.12);
	border-radius: 8px;
	background: none;
	padding: 9px;
	cursor: pointer;
	color: #181818;
	transition: border-color .15s ease, color .15s ease;
}
.efp-h-burger:hover {
	color: var(--efp-primary);
	border-color: var(--efp-primary);
}
.efp-h-drawer {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	width: min(320px, 85vw);
	background: #fff;
	z-index: 100000;
	transform: translateX(-105%);
	transition: transform .25s ease;
	overflow-y: auto;
	box-shadow: 4px 0 24px rgba(0,0,0,.18);
}
.efp-h-drawer.is-open { transform: translateX(0); }
.efp-h-drawer-head {
	position: sticky;
	top: 0;
	z-index: 2;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 18px;
	border-bottom: 1px solid rgba(0,0,0,.08);
	color: #181818;
}
.efp-h-drawer-logo {
	display: inline-flex;
	align-items: center;
	min-width: 0;
}
.efp-h-drawer-logo img {
	max-height: 34px;
	width: auto;
	max-width: 100%;
	display: block;
}
.efp-h-drawer-logo-text {
	font-size: 17px;
	font-weight: 800;
	color: #181818;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.efp-h-drawer-close,
.efp-h-drawer-close:hover,
.efp-h-drawer-close:focus {
	-webkit-appearance: none !important;
	appearance: none !important;
	border: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
	border-radius: 8px !important;
	margin: 0 !important;
	padding: 6px !important;
	min-width: 0 !important;
	min-height: 0 !important;
	line-height: 1 !important;
	display: inline-flex;
	cursor: pointer;
	color: #181818;
}
.efp-h-drawer-close:hover { color: var(--efp-primary); background: rgba(0,0,0,.05) !important; }
.efp-h-drawer-close svg { display: block; }
.efp-h-drawer ul { list-style: none; margin: 0; padding: 8px 0; }
.efp-h-drawer li { margin: 0; }
.efp-h-drawer a { text-decoration: none !important; }

/* Filas: enlace + chevron en flex. Nada absoluto: inmune al CSS del tema */
.efp-h-drawer-row {
	display: flex;
	align-items: stretch;
}
.efp-h-drawer-menu > li {
	border-bottom: 1px solid rgba(0,0,0,.05);
}
.efp-h-drawer-row > a {
	flex: 1 1 auto;
	min-width: 0;
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	color: #181818;
	font-size: 14.5px;
	font-weight: 600;
	line-height: 1.3;
	transition: background .15s ease, color .15s ease;
}
.efp-h-drawer-label {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.efp-h-drawer-row > a:hover { background: rgba(0,0,0,.03); color: var(--efp-primary); }
.efp-h-drawer li a { color: #181818; }
.efp-h-drawer .efp-h-nav-icon { color: var(--efp-primary); opacity: .9; flex: 0 0 auto; }

/* Miniatura de la imagen de categoría */
.efp-h-thumb {
	flex: 0 0 auto;
	width: 36px;
	height: 36px;
	border-radius: 8px;
	overflow: hidden;
	background: #fff;
	border: 1px solid rgba(0,0,0,.08);
	display: inline-flex;
	align-items: center;
	justify-content: center;
}
.efp-h-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	margin: 0;
}
.efp-h-thumb-sm { width: 30px; height: 30px; border-radius: 6px; }
/* En subniveles de la cortina, la miniatura compensa la sangría de texto */
.efp-h-drawer ul.efp-h-drawer-sub .efp-h-drawer-row > a { align-items: center; }

/* Botón chevron: reset agresivo contra los estilos de botón del tema */
.efp-h-drawer-toggle,
.efp-h-drawer-toggle:hover,
.efp-h-drawer-toggle:focus,
.efp-h-drawer-toggle:active {
	-webkit-appearance: none !important;
	appearance: none !important;
	flex: 0 0 46px;
	width: 46px;
	min-width: 46px !important;
	max-width: 46px;
	height: auto !important;
	min-height: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent !important;
	border: 0 !important;
	border-left: 1px solid rgba(0,0,0,.07) !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	outline: none;
	cursor: pointer;
	color: #999;
	line-height: 1 !important;
	font-size: 0 !important;
}
.efp-h-drawer-toggle:hover { color: var(--efp-primary); }
.efp-h-drawer-toggle svg {
	width: 16px;
	height: 16px;
	display: block;
	transition: transform .25s ease;
}
.efp-h-drawer li.is-open > .efp-h-drawer-row .efp-h-drawer-toggle svg { transform: rotate(180deg); }
.efp-h-drawer li.is-open > .efp-h-drawer-row { background: rgba(0,0,0,.03); }
.efp-h-drawer li.is-open > .efp-h-drawer-row > a { color: var(--efp-primary); }

/* Subcategorías: panel con animación suave y sangría clara */
.efp-h-drawer ul.efp-h-drawer-sub {
	display: none;
	margin: 0;
	padding: 4px 0 8px;
	background: #f7f7f8;
	box-shadow: inset 0 6px 8px -8px rgba(0,0,0,.15);
}
.efp-h-drawer li.is-open > ul.efp-h-drawer-sub {
	display: block;
	animation: efpSubIn .18s ease;
}
@keyframes efpSubIn {
	from { opacity: 0; transform: translateY(-5px); }
	to   { opacity: 1; transform: none; }
}
.efp-h-drawer ul.efp-h-drawer-sub .efp-h-drawer-row > a {
	font-size: 13.5px;
	font-weight: 500;
	padding: 10px 16px 10px 30px;
}
/* Tercer nivel: un poco más de sangría */
.efp-h-drawer ul.efp-h-drawer-sub ul.efp-h-drawer-sub {
	background: #f0f0f2;
	box-shadow: none;
}
.efp-h-drawer ul.efp-h-drawer-sub ul.efp-h-drawer-sub .efp-h-drawer-row > a {
	padding-left: 44px;
}
/* Enlace "Ver todo en X" */
.efp-h-drawer-viewall a {
	display: block;
	padding: 9px 16px 9px 30px;
	color: var(--efp-primary) !important;
	font-size: 13px;
	font-weight: 700;
}
.efp-h-drawer-viewall a:hover { text-decoration: underline !important; }

.efp-h-drawer-sep { border-top: 1px solid rgba(0,0,0,.08); margin: 8px 0; }
/* Enlaces finales (Mi cuenta, Toda la tienda) */
.efp-h-drawer-menu > li:not(.has-children) > a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 16px;
	font-size: 14.5px;
	font-weight: 600;
}
.efp-h-drawer-menu > li:not(.has-children) > a:hover { background: rgba(0,0,0,.03); color: var(--efp-primary); }
.efp-h-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,.45);
	z-index: 99999;
}

/* --- Responsive --- */
@media (max-width: 1100px) {
	.efp-h-phone { display: none; }
}
@media (max-width: 900px) {
	.efp-h-action-label { display: none; }
	.efp-h-main-inner { gap: 14px; }
	.efp-h-cart-meta small { display: none; }
}
@media (max-width: 782px) {
	/* En móvil el burger va sin borde, solo icono */
	.efp-h-burger { border: none; padding: 6px; }
	.efp-h-nav { display: none; }
	.efp-h-main-inner {
		flex-wrap: wrap;
		padding-top: 10px;
		padding-bottom: 12px;
		gap: 10px;
	}
	.efp-h-logo { flex: 1 1 auto; min-width: 0; }
	.efp-h-logo img { max-height: 36px; max-width: 100%; }
	.efp-h-logo-text { font-size: 18px; }
	.efp-h-search {
		order: 10;
		flex-basis: 100%;
		max-width: none;
	}
	.efp-h-actions { gap: 4px; margin-left: 0; }

	/* Móvil compacto: burger + logo + iconos de cuenta, deseos y carrito
	   (solo icono, sin textos, para que el logo entre bien). */
	.efp-h-actions .efp-h-action { padding: 6px; }
	.efp-h-actions .efp-h-action .efp-h-action-label { display: none; }
	.efp-h-actions .efp-h-iconbtn { display: inline-flex; padding: 6px; }
	.efp-h-phone { display: none; }

	/* Carrito simplificado: icono con badge de unidades, sin píldora
	   ni subtotal. */
	.efp-h-cart {
		background: none;
		color: #181818 !important;
		padding: 6px;
	}
	.efp-h-cart:hover { filter: none; }
	.efp-h-cart-meta { display: none; }
	.efp-h-cart-badge.has-items {
		display: inline-block;
		background: var(--efp-primary);
		color: #fff;
	}
	.efp-h-cart-dropdown { display: none !important; }
	.efp-h-account-dropdown { display: none !important; }

	.efp-h-promo-inner { padding: 6px 14px; gap: 8px; }
	.efp-h-promo-text { font-size: 11.5px; }
	.efp-h-promo-slider { height: 18px; }
	.efp-h-countdown { font-size: 11px; }
	.efp-h-countdown-label { display: none; }
	.efp-h-promo-btn { font-size: 11px; padding: 4px 10px; }
	.efp-h-socials { display: none; }
}
