/*
Theme Name:   El Enebro Libros
Description:  Tema hijo de Hello Elementor para El Enebro Libros. Estilos globales, buscador por título/autor/ISBN, botón de WhatsApp y plantillas de Inicio, Nosotros y Contacto editables con Elementor.
Author:       Micaela
Template:     hello-elementor
Version:      3.5.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain:  enebro
License:      GNU General Public License v3 or later
*/

/*
 * Colores y tipografías: Elementor > Ajustes del sitio.
 * Este archivo usa esas variables globales, así que si cambiás un color
 * en Elementor también cambia acá.
 *
 * Índice
 *  1. Base y accesibilidad
 *  2. Encabezado y menú (Hello)
 *  3. Botones
 *  4. Portada: ficha de catálogo y buscador
 *  5. Franja de datos
 *  6. Novedades como estante (WooCommerce)
 *  7. Géneros, pasos y columnas con regla
 *  8. Recomendación, lectura, preguntas frecuentes, mapa
 *  9. Botón flotante de WhatsApp
 * 10. Pie del sitio
 * 11. Formulario de arrepentimiento
 * 12. Movimiento reducido e impresión
 * 13. Diseño v3: color, ilustraciones, tipografía grande y movimiento
 * 14. Categorías destacadas (círculos con tapa)
 * 15. Actividades: tarjetas tipo entrada, página de la actividad e inscripción
 * 16. Barra de menú con buscador
 * 17. Ficha de la portada: próxima actividad
 * 18. Slider de novedades
 */

/* 1. Base y accesibilidad ------------------------------------------------ */
/* Las variables se declaran también en body: Elementor define sus colores
   globales (--e-global-color-*) en body.elementor-kit-N, no en :root. */
:root,
body {
	--enb-tinta: var(--e-global-color-text, #1E2638);
	--enb-enebro: var(--e-global-color-primary, #2E5444);
	--enb-baya: var(--e-global-color-secondary, #3F5491);
	--enb-senalador: var(--e-global-color-accent, #F2C230);
	--enb-papel: var(--e-global-color-enbpapl, #FBFBF8);
	--enb-salvia: var(--e-global-color-enbsalv, #E6EDE5);
	--enb-linea: var(--e-global-color-enbline, #CFD8CE);
	--enb-gris: var(--e-global-color-enbgris, #4E5768);
	--enb-sans: var(--e-global-typography-accent-font-family, "Hanken Grotesk"), system-ui, sans-serif;
	--enb-serif: var(--e-global-typography-text-font-family, "Literata"), Georgia, serif;
	/* colores de botón: salen de Elementor > Ajustes del sitio > Colores globales */
	--enb-btn: var(--e-global-color-enbbtn, var(--enb-senalador));
	--enb-btn-tx: var(--e-global-color-enbbtntx, var(--enb-tinta));
	--enb-btn-h: var(--e-global-color-enbbtnh, var(--enb-tinta));
	--enb-btn-htx: var(--e-global-color-enbbtnhx, #fff);
	--enb-sombra-libro: 0 1px 1px rgba(30, 38, 56, .12), 0 10px 22px -8px rgba(30, 38, 56, .38);
	/* colores de ilustración */
	--enb-madera: #CDB98B;
	--enb-aguja: #9CC2A6;
	--enb-baya-clara: #8FA6D9;
	--enb-coral: #E9785A;
	--enb-ease: cubic-bezier(.2, .7, .2, 1);
}

body {
	background-color: var(--enb-papel);
	color: var(--enb-tinta);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
	font-feature-settings: "kern", "liga", "onum";
}

::selection { background: var(--enb-senalador); color: var(--enb-tinta); }

/* los links a #anclas no quedan tapados por el encabezado fijo */
html { scroll-padding-top: 96px; }

a:focus-visible,
button:focus-visible,
input:focus-visible,
.elementor-button:focus-visible,
.elementor-tab-title:focus-visible {
	outline: 3px solid var(--enb-baya);
	outline-offset: 3px;
	border-radius: 4px;
}

.elementor-widget-text-editor p:last-child { margin-bottom: 0; }

/* 2. Encabezado y menú (Hello Elementor) --------------------------------- */
.site-header {
	position: sticky;
	top: var(--wp-admin--admin-bar--height, 0px);
	z-index: 60;
	background: rgba(251, 251, 248, .94);
	-webkit-backdrop-filter: saturate(1.4) blur(10px);
	backdrop-filter: saturate(1.4) blur(10px);
	border-bottom: 1px solid var(--enb-linea);
}
/* Hello limita el encabezado clásico a 1140 px: el fondo va de borde a borde y el contenido queda centrado */
.site-header:not(.dynamic-header) {
	max-width: none !important;
	width: 100%;
	padding-inline: max(24px, calc((100% - 1200px) / 2)) !important;
}
@media (max-width: 767px) {
	.site-header:not(.dynamic-header) { padding-inline: max(20px, env(safe-area-inset-left, 0px)) !important; }
}
.site-header .site-title,
.site-header .site-title a {
	font-family: var(--enb-serif);
	font-weight: 600;
	color: var(--enb-tinta);
	letter-spacing: -.3px;
}
.site-header .site-navigation .menu > li > a,
.site-header .site-navigation-dropdown .menu li a {
	display: inline-block;
	padding-block: 10px;
	font-family: var(--enb-sans);
	font-weight: 500;
	font-size: 16px;
	color: var(--enb-tinta);
}
.site-header .site-navigation .menu > li > a:hover,
.site-header .site-navigation .menu > li.current-menu-item > a {
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

/* menú en el celular (botón y desplegable de Hello) */
.site-header .site-navigation-toggle {
	min-width: 44px;
	min-height: 44px;
	border: 2px solid var(--enb-tinta);
	border-radius: 6px;
	background: transparent;
	color: var(--enb-tinta);
}
.site-header .site-navigation-toggle:hover { background: var(--enb-tinta); color: #fff; }
.site-header .site-navigation-dropdown ul.menu li a {
	display: block;
	padding: 14px max(20px, env(safe-area-inset-left, 0px));
	background: var(--enb-papel);
	border-top: 1px solid var(--enb-linea);
	color: var(--enb-tinta);
}
.site-header .site-navigation-dropdown ul.menu li.current-menu-item a {
	background: var(--enb-salvia);
	box-shadow: inset 4px 0 0 var(--enb-senalador);
}

/* 3. Botones ------------------------------------------------------------- */
/*
 * Los colores de los botones se cambian en Elementor:
 * - Para todo el sitio: Ajustes del sitio > Colores globales ("Botón: ...").
 * - Para un botón: seleccionarlo > Estilo > Color de texto / de fondo.
 * Por eso acá no hay colores fijos ni !important en el botón base, y las
 * variantes usan una especificidad que le gana al estilo global pero pierde
 * contra lo que configures en cada botón.
 */
.elementor-widget-button .elementor-button {
	border: 2px solid transparent;
	min-height: 48px;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}

/* Con borde, para fondos claros: clase "enebro-btn-outline" */
.enebro-btn-outline.elementor-widget-button .elementor-button {
	background-color: transparent;
	border-color: currentColor;
	color: var(--enb-tinta);
}
.enebro-btn-outline.elementor-widget-button .elementor-button:hover,
.enebro-btn-outline.elementor-widget-button .elementor-button:focus {
	background-color: var(--enb-tinta);
	border-color: var(--enb-tinta);
	color: #fff;
}

/* Con borde, para fondos oscuros: clase "enebro-btn-outline-light" */
.enebro-btn-outline-light.elementor-widget-button .elementor-button {
	background-color: transparent;
	border-color: rgba(255, 255, 255, .8);
	color: #fff;
}
.enebro-btn-outline-light.elementor-widget-button .elementor-button:hover,
.enebro-btn-outline-light.elementor-widget-button .elementor-button:focus {
	background-color: #fff;
	border-color: #fff;
	color: var(--enb-tinta);
}

/* Oscuro, para fondos amarillos: clase "enebro-btn-ink" */
.enebro-btn-ink.elementor-widget-button .elementor-button {
	background-color: var(--enb-tinta);
	border-color: var(--enb-tinta);
	color: #fff;
}
.enebro-btn-ink.elementor-widget-button .elementor-button:hover,
.enebro-btn-ink.elementor-widget-button .elementor-button:focus {
	background-color: var(--enb-enebro);
	border-color: var(--enb-enebro);
	color: #fff;
}

/* Como link subrayado: clase "enebro-btn-link" (y "enebro-btn-link--claro" sobre fondos oscuros) */
.enebro-btn-link.elementor-widget-button .elementor-button {
	min-height: 0;
	padding: 6px 0;
	border: 0;
	border-radius: 0;
	background: none;
	color: var(--enb-tinta);
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 3px;
	text-underline-offset: 7px;
}
.enebro-btn-link.elementor-widget-button .elementor-button:hover,
.enebro-btn-link.elementor-widget-button .elementor-button:focus {
	background: none;
	color: var(--enb-baya);
}
.enebro-btn-link--claro.enebro-btn-link.elementor-widget-button .elementor-button { color: var(--enb-papel); }
.enebro-btn-link--claro.enebro-btn-link.elementor-widget-button .elementor-button:hover,
.enebro-btn-link--claro.enebro-btn-link.elementor-widget-button .elementor-button:focus { color: var(--enb-senalador); }

/* 4. Portada: ficha de catálogo y buscador ------------------------------- */
.enebro-ficha {
	position: relative;
	border-radius: 3px;
	/* renglones de ficha bibliográfica: margen rojo arriba y líneas celestes */
	isolation: isolate;
	overflow: hidden;
	background-image: repeating-linear-gradient(to bottom, transparent 0 35px, #D5DFF1 35px 36px);
	box-shadow:
		0 1px 0 rgba(30, 38, 56, .06),
		0 2px 4px rgba(30, 38, 56, .06),
		0 22px 40px -18px rgba(30, 38, 56, .35);
}
/* encabezado de la ficha: zona sin renglones y margen rojo debajo del título */
.enebro-ficha > .elementor-widget-heading { position: relative; }
.enebro-ficha > .elementor-widget-heading::before {
	content: "";
	position: absolute;
	z-index: -1;
	top: -100px;
	bottom: -10px;
	left: -100vw;
	right: -100vw;
	background: #fff;
	border-bottom: 2px solid #D88E86;
}
/* perforación de la ficha */
.enebro-ficha::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 18px;
	width: 18px;
	height: 18px;
	margin-left: -9px;
	border-radius: 50%;
	background: var(--enb-papel);
	box-shadow: inset 0 1px 3px rgba(30, 38, 56, .35);
}
@media (min-width: 1025px) {
	.enebro-ficha {
		transform: rotate(2deg);
		transition: transform .3s ease;
	}
	/* al usar el buscador, la ficha se endereza */
	.enebro-ficha:focus-within { transform: rotate(0deg); }
}

.enebro-search label {
	display: block;
	margin-bottom: 8px;
	font-family: var(--enb-sans);
	font-size: 15px;
	font-weight: 600;
	color: var(--enb-gris);
}
.enebro-search__field {
	display: flex;
	gap: 8px;
}
.enebro-search input[type="search"] {
	flex: 1;
	min-width: 0;
	height: 56px;
	padding: 0 16px;
	border: 2px solid var(--enb-tinta);
	border-radius: 6px;
	background: #fff;
	font-family: var(--enb-sans);
	font-size: 17px;
	color: var(--enb-tinta);
}
.enebro-search input[type="search"]::placeholder { color: #7A8290; }
.enebro-search button {
	height: 56px;
	padding: 0 24px;
	border: 0;
	border-radius: 6px;
	background: var(--enb-senalador);
	color: var(--enb-tinta);
	font-family: var(--enb-sans);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}
.enebro-search button:hover { background: var(--enb-tinta); color: #fff; }

.enebro-ficha__generos {
	font-family: var(--enb-sans);
	font-size: 15px;
	line-height: 36px; /* cae sobre los renglones */
	color: var(--enb-gris);
}
.enebro-ficha__generos ul {
	display: inline;
	margin: 0;
	padding: 0;
	list-style: none;
}
.enebro-ficha__generos li { display: inline; }
.enebro-ficha__generos li + li::before { content: ", "; }
.enebro-ficha__generos span { margin-right: 4px; }
.enebro-ficha__generos a {
	white-space: nowrap;
	padding-block: 8px; /* área táctil más alta sin mover los renglones */
	color: var(--enb-baya);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 4px;
}

@media (max-width: 420px) {
	.enebro-search__field { flex-direction: column; }
	.enebro-search input[type="search"] { flex: none; width: 100%; }
	.enebro-search button { width: 100%; }
}

/* 5. Franja de datos ----------------------------------------------------- */
.enebro-info .elementor-icon-list-item a { text-decoration: underline; text-underline-offset: 4px; }
.elementor-icon-list-item > a { padding-block: 4px; }
@media (max-width: 767px) {
	.enebro-info .elementor-icon-list-items.elementor-inline-items { flex-direction: column; gap: 10px; }
	.enebro-info .elementor-inline-items .elementor-icon-list-item { margin: 0 !important; }
}

/* 6. Novedades como estante (WooCommerce) -------------------------------- */
.woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	column-gap: 32px;
	row-gap: 56px;
	margin: 0;
	padding: 0;
}
.woocommerce ul.products li.product a { text-decoration: none; }
.woocommerce ul.products::before,
.woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	display: flex;
	flex-direction: column;
	background: none;
}
/* las tapas "paradas" sobre el estante */
.woocommerce ul.products li.product a img {
	aspect-ratio: 2 / 3;
	width: 100%;
	object-fit: contain;
	object-position: center bottom;
	margin: 0 0 0 !important;
	padding: 0 6% 0;
	background: none;
	filter: drop-shadow(0 8px 10px rgba(30, 38, 56, .28));
}
/* el estante: una línea continua debajo de cada fila */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0 -16px 6px !important;
	padding: 16px 16px 0 !important;
	border-top: 6px solid var(--enb-tinta);
	font-family: var(--enb-serif);
	font-size: 17px !important;
	font-weight: 600;
	line-height: 1.35;
	color: var(--enb-tinta);
}
.woocommerce ul.products li.product .price {
	font-family: var(--enb-sans);
	font-size: 16px !important;
	font-weight: 600;
	color: var(--enb-tinta) !important;
	margin-bottom: 12px !important;
}
.woocommerce ul.products li.product .button {
	margin-top: auto !important;
	align-self: flex-start;
	padding: 10px 16px;
	border: 2px solid var(--enb-tinta);
	border-radius: 6px;
	background: transparent;
	color: var(--enb-tinta);
	font-family: var(--enb-sans);
	font-size: 14px;
	font-weight: 600;
}
.woocommerce ul.products li.product .button { white-space: normal; max-width: 100%; text-align: center; }
.woocommerce ul.products li.product .button:hover { background: var(--enb-tinta); color: #fff; }
.woocommerce ul.products li.product .added_to_cart {
	font-family: var(--enb-sans);
	font-size: 14px;
	padding-top: 8px;
}
.woocommerce span.onsale {
	top: 8px !important;
	left: 8px !important;
	right: auto !important;
	min-height: 0;
	line-height: 1;
	padding: 7px 10px;
	border-radius: 4px;
	background: var(--enb-senalador);
	color: var(--enb-tinta);
	font-family: var(--enb-sans);
	font-weight: 600;
}

@media (max-width: 1024px) {
	.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; row-gap: 40px; }
	.woocommerce ul.products li.product .button { padding: 8px 12px; font-size: 13px; }
	.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0 -10px 6px !important; padding: 12px 10px 0 !important; font-size: 15px !important; }
}

/* 7. Géneros, pasos y columnas con regla --------------------------------- */
.enebro-generos { border-bottom: 1px solid var(--enb-linea); }
.enebro-genero {
	border-top: 1px solid var(--enb-linea);
	color: inherit;
	text-decoration: none;
	transition: background-color .18s ease;
}
.enebro-genero:hover { background-color: var(--enb-salvia); }
.enebro-genero:hover .elementor-heading-title {
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}
@media (min-width: 768px) {
	.enebro-genero:nth-child(odd) { padding-right: 32px !important; }
	.enebro-genero:nth-child(even) { padding-left: 32px !important; border-left: 1px solid var(--enb-linea); }
}

.enebro-paso { border-top: 2px solid var(--enb-tinta); padding-top: 20px !important; }
.enebro-regla { border-top: 1px solid var(--enb-linea); padding-top: 24px !important; }
/* en columnas paralelas, el botón queda alineado abajo aunque el texto varíe */
.enebro-regla > .e-con:last-child { margin-top: auto; padding-top: 8px; }
.enebro-canal__dato .elementor-widget-container { overflow-wrap: anywhere; }

/* 8. Recomendación, lectura, preguntas, mapa ----------------------------- */
.enebro-tapa img {
	max-width: 340px !important;
	box-shadow: var(--enb-sombra-libro);
	border-radius: 2px 5px 5px 2px;
}
.enebro-lectura { max-width: 680px; }
.enebro-lectura .elementor-widget-text-editor { font-size: 19px; }

.enebro-faq .elementor-toggle-item { border-bottom: 1px solid var(--enb-linea); }
.enebro-faq .elementor-toggle-item:first-child { border-top: 1px solid var(--enb-linea); }
.enebro-faq .elementor-tab-title { border: 0 !important; padding: 22px 0 !important; cursor: pointer; }
.enebro-faq .elementor-tab-content { border: 0 !important; padding: 0 48px 24px 0 !important; }

.enebro-map iframe { border-radius: 4px; display: block; }

/* 9. Botón flotante de WhatsApp ------------------------------------------ */
.enebro-wa {
	position: fixed;
	right: max(20px, env(safe-area-inset-right));
	bottom: max(20px, env(safe-area-inset-bottom));
	z-index: 70;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	height: 56px;
	padding: 0 20px 0 16px;
	border-radius: 999px;
	background: var(--enb-enebro);
	color: #fff !important;
	font-family: var(--enb-sans);
	font-size: 16px;
	font-weight: 600;
	text-decoration: none !important;
	box-shadow: 0 10px 24px -10px rgba(30, 38, 56, .6);
	transition: background-color .18s ease;
}
.enebro-wa:hover { background: var(--enb-tinta); }
.enebro-wa svg { width: 26px; height: 26px; flex: none; }
@media (max-width: 767px) {
	.enebro-wa { width: 56px; padding: 0; justify-content: center; }
	.enebro-wa span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
}

/* 10. Pie del sitio ------------------------------------------------------ */
.site-footer.enebro-footer {
	max-width: none !important;
	width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	background: var(--enb-tinta);
	color: #D9E0EC;
	font-family: var(--enb-sans);
	font-size: 16px;
	line-height: 1.5;
}
.enebro-footer__inner {
	max-width: 1200px;
	margin: 0 auto;
	/* abajo queda lugar para que el botón flotante de WhatsApp no tape el QR de Data Fiscal */
	padding: 72px max(24px, env(safe-area-inset-right, 0px)) 104px max(24px, env(safe-area-inset-left, 0px));
}
.enebro-footer__cols {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr));
	gap: 48px;
}
.enebro-footer p { margin: 0; }
.enebro-footer__name {
	font-family: var(--enb-serif);
	font-size: 26px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: -.3px;
}
.enebro-footer__name a { color: #fff; text-decoration: none; }
.enebro-footer__tagline {
	margin-top: 10px !important;
	max-width: 30ch;
	font-family: var(--enb-serif);
	font-size: 17px;
	color: #B9C4D6;
}
.enebro-footer h2 {
	margin: 0 0 14px;
	font-family: var(--enb-sans);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.4;
	letter-spacing: .2px;
	color: var(--e-global-color-enbarena, #F5D77A);
}
.enebro-footer__links {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.enebro-footer__links li { overflow-wrap: anywhere; }
.enebro-footer a { color: #E6EDE5; }
.enebro-footer__links a {
	display: inline-block;
	padding: 4px 0;
	text-decoration: none;
}
.enebro-footer__links a:hover,
.enebro-footer__legal-links a:hover {
	color: #fff;
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 2px;
	text-underline-offset: 5px;
}
.enebro-footer a:focus-visible { outline-color: var(--enb-senalador); }

.enebro-footer__legal {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	margin-top: 56px;
	padding-top: 28px;
	border-top: 1px solid rgba(255, 255, 255, .14);
}
.enebro-footer__legal-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 16px 28px;
	min-width: 0;
}
/* Res. 424/2020: el botón tiene que destacarse por visibilidad y tamaño */
.enebro-footer__arrep {
	display: inline-flex;
	align-items: center;
	min-height: 44px;
	padding: 10px 18px;
	border: 2px solid var(--enb-btn);
	border-radius: 6px;
	color: var(--enb-btn) !important;
	font-weight: 600;
	font-size: 15px;
	text-decoration: none;
	transition: background-color .18s ease, color .18s ease;
}
.enebro-footer__arrep:hover,
.enebro-footer__arrep:focus-visible { background: var(--enb-btn); color: var(--enb-btn-tx) !important; }
.enebro-footer__legal-links {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}
.enebro-footer__legal-links a { display: inline-block; padding-block: 6px; color: #B9C4D6; text-underline-offset: 4px; }
.enebro-footer__copy {
	flex-basis: 100%;
	font-size: 14px;
	color: #9AA6BA;
}
.enebro-footer__datafiscal { flex: none; }
.enebro-footer__datafiscal img { display: block; max-height: 88px; width: auto; border-radius: 2px; }
.enebro-footer__aviso {
	display: inline-block;
	max-width: 46ch;
	padding: 8px 12px;
	border: 1px dashed var(--enb-senalador);
	border-radius: 4px;
	font-size: 13px;
	color: var(--e-global-color-enbarena, #F5D77A);
}

@media (max-width: 1024px) {
	.enebro-footer__cols { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 32px; }
	.enebro-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
	.enebro-footer__inner { padding-top: 56px; padding-bottom: 104px; }
	.enebro-footer__legal { flex-direction: column; margin-top: 40px; }
	.enebro-footer__legal-main { flex-direction: column; align-items: flex-start; }
	.enebro-footer__links a { padding: 7px 0; } /* objetivos táctiles más altos */
}
@media (max-width: 600px) {
	.enebro-footer__cols { grid-template-columns: minmax(0, 1fr); gap: 32px; }
}

/* 11. Formulario de arrepentimiento -------------------------------------- */
.enebro-form {
	max-width: 720px;
	margin: 32px 0 48px;
	font-family: var(--enb-sans);
}
.enebro-form__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px 24px;
}
.enebro-form__field { display: flex; flex-direction: column; gap: 6px; margin: 0; }
.enebro-form__field--wide { grid-column: 1 / -1; }
.enebro-form label { font-size: 15px; font-weight: 600; color: var(--enb-tinta); }
.enebro-form label span { font-weight: 500; color: var(--enb-gris); }
.enebro-form input[type="text"],
.enebro-form input[type="email"],
.enebro-form input[type="tel"],
.enebro-form input[type="date"],
.enebro-form textarea {
	width: 100%;
	min-height: 52px;
	padding: 12px 14px;
	border: 2px solid var(--enb-tinta);
	border-radius: 6px;
	background: #fff;
	font-family: var(--enb-sans);
	font-size: 17px;
	color: var(--enb-tinta);
}
.enebro-form textarea { min-height: 120px; resize: vertical; }
.enebro-form [aria-invalid="true"] { border-color: #A12D24; }
.enebro-form__error { margin: 0; font-size: 14px; font-weight: 600; color: #A12D24; }
.enebro-form__trap { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.enebro-form__actions { margin: 28px 0 0; }
.enebro-form button[type="submit"] {
	min-height: 52px;
	padding: 0 28px;
	border: 0;
	border-radius: 6px;
	background: var(--enb-btn);
	color: var(--enb-btn-tx);
	font-family: var(--enb-sans);
	font-size: 16px;
	font-weight: 600;
	cursor: pointer;
}
.enebro-form button[type="submit"]:hover,
.enebro-form button[type="submit"]:focus-visible { background: var(--enb-btn-h); color: var(--enb-btn-htx); }
.enebro-form__help { margin-top: 12px; font-size: 14px; color: var(--enb-gris); }
.enebro-form--ok {
	padding: 32px;
	border-radius: 6px;
	background: var(--enb-salvia);
}
.enebro-form--ok h2 { margin: 0 0 12px; font-family: var(--enb-serif); font-size: 28px; font-weight: 500; }
.enebro-form--ok p { margin: 0 0 8px; }
.enebro-form__code {
	font-family: var(--enb-serif);
	font-size: 30px !important;
	font-weight: 600;
	letter-spacing: 1px;
	color: var(--enb-enebro);
	overflow-wrap: anywhere;
}
@media (max-width: 600px) {
	.enebro-form__grid { grid-template-columns: minmax(0, 1fr); }
	.enebro-form button[type="submit"] { width: 100%; }
	.enebro-form--ok { padding: 24px 20px; }
}

/* 12. Movimiento reducido e impresión ------------------------------------ */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; }
	.enebro-ficha { transform: none !important; }
}
@media print {
	.enebro-wa, .site-header { display: none !important; }
}

/* 13. Diseño v3 ---------------------------------------------------------- */

/* Portada ---------------------------------------------------------------- */
.enebro-hero { position: relative; overflow: hidden; }
.enebro-hero .elementor-heading-title,
.enebro-header .elementor-heading-title { text-wrap: balance; }
.enebro-titulo-anim .enb-l { display: block; }

.enebro-hero-visual { position: relative; }
.enebro-hero-visual > .enebro-ficha { position: relative; z-index: 1; }
.enebro-rama-wrap {
	position: absolute !important;
	z-index: 0;
	top: -190px;
	right: -150px;
	width: 125% !important;
	pointer-events: none;
}
.enebro-rama, .enebro-header-visual svg { display: block; width: 100%; height: auto; overflow: visible; }
.r-tallo { fill: none; stroke: var(--enb-madera); stroke-width: 7; stroke-linecap: round; }
.r-tallo--fino { stroke-width: 4; }
.r-hoja { fill: none; stroke: var(--enb-aguja); stroke-width: 3.5; stroke-linecap: round; }
.r-baya circle { fill: var(--enb-baya-clara); }
.r-baya .r-brillo { fill: #EEF2FA; }

@media (max-width: 1024px) {
	.enebro-hero-visual { margin-top: 40px; }
	.enebro-rama-wrap { top: -150px; right: -60px; width: 62% !important; }
}
@media (max-width: 767px) {
	.enebro-rama-wrap { top: -120px; right: -56px; width: 78% !important; }
}

/* Encabezados de página en verde */
.enebro-header { position: relative; overflow: hidden; }
.enebro-header-visual { max-width: 420px; }
.enebro-header-visual--globos { color: var(--enb-papel); --tile-acc: var(--enb-senalador); max-width: 300px; }
@media (max-width: 1024px) { .enebro-header-visual { max-width: 320px; } }
@media (max-width: 767px) { .enebro-header-visual { max-width: 240px; } }

/* Estante en movimiento -------------------------------------------------- */
.enebro-estante-anim {
	overflow: hidden;
	border-bottom: 14px solid var(--enb-tinta);
	line-height: 0;
}
.enebro-estante-anim__track {
	display: flex;
	width: max-content;
	animation: enb-estante 90s linear infinite;
}
.enebro-estante-anim svg { height: 120px; width: auto; flex: none; }
.enebro-estante-anim:hover .enebro-estante-anim__track { animation-play-state: paused; }
.enebro-estante-anim.is-paused .enebro-estante-anim__track { animation-play-state: paused; }
@keyframes enb-estante { to { transform: translateX(-50%); } }
@media (max-width: 767px) { .enebro-estante-anim svg { height: 84px; } }

/* Franja de datos amarilla ----------------------------------------------- */
.enebro-info-sec .elementor-icon-list-icon .enb-ico,
.enebro-info-sec .elementor-icon-list-icon i,
.enebro-info-sec .elementor-icon-list-icon svg { color: var(--enb-tinta); fill: var(--enb-tinta); }
.enebro-info-sec a { text-decoration-color: var(--enb-tinta); }

/* Novedades: sacar un libro del estante ---------------------------------- */
.woocommerce ul.products li.product a img {
	transition: transform .35s var(--enb-ease), filter .35s var(--enb-ease);
	transform-origin: center bottom;
}
.woocommerce ul.products li.product:hover a img,
.woocommerce ul.products li.product a:focus-visible img {
	transform: translateY(-14px) rotate(-2.5deg);
	filter: drop-shadow(0 18px 16px rgba(30, 38, 56, .3));
}

/* Géneros en baldosas de color ------------------------------------------- */
.enebro-tile {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	text-decoration: none !important;
	transition: transform .35s var(--enb-ease), box-shadow .35s var(--enb-ease);
}
.enebro-tile:hover { transform: translateY(-6px); box-shadow: 0 22px 40px -22px rgba(30, 38, 56, .55); }
.enebro-tile:focus-visible { outline: 4px solid var(--enb-tinta); outline-offset: 4px; }
.enebro-tile > .elementor-widget:not(.enebro-tile-illo) { position: relative; z-index: 1; }
.enebro-tile .elementor-widget-text-editor { max-width: 32ch; }
.enebro-tile-illo {
	position: absolute !important;
	top: 22px;
	right: 22px;
	width: 42% !important;
	max-width: 190px;
	transition: transform .45s var(--enb-ease);
}
.enebro-tile-illo svg { display: block; width: 100%; height: auto; }
.enebro-tile:hover .enebro-tile-illo { transform: rotate(-7deg) scale(1.06); }
.enebro-tile--azul     { color: var(--enb-papel);   --tile-acc: var(--enb-senalador); }
.enebro-tile--amarillo { color: var(--enb-tinta);   --tile-acc: #fff; }
.enebro-tile--verde    { color: var(--enb-papel);   --tile-acc: var(--enb-baya-clara); }
.enebro-tile--tinta    { color: var(--enb-senalador); --tile-acc: var(--enb-baya); }
@media (max-width: 767px) {
	.enebro-tile-illo { width: 34% !important; top: 18px; right: 18px; }
}

/* Recomendación con sello ------------------------------------------------ */
.enebro-reco-tapa { position: relative; }
.enebro-reco .enebro-tapa img {
	transform: rotate(-3deg);
	transition: transform .4s var(--enb-ease);
	box-shadow: 0 2px 2px rgba(0, 0, 0, .15), 0 30px 50px -20px rgba(0, 0, 0, .55);
}
.enebro-reco .enebro-tapa:hover img { transform: rotate(0deg) translateY(-6px); }
.enebro-sello-wrap {
	position: absolute !important;
	z-index: 2;
	top: -36px;
	right: 2%;
	width: 150px !important;
}
.enebro-sello { display: block; width: 100%; height: auto; }
.s-fondo { fill: var(--enb-senalador); }
.s-texto { font-family: var(--enb-sans); font-size: 14.5px; font-weight: 600; letter-spacing: 1.2px; fill: var(--enb-tinta); }
.s-disco { fill: var(--enb-tinta); }
.s-tallo { fill: none; stroke: var(--enb-aguja); stroke-width: 4; stroke-linecap: round; }
.s-baya { fill: var(--enb-baya-clara); }
.s-giro { transform-origin: 100px 100px; animation: enb-gira 28s linear infinite; }
@keyframes enb-gira { to { transform: rotate(360deg); } }
@media (max-width: 1024px) { .enebro-reco .enebro-tapa img { max-width: 300px !important; } }
@media (max-width: 767px) {
	.enebro-reco .enebro-tapa img { max-width: 230px !important; }
	.enebro-sello-wrap { width: 112px !important; top: -24px; right: 4%; }
}

/* Encargos en amarillo con números calados ------------------------------- */
.enebro-encargos .enebro-paso { border-top: 3px solid var(--enb-tinta); padding-top: 18px !important; }
.enebro-paso__num p {
	color: transparent;
	-webkit-text-stroke: 2.5px var(--enb-tinta);
	transition: color .3s var(--enb-ease);
}
.enebro-paso:hover .enebro-paso__num p { color: var(--enb-tinta); }


/* Nosotros --------------------------------------------------------------- */
.enebro-foto img { transform: rotate(2deg); box-shadow: var(--enb-sombra-libro); }
.enebro-valor { border-top: 10px solid var(--enb-baya); padding-top: 22px !important; }
.enebro-valor--amarillo { border-top-color: var(--enb-senalador); }
.enebro-valor--verde { border-top-color: var(--enb-enebro); }

/* Contacto: canales en bloques de color ---------------------------------- */
.enebro-canal { border-radius: 10px; }
.enebro-canal--verde { background-color: var(--enb-enebro); }
.enebro-canal--verde, .enebro-canal--verde .elementor-widget-container,
.enebro-canal--verde .elementor-icon-list-text,
.enebro-canal--verde .elementor-widget-text-editor { color: var(--enb-papel) !important; }
.enebro-canal--verde .enb-ico, .enebro-canal--verde .elementor-icon-list-icon i { fill: var(--enb-senalador) !important; color: var(--enb-senalador) !important; }
.enebro-canal--amarillo { background-color: var(--enb-senalador); }
.enebro-canal--amarillo .enb-ico, .enebro-canal--amarillo .elementor-icon-list-icon i { fill: var(--enb-tinta) !important; color: var(--enb-tinta) !important; }
.enebro-canal--papel { background-color: #fff; box-shadow: inset 0 0 0 2px var(--enb-tinta); }
.enebro-canal > .e-con:last-child { margin-top: auto; padding-top: 8px; }

/* Pie: marca grande y rama ----------------------------------------------- */
.site-footer.enebro-footer { position: relative; overflow: hidden; }
.enebro-footer__inner { position: relative; z-index: 1; }
.enebro-footer__rama {
	position: absolute;
	z-index: 0;
	top: -110px;
	right: -150px;
	width: 380px;
	opacity: .22;
	pointer-events: none;
}
.enebro-footer__name { font-size: clamp(34px, 4.6vw, 60px) !important; letter-spacing: -1.5px !important; line-height: 1 !important; }
@media (max-width: 767px) { .enebro-footer__rama { width: 170px; right: -64px; top: -70px; opacity: .25; } }

/* Movimiento ------------------------------------------------------------- */
/* 1. Portada: el título sube línea por línea, la rama se dibuja, la ficha cae sobre la mesa */
body:not(.elementor-editor-active) .enebro-titulo-anim .enb-l {
	animation: enb-linea .9s var(--enb-ease) both;
}
body:not(.elementor-editor-active) .enebro-titulo-anim .enb-l:nth-child(2) { animation-delay: .1s; }
body:not(.elementor-editor-active) .enebro-titulo-anim .enb-l:nth-child(3) { animation-delay: .2s; }
@keyframes enb-linea {
	from { transform: translateY(.45em); clip-path: inset(0 0 100% 0); }
	to   { transform: none; clip-path: inset(-20% -10% -30% -10%); }
}
body:not(.elementor-editor-active) .enebro-hero-lead,
body:not(.elementor-editor-active) .enebro-hero-ctas,
body:not(.elementor-editor-active) .enebro-header .elementor-widget-text-editor {
	animation: enb-aparece .8s .45s var(--enb-ease) both;
}
@keyframes enb-aparece { from { opacity: 0; transform: translateY(14px); } }

body:not(.elementor-editor-active) .r-tallo { stroke-dasharray: 1; animation: enb-trazo 1.4s .2s var(--enb-ease) both; }
@keyframes enb-trazo { from { stroke-dashoffset: 1; } to { stroke-dashoffset: 0; } }
body:not(.elementor-editor-active) .r-hoja { animation: enb-aparece-suave 1s .9s ease both; }
@keyframes enb-aparece-suave { from { opacity: 0; } }
.r-baya { transform-box: fill-box; transform-origin: center; }
body:not(.elementor-editor-active) .r-baya { animation: enb-baya .5s calc(1.1s + var(--i) * 45ms) cubic-bezier(.3, 1.6, .5, 1) both; }
@keyframes enb-baya { from { transform: scale(0); } }

@media (min-width: 1025px) {
	body:not(.elementor-editor-active) .enebro-hero .enebro-ficha { animation: enb-ficha 1.1s .35s var(--enb-ease) both; }
	@keyframes enb-ficha {
		from { transform: translateY(-60px) rotate(-7deg); opacity: 0; }
		60%  { transform: translateY(8px) rotate(3.2deg); opacity: 1; }
		to   { transform: rotate(2deg); }
	}
	.enebro-hero .enebro-ficha:focus-within { animation: none; transform: rotate(0deg); }
}

/* 2. Al hacer scroll, el contenido de cada sección sube apenas (siempre visible, nunca oculto) */
.enebro-js .enebro-reveal > .e-con-inner,
.enebro-js .enebro-reveal.e-con-full > * {
	transition: transform .9s var(--enb-ease);
}
.enebro-js .enebro-reveal:not(.is-in) > .e-con-inner,
.enebro-js .enebro-reveal.e-con-full:not(.is-in) > * {
	transform: translateY(36px);
}

@media (prefers-reduced-motion: reduce) {
	.enebro-js .enebro-reveal > .e-con-inner,
	.enebro-js .enebro-reveal.e-con-full > * { transform: none !important; }
	.r-tallo { stroke-dasharray: none; }
	.enebro-estante-anim__track { transform: none; }
}

/* 14. Categorías destacadas ---------------------------------------------- */
/* Sale del shortcode [product_categories]. La tapa es la imagen de cada categoría
   (Productos > Categorías). Fondo: color Tinta + líneas del delta. */

.enebro-cats .woocommerce ul.products {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	column-gap: 32px;
	row-gap: 40px;
}
.enebro-cats .woocommerce ul.products li.product-category {
	text-align: center;
}
.enebro-cats .woocommerce ul.products li.product-category > a {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 18px;
	color: var(--enb-papel);
	text-decoration: none;
}
.enebro-cat-circulo { display: block; }
.enebro-cats .enebro-cat-circulo {
	position: relative;
	width: 100%;
	max-width: 230px;
	aspect-ratio: 1 / 1;
	overflow: hidden;
	border-radius: 50%;
	background: var(--enb-papel);
	box-shadow: 0 18px 30px -18px rgba(0, 0, 0, .7);
	transition: background-color .4s var(--enb-ease), box-shadow .4s var(--enb-ease);
}
/* la tapa: rectangular, centrada y apoyada más abajo, así el círculo la corta */
.enebro-cats .woocommerce ul.products li.product-category .enebro-cat-circulo img {
	position: absolute;
	top: 22%;
	left: 50%;
	width: 54% !important;
	height: auto;
	max-width: none;
	aspect-ratio: auto;
	margin: 0 !important;
	padding: 0;
	border-radius: 2px;
	background: none;
	object-fit: initial;
	filter: none;
	transform: translateX(-50%) !important;
	box-shadow: 0 8px 18px -6px rgba(30, 38, 56, .45);
	transition: top .4s var(--enb-ease);
}
.enebro-cats .woocommerce ul.products li.product-category a:hover .enebro-cat-circulo,
.enebro-cats .woocommerce ul.products li.product-category a:focus-visible .enebro-cat-circulo {
	background: var(--enb-senalador);
	box-shadow: 0 24px 36px -16px rgba(0, 0, 0, .8);
}
.enebro-cats .woocommerce ul.products li.product-category a:hover .enebro-cat-circulo img,
.enebro-cats .woocommerce ul.products li.product-category a:focus-visible .enebro-cat-circulo img { top: 13%; }
.enebro-cats .woocommerce ul.products li.product-category a:focus-visible { outline: none; }
.enebro-cats .woocommerce ul.products li.product-category a:focus-visible .enebro-cat-circulo { outline: 3px solid var(--enb-senalador); outline-offset: 5px; }

.enebro-cats .woocommerce-loop-category__title {
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	font-family: var(--enb-sans) !important;
	font-size: 17px !important;
	font-weight: 600 !important;
	line-height: 1.3 !important;
	color: var(--enb-papel) !important;
}
.enebro-cats .woocommerce-loop-category__title mark.count {
	display: block;
	margin-top: 4px;
	background: none;
	font-size: 14px;
	font-weight: 500;
	color: #B9C4D6;
}
.enebro-cats li.product-category a:hover .woocommerce-loop-category__title {
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 3px;
	text-underline-offset: 6px;
}

@media (max-width: 1024px) {
	.enebro-cats .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* en el celular: fila que se desliza con el dedo, asomando el círculo siguiente */
@media (max-width: 767px) {
	.enebro-cats .woocommerce ul.products {
		display: flex;
		gap: 18px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 4px 4px 16px;
		margin: 0 -4px;
		scrollbar-width: thin;
	}
	.enebro-cats .woocommerce ul.products li.product-category {
		flex: 0 0 42%;
		scroll-snap-align: start;
	}
	.enebro-cats .woocommerce-loop-category__title { font-size: 15px !important; }
}

/* 15. Actividades -------------------------------------------------------- */
.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden;
	clip: rect(1px, 1px, 1px, 1px);
	white-space: nowrap;
}

.enb-acts {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}
/* la tarjeta es una entrada: troquel a los costados y línea de corte punteada */
.enb-act {
	--corte: 210px;
	position: relative;
	display: flex;
	flex-direction: column;
	min-width: 0;
	background: #fff;
	border-radius: 12px;
	box-shadow: inset 0 0 0 1.5px var(--enb-linea);
	-webkit-mask:
		radial-gradient(circle 13px at 0 var(--corte), transparent 12.5px, #000 13px) left / 51% 100% no-repeat,
		radial-gradient(circle 13px at 100% var(--corte), transparent 12.5px, #000 13px) right / 51% 100% no-repeat;
	        mask:
		radial-gradient(circle 13px at 0 var(--corte), transparent 12.5px, #000 13px) left / 51% 100% no-repeat,
		radial-gradient(circle 13px at 100% var(--corte), transparent 12.5px, #000 13px) right / 51% 100% no-repeat;
	transition: transform .35s var(--enb-ease);
}
.enb-act:hover { transform: translateY(-6px); }
.enb-act__media {
	display: grid;
	place-items: center;
	height: var(--corte);
	overflow: hidden;
	border-radius: 12px 12px 0 0;
	background: var(--enb-baya);
	color: var(--enb-papel);
	--tile-acc: var(--enb-senalador);
}
.enb-act__media img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--enb-ease); }
.enb-act:hover .enb-act__media img { transform: scale(1.04); }
.enb-act__illo { display: block; width: 120px; transition: transform .45s var(--enb-ease); }
.enb-act__illo svg { display: block; width: 100%; height: auto; }
.enb-act:hover .enb-act__illo { transform: rotate(-6deg) scale(1.06); }
/* color del encabezado según el tipo de actividad */
.enb-act--presentacion .enb-act__media, .enb-act-detalle.enb-act--presentacion .enb-act-detalle__media { background: var(--enb-enebro); --tile-acc: var(--enb-baya-clara); }
.enb-act--taller .enb-act__media, .enb-act-detalle.enb-act--taller .enb-act-detalle__media { background: var(--enb-senalador); color: var(--enb-tinta); --tile-acc: #fff; }
.enb-act--charla .enb-act__media, .enb-act-detalle.enb-act--charla .enb-act-detalle__media { background: var(--enb-tinta); color: var(--enb-senalador); --tile-acc: var(--enb-baya); }
.enb-act--chicos .enb-act__media, .enb-act-detalle.enb-act--chicos .enb-act-detalle__media { background: var(--enb-coral); color: var(--enb-tinta); --tile-acc: #fff; }
.enb-act--otra .enb-act__media, .enb-act-detalle.enb-act--otra .enb-act-detalle__media { background: var(--enb-salvia); color: var(--enb-enebro); --tile-acc: var(--enb-senalador); }

/* talón con la fecha */
.enb-act__fecha {
	position: absolute;
	top: 16px;
	left: 16px;
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 78px;
	margin: 0;
	padding: 10px 8px 9px;
	border-radius: 8px;
	background: var(--enb-senalador);
	color: var(--enb-tinta);
	font-family: var(--enb-sans);
	line-height: 1.1;
	text-align: center;
	box-shadow: 0 10px 20px -12px rgba(0, 0, 0, .6);
}
.enb-act--taller .enb-act__fecha { background: var(--enb-tinta); color: var(--enb-senalador); }
.enb-act__dia { font-family: var(--enb-serif); font-size: 42px; font-weight: 600; letter-spacing: -1.5px; line-height: 1; }
.enb-act__mes { font-size: 15px; font-weight: 700; }
.enb-act__semana { font-size: 12px; font-weight: 500; opacity: .85; }

.enb-act__body {
	display: flex;
	flex: 1;
	flex-direction: column;
	gap: 8px;
	padding: 24px 26px 26px;
	border-top: 2px dashed var(--enb-linea);
}
.enb-act__tipo { margin: 0; font-family: var(--enb-sans); font-size: 14px; font-weight: 600; color: var(--enb-baya); }
.enb-act__titulo {
	margin: 0;
	font-family: var(--enb-serif);
	font-size: 24px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: -.4px;
	text-wrap: balance;
}
.enb-act__titulo a { color: var(--enb-tinta); text-decoration: none; }
.enb-act__titulo a:hover {
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 3px;
	text-underline-offset: 5px;
}
.enb-act__resumen { margin: 0; font-size: 16px; line-height: 1.55; color: var(--enb-gris); }
.enb-act__datos {
	margin: 4px 0 0;
	padding: 0;
	list-style: none;
	font-family: var(--enb-sans);
	font-size: 15px;
	color: var(--enb-gris);
}
.enb-act__pie {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-top: auto;
	padding-top: 14px;
}
.enb-act__estado {
	padding: 6px 11px;
	border-radius: 999px;
	background: var(--enb-salvia);
	color: var(--enb-enebro);
	font-family: var(--enb-sans);
	font-size: 13px;
	font-weight: 600;
}
.enb-act__estado--pocos { background: #FBE2D9; color: #8A2E17; }
.enb-act__estado--llena,
.enb-act__estado--cerrada { background: #ECEDEF; color: #4E5768; }
.enb-act__boton {
	display: inline-flex;
	align-items: center;
	min-height: 46px;
	padding: 0 20px;
	border: 2px solid var(--enb-btn);
	border-radius: 6px;
	background: var(--enb-btn);
	color: var(--enb-btn-tx) !important; /* le gana al color de links del sitio */
	font-family: var(--enb-sans);
	font-size: 15px;
	font-weight: 600;
	text-decoration: none !important;
	transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
.enb-act__boton:hover,
.enb-act__boton:focus-visible { background: var(--enb-btn-h); border-color: var(--enb-btn-h); color: var(--enb-btn-htx) !important; }
.enb-act__boton--sec { background: transparent; border-color: var(--enb-tinta); color: var(--enb-tinta) !important; }

.enb-act-vacio {
	padding: 40px 32px;
	border: 2px dashed var(--enb-linea);
	border-radius: 12px;
	font-family: var(--enb-sans);
	text-align: center;
}
.enb-act-vacio__titulo { margin: 0 0 6px; font-family: var(--enb-serif); font-size: 24px; font-weight: 500; }

/* tablet y celular: fila que se desliza, asomando la tarjeta siguiente */
@media (max-width: 1024px) {
	.enb-acts {
		display: flex;
		gap: 20px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		padding: 4px 2px 18px;
		scrollbar-width: thin;
	}
	.enb-act { flex: 0 0 46%; scroll-snap-align: start; }
	.enb-act:hover { transform: none; }
}
@media (max-width: 767px) {
	.enb-act { --corte: 180px; flex-basis: 84%; }
	.enb-act__titulo { font-size: 21px; }
	.enb-act__body { padding: 20px 20px 22px; }
}

/* Página de cada actividad */
.enb-act-detalle {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 32px;
	align-items: stretch;
	margin: 8px 0 36px;
}
.enb-act-detalle__media {
	display: grid;
	place-items: center;
	min-height: 320px;
	overflow: hidden;
	border-radius: 12px;
	background: var(--enb-baya);
	color: var(--enb-papel);
	--tile-acc: var(--enb-senalador);
}
.enb-act-detalle__media img { width: 100%; height: 100%; object-fit: cover; }
.enb-act-detalle__media .enb-act__illo { width: 180px; }
.enb-act-detalle__datos {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 8px 28px;
	border-radius: 12px;
	background: #fff;
	box-shadow: inset 0 0 0 1.5px var(--enb-linea);
}
.enb-act-detalle__datos > div { padding: 16px 0; border-bottom: 2px dashed var(--enb-linea); }
.enb-act-detalle__datos > div:last-child { border-bottom: 0; }
.enb-act-detalle__datos dt { font-family: var(--enb-sans); font-size: 14px; font-weight: 600; color: var(--enb-baya); }
.enb-act-detalle__datos dd { margin: 2px 0 0; font-family: var(--enb-serif); font-size: 20px; line-height: 1.35; color: var(--enb-tinta); }
.enb-act-detalle__texto { max-width: 680px; font-size: 19px; }
.enebro-form--insc,
.enebro-form--info {
	padding: 32px;
	border-radius: 12px;
	background: var(--enb-salvia);
}
.enebro-form--insc h2,
.enebro-form--info h2 {
	margin: 0 0 16px;
	font-family: var(--enb-serif);
	font-size: 32px;
	font-weight: 500;
	letter-spacing: -.6px;
}
.enebro-form__aviso {
	display: inline-block;
	margin: 0 0 16px;
	padding: 6px 12px;
	border-radius: 999px;
	background: #FBE2D9;
	color: #8A2E17;
	font-weight: 600;
	font-size: 14px;
}
.enebro-form select {
	width: 100%;
	min-height: 52px;
	padding: 0 14px;
	border: 2px solid var(--enb-tinta);
	border-radius: 6px;
	background: #fff;
	font-family: var(--enb-sans);
	font-size: 17px;
	color: var(--enb-tinta);
}
@media (max-width: 767px) {
	.enb-act-detalle { grid-template-columns: minmax(0, 1fr); gap: 20px; }
	.enb-act-detalle__media { min-height: 220px; }
	.enebro-form--insc, .enebro-form--info { padding: 24px 20px; }
}

/* 16. Barra de menú con buscador ----------------------------------------- */
.site-header.enebro-bar,
.site-header.enebro-bar:not(.dynamic-header) {
	max-width: none !important;
	padding: 0 !important;
}
.enebro-bar__inner {
	display: flex;
	align-items: center;
	gap: 28px;
	max-width: 1200px;
	margin: 0 auto;
	padding: 12px max(24px, env(safe-area-inset-right, 0px)) 12px max(24px, env(safe-area-inset-left, 0px));
}
.enebro-bar__logo { flex: none; }
.enebro-bar__logo .site-title {
	font-family: var(--enb-serif);
	font-size: 23px;
	font-weight: 600;
	letter-spacing: -.4px;
	color: var(--enb-tinta);
	text-decoration: none;
	white-space: nowrap;
}
.enebro-bar__logo .custom-logo { display: block; width: auto; max-height: 52px; }

.enebro-bar__nav { margin-left: auto; }
.enebro-bar__nav .menu {
	display: flex !important;
	align-items: center;
	gap: 26px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.enebro-bar__nav .menu > li { position: relative; }
.enebro-bar__nav .menu a {
	display: inline-block;
	padding-block: 10px;
	font-family: var(--enb-sans);
	font-size: 16px;
	font-weight: 500;
	color: var(--enb-tinta);
	text-decoration: none;
	white-space: nowrap;
}
.enebro-bar__nav .menu > li > a:hover,
.enebro-bar__nav .menu > li.current-menu-item > a,
.enebro-bar__nav .menu > li.current-menu-ancestor > a {
	text-decoration: underline;
	text-decoration-color: var(--enb-senalador);
	text-decoration-thickness: 3px;
	text-underline-offset: 7px;
}
/* submenús (si el menú tiene un segundo nivel) */
.enebro-bar__nav .sub-menu {
	position: absolute;
	z-index: 5;
	top: 100%;
	left: -16px;
	min-width: 220px;
	margin: 0;
	padding: 8px 0;
	list-style: none;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0 18px 40px -16px rgba(30, 38, 56, .4), 0 0 0 1px var(--enb-linea);
	opacity: 0;
	visibility: hidden;
	transform: translateY(6px);
	transition: opacity .18s ease, transform .18s ease, visibility .18s;
}
.enebro-bar__nav li:hover > .sub-menu,
.enebro-bar__nav li:focus-within > .sub-menu { opacity: 1; visibility: visible; transform: none; }
.enebro-bar__nav .sub-menu a { display: block; padding: 10px 16px; }
.enebro-bar__nav .sub-menu a:hover { background: var(--enb-salvia); }

/* buscador */
.enebro-bar__search {
	position: relative;
	flex: 0 1 290px;
	min-width: 0;
	margin: 0;
	transition: flex-basis .3s var(--enb-ease);
}
.enebro-bar__search:focus-within { flex-basis: 360px; }
.enebro-bar__search input[type="search"] {
	width: 100%;
	height: 46px;
	padding: 0 52px 0 18px;
	border: 2px solid var(--enb-tinta);
	border-radius: 999px;
	background: #fff;
	font-family: var(--enb-sans);
	font-size: 16px;
	color: var(--enb-tinta);
	-webkit-appearance: none;
	appearance: none;
}
.enebro-bar__search input[type="search"]::placeholder { color: #6B7385; }
.enebro-bar__search input[type="search"]:focus { outline: none; box-shadow: 0 0 0 4px rgba(242, 194, 48, .55); }
.enebro-bar__search input[type="search"]::-webkit-search-cancel-button { display: none; }
.enebro-bar .enebro-bar__search button {
	position: absolute;
	top: 5px;
	right: 5px;
	display: grid;
	place-items: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--enb-btn);
	color: var(--enb-btn-tx);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease;
}
.enebro-bar .enebro-bar__search button:hover,
.enebro-bar .enebro-bar__search button:focus-visible { background: var(--enb-btn-h); color: var(--enb-btn-htx); }
.enebro-bar .enebro-bar__search button svg { width: 20px; height: 20px; }

/* botón de menú (tablet y celular) */
.enebro-bar button.enebro-bar__toggle {
	display: none;
	align-items: center;
	gap: 8px;
	min-height: 46px;
	padding: 0 14px;
	border: 2px solid var(--enb-tinta);
	border-radius: 999px;
	background: transparent;
	color: var(--enb-tinta);
	font-family: var(--enb-sans);
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
}
.enebro-bar button.enebro-bar__toggle:hover,
.enebro-bar button.enebro-bar__toggle:focus { background: transparent; color: var(--enb-tinta); }
.enebro-bar__toggle svg { width: 20px; height: 20px; }
.enebro-bar button.enebro-bar__toggle[aria-expanded="true"] { background: var(--enb-tinta); color: #fff; }

.enebro-bar__movil {
	border-top: 1px solid var(--enb-linea);
	background: var(--enb-papel);
}
.enebro-bar__movil .menu { margin: 0; padding: 4px 0 12px; list-style: none; }
.enebro-bar__movil .sub-menu { margin: 0; padding: 0 0 0 16px; list-style: none; }
.enebro-bar__movil a {
	display: block;
	padding: 14px max(24px, env(safe-area-inset-left, 0px));
	border-bottom: 1px solid var(--enb-linea);
	font-family: var(--enb-sans);
	font-size: 18px;
	font-weight: 500;
	color: var(--enb-tinta);
	text-decoration: none;
}
.enebro-bar__movil .current-menu-item > a { background: var(--enb-salvia); box-shadow: inset 4px 0 0 var(--enb-senalador); }

/* hasta 1100 px: menú en botón, buscador en la barra */
@media (max-width: 1100px) {
	.enebro-bar__nav { display: none; }
	.enebro-bar button.enebro-bar__toggle { display: inline-flex; }
	.enebro-bar__search { margin-left: auto; flex: 0 1 380px; }
	.enebro-bar__search:focus-within { flex-basis: 380px; }
}
/* celular: logo y menú arriba, buscador a todo el ancho abajo */
@media (max-width: 767px) {
	.enebro-bar__inner { flex-wrap: wrap; gap: 10px 12px; padding-top: 10px; padding-bottom: 12px; }
	.enebro-bar__logo .site-title { font-size: 20px; }
	.enebro-bar button.enebro-bar__toggle { margin-left: auto; }
	.enebro-bar__toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.enebro-bar button.enebro-bar__toggle { width: 46px; padding: 0; justify-content: center; }
	.enebro-bar__search,
	.enebro-bar__search:focus-within { order: 3; flex: 1 1 100%; margin-left: 0; }
}
@media (min-width: 1101px) {
	.enebro-bar__movil { display: none !important; }
}
html { scroll-padding-top: 140px; }

/* 17. Ficha de la portada: próxima actividad ----------------------------- */
.enb-prox { font-family: var(--enb-sans); }
.enb-prox__fecha {
	display: flex;
	align-items: baseline;
	gap: 10px;
	margin: 0;
	line-height: 36px; /* sobre los renglones de la ficha */
	color: var(--enb-baya);
	font-weight: 600;
	font-size: 15px;
}
.enb-prox__dia { font-family: var(--enb-serif); font-size: 44px; font-weight: 600; letter-spacing: -1.5px; color: var(--enb-tinta); }
.enb-prox__titulo { margin: 0; font-family: var(--enb-serif); font-size: 26px; font-weight: 600; line-height: 36px; letter-spacing: -.4px; }
.enb-prox__titulo a { color: var(--enb-tinta); text-decoration: none; }
.enb-prox__titulo a:hover { text-decoration: underline; text-decoration-color: var(--enb-senalador); text-decoration-thickness: 3px; text-underline-offset: 5px; }
.enb-prox__datos { margin: 0; line-height: 36px; font-size: 16px; color: var(--enb-gris); }
.enb-prox__pie { display: flex; flex-wrap: wrap; align-items: center; gap: 12px; margin-top: 10px; }
.enb-prox__mas { font-size: 15px; font-weight: 600; color: var(--enb-baya); line-height: 36px; }
@media (max-width: 767px) {
	.enb-prox__dia { font-size: 38px; }
	.enb-prox__titulo { font-size: 22px; line-height: 30px; }
}

/* 18. Slider de novedades ------------------------------------------------ */
/* El script envuelve la grilla de "Llegaron esta semana" en .enebro-slider.
   Sin script, la grilla se ve como siempre. */
.enebro-slider { position: relative; }
.enebro-slider ul.products {
	display: flex !important;
	gap: 0 32px;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	scroll-snap-type: x mandatory;
	scroll-padding-inline: 16px; /* el primer libro arranca alineado con el título */
	scrollbar-width: none;
	padding: 18px 16px 8px !important; /* aire para que el libro "se asome" al pasar el mouse */
	margin: -18px -16px 0 !important;
}
.enebro-slider ul.products::-webkit-scrollbar { display: none; }
.enebro-slider ul.products:focus-visible { outline: 3px solid var(--enb-baya); outline-offset: 4px; border-radius: 6px; }
.enebro-slider ul.products li.product {
	flex: 0 0 calc((100% - 32px * 3) / 4);
	scroll-snap-align: start;
}

.enebro-slider button.enebro-slider__btn {
	position: absolute;
	z-index: 2;
	top: calc(18px + (100% - 18px) * .28);
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: var(--enb-tinta);
	color: #fff;
	box-shadow: 0 12px 24px -10px rgba(30, 38, 56, .6);
	cursor: pointer;
	transition: background-color .18s ease, color .18s ease, opacity .25s ease, transform .25s var(--enb-ease);
}
.enebro-slider__btn svg { width: 26px; height: 26px; }
.enebro-slider button.enebro-slider__btn:hover,
.enebro-slider button.enebro-slider__btn:focus { background: var(--enb-btn); color: var(--enb-btn-tx); }
.enebro-slider__btn:focus-visible { outline: 3px solid var(--enb-senalador); outline-offset: 3px; }
.enebro-slider__btn--prev { left: -27px; }
.enebro-slider__btn--next { right: -27px; }
.enebro-slider button.enebro-slider__btn:disabled { opacity: 0; pointer-events: none; transform: scale(.8); }
.enebro-slider.is-static button.enebro-slider__btn { display: none; }

@media (max-width: 1300px) {
	.enebro-slider__btn--prev { left: -8px; }
	.enebro-slider__btn--next { right: -8px; }
}
@media (max-width: 1024px) {
	.enebro-slider ul.products li.product { flex-basis: calc((100% - 32px * 2) / 3); }
}
@media (max-width: 767px) {
	.enebro-slider ul.products { gap: 0 20px; }
	/* dos libros y medio: el que asoma invita a deslizar */
	.enebro-slider ul.products li.product { flex-basis: calc((100% - 20px * 2) / 2.35); }
	.enebro-slider button.enebro-slider__btn { width: 44px; height: 44px; }
	.enebro-slider__btn svg { width: 22px; height: 22px; }
	.enebro-slider__btn--prev { left: -6px; }
	.enebro-slider__btn--next { right: -6px; }
}
