/* ==========================================================================
   Editorial Aragón — refresco visual (oct 2026)
   Capa por encima del tema Boosin y de Elementor. No cambia contenido.
   Para volver al diseño anterior basta con no cargar este archivo (functions.php).
   ========================================================================== */

/* ---------- 0. Fuentes alojadas en el propio servidor (sin peticiones a Google) ----------
   Newsreader (titulares) y Mona Sans (texto), variables, juego latino. Licencia SIL OFL. */
@font-face {
	font-family: "Newsreader";
	font-style: normal;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/newsreader-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Newsreader";
	font-style: italic;
	font-weight: 400 700;
	font-display: swap;
	src: url("../fonts/newsreader-latin-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Mona Sans";
	font-style: normal;
	font-weight: 200 900;
	font-display: swap;
	src: url("../fonts/mona-sans-latin.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}
@font-face {
	font-family: "Mona Sans";
	font-style: italic;
	font-weight: 200 900;
	font-display: swap;
	src: url("../fonts/mona-sans-latin-italic.woff2") format("woff2");
	unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;
}

/* Fuentes de iconos del tema (cabecera: buscar, cuenta, carrito, menú…): el tema pide antes el .ttf sin comprimir (feather
   63 KB). Mismas fuentes en WOFF2 (feather 22, icomoon 7, wpbingo 5 KB; auditoría de rendimiento, oct 2026). Al ir
   después, estas @font-face mandan sobre las del tema. */
@font-face { font-family: "Feather"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/iconos/feather.woff2") format("woff2"); }
@font-face { font-family: "feather"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/iconos/feather.woff2") format("woff2"); }
@font-face { font-family: "icomoon"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/iconos/icomoon.woff2") format("woff2"); }
@font-face { font-family: "wpbingofont"; font-style: normal; font-weight: 400; font-display: block; src: url("../fonts/iconos/wpbingo.woff2") format("woff2"); }
/* "ElegantIcons" y "FontAwesome": sus hojas (elegant.css, font-awesome.min.css: 53 KB de clases que no se usan) ya no se
   cargan (performance.php), pero template.css del tema sí dibuja con estas fuentes algunos iconos (− / + de la cantidad,
   flechas…). Solo la fuente, que el navegador baja únicamente si un icono la usa. */
@font-face { font-family: "ElegantIcons"; font-style: normal; font-weight: normal; font-display: block; src: url("../fonts/iconos/elegant.woff2") format("woff2"); }
@font-face { font-family: "FontAwesome"; font-style: normal; font-weight: normal; font-display: block; src: url("../fonts/iconos/fontawesome.woff2") format("woff2"); }

/* Alias: fuentes antiguas que aún piden el tema o sus opciones (personalizador: acceso, carrito, pago) y que no se
   cargan, con lo que el navegador ponía Arial. Se dibujan con las nuestras: sans → Mona Sans, serif → Newsreader. */
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/mona-sans-latin.woff2") format("woff2"); }
@font-face { font-family: "Montserrat"; font-style: italic; font-weight: 100 900; font-display: swap; src: url("../fonts/mona-sans-latin-italic.woff2") format("woff2"); }
@font-face { font-family: "Source Sans 3"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/mona-sans-latin.woff2") format("woff2"); }
@font-face { font-family: "Playfair Display"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/newsreader-latin.woff2") format("woff2"); }
@font-face { font-family: "Libre Baskerville"; font-style: normal; font-weight: 100 900; font-display: swap; src: url("../fonts/newsreader-latin.woff2") format("woff2"); }
/* ---------- 1. Tokens de diseño ---------- */
:root {
	--ea-ink: #14213a;          /* texto principal */
	--ea-muted: #5b6475;        /* texto secundario */
	--ea-navy: #143a64;         /* color de marca */
	--ea-navy-dark: #0d2847;
	--ea-sky: #4aa3df;          /* acento frío (detalles) */
	--ea-coral: #d9643a;        /* acento cálido: ofertas, avisos, énfasis */
	--ea-paper: #f7f4ee;        /* fondo cálido tipo papel */
	--ea-line: #e7e2d9;
	--ea-white: #fff;

	--ea-font-display: "Newsreader", Georgia, "Times New Roman", serif;
	--ea-font-text: "Mona Sans", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;

	--ea-radius: 5px;
	--ea-radius-sm: 4px;
	/* Botones: forma y tipografía comunes (los estilos de themes/botones/ solo cambian estas variables) */
	--ea-btn-radius: 999px;
	--ea-btn-weight: 600;
	--ea-btn-case: none;
	--ea-btn-tracking: .01em;
	--ea-btn-size: 15px;
	--ea-shadow: 0 1px 2px rgba(20, 33, 58, .06), 0 8px 24px rgba(20, 33, 58, .08);
	--ea-shadow-hover: 0 2px 4px rgba(20, 33, 58, .08), 0 18px 40px rgba(20, 33, 58, .14);
	--ea-ease: cubic-bezier(.2, .7, .2, 1);
}

/* Elementor: los colores y fuentes globales del kit pasan a los tokens */
body[class*="elementor-kit-"] {
	--e-global-color-primary: var(--ea-navy);
	--e-global-color-secondary: var(--ea-ink);
	--e-global-color-text: var(--ea-ink);
	--e-global-color-accent: var(--ea-coral);
	--e-global-typography-primary-font-family: "Newsreader";
	--e-global-typography-secondary-font-family: "Mona Sans";
	--e-global-typography-text-font-family: "Mona Sans";
	--e-global-typography-accent-font-family: "Mona Sans";
}
/* El kit pinta h1…h6 en #01356F fijo (Librería, carrito, autor, legales salían en azul y el resto en tinta).
   Los titulares de Elementor (.elementor-heading-title) y los que tienen color propio no cambian. */
body[class*="elementor-kit-"] :is(h1, h2, h3, h4, h5, h6) { color: var(--ea-ink); }

/* ---------- 2. Base ---------- */
html body {
	font-family: var(--ea-font-text);
	color: var(--ea-ink);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
body p,
body li,
body .elementor-widget-text-editor {
	font-family: var(--ea-font-text);
	line-height: 1.65;
}
body h1, body h2,
body h1.elementor-heading-title,
body h2.elementor-heading-title,
body .product_title,
body .page-title {
	font-family: var(--ea-font-display) !important;
	color: var(--ea-ink);
	letter-spacing: -.01em;
	line-height: 1.2;
}
body h3, body h4, body h5, body h6,
body .elementor-heading-title:not(h1):not(h2) {
	font-family: var(--ea-font-text) !important;
	letter-spacing: 0;
}
body a { transition: color .2s var(--ea-ease); }
::selection { background: var(--ea-navy); color: var(--ea-white); }
body :focus-visible {
	outline: 3px solid var(--ea-sky);
	outline-offset: 2px;
	border-radius: 4px;
}
@media (prefers-reduced-motion: reduce) {
	body *, body *::before, body *::after { transition: none !important; animation: none !important; }
}

/* ---------- 3. Cabecera ---------- */
body .bwp-header.bwp-desktop {
	border-bottom: 1px solid var(--ea-line);
	box-shadow: none;
}
body .bwp-header .header-search-form {
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line);
	border-radius: 999px !important;
	transition: border-color .2s var(--ea-ease), box-shadow .2s var(--ea-ease), background-color .2s;
}
body .bwp-header .header-search-form:focus-within {
	background: var(--ea-white) !important;
	border-color: var(--ea-navy);
	box-shadow: 0 0 0 4px rgba(20, 58, 100, .12);
}
body .bwp-header .header-search-form input.input-search::placeholder { color: var(--ea-muted); }

/* Menú principal: subrayado animado */
body .bwp-header .bwp-navigation ul.menu > li > a,
body .bwp-header .bwp-navigation .menu > li > a {
	font-family: var(--ea-font-text);
	font-weight: 500;
	font-size: 15px;
	color: var(--ea-ink);
	position: relative;
}
body .bwp-header .bwp-navigation .menu > li > a::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: -6px;
	height: 2px;
	background: var(--ea-coral);
	transform: scaleX(0);
	transform-origin: left;
	transition: transform .25s var(--ea-ease);
}
body .bwp-header .bwp-navigation .menu > li > a:hover,
body .bwp-header .bwp-navigation .menu > li.current-menu-item > a { color: var(--ea-navy); }
body .bwp-header .bwp-navigation .menu > li > a:hover::after,
body .bwp-header .bwp-navigation .menu > li.current-menu-item > a::after { transform: scaleX(1); }

/* Contadores de carrito y lista de deseos */
body .bwp-header .cart-count,
body .bwp-header .count-wishlist {
	background: var(--ea-coral) !important;
	color: var(--ea-white) !important;
	font-weight: 600;
}

/* Móvil: la barra de iconos del tema debe ir fija ABAJO (la regla falta en el CSS compilado del tema
   y la barra tapaba el logo y la cabecera). */
@media (max-width: 1199px) {
	body .bwp-header.bwp-mobile_toolbar {
		position: fixed !important;
		top: auto !important;
		bottom: 0;
		left: 0;
		right: 0;
		height: auto !important;
		z-index: 999;
		background: var(--ea-white);
		border-top: 1px solid var(--ea-line);
		box-shadow: 0 -6px 20px rgba(20, 33, 58, .06);
		padding-bottom: env(safe-area-inset-bottom);
	}
	body .bwp-mobile_toolbar .bwp-toolbar_header_row { min-height: 60px !important; }
	body .bwp-mobile_toolbar .bwp-builder-item,
	body .bwp-mobile_toolbar .bwp-builder-item a,
	body .bwp-mobile_toolbar .bwp-builder-item span {
		font-size: 11px !important;
		line-height: 1.2;
	}
	body { padding-bottom: calc(64px + env(safe-area-inset-bottom)); }
}

/* ---------- 4. Botones ---------- */
body .button,
body button.button,
body a.button,
body .single_add_to_cart_button {
	font-family: var(--ea-font-text) !important;
	transition: background-color .2s var(--ea-ease), transform .2s var(--ea-ease), box-shadow .2s var(--ea-ease) !important;
}
body .single_add_to_cart_button {
	background: var(--ea-navy) !important;
	color: var(--ea-white) !important;
	border-color: var(--ea-navy) !important;
}
body .single_add_to_cart_button:hover {
	background: var(--ea-navy-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(20, 58, 100, .25);
}

/* Campos de formulario */
body input[type="text"], body input[type="email"], body input[type="tel"], body input[type="password"],
body input[type="number"], body input[type="search"], body select, body textarea {
	border-radius: var(--ea-radius-sm);
	border-color: var(--ea-line);
	font-family: var(--ea-font-text);
}
body input:focus, body select:focus, body textarea:focus {
	border-color: var(--ea-navy) !important;
	box-shadow: 0 0 0 3px rgba(20, 58, 100, .12);
	outline: none;
}

/* ---------- 5. Tarjetas de libro (listados, carruseles, relacionados) ---------- */
/*
 * Cada tarjeta es un libro físico sobre un fondo de papel: lomo con luz y sombra a la izquierda,
 * canto de páginas a la derecha (sombras escalonadas) y sombra proyectada. Debajo, ficha de catálogo:
 * título en serif, autor en cursiva, formatos y precio.
 */
body .products-entry {
	transition: transform .35s var(--ea-ease);
}
body .products-entry .products-thumb {
	position: relative;
	padding: 22px 26px 26px;
	background: var(--ea-paper);
	border-radius: var(--ea-radius);
	overflow: visible;
	box-shadow: none;
}
body .products-entry .products-thumb > a,
body .products-entry .products-thumb .product-thumb-hover {
	display: block;
	position: relative;
	border-radius: 2px 5px 5px 2px;
	box-shadow:
		1px 1px 0 #ebe6dc,           /* canto de páginas */
		2px 2px 0 #fbf9f5,
		3px 3px 0 #e2dccf,
		4px 4px 0 #f8f5ef,
		5px 5px 0 #d9d2c3,
		10px 16px 24px -6px rgba(20, 33, 58, .30),  /* sombra proyectada */
		0 2px 4px rgba(20, 33, 58, .10);
	transition: transform .45s var(--ea-ease), box-shadow .45s var(--ea-ease);
	transform-origin: left center;
}
/* Lomo: brillo y pliegue sobre la portada */
body .products-entry .products-thumb > a::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	pointer-events: none;
	background: linear-gradient(90deg,
		rgba(0, 0, 0, .28) 0%, rgba(255, 255, 255, .22) 2.2%, rgba(0, 0, 0, .14) 4.5%,
		rgba(255, 255, 255, .06) 7%, transparent 12%, transparent 96%, rgba(0, 0, 0, .08) 100%);
}
body .products-entry .products-thumb img {
	display: block;
	aspect-ratio: 2 / 3;
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: inherit;
}
body .products-entry:hover .products-thumb > a {
	transform: perspective(900px) rotateY(-9deg) translateY(-4px);
	box-shadow:
		1px 1px 0 #ebe6dc, 2px 2px 0 #fbf9f5, 3px 3px 0 #e2dccf, 4px 4px 0 #f8f5ef, 5px 5px 0 #d9d2c3,
		18px 24px 32px -6px rgba(20, 33, 58, .34), 0 2px 4px rgba(20, 33, 58, .10);
}
/* Etiquetas (Destacado / oferta) dentro del marco de papel */
body .products-entry .product-lable { top: 10px !important; left: 10px !important; z-index: 3; }

/* Sin reseñas: no mostrar "☆☆☆☆☆ (0)" */
body .reviews-wrap:has(.rating.none),
body .products-entry .rating.none { display: none; }

/* Ficha de catálogo */
body .products-entry .products-content { padding: 16px 4px 0; text-align: left !important; }
body .products-entry .products-content .contents { text-align: left !important; }
html body .products-entry .product-title,
html body .products-entry .product-title a {
	font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important; /* como los nombres de género */
	font-size: 19px !important;
	font-weight: 600;
	line-height: 1.3;
	color: var(--ea-ink) !important;
	text-transform: none;
	margin: 0 !important;
}
body .products-entry .product-title a:hover { color: var(--ea-navy) !important; }
body .ea-card-author {
	font-family: var(--ea-font-display);
	font-style: italic;
	font-size: 14px;
	color: var(--ea-muted);
	margin: 4px 0 0 !important;
	line-height: 1.4;
}
body .ea-card-formats { margin: 6px 0 4px !important; color: var(--ea-muted); font-size: 13px; line-height: 1.4; } /* "Impreso · Ebook": texto, sin pastillas */
body .products-entry .price,
body .products-entry .price .amount {
	font-family: var(--ea-font-text);
	font-weight: 700;
	font-size: 16px;
	color: var(--ea-ink) !important;
}
body .ea-desde {
	font-weight: 500;
	font-size: 13px;
	color: var(--ea-muted);
	margin-right: 2px;
}
/* El tema recorta el título a 2 líneas con altura fija y se montaba sobre el autor: título completo. */
body .products-entry h3.product-title {
	display: block !important;
	height: auto !important;
	max-height: none !important;
	overflow: visible !important;
	-webkit-line-clamp: unset !important;
	white-space: normal !important;
}
@media (max-width: 767px) {
	body .products-entry .products-thumb { padding: 0 6px; }
	body .products-entry .product-title,
	body .products-entry .product-title a { font-size: 15px !important; }
	body .ea-card-author { font-size: 13px; }
	body .products-entry .price, body .products-entry .price .amount { font-size: 15px; }
}
body .products-entry .price del,
body .products-entry .price del .amount { color: var(--ea-muted) !important; font-weight: 400; }
body .products-entry .price ins { text-decoration: none; }
body .onsale, body .product-badge .onsale, body span.onsale {
	background: var(--ea-coral) !important;
	color: var(--ea-white) !important;
	border-radius: 999px !important;
	font-weight: 600;
}

/* ---------- 7. Ficha de libro ---------- */
body .breadcrumb { font-size: 13px; color: var(--ea-muted); }
body .breadcrumb a { color: var(--ea-muted); }

body .summary .product_title {
	font-size: clamp(26px, 3vw, 36px) !important;
	font-weight: 700;
	color: var(--ea-ink) !important;
	text-transform: none !important;
	margin-bottom: 4px !important;
}
body .summary .price,
body .summary .price .amount {
	font-family: var(--ea-font-text);
	font-weight: 700;
	font-size: 24px;
	color: var(--ea-navy) !important;
}

/* El SKU no aporta nada en libros (siempre "N/D") */
body .product_meta .sku_wrapper { display: none !important; }

/* Caja de pago seguro */
body .summary .safe-checkout {
	background: var(--ea-paper) !important;
	border-radius: var(--ea-radius);
	border: 1px solid var(--ea-line);
}
body .summary .ea-safe-checkout { padding: 14px 18px !important; text-align: left; }
body .summary .ea-safe-checkout .ea-pay { justify-content: center; }

/* Pestañas Sinopsis / Información adicional */
body .woocommerce-tabs ul.tabs li a {
	font-family: var(--ea-font-display) !important;
	color: var(--ea-muted) !important;
	text-transform: none !important; /* el tema las pone "En Mayúsculas Cada Palabra" */
}
body .woocommerce-tabs ul.tabs li.active a { color: var(--ea-ink) !important; }
body .woocommerce-tabs ul.tabs li.active a::before,
body .woocommerce-tabs ul.tabs li.active::before { background: var(--ea-coral) !important; }

/* Títulos de bloques (Relacionados, Vistos recientemente) */
body .title-block h2 {
	font-family: var(--ea-font-display) !important;
	text-transform: none !important;
	color: var(--ea-ink) !important;
	font-size: clamp(22px, 2.4vw, 28px) !important;
}

/* ---------- 8. Carrito, checkout y Mi cuenta ---------- */
body .woocommerce-MyAccount-content {
	border-radius: var(--ea-radius);
}
body .woocommerce-MyAccount-navigation ul li a {
	border-radius: var(--ea-radius-sm);
	font-weight: 500;
	color: var(--ea-ink);
}
body .woocommerce-MyAccount-navigation ul li.is-active a {
	background: var(--ea-navy);
	color: var(--ea-white);
}
body .woocommerce-message,
body .woocommerce-info {
	border-top-color: var(--ea-navy) !important;
	border-radius: var(--ea-radius-sm);
	background: var(--ea-paper);
}
body .woocommerce-error { border-radius: var(--ea-radius-sm); }

/* ---- Mi cuenta (mu-plugin cuenta.php): cabecera, menú a la izquierda y contenido a la derecha ---- */
body .woocommerce:has(> .woocommerce-MyAccount-navigation) {
	display: grid !important;
	grid-template-columns: 230px minmax(0, 1fr);
	gap: 0 48px;
	align-items: start;
	max-width: 1200px;
	margin: 0 auto;
	padding: clamp(24px, 4vw, 48px) 15px 72px;
}
body .ea-cuenta-head { grid-column: 1 / -1; padding-bottom: 20px; margin-bottom: 28px; border-bottom: 1px solid var(--ea-line); }
body .ea-cuenta-eyebrow { margin: 0 0 6px; font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--ea-navy); }
body .ea-cuenta-title { margin: 0 0 4px !important; font-size: clamp(28px, 3.2vw, 38px) !important; line-height: 1.1 !important; }
body .ea-cuenta-email { margin: 0; color: var(--ea-muted); font-size: 15px; }

/* Menú */
body.woocommerce-account .woocommerce-MyAccount-navigation {
	float: none !important;
	width: auto !important;
	position: sticky;
	top: 24px;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	box-shadow: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none; display: grid; gap: 2px; margin: 0 !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li { margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
	display: flex !important;
	border: 0 !important; /* El personalizador del tema ponía una barra azul a la izquierda */
	font-family: var(--ea-font-text) !important;
	align-items: center;
	gap: 10px;
	padding: 10px 12px !important;
	border-radius: var(--ea-radius-sm) !important;
	background: none !important;
	color: var(--ea-ink) !important;
	font-size: 15px !important;
	font-weight: 500 !important;
	text-transform: none !important;
	transition: background-color .15s;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
	content: "";
	flex: none;
	width: 18px;
	height: 18px;
	background: currentColor;
	opacity: .65;
	-webkit-mask: var(--ea-icono) center / contain no-repeat;
	        mask: var(--ea-icono) center / contain no-repeat;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover { background: var(--ea-paper) !important; color: var(--ea-ink) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { background: color-mix(in srgb, var(--ea-navy) 9%, #fff) !important; color: var(--ea-navy) !important; font-weight: 600 !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a::before { opacity: 1; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin-top: 10px !important; padding-top: 10px !important; border-top: 1px solid var(--ea-line) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--ea-muted) !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--orders { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 7h12l-1 13H7L6 7Z'/%3E%3Cpath d='M9 7a3 3 0 0 1 6 0'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 5.5A2.5 2.5 0 0 1 6.5 3H20v15H6.5A2.5 2.5 0 0 0 4 20.5v-15Z'/%3E%3Cpath d='M4 20.5A2.5 2.5 0 0 0 6.5 23H20v-5'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='4'/%3E%3Cpath d='M4 21a8 8 0 0 1 16 0'/%3E%3C/svg%3E"); }
/* Solo editores (cuenta.php): «Añadir libro» y «Panel de la editorial», arriba y separados del resto */
body.woocommerce-account .woocommerce-MyAccount-navigation-link--ea-anadir-libro { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M12 5v14M5 12h14'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--ea-panel { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linejoin='round'%3E%3Crect x='4' y='4' width='7' height='7' rx='1'/%3E%3Crect x='13' y='4' width='7' height='7' rx='1'/%3E%3Crect x='4' y='13' width='7' height='7' rx='1'/%3E%3Crect x='13' y='13' width='7' height='7' rx='1'/%3E%3C/svg%3E"); }
@media (min-width: 901px) { /* hasta 900 px el menú son pestañas */
	body.woocommerce-account .woocommerce-MyAccount-navigation ul li.woocommerce-MyAccount-navigation-link--ea-panel { margin-bottom: 10px !important; padding-bottom: 10px !important; border-bottom: 1px solid var(--ea-line) !important; }
}
body .wp-dropdown-my-account li.woocommerce-MyAccount-navigation-link--ea-panel { margin-bottom: 6px; padding-bottom: 6px; border-bottom: 1px solid var(--ea-line); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--ayuda { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9'/%3E%3Cpath d='M9.5 9.5a2.5 2.5 0 0 1 4.9.7c0 1.7-2.4 2.1-2.4 3.8'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E"); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { --ea-icono: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M15 4h3a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2h-3'/%3E%3Cpath d='M10 17l-5-5 5-5M5 12h11'/%3E%3C/svg%3E"); }

/* Contenido: sin la tarjeta con sombra del tema */
body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3) { font-size: 20px !important; margin: 28px 0 14px !important; }

/* Avisos (p. ej. "Confirma tu correo para ver pedidos anteriores"): discretos y sin Mayúsculas En Cada Palabra */
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-error, .woocommerce-notice) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 10px 16px;
	margin: 0 0 20px !important;
	text-transform: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-notice) * { text-transform: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message) :is(.button, button) {
	order: 2;
	padding: 8px 14px !important;
	background: #fff !important;
	border: 1.5px solid var(--ea-navy) !important;
	color: var(--ea-navy) !important;
	font-size: 12px !important;
	box-shadow: none !important;
}

/* Tablas de pedidos y descargas: cabecera clara */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table {
	width: 100%;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	border-collapse: separate !important;
	border-spacing: 0;
	overflow: hidden;
	background: #fff;
	box-shadow: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th {
	padding: 12px 16px !important;
	background: var(--ea-paper) !important;
	border: 0 !important;
	color: var(--ea-muted) !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	letter-spacing: .08em;
	text-transform: uppercase;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(tbody td, tbody th, tfoot td, tfoot th) {
	padding: 14px 16px !important;
	border: 0 !important;
	border-top: 1px solid var(--ea-line) !important;
	color: var(--ea-ink) !important;
	font-size: 15px;
	vertical-align: middle;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(td, th) a:not(.button) { color: var(--ea-navy) !important; font-weight: 600; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button {
	padding: 8px 14px !important;
	background: #fff !important;
	border: 1.5px solid var(--ea-navy) !important;
	color: var(--ea-navy) !important;
	font-size: 12px !important;
}
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table .button:hover { background: var(--ea-navy) !important; color: #fff !important; }

/* Estado del pedido como etiqueta */
body .ea-estado { display: inline-block; padding: 3px 10px; border-radius: 999px; background: var(--ea-paper); color: var(--ea-ink); font-size: 12.5px; font-weight: 600; white-space: nowrap; }
body .ea-estado-completed { background: #ecfdf3; color: #05603a; }
body .ea-estado-processing { background: color-mix(in srgb, var(--ea-navy) 10%, #fff); color: var(--ea-navy); }
body :is(.ea-estado-on-hold, .ea-estado-pending) { background: #fff7ed; color: #9a3412; }
body :is(.ea-estado-cancelled, .ea-estado-failed, .ea-estado-refunded) { background: #fef2f2; color: #b42318; }

/* Detalle de un pedido: datos en negrita, sin el resaltado amarillo, y bloques con borde fino */
body.woocommerce-account .woocommerce-MyAccount-content mark { padding: 0; background: none !important; color: var(--ea-ink); font-weight: 700; }
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-order-details, .woocommerce-customer-details, .woocommerce-order-downloads) {
	margin-top: 24px !important;
	padding: 0 !important;
	background: none !important;
	box-shadow: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-customer-details address {
	padding: 16px 18px !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius-sm) !important;
	color: var(--ea-ink) !important;
	font-style: normal;
	line-height: 1.7;
}

/* Mis ebooks: estantería con portada y botón de descarga */
body .ea-ebooks-intro { margin: 0 0 20px; color: var(--ea-muted); font-size: 15px; }
body .ea-ebooks { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 16px; }
body .ea-ebook { display: flex; align-items: flex-start; gap: 16px; padding: 16px; background: #fff; border: 1px solid var(--ea-line); border-radius: var(--ea-radius); }
body .ea-ebook-cover { flex: 0 0 84px; }
body .ea-ebook-cover img { display: block; width: 84px; height: auto; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 2px 4px 4px 2px; box-shadow: var(--ea-shadow); }
body .ea-ebook-info { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
body .ea-ebook-title { margin: 0; color: var(--ea-ink); font-size: 16px; font-weight: 700; line-height: 1.3; }
body .ea-ebook-author { margin: 0; color: var(--ea-muted); font-size: 14px; }
body .ea-ebook-meta { margin: 2px 0 10px; color: var(--ea-muted); font-size: 12.5px; }
body .ea-ebook-btn {
	align-self: flex-start;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	padding: 9px 16px !important;
	background: var(--ea-navy) !important;
	border: 0 !important;
	color: #fff !important;
	font-size: 13px !important;
}
body .ea-ebook-btn:hover { background: var(--ea-navy-dark) !important; }
body .ea-ebook-acciones { display: flex; flex-wrap: wrap; gap: 8px; }
/* "Instalar la app" (PWA, mu-plugin pwa.php): solo aparece si el navegador permite instalarla */
body .ea-instalar { margin: -6px 0 20px; }
body .ea-instalar-boton { background: var(--ea-navy) !important; color: #fff !important; }
body .ea-instalar-ios { margin: 0; padding: 12px 14px; background: var(--ea-paper); border-radius: var(--ea-radius-sm); color: var(--ea-muted); font-size: 14px; }
/* Con "Leer" (visor), descargar pasa a secundario */
body .ea-ebook-acciones .ea-ebook-descargar:not(:only-child) { background: transparent !important; color: var(--ea-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ea-navy); }
body .ea-ebook-acciones .ea-ebook-descargar:not(:only-child):hover { background: color-mix(in srgb, var(--ea-navy) 8%, #fff) !important; }
body .ea-cuenta-vacio { padding: 48px 24px; text-align: center; background: var(--ea-paper); border-radius: var(--ea-radius); }
body .ea-cuenta-vacio-title { margin: 0 0 6px; color: var(--ea-ink); font-size: 20px; font-weight: 700; }
body .ea-cuenta-vacio p { color: var(--ea-muted); }
body .ea-cuenta-vacio .button { margin-top: 8px; background: var(--ea-navy) !important; color: #fff !important; }

/* Acceso: el enlace de registro era blanco sobre la tarjeta blanca (diseñado para una tarjeta oscura) */
body .login-pro-card .switch-link { border-top-color: var(--ea-line) !important; color: var(--ea-muted) !important; }
body .login-pro-card .switch-link :is(span, a) { color: var(--ea-navy) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* Recuperar contraseña (formulario de WooCommerce) */
body .woocommerce-ResetPassword {
	max-width: 440px;
	margin: 48px auto !important;
	padding: 32px !important;
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	box-shadow: var(--ea-shadow);
}
body .woocommerce-ResetPassword .form-row { float: none !important; width: 100% !important; }
body .woocommerce-ResetPassword .button { width: 100%; background: var(--ea-navy) !important; color: #fff !important; }

@media (max-width: 900px) {
	body .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); padding: 20px 15px 56px; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table { table-layout: fixed; }
	body.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(td, th) { overflow-wrap: anywhere; }
	body .ea-cuenta-head { margin-bottom: 16px; padding-bottom: 16px; }
	/* Menú como pestañas deslizables (antes ocupaba media pantalla antes del contenido) */
	body.woocommerce-account .woocommerce-MyAccount-navigation { position: static; margin: 0 0 20px; }
	body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex !important; gap: 6px; overflow-x: auto; scrollbar-width: none; margin: 0 -15px !important; padding: 0 15px 4px !important; }
	body.woocommerce-account .woocommerce-MyAccount-navigation ul::-webkit-scrollbar { display: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation ul li a { padding: 8px 12px !important; border: 1px solid var(--ea-line) !important; border-radius: 999px !important; font-size: 14px !important; white-space: nowrap; }
	body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout { margin: 0 !important; padding: 0 !important; border: 0 !important; }
	body .ea-ebooks { grid-template-columns: minmax(0, 1fr); }
}

/* Cabecera de la compra con pasos (mu-plugin compra.php) */
body .ea-compra-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 16px 32px;
	padding: clamp(24px, 4vw, 40px) 0 20px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--ea-line);
}
body .ea-compra-title { font-size: clamp(28px, 3.4vw, 40px) !important; line-height: 1.1 !important; margin: 0 !important; }
body .ea-pasos { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 14px; color: var(--ea-muted); }
body .ea-pasos li { display: flex; align-items: center; gap: 8px; }
body .ea-pasos li + li::before { content: ""; width: 24px; height: 1px; background: var(--ea-line); }
body .ea-pasos a { display: inline-flex; align-items: center; gap: 8px; color: inherit !important; }
body .ea-pasos a:hover { color: var(--ea-navy) !important; }
body .ea-paso-num {
	display: inline-grid;
	place-items: center;
	width: 26px;
	height: 26px;
	border-radius: 50%;
	border: 1.5px solid var(--ea-line);
	background: #fff;
	font-size: 13px;
	font-weight: 700;
}
body .ea-pasos .is-current { color: var(--ea-ink); font-weight: 600; }
body .ea-pasos .is-current .ea-paso-num { background: var(--ea-navy); border-color: var(--ea-navy); color: #fff; }
body .ea-pasos .is-done .ea-paso-num { background: color-mix(in srgb, var(--ea-navy) 12%, #fff); border-color: transparent; color: var(--ea-navy); }

/* La página de pago no tiene el contenedor del tema: mismo ancho y márgenes que el carrito */
body.woocommerce-checkout :is(.ea-compra-head, .ea-envio-gratis, .wp-block-woocommerce-checkout) {
	width: calc(100% - 60px);
	max-width: 1380px;
	margin-left: auto !important;
	margin-right: auto !important;
}
@media (max-width: 767px) {
	body.woocommerce-checkout :is(.ea-compra-head, .ea-envio-gratis, .wp-block-woocommerce-checkout) { width: calc(100% - 30px); }
}

/* Barra de envío gratis (compra.js) */
body .ea-envio-gratis[hidden] { display: none !important; }
body .ea-envio-gratis {
	margin: 0 0 24px;
	padding: 14px 18px;
	background: var(--ea-paper);
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius-sm);
}
body .ea-envio-gratis-texto { margin: 0 0 8px; font-size: 14px; color: var(--ea-ink); }
body .ea-envio-gratis-barra { height: 6px; border-radius: 99px; background: color-mix(in srgb, var(--ea-navy) 12%, #fff); overflow: hidden; }
body .ea-envio-gratis-barra span { display: block; width: 0; height: 100%; border-radius: inherit; background: var(--ea-navy); transition: width .4s var(--ea-ease, ease); }
body .ea-envio-gratis.is-gratis .ea-envio-gratis-barra span { background: #1f7a4d; }

/* Nota bajo el carrito: pago seguro y descargas */
body .ea-compra-nota {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 24px;
	margin: 32px 0 8px;
	padding-top: 20px;
	border-top: 1px solid var(--ea-line);
	font-size: 14px;
	color: var(--ea-muted);
}
body .ea-compra-nota p { margin: 0; max-width: 560px; }
body .ea-compra-nota a { color: var(--ea-navy) !important; text-decoration: underline; text-underline-offset: 3px; }
/* La misma nota en la confirmación del pedido, entre el resumen y el detalle (compra.php) */
body .woocommerce-order .ea-gracias-ayuda { margin: 0 0 32px; padding: 0 0 20px; border-top: 0; border-bottom: 1px solid var(--ea-line); }
body .woocommerce-order .ea-gracias-ayuda p { max-width: none; }
/* Descargas de la confirmación en el móvil: la tabla de 4 columnas se salía (519 px a 390). Cada ebook, una tarjeta con
   el nombre de la columna delante (WooCommerce pone data-title en cada celda). */
@media (max-width: 600px) {
	body .woocommerce-order .woocommerce-table--order-downloads thead { display: none; }
	body .woocommerce-order .woocommerce-table--order-downloads,
	body .woocommerce-order .woocommerce-table--order-downloads :is(tbody, tr, td) { display: block; width: 100% !important; }
	body .woocommerce-order .woocommerce-table--order-downloads tr { padding: 8px 0; border-bottom: 1px solid var(--ea-line); }
	body .woocommerce-order .woocommerce-table--order-downloads td { display: flex; justify-content: space-between; gap: 12px; padding: 6px 12px !important; border: 0 !important; text-align: right !important; }
	body .woocommerce-order .woocommerce-table--order-downloads td[data-title]::before { content: attr(data-title); flex: none; color: var(--ea-muted); font-size: 13px; text-align: left; }
}

/* Bloques de carrito y pago: misma tipografía y colores que el resto */
body :is(.wc-block-cart, .wc-block-checkout) { color: var(--ea-ink); font-family: var(--ea-font-text); }
body .wc-block-cart-items__header { font-size: 12px !important; letter-spacing: .1em; color: var(--ea-muted) !important; }
body :is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-name {
	color: var(--ea-ink) !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	text-transform: none !important;
}
body :is(.wc-block-cart, .wc-block-checkout) :is(.wc-block-components-product-price, .wc-block-components-formatted-money-amount, .wc-block-components-totals-item__value) { color: var(--ea-ink) !important; }
body :is(.wc-block-cart, .wc-block-checkout) .wc-block-components-product-metadata { color: var(--ea-muted); font-size: 13px; }
body .wc-block-cart-item__image img { border-radius: 2px 4px 4px 2px; box-shadow: var(--ea-shadow); }
body .wc-block-components-quantity-selector { border-radius: var(--ea-radius-sm) !important; border-color: var(--ea-line) !important; }
body .wc-block-components-quantity-selector::after { border-color: var(--ea-line) !important; border-radius: var(--ea-radius-sm) !important; }

/* Resumen: tarjeta clara a la derecha */
body .wc-block-cart .wc-block-cart__sidebar,
body .wc-block-checkout .wc-block-checkout__sidebar {
	align-self: flex-start;
	padding: 24px !important;
	background: var(--ea-paper);
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
}
body .wc-block-checkout__sidebar .wp-block-woocommerce-checkout-order-summary-block,
body .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__content { border: 0 !important; background: transparent !important; box-shadow: none !important; }
body :is(.wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-title, .wc-block-components-checkout-step__title) {
	font-family: var(--ea-font-text) !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	color: var(--ea-ink) !important;
}
body .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) { font-size: 20px !important; color: var(--ea-ink) !important; }
body .wc-block-components-totals-item__label { color: var(--ea-muted); }
body .wc-block-components-panel__button { color: var(--ea-navy) !important; }

/* Pago: cada paso en una tarjeta, etiquetas sin mayúsculas forzadas */
body .wc-block-checkout .wc-block-components-checkout-step {
	padding: 24px !important;
	margin-bottom: 16px !important;
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	box-shadow: none !important;
}
body .wc-block-checkout .wc-block-components-checkout-step__heading { margin-bottom: 16px !important; padding-bottom: 0 !important; border: 0 !important; }
body .wc-block-checkout :is(.wc-block-components-text-input, .wc-block-components-combobox, .wc-blocks-components-select) label,
body .wc-block-checkout .wc-blocks-components-select__label {
	text-transform: none !important;
	letter-spacing: 0 !important;
	font-size: 13px !important;
	font-weight: 500 !important;
	color: var(--ea-muted) !important;
}
body .wc-block-checkout :is(.wc-block-components-text-input input, .wc-blocks-components-select__select, .wc-block-components-combobox-control input, textarea) {
	border-color: var(--ea-line) !important;
	border-radius: var(--ea-radius-sm) !important;
	color: var(--ea-ink) !important;
}
body .wc-block-checkout :is(.wc-block-components-text-input input, .wc-blocks-components-select__select):focus {
	border-color: var(--ea-navy) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ea-navy) 15%, transparent) !important;
}
body .wc-block-components-radio-control__option,
body .wc-block-components-radio-control-accordion-option { border-radius: var(--ea-radius-sm) !important; }
body .wc-block-components-radio-control__option-checked,
body .wc-block-components-radio-control--highlight-checked .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 1.5px var(--ea-navy) !important; }
body .wc-block-components-checkbox__input:checked { background: var(--ea-navy) !important; border-color: var(--ea-navy) !important; }
body .wc-block-components-checkbox .wc-block-components-checkbox__label { color: var(--ea-ink); font-size: 14px; }
body .wc-block-checkout__terms { font-size: 13px; color: var(--ea-muted); }
body .wc-block-checkout__terms a { color: var(--ea-navy) !important; }
body .wc-block-components-notice-banner { border-radius: var(--ea-radius-sm) !important; }

/* Botones principales de la compra */
body .wc-block-cart__submit-button,
body .wc-block-components-checkout-place-order-button {
	background: var(--ea-navy) !important;
	border-color: var(--ea-navy) !important;
	color: #fff !important;
	min-height: 54px;
}
body .wc-block-cart__submit-button:hover,
body .wc-block-components-checkout-place-order-button:hover { background: var(--ea-navy-dark) !important; }

@media (max-width: 600px) {
	body .ea-compra-head { padding-top: 20px; }
	body .ea-pasos { font-size: 13px; flex-wrap: nowrap; }
	body .ea-pasos li:not(.is-current) .ea-paso-nombre { display: none; }
	body .wc-block-checkout .wc-block-components-checkout-step { padding: 18px !important; }
	body .wc-block-cart .wc-block-cart__sidebar { padding: 18px !important; }
}

/* ---------- 9. Pie (tools/contacto-pie.php) ---------- */
body #bwp-footer { background: var(--ea-paper); border-top: 1px solid var(--ea-line); }
body #bwp-footer .ea-foot { padding: clamp(48px, 6vw, 72px) 20px 0 !important; }
body #bwp-footer .ea-foot > .e-con-inner { gap: 40px; }
body #bwp-footer .ea-foot-cols { justify-content: space-between; }
body #bwp-footer .ea-foot-cols > .e-con { flex: 1 1 130px; width: auto; gap: 14px; }
body #bwp-footer .ea-foot-cols > .ea-foot-brand { flex: 2 1 260px; max-width: 340px; gap: 14px; }
body #bwp-footer .ea-foot-logo { text-align: left; }
body #bwp-footer .ea-foot-logo img { width: 160px; height: auto; }
body #bwp-footer .ea-foot-about p { color: var(--ea-muted); font-size: 15px; line-height: 1.6; margin: 0; }
body #bwp-footer .ea-foot-contact p { margin: 0; }
body #bwp-footer a { color: var(--ea-muted) !important; text-decoration: none; transition: color .2s; }
body #bwp-footer a:hover { color: var(--ea-navy) !important; }
body #bwp-footer a.ea-foot-mail { color: var(--ea-navy) !important; font-weight: 600; }
body #bwp-footer a.ea-foot-mail:hover { text-decoration: underline; text-underline-offset: 3px; }
body #bwp-footer .ea-foot-title .elementor-heading-title {
	font-family: var(--ea-font-text) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ea-ink) !important;
	margin: 0;
}
body #bwp-footer .ea-foot-links ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
body #bwp-footer .ea-foot-links a { font-size: 15px; }
body #bwp-footer .ea-foot-bottom { border-top: 1px solid var(--ea-line); padding: 20px 0 24px !important; justify-content: space-between; align-items: center; }
body #bwp-footer .ea-foot-copy p { margin: 0; font-size: 14px; color: var(--ea-muted); }
body #bwp-footer .ea-foot-copy a { text-decoration: underline; text-underline-offset: 3px; }
body .ea-pay { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; font-size: 13px; color: var(--ea-muted); }
body .ea-pay-label { margin-right: 4px; }
body .ea-pay-chip {
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: 6px;
	padding: 3px 8px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ea-ink);
}
@media (max-width: 767px) {
	body #bwp-footer .ea-foot-cols { flex-direction: row !important; row-gap: 32px; }
	body #bwp-footer .ea-foot-cols > .e-con { flex: 1 1 40%; }
	body #bwp-footer .ea-foot-cols > .ea-foot-brand { flex-basis: 100%; max-width: none; }
	body #bwp-footer .ea-foot-bottom { flex-direction: column !important; align-items: flex-start; }
}

/* ---------- 10. Portada nueva (tools/portada.php) ---------- */
body .ea-section { padding: clamp(48px, 7vw, 96px) 20px !important; }
body .ea-section > .e-con-inner { gap: 32px; }
body .ea-section .e-con { --padding-top: 0; --padding-bottom: 0; --padding-left: 0; --padding-right: 0; }

/* Cabeceras de sección */
body .ea-section-head { text-align: center; align-items: center; gap: 8px; margin-bottom: 8px; }
body .ea-eyebrow .elementor-heading-title {
	font-family: var(--ea-font-text) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ea-coral) !important;
	margin: 0;
}
body .ea-section-title .elementor-heading-title { font-size: clamp(28px, 3.4vw, 40px) !important; margin: 0; }
body .ea-section-lead p { color: var(--ea-muted); font-size: 17px; max-width: 620px; margin: 0 auto; }

/* Botones de la portada */
body .ea-section .elementor-button {
	border-radius: 999px !important;
	padding: 14px 26px !important;
	font-family: var(--ea-font-text) !important;
	font-weight: 600 !important;
	font-size: 15px !important;
	transition: background-color .2s var(--ea-ease), color .2s, transform .2s var(--ea-ease), box-shadow .2s !important;
}
body .ea-section .elementor-button:hover { transform: translateY(-2px); }
body .ea-btn-primary .elementor-button { background: var(--ea-navy) !important; color: #fff !important; }
body .ea-btn-primary .elementor-button:hover { background: var(--ea-navy-dark) !important; box-shadow: 0 10px 24px rgba(20, 58, 100, .25); }
body .ea-btn-secondary .elementor-button { background: transparent !important; color: var(--ea-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ea-navy); }
body .ea-btn-secondary .elementor-button:hover { background: var(--ea-navy) !important; color: #fff !important; }
body .ea-btn-link .elementor-button { background: none !important; color: var(--ea-navy) !important; padding: 4px 0 !important; text-decoration: underline; text-underline-offset: 4px; }
body .ea-btn-light .elementor-button { background: #fff !important; color: var(--ea-navy) !important; }
body .ea-btn-outline-light .elementor-button { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .7); }
body .ea-btn-outline-light .elementor-button:hover { background: rgba(255, 255, 255, .12) !important; }

/* Cabecera principal */
body .ea-hero { background: linear-gradient(180deg, var(--ea-paper) 0%, #fff 100%); }
body .ea-hero-row { align-items: center; justify-content: space-between; }
body .ea-hero-copy { gap: 18px; }
body .ea-hero-title .elementor-heading-title { font-size: clamp(38px, 5.4vw, 64px) !important; line-height: 1.08 !important; margin: 0; }
body .ea-hero-lead p { font-size: 18px; color: var(--ea-muted); max-width: 540px; margin: 0; }
body .ea-hero-actions { margin-top: 8px; }
body .ea-hero-covers { flex-direction: row !important; justify-content: center; align-items: flex-end; min-height: 380px; }
body .ea-hero-cover { width: 34% !important; max-width: 200px; margin: 0 -14px; transition: transform .4s var(--ea-ease); }
body .ea-hero-cover img { border-radius: 6px; box-shadow: 0 24px 48px rgba(20, 33, 58, .28); aspect-ratio: 2 / 3; object-fit: cover; width: 100%; }
body .ea-hero-cover:nth-child(1) { transform: rotate(-8deg) translateY(18px); z-index: 1; }
body .ea-hero-cover:nth-child(2) { transform: translateY(-14px); z-index: 3; width: 40% !important; }
body .ea-hero-cover:nth-child(3) { transform: rotate(8deg) translateY(18px); z-index: 2; }
body .ea-hero-covers:hover .ea-hero-cover:nth-child(1) { transform: rotate(-11deg) translate(-10px, 14px); }
body .ea-hero-covers:hover .ea-hero-cover:nth-child(3) { transform: rotate(11deg) translate(10px, 14px); }

/* Listados de libros dentro de la portada */
body .ea-products ul.products { margin-top: 8px; }

/* Para autores: titular y botones a la izquierda, "qué necesitamos" a la derecha, pasos debajo */
body .ea-publica { background: var(--ea-paper); }
body .ea-publica-row { align-items: center; justify-content: space-between; }
body .ea-publica-copy { gap: 14px; }
body .ea-publica-title .elementor-heading-title { font-size: clamp(30px, 3.8vw, 46px) !important; line-height: 1.12 !important; margin: 0; }
body .ea-publica-lead p { font-size: 18px; color: var(--ea-muted); margin: 0; max-width: 500px; }
body .ea-publica-actions { margin-top: 8px; }

/* Tarjeta "Qué necesitamos de ti": hoja de papel con lista numerada */
body .ea-need {
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	padding: 28px 30px !important;
	gap: 6px;
	box-shadow: 0 1px 2px rgba(20, 33, 58, .05), 0 14px 34px rgba(20, 33, 58, .07);
}
html body .ea-need-title .elementor-heading-title { font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important; font-weight: 600 !important; letter-spacing: -.01em !important; font-size: 24px !important; margin: 0 0 6px; }
body .ea-need-list { list-style: none; counter-reset: ea-need; margin: 0; padding: 0; }
body .ea-need-list li {
	counter-increment: ea-need;
	position: relative;
	padding: 14px 0 14px 46px;
	border-top: 1px solid var(--ea-line);
	line-height: 1.45;
}
body .ea-need-list li::before {
	content: counter(ea-need);
	position: absolute;
	left: 0;
	top: 12px;
	width: 30px;
	height: 30px;
	border-radius: 50%;
	background: var(--ea-navy);
	color: #fff;
	font-family: var(--ea-font-text);
	font-size: 14px;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
}
body .ea-need-list strong { display: block; color: var(--ea-ink); }
body .ea-need-list span { color: var(--ea-muted); font-size: 15px; }

body .ea-steps {
	margin-top: 24px;
	padding-top: 40px;
	border-top: 1px solid var(--ea-line);
	justify-content: space-between;
}
body .ea-step { gap: 8px; flex: 1 1 200px; }
body .ea-step-icon .elementor-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 52px;
	height: 52px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid var(--ea-line);
	color: var(--ea-coral) !important;
	font-size: 20px !important;
}
body .ea-step-icon .elementor-icon svg { width: 20px; height: 20px; fill: var(--ea-coral) !important; }
body .ea-step-title .elementor-heading-title { font-family: var(--ea-font-display) !important; font-size: 21px !important; font-weight: 700 !important; color: var(--ea-ink) !important; margin: 6px 0 0; }
body .ea-step-text p { color: var(--ea-muted); font-size: 15px; margin: 0; }

/* Llamada final */
body .ea-cta { background: var(--ea-navy); text-align: center; }
body .ea-cta > .e-con-inner { align-items: center; gap: 16px; }
body .ea-cta-title .elementor-heading-title { color: #fff !important; font-size: clamp(28px, 3.6vw, 42px) !important; margin: 0; }
body .ea-cta-text p { color: rgba(255, 255, 255, .82); font-size: 17px; margin: 0; }
body .ea-cta-actions { justify-content: center; }

@media (max-width: 767px) {
	body .ea-hero-covers { margin-top: 12px; }
	body .ea-hero-actions .elementor-widget-button { width: 100%; }
	body .ea-hero-actions .elementor-button { width: 100%; justify-content: center; }
}

/* Etiquetas de libro: destacado en marca, oferta en acento */
body .product-lable .vgwc-featured {
	background: var(--ea-navy) !important;
	color: #fff !important;
	border-radius: 999px !important;
	font-weight: 600;
	padding-inline: 10px !important;
}

/* Botón "volver arriba" */
@media (max-width: 1199px) {
	body .back-top { bottom: calc(80px + env(safe-area-inset-bottom)) !important; } /* por encima de la barra móvil */
}

/* ---------- 11. Ficha de libro con aire editorial ---------- */
body .ea-single-author {
	font-family: var(--ea-font-display);
	font-style: italic;
	font-size: 18px;
	color: var(--ea-muted);
	margin: 0 0 18px !important;
}
body .ea-single-author span { color: var(--ea-ink); }

/* Portada principal: el libro sobre papel, con lomo y canto como en las tarjetas */
body.single-product .container-image-single {
	background: var(--ea-paper);
	border-radius: var(--ea-radius);
}
body.single-product .container-image-single .img-thumbnail {
	padding: clamp(28px, 4vw, 56px) clamp(48px, 9vw, 130px) clamp(36px, 5vw, 64px);
}
body.single-product .container-image-single .img-thumbnail img {
	position: relative;
	border-radius: 3px 6px 6px 3px !important;
	box-shadow:
		1px 1px 0 #ebe6dc, 2px 2px 0 #fbf9f5, 3px 3px 0 #e2dccf, 4px 4px 0 #f8f5ef,
		5px 5px 0 #d9d2c3, 6px 6px 0 #f6f2ea, 7px 7px 0 #d2cab9,
		22px 30px 44px -10px rgba(20, 33, 58, .35);
}
/* Lomo de la portada principal */
body.single-product .container-image-single .img-thumbnail a { display: block; position: relative; }
body.single-product .container-image-single .img-thumbnail a::after {
	content: "";
	position: absolute;
	inset: 0;
	pointer-events: none;
	border-radius: 3px 6px 6px 3px;
	background: linear-gradient(90deg, rgba(0, 0, 0, .28) 0%, rgba(255, 255, 255, .2) 1.6%, rgba(0, 0, 0, .12) 3.4%, transparent 9%);
}
/* Miniaturas: libros pequeños */
body.single-product .container-thumbnail-single .img-thumbnail img { border-radius: 2px 4px 4px 2px; box-shadow: var(--ea-shadow); }

/* Categorías bajo el botón: el tema las pone "En Mayúsculas Cada Palabra" */
body .product_meta a,
body .product_meta .posted_in { text-transform: none !important; }

/* Formatos como tarjetas (mu-plugin ficha.php + ficha.js). Se muestran desde el principio (antes salía el desplegable y
   saltaba la página al cambiarlo por las tarjetas; las variaciones de WooCommerce necesitan JavaScript de todos modos). */
body .ea-formatos {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
	gap: 10px;
	margin: 4px 0 20px;
}
body .ea-formatos .ea-formato {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 3px;
	padding: 14px 16px;
	text-align: left;
	cursor: pointer;
	background: #fff;
	border: 1.5px solid var(--ea-line);
	border-radius: var(--ea-radius-sm);
	color: var(--ea-ink);
	font: inherit;
	transition: border-color .15s, box-shadow .15s, background-color .15s;
}
body .ea-formatos .ea-formato:hover { border-color: color-mix(in srgb, var(--ea-navy) 45%, var(--ea-line)); }
body .ea-formatos .ea-formato.is-active {
	border-color: var(--ea-navy);
	box-shadow: inset 0 0 0 1px var(--ea-navy);
	background: color-mix(in srgb, var(--ea-navy) 4%, #fff);
}
body .ea-formatos .ea-formato:focus-visible { outline: 2px solid var(--ea-navy); outline-offset: 2px; }
body .ea-formatos .ea-formato:disabled { opacity: .5; cursor: not-allowed; }
/* "Echar un vistazo" / "Leer ahora" (visor de libros, mu-plugin visor.php) */
body .summary .ea-vistazo {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 46px;
	margin: 10px 0 0;
	padding: 0 20px;
	border-radius: var(--ea-btn-radius);
	box-shadow: inset 0 0 0 1.5px var(--ea-navy);
	color: var(--ea-navy) !important;
	font-size: var(--ea-btn-size, 13px);
	font-weight: var(--ea-btn-weight, 700);
	letter-spacing: var(--ea-btn-tracking, .08em);
	text-transform: var(--ea-btn-case, uppercase);
	text-decoration: none !important;
	transition: background-color .2s;
}
body .summary .ea-vistazo:hover { background: color-mix(in srgb, var(--ea-navy) 7%, #fff); }
body .summary .ea-vistazo svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linejoin: round; }
body .ea-formatos .ea-formato:is(:hover, :focus):not(.is-active) { background: #fff; color: var(--ea-ink); }
body .ea-formatos .ea-formato.is-active:is(:hover, :focus) { background: color-mix(in srgb, var(--ea-navy) 4%, #fff); color: var(--ea-ink); }
body .ea-formatos .ea-formato-nombre { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; color: var(--ea-muted); }
body .ea-formatos .ea-formato.is-active .ea-formato-nombre { color: var(--ea-navy); }
body .ea-formatos .ea-formato-precio { font-size: 20px; font-weight: 700; line-height: 1.3; color: var(--ea-ink); }
body .ea-formatos .ea-formato-precio del { margin-right: 4px; font-size: 13px; font-weight: 400; color: var(--ea-muted); }
body .ea-formatos .ea-formato-precio ins { text-decoration: none; }
body .ea-formatos .ea-formato-nota { font-size: 12.5px; line-height: 1.4; color: var(--ea-muted); }
/* Con tarjetas: fuera el desplegable, el "Formato: …" y el precio repetido de la variación */
body form.variations_form:has(.ea-formatos) table.variations,
body form.ea-con-formatos table.variations,
body form.ea-con-formatos .single_variation .woocommerce-variation-price { display: none !important; }
body .summary .price-single .price { font-size: 26px !important; }
body .summary .price-single .price del { font-size: 16px; color: var(--ea-muted); font-weight: 400; }
body .summary .price-single .price ins { text-decoration: none; }

/* Una sola portada: sin la columna de miniaturas (repetía la misma imagen) */
body.ea-una-imagen .woocommerce-product-gallery .col-md-2 { display: none !important; }
body.ea-una-imagen .woocommerce-product-gallery .col-md-10 { flex: 0 0 100%; width: 100%; max-width: 100%; }
/* Portada a tamaño de libro (antes ocupaba casi toda la altura de la pantalla) */
@media (min-width: 992px) {
	body.single-product .container-image-single .img-thumbnail a { max-width: 400px; margin: 0 auto; }
	body.single-product .container-image-single .img-thumbnail img { width: 100%; }
}

/* Sinopsis legible y pestaña "Detalles" */
body .woocommerce-Tabs-panel--description p { max-width: 720px; font-size: 17px; line-height: 1.75; color: var(--ea-ink); }
body .ea-detalles {
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 12px 40px;
	max-width: 640px;
	margin: 0;
}
body .ea-detalles dt { font-size: 14px; font-weight: 600; color: var(--ea-muted); }
body .ea-detalles dd { margin: 0; color: var(--ea-ink); }
body .ea-detalles a { color: var(--ea-navy) !important; }

/* ---------- 12. Librería, géneros y búsqueda (tema hijo woocommerce/archive-product.php + mu-plugin catalog.php) ---------- */
body .ea-catalog-head {
	background: linear-gradient(180deg, var(--ea-paper) 0%, #fff 100%);
	padding: clamp(28px, 4vw, 52px) 0 clamp(18px, 2.5vw, 28px);
}
body .ea-catalog-eyebrow {
	font-family: var(--ea-font-text);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--ea-coral);
	margin: 0 0 10px;
}
body .ea-catalog-eyebrow a { color: var(--ea-muted); }
body .ea-catalog-eyebrow a:hover { color: var(--ea-navy); }
body .ea-catalog-eyebrow span { color: var(--ea-line); margin: 0 4px; }
body .ea-catalog-title {
	font-size: clamp(32px, 4.2vw, 50px) !important;
	line-height: 1.1 !important;
	margin: 0 0 10px !important;
}
body .ea-catalog-lead p { font-size: 17px; color: var(--ea-muted); max-width: 640px; margin: 0; }

/* Maqueta: filtros a la izquierda, libros a la derecha */
body .ea-catalog {
	display: grid;
	grid-template-columns: 228px minmax(0, 1fr);
	gap: 44px;
	align-items: start;
	padding-top: 12px;
	padding-bottom: 72px;
}
body .ea-catalog-side { position: sticky; top: 24px; display: flex; flex-direction: column; gap: 28px; }
body .ea-side-title {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--ea-ink);
	margin: 0 0 8px;
}
body .ea-side-list { list-style: none; margin: 0 -12px; padding: 0; display: grid; gap: 2px; }
body .ea-side-list a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 8px;
	padding: 7px 12px;
	border-radius: var(--ea-radius-sm);
	color: var(--ea-ink) !important;
	font-size: 15px;
	line-height: 1.35;
	transition: background-color .15s;
}
body .ea-side-list a span { font-size: 12px; color: var(--ea-muted); font-variant-numeric: tabular-nums; }
body .ea-side-list a:hover { background: var(--ea-paper); }
body .ea-side-list a.is-active { background: color-mix(in srgb, var(--ea-navy) 9%, #fff); color: var(--ea-navy) !important; font-weight: 600; }
body .ea-side-list a.is-active span { color: var(--ea-navy); }
body .ea-side-list li.is-open > a:not(.is-active) { font-weight: 600; }
body .ea-side-sublist { list-style: none; margin: 2px 0 6px 12px; padding: 0 0 0 10px; border-left: 1px solid var(--ea-line); display: grid; gap: 1px; }
body .ea-side-sublist a { padding: 5px 12px; font-size: 14px; }
body .ea-side-author {
	position: relative;
	display: block;
	padding: 18px 56px 18px 18px;
	background: var(--ea-paper);
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	color: var(--ea-muted) !important;
	font-size: 14px;
	line-height: 1.5;
	transition: border-color .2s;
}
body .ea-side-author strong { display: block; margin-bottom: 4px; color: var(--ea-ink); font-size: 15px; }
body .ea-side-author:hover { border-color: var(--ea-navy); }

/* Barra sobre la rejilla: recuento, filtros activos y orden */
body .ea-catalog-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	padding-bottom: 16px;
	margin-bottom: 24px;
	border-bottom: 1px solid var(--ea-line);
}
body .ea-catalog-count { margin: 0; font-size: 15px; font-weight: 600; color: var(--ea-ink); }
body .ea-active-filters { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
body .ea-active-filters a {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 3px 4px 3px 12px;
	border-radius: 999px;
	background: color-mix(in srgb, var(--ea-navy) 9%, #fff);
	color: var(--ea-navy) !important;
	font-size: 13px;
	font-weight: 600;
}
body .ea-active-filters a span {
	display: inline-grid;
	place-items: center;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	font-size: 16px;
	line-height: 1;
	transition: background-color .15s, color .15s;
}
body .ea-active-filters a:hover span { background: var(--ea-navy); color: #fff; }
body .ea-catalog-sort { margin-left: auto; }

/* Orden: desplegable <details> (loop/orderby.php del tema hijo) */
body .ea-sort { position: relative; float: none !important; margin: 0 !important; }
body .ea-sort summary {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	list-style: none;
	cursor: pointer;
	user-select: none;
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius-sm);
	color: var(--ea-ink);
	font-size: 14px;
	transition: border-color .2s;
}
body .ea-sort summary::-webkit-details-marker { display: none; }
body .ea-sort summary::after {
	content: "";
	width: 7px;
	height: 7px;
	margin-left: 4px;
	border-right: 1.5px solid currentColor;
	border-bottom: 1.5px solid currentColor;
	transform: translateY(-2px) rotate(45deg);
	transition: transform .2s;
}
body .ea-sort[open] summary::after { transform: translateY(1px) rotate(225deg); }
body .ea-sort summary:hover,
body .ea-sort[open] summary { border-color: var(--ea-navy); }
body .ea-sort ul {
	position: absolute;
	right: 0;
	top: calc(100% + 6px);
	z-index: 30;
	min-width: 230px;
	list-style: none;
	margin: 0;
	padding: 6px;
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius-sm);
	box-shadow: var(--ea-shadow-hover);
}
body .ea-sort li a { display: block; padding: 8px 12px; border-radius: 6px; color: var(--ea-ink) !important; font-size: 14px; }
body .ea-sort li a:hover { background: var(--ea-paper); }
body .ea-sort li a.is-active { color: var(--ea-navy) !important; font-weight: 600; }
body .ea-orderby-label { color: var(--ea-muted); }

/* Rejilla propia (CSS grid) en lugar de las columnas del tema */
body .ea-catalog ul.products {
	display: grid !important;
	grid-template-columns: repeat(auto-fill, minmax(208px, 1fr));
	gap: 28px 20px;
	margin: 0 !important;
}
body .ea-catalog ul.products::before,
body .ea-catalog ul.products::after { display: none !important; }
body .ea-catalog ul.products > li { width: auto !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; }

/* Insignias: una por libro (la oferta manda sobre "Destacado"), etiqueta rectangular */
body .product-lable:has(.onsale) .hot { display: none !important; }
body .product-lable :is(.hot, .onsale) {
	width: auto !important;
	min-width: 0 !important;
	height: auto !important;
	padding: 3px 8px !important;
	border-radius: 4px !important;
	font-size: 12px !important;
	font-weight: 700 !important;
	line-height: 1.4 !important;
	letter-spacing: .06em;
	text-transform: uppercase;
}
body .product-lable .hot { background: var(--ea-ink) !important; color: #fff !important; }

/* Paginación */
body .woocommerce-pagination { margin-top: 40px; }
body .woocommerce-pagination ul.page-numbers { border: 0 !important; display: flex; gap: 6px; justify-content: center; }
body .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
body .woocommerce-pagination .page-numbers a,
body .woocommerce-pagination .page-numbers span {
	min-width: 42px; height: 42px; line-height: 42px !important;
	border-radius: var(--ea-radius-sm) !important;
	border: 1px solid var(--ea-line) !important;
	color: var(--ea-ink) !important;
}
body .woocommerce-pagination .page-numbers span.current { background: var(--ea-navy) !important; border-color: var(--ea-navy) !important; color: #fff !important; }

/* "Más libros de la editorial" (pocos resultados) */
body .ea-catalog-more { margin-top: 56px; padding-top: 32px; border-top: 1px solid var(--ea-line); }
body .ea-catalog-more-head { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: 8px 16px; margin-bottom: 20px; }
body .ea-catalog-more-head h2 { font-size: 24px !important; margin: 0 !important; }
body .ea-catalog-more-head a { color: var(--ea-navy) !important; font-size: 14px; font-weight: 600; }

/* Estado vacío */
body .ea-catalog-empty { text-align: center; padding: 56px 24px; background: var(--ea-paper); border-radius: var(--ea-radius); margin: 0; }
body .ea-catalog-empty-title { font-family: var(--ea-font-display); font-size: 24px; color: var(--ea-ink); margin-bottom: 8px; }
body .ea-catalog-empty p { color: var(--ea-muted); }
body .ea-catalog-empty .button { background: var(--ea-navy) !important; color: #fff !important; margin-top: 8px; padding: 12px 24px !important; }

/* Móvil y tableta: sin columna lateral; géneros en fila deslizable y formato en control segmentado */
body .ea-catalog-mobile-filters { display: none; }
body .ea-genres { display: flex; gap: 8px; }
body .ea-chip {
	display: inline-flex;
	align-items: center;
	padding: 8px 16px;
	border: 1px solid var(--ea-line);
	border-radius: 999px;
	background: #fff;
	color: var(--ea-ink) !important;
	font-size: 14px;
	font-weight: 500;
	white-space: nowrap;
	transition: border-color .2s, background-color .2s, color .2s;
}
body .ea-chip:hover { border-color: var(--ea-navy); }
body .ea-chip.is-active { background: var(--ea-navy); border-color: var(--ea-navy); color: #fff !important; }
body .ea-subgenres { margin-top: -4px; gap: 18px; }
body .ea-subchip { white-space: nowrap; padding: 4px 0; font-size: 14px; color: var(--ea-muted) !important; border-bottom: 2px solid transparent; }
body .ea-subchip.is-active { color: var(--ea-navy) !important; font-weight: 600; border-bottom-color: var(--ea-navy); }
body .ea-formats-filter {
	display: inline-flex;
	align-self: flex-start;
	padding: 4px;
	border-radius: 999px;
	background: var(--ea-paper);
	border: 1px solid var(--ea-line);
}
body .ea-formats-filter a { padding: 6px 16px; border-radius: 999px; font-size: 13px; font-weight: 600; color: var(--ea-muted) !important; }
body .ea-formats-filter a.is-active { background: #fff; color: var(--ea-ink) !important; box-shadow: 0 1px 3px rgba(20, 33, 58, .12); }
@media (max-width: 1024px) {
	body .ea-catalog { grid-template-columns: minmax(0, 1fr); gap: 0; padding-top: 4px; }
	body .ea-catalog-side { display: none; }
	body .ea-catalog-mobile-filters { display: flex; flex-direction: column; gap: 12px; margin-bottom: 18px; }
	body .ea-genres {
		overflow-x: auto;
		scrollbar-width: none;
		margin: 0 -15px;
		padding: 0 15px 2px;
		-webkit-mask-image: linear-gradient(90deg, #000 88%, transparent);
		        mask-image: linear-gradient(90deg, #000 88%, transparent);
	}
	body .ea-genres::-webkit-scrollbar { display: none; }
	body .ea-catalog ul.products { grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 24px 14px; }
}
@media (max-width: 600px) {
	body .ea-catalog ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	body .ea-catalog-bar { margin-bottom: 18px; }
	body .ea-sort summary { padding: 7px 12px; font-size: 13px; }
	body .ea-sort .ea-orderby-label { display: none; }
}
/* "Volver arriba": el color lo pinta el icono interior */
body .back-top { background: none !important; box-shadow: none !important; width: auto !important; height: auto !important; }
body .back-top .back-top-icon {
	background-color: var(--ea-navy) !important;
	border-radius: 50%;
	width: 46px;
	height: 46px;
	box-shadow: var(--ea-shadow);
}

/* ==========================================================================
   13. Unificación de todas las páginas (válida para cualquier tema)
   ========================================================================== */

/* Páginas hechas con HTML a mano (Publica, Impreso, Digital, Plantillas, Guías, Área de autores):
   usaban Montserrat/Playfair/Source Sans y su propio azul. Pasan a las fuentes y colores del tema. */
body .elementor-widget-html :is(div, p, span, li, a, label, input, select, textarea, button, td, th, small, strong, em, h4, h5, h6):not([class*="icon"]):not(i) {
	font-family: var(--ea-font-text) !important;
}
body .elementor-widget-html :is(h1, h2, h3),
body .elementor-widget-html :is(.ea-pub-section-title, .ea-tpl-card-title, .lulu-title, .section-title, .card-title, .oc-name, .ea-guide-section h2) {
	font-family: var(--ea-font-display) !important;
	color: var(--ea-ink) !important;
	text-transform: none !important;
	letter-spacing: -.01em !important;
}
body .elementor-widget-html :is(.ea-pub-section-label, .card-subtitle) {
	color: var(--ea-coral) !important;
	letter-spacing: .14em !important;
}
body .elementor-widget-html :is(.ea-tpl-card, .ea-pub-card, .option-card, .ea-feature-card, .ea-guide-format-card, .ea-guide-step, .lulu-wrapper) {
	border-radius: var(--ea-radius) !important;
	border-color: var(--ea-line) !important;
}
body .elementor-widget-html :is(button, .btn, [class*="-btn"], input[type="submit"]) {
	border-radius: 999px !important;
}
/* Cabeceras de las guías: azul plano de la marca en vez del degradado azul eléctrico */
body .elementor-widget-html .ea-guide-hero {
	background: var(--ea-navy) !important;
	border-radius: var(--ea-radius) !important;
}
body .elementor-widget-html .ea-guide-hero :is(h1, h2, p, span, li) { color: #fff !important; }

/* Páginas legales: maqueta de lectura cómoda */
body.ea-legal #bwp-main :is(.elementor-widget-text-editor, .elementor-widget-heading, .entry-content) {
	max-width: 760px;
	margin-left: auto !important;
	margin-right: auto !important;
}
body.ea-legal #bwp-main :is(.elementor-widget-text-editor, .entry-content) { font-size: 17px; line-height: 1.75; color: var(--ea-ink); }
body.ea-legal #bwp-main :is(.elementor-widget-text-editor, .entry-content) :is(h2, h3, strong:only-child) { margin-top: 1.6em; }
body.ea-legal #bwp-main :is(h1, .ea-legal-title, .elementor-widget-heading .elementor-heading-title, .elementor-widget-text-editor h3:first-child) { /* Aviso legal y Privacidad: h2 de Elementor; Cookies: h3 al principio del texto */
	font-size: clamp(32px, 4vw, 46px) !important;
	line-height: 1.15 !important;
	text-align: left !important;
	color: var(--ea-ink) !important;
	margin: 48px auto 24px !important;
	max-width: 760px;
}
body.ea-legal .ea-aviso-borrador { background: #fff4e5; border-left: 3px solid var(--ea-coral); border-radius: 0; padding: 12px 16px; }

/* Acceso (WP User Frontend: /ingresar/) con el mismo aspecto que el resto de formularios */
body .wpuf-login-form, body #wpuf-login-form, body .wpuf-form-layout1:not(.wpuf-form-add) { /* el de subir libros tiene su propia maqueta (author-form.css) */
	max-width: 440px;
	margin: 48px auto !important;
	padding: 32px !important;
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	box-shadow: var(--ea-shadow);
}
body .wpuf-login-form input[type="text"], body .wpuf-login-form input[type="password"] { width: 100%; height: 46px; padding: 0 14px; }
body .wpuf-login-form input[type="submit"], body .wpuf-login-form button {
	background: var(--ea-navy) !important; color: #fff !important; border: 0 !important;
	border-radius: 999px !important; padding: 12px 28px !important; font-weight: 600;
}

/* Formularios de contacto (CF7) */
body .wpcf7-form :is(input:not([type="submit"]):not([type="checkbox"]), textarea, select) { border-radius: var(--ea-radius-sm) !important; }
body .wpcf7-form input[type="submit"] { background: var(--ea-navy) !important; border-radius: 999px !important; font-weight: 600; }

/* Sobre nosotros: logo en una tarjeta */
body .ea-about-logo {
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	padding: 48px 40px !important;
	align-items: center;
	justify-content: center;
	box-shadow: var(--ea-shadow);
}
body .ea-about-logo img { max-width: 320px; width: 100%; height: auto; }
body .ea-about-cards .ea-about-card { background: #fff; border: 1px solid var(--ea-line); border-radius: var(--ea-radius); padding: 28px !important; }

/* Lista de deseos vacía: mensaje centrado y con aire */
body .woosw-list:not(:has(.woosw-item)),
body .woosw-list .woosw-content-mid-empty {
	text-align: center;
	padding: 72px 24px;
	margin: 32px auto 64px;
	max-width: 640px;
	background: var(--ea-paper);
	border-radius: var(--ea-radius);
	color: var(--ea-muted);
	font-size: 17px;
}

/* El CSS del personalizador del tema subía la cabecera de Publica/Impreso/Digital bajo la barra fija
   (margin-top: -178px / -160px / -80px) y quedaba recortada. */
body .elementor-widget-html .ea-hero { margin-top: 0 !important; }

/* ---------- 14. Contacto (tools/contacto-pie.php) ---------- */
body .ea-contact-hero { padding-bottom: 16px !important; }
body .ea-contact-hero-copy { gap: 14px; max-width: 720px; }
body .ea-contact { padding-top: 24px !important; }
body .ea-contact-row { align-items: flex-start; justify-content: space-between; }
body .ea-contact-form {
	background: #fff;
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	padding: clamp(24px, 3.5vw, 40px) !important;
	box-shadow: 0 20px 50px rgba(15, 23, 42, .06);
	gap: 4px;
}
body .ea-contact-title .elementor-heading-title { font-size: 26px !important; margin: 0; }
body .ea-contact-intro p { color: var(--ea-muted); font-size: 15px; margin: 0 0 16px; }
body .ea-contact-info { gap: 14px; }
body .ea-contact-item {
	flex-direction: row !important;
	align-items: flex-start;
	gap: 16px;
	padding: 22px !important;
	background: var(--ea-paper);
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	flex-wrap: nowrap !important;
}
body .ea-contact-item > .elementor-widget-icon { flex: 0 0 auto; width: auto; }
body .ea-contact-item-body { gap: 4px; flex: 1 1 auto; width: auto !important; min-width: 0; }
body .ea-contact-label .elementor-heading-title {
	font-family: var(--ea-font-text) !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--ea-muted) !important;
	margin: 0;
}
body .ea-contact-value p { margin: 0 0 4px; font-size: 16px; line-height: 1.55; color: var(--ea-ink); }
body .ea-contact-value p:last-child { margin: 0; }
body .ea-contact-value a { color: var(--ea-navy) !important; font-weight: 600; text-decoration: none; }
body .ea-contact-value a:hover { text-decoration: underline; text-underline-offset: 3px; }
body .ea-contact-shortcuts { background: var(--ea-paper); }
body .ea-contact-shortcuts .ea-about-cards { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); }
body .ea-contact-shortcut { width: auto !important; }
@media (max-width: 1024px) { body .ea-contact-shortcuts .ea-about-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body .ea-contact-shortcuts .ea-about-cards { grid-template-columns: 1fr; } }

/* Formulario de contacto (CF7 "Contacto") */
body .formulario-aragon p { margin: 0 !important; }
body .formulario-aragon br { display: none; }
body .formulario-aragon .ea-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; }
body .formulario-aragon label { display: block; margin: 0 0 16px; font-size: 14px; font-weight: 600; color: var(--ea-ink); }
body .formulario-aragon .wpcf7-form-control-wrap { display: block; margin-top: 6px; }
body .formulario-aragon :is(input[type="text"], input[type="email"], select, textarea) {
	width: 100%;
	padding: 12px 14px !important;
	background: #fff !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius-sm) !important;
	font: inherit;
	font-size: 15px;
	color: var(--ea-ink);
	transition: border-color .2s, box-shadow .2s;
}
body .formulario-aragon textarea { min-height: 140px; resize: vertical; }
body .formulario-aragon :is(input, select, textarea):focus {
	border-color: var(--ea-navy) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ea-navy) 18%, transparent);
	outline: none;
}
body .formulario-aragon .privacidad { margin: 0 0 20px; font-size: 14px; color: var(--ea-muted); }
body .formulario-aragon .privacidad label { display: inline; margin: 0; font-weight: 400; color: inherit; }
body .formulario-aragon .privacidad input { margin: 0 8px 0 0; vertical-align: middle; }
body .formulario-aragon .privacidad a { color: var(--ea-navy); text-decoration: underline; text-underline-offset: 3px; }
body .formulario-aragon input[type="submit"] {
	padding: 14px 32px !important;
	color: #fff !important;
	border: 0;
	font-size: 15px;
	font-weight: 600;
	cursor: pointer;
	transition: background .2s, box-shadow .2s;
}
body .formulario-aragon input[type="submit"]:hover { background: var(--ea-navy-dark) !important; box-shadow: 0 10px 24px rgba(20, 58, 100, .22); }
@media (max-width: 600px) {
	body .formulario-aragon .ea-form-grid { grid-template-columns: 1fr; }
	body .formulario-aragon input[type="submit"] { width: 100%; }
}
body .ea-contact-cf7 .wpcf7-response-output { margin: 20px 0 0 !important; } /* Colores e icono: sección 28 */
body .formulario-aragon .wpcf7-not-valid-tip { font-size: 13px; font-weight: 500; margin-top: 4px; }

/* Plantilla eBook: su botón principal usaba un --navy propio casi negro */
body .elementor-widget-html .eb-btn-primary { background: var(--ea-navy) !important; box-shadow: none !important; }
body .elementor-widget-html .eb-btn-primary:hover { background: var(--ea-navy-dark) !important; }

/* Publica: tarjetas de plantillas (.ea-tpl-*) y de productos (.ea-pub-*) como las del resto de la web */
html body .elementor-widget-html :is(.ea-tpl-card, .ea-pub-card) {
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
html body .elementor-widget-html :is(.ea-tpl-card, .ea-pub-card):hover { border-color: color-mix(in srgb, var(--ea-navy) 35%, var(--ea-line)) !important; box-shadow: var(--ea-shadow-hover) !important; transform: translateY(-2px); }
html body .elementor-widget-html :is(.ea-tpl-card-visual, .ea-pub-card-icon) {
	background: #fff !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius-sm) !important;
	box-shadow: none !important;
	color: var(--ea-navy) !important;
}
html body .elementor-widget-html :is(#ea-gana-a-botones, .ea-tpl-card-title, .ea-pub-card-title) { font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important; font-weight: 600 !important; font-size: 20px !important; letter-spacing: -.01em !important; }
html body .elementor-widget-html .ea-tpl-card-tag { color: var(--ea-muted) !important; }
/* Formatos de la plantilla: texto con puntos, sin pastillas */
html body .elementor-widget-html .ea-tpl-formats { gap: 0 !important; flex-wrap: wrap; }
html body .elementor-widget-html .ea-tpl-fmt { padding: 0 !important; background: none !important; border: 0 !important; border-radius: 0 !important; color: var(--ea-muted) !important; font-size: 13px !important; font-weight: 500 !important; }
html body .elementor-widget-html .ea-tpl-fmt + .ea-tpl-fmt::before { content: "·"; margin: 0 7px; color: var(--ea-muted); font-weight: 700; }
html body .elementor-widget-html .ea-tpl-card-arrow { width: 36px !important; height: 36px !important; border-radius: var(--ea-radius-sm) !important; background: var(--ea-navy) !important; transition: transform .2s; }
html body .elementor-widget-html .ea-tpl-card:hover .ea-tpl-card-arrow { transform: translateX(3px); }

/* Impreso y Digital: el asistente propio ya muestra "¡Solicitud enviada!"; fuera el aviso del WPForms oculto que hay debajo */
body:has(#wi-submit, #wiz-submit) .wpforms-confirmation-container-full { display: none !important; }

/* Impreso y Digital: tarjetas de proceso (.ea-info-card), ventajas (.ea-feature-card) y acabados (.ea-format-card,
   .ea-format-visual-card) con el mismo aspecto que el resto de tarjetas: papel, borde fino, texto a la izquierda y más grande */
html body .elementor-widget-html :is(.ea-info-grid, .ea-features-grid, .ea-formats-grid) { gap: 20px !important; }
html body .elementor-widget-html :is(.ea-info-card, .ea-feature-card) {
	display: flex !important;
	flex-direction: column;
	align-items: flex-start !important;
	gap: 10px;
	padding: 28px 26px !important;
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	box-shadow: none !important;
	text-align: left !important;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
html body .elementor-widget-html :is(.ea-info-card, .ea-feature-card, .ea-format-card, .ea-format-visual-card):hover { border-color: color-mix(in srgb, var(--ea-navy) 35%, var(--ea-line)) !important; box-shadow: var(--ea-shadow-hover) !important; transform: translateY(-2px); }
html body .elementor-widget-html :is(.ea-info-icon, .ea-feature-icon) {
	display: flex !important;
	align-items: center;
	justify-content: center;
	width: 48px !important;
	height: 48px !important;
	margin: 0 0 6px !important;
	background: #fff !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius-sm) !important;
	color: var(--ea-navy) !important;
}
html body .elementor-widget-html :is(.ea-info-icon, .ea-feature-icon) svg { width: 22px !important; height: 22px !important; stroke: var(--ea-navy) !important; fill: none !important; }
html body .elementor-widget-html :is(#ea-gana-a-botones, .ea-info-card h3, .ea-feature-card h3, .ea-format-body h3, .ea-format-visual-card h3) {
	margin: 0 !important;
	font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	line-height: 1.25 !important;
	letter-spacing: -.01em !important;
	color: var(--ea-ink) !important;
	text-align: left !important;
}
html body .elementor-widget-html :is(.ea-info-card, .ea-feature-card, .ea-format-body, .ea-format-visual-card) p {
	margin: 0 !important;
	font-size: 15px !important;
	line-height: 1.6 !important;
	color: var(--ea-muted) !important;
	text-align: left !important;
}
/* Acabados: la franja de color de cada uno pasa a papel y el icono, a azul marino (antes verde, rojo, marrón…) */
html body .elementor-widget-html :is(.ea-format-card, .ea-format-visual-card) {
	overflow: hidden;
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	box-shadow: none !important;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
html body .elementor-widget-html :is(.ea-format-img, .ea-format-visual-img) { background: #fff !important; border-bottom: 1px solid var(--ea-line); }
html body .elementor-widget-html :is(.ea-format-img, .ea-format-visual-img) svg > rect:first-child { fill: var(--ea-navy) !important; }
html body .elementor-widget-html .ea-format-body { padding: 24px 26px 26px !important; display: flex; flex-direction: column; gap: 8px; }

/* Publica, Impreso y Digital: mismo ancho que la cabecera (1320 px) y textos al tamaño del resto de la web
   (las secciones se quedaban en 900–1100 px con textos de 11–13 px) */
html body .elementor-widget-html :is(.ea-section, .ea-info-section, .ea-features-section, .ea-formats-visual-section, .ea-recursos-section) { padding-top: 64px !important; padding-bottom: 64px !important; margin: 0 !important; }
html body .elementor-widget-html .ea-hero { padding-left: max(48px, calc((100% - 1320px) / 2)) !important; padding-right: max(48px, calc((100% - 1320px) / 2)) !important; }
html body .elementor-widget-html :is(.ea-pub-wrapper, .ea-tpl-section, .ea-section, .ea-info-section, .ea-features-section, .ea-formats-visual-section, .ea-recursos-section) { max-width: none !important; }
html body .elementor-widget-html :is(.ea-tpl-grid, .ea-pub-grid, .ea-info-grid, .ea-features-grid, .ea-formats-grid) { width: 100% !important; max-width: 1320px !important; margin-left: auto !important; margin-right: auto !important; gap: 24px !important; }
html body .elementor-widget-html :is(#ea-gana-a-botones, .ea-pub-section-title, .ea-title, .ea-info-title) { font-size: clamp(28px, 3vw, 38px) !important; line-height: 1.15 !important; margin-bottom: 10px !important; }
html body .elementor-widget-html :is(.ea-pub-section-sub, .ea-sub, .ea-info-sub) { font-size: 16px !important; line-height: 1.6 !important; color: var(--ea-muted) !important; }
html body .elementor-widget-html :is(.ea-pub-section-label, .ea-label, .section-label, .ea-info-label) { font-size: 12px !important; letter-spacing: .12em !important; }
html body .elementor-widget-html :is(.ea-tpl-card, .ea-pub-card) { padding: 32px !important; }
html body .elementor-widget-html :is(.ea-tpl-card-desc, .ea-pub-card-desc, .ea-pub-card-list li) { font-size: 15px !important; line-height: 1.6 !important; }
html body .elementor-widget-html .ea-tpl-fmt { font-size: 14px !important; }
html body .elementor-widget-html .ea-pub-card { align-items: flex-start !important; text-align: left !important; }
html body .elementor-widget-html .ea-pub-card :is(.ea-pub-card-icon, .ea-pub-card-title, .ea-pub-card-desc) { margin-left: 0 !important; margin-right: 0 !important; text-align: left !important; }
html body .elementor-widget-html :is(#ea-gana-a-botones, .ea-pub-card-title) { font-size: 24px !important; }
html body .elementor-widget-html .ea-pub-card-list { width: 100%; }
html body .elementor-widget-html .ea-pub-card-list li { padding: 6px 0 !important; color: var(--ea-ink) !important; }

/* Tarjetas de guía (Impreso, Digital, Plantillas): llevan los estilos en línea y sin clase; se reconocen por el enlace */
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card) {
	width: 100%;
	max-width: 560px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	box-shadow: none !important;
}
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card):hover { border-color: color-mix(in srgb, var(--ea-navy) 35%, var(--ea-line)) !important; box-shadow: var(--ea-shadow-hover) !important; }
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card) > div:first-child { background: #fff !important; border-bottom: 1px solid var(--ea-line); }
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card) > div:last-child { padding: 24px 28px 28px !important; }
html body .elementor-widget-html :is(#ea-gana-a-botones, a[href*="/guia"] h3, .ea-recurso-card h3) { font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important; font-size: 21px !important; font-weight: 600 !important; color: var(--ea-ink) !important; }
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card) p { font-size: 15px !important; line-height: 1.6 !important; color: var(--ea-muted) !important; }

/* Iconos de las tarjetas de Publica: cuadrado azul marino con icono de línea en blanco (los SVG originales de las
   plantillas eran libros apilados que a ese tamaño se veían borrosos) */
html body .elementor-widget-html :is(.ea-tpl-card-visual, .ea-pub-card-icon) {
	display: flex !important;
	align-items: center;
	justify-content: center;
	flex: none;
	width: 52px !important;
	height: 52px !important;
	background: var(--ea-navy) !important;
	border: 0 !important;
	border-radius: var(--ea-radius-sm) !important;
	color: #fff !important;
}
html body .elementor-widget-html .ea-tpl-card-visual svg { display: none !important; }
html body .elementor-widget-html .ea-tpl-card-visual::before {
	content: "";
	width: 26px;
	height: 26px;
	background: #fff;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4.5h6a4 4 0 0 1 4 4V20a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 4.5h-6a4 4 0 0 0-4 4V20a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 4.5h6a4 4 0 0 1 4 4V20a3 3 0 0 0-3-3H2z'/%3E%3Cpath d='M22 4.5h-6a4 4 0 0 0-4 4V20a3 3 0 0 1 3-3h7z'/%3E%3C/svg%3E") center / contain no-repeat;
}
html body .elementor-widget-html a[href*="ebook"] .ea-tpl-card-visual::before {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2'/%3E%3Cpath d='M9 7h6M9 10.5h6M9 14h4'/%3E%3Cpath d='M11.5 18.5h1'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2'/%3E%3Cpath d='M9 7h6M9 10.5h6M9 14h4'/%3E%3Cpath d='M11.5 18.5h1'/%3E%3C/svg%3E");
}
html body .elementor-widget-html .ea-pub-card-icon svg { width: 26px !important; height: 26px !important; fill: #fff !important; color: #fff !important; }
html body .elementor-widget-html .ea-pub-card-icon svg * { fill: #fff !important; }

/* Publica, Impreso y Digital con más color: cabecera en bloque azul marino (como "Para autores" en la portada) y la
   sección de plantillas sobre un azul muy suave con las tarjetas en blanco */
html body .elementor-widget-html .ea-hero {
	background: color-mix(in srgb, var(--ea-navy) 86%, #000) !important;
	background-color: #1a3354 !important;
	background-image: radial-gradient(900px 420px at 85% 0%, color-mix(in srgb, var(--ea-navy) 70%, #6f8fb8) 0%, transparent 70%) !important;
	padding-top: 72px !important;
	padding-bottom: 72px !important;
}
html body .elementor-widget-html .ea-hero-text :is(#ea-gana-a-botones, h1, h2) { color: #fff !important; }
html body .elementor-widget-html .ea-hero-text p { color: rgba(255, 255, 255, .8) !important; }
html body .elementor-widget-html .ea-hero-badge { background: rgba(255, 255, 255, .1) !important; border-color: rgba(255, 255, 255, .25) !important; color: #fff !important; }
html body .elementor-widget-html :is(.ea-hero-btn, .ea-hero a[class*="btn"]) { background: #fff !important; color: var(--ea-navy) !important; box-shadow: none !important; }
html body .elementor-widget-html :is(.ea-hero-btn, .ea-hero a[class*="btn"]):hover { background: color-mix(in srgb, #fff 88%, var(--ea-navy)) !important; }
html body .elementor-widget-html .ea-hero-bg { box-shadow: 0 24px 50px -18px rgba(0, 0, 0, .55) !important; }
/* Fondos de borde a borde sin tocar el ancho del contenido: sombra del mismo color hacia los lados, recortada arriba y abajo */
html body .elementor-widget-html .ea-hero { box-shadow: 0 0 0 100vmax #1a3354 !important; clip-path: inset(0 -100vmax); border-radius: 0 !important; }
html body .elementor-widget-html :is(.ea-tpl-section, .ea-features-section) { box-shadow: 0 0 0 100vmax color-mix(in srgb, var(--ea-navy) 7%, #fff) !important; clip-path: inset(0 -100vmax); padding-top: 64px !important; padding-bottom: 72px !important; }
html body .elementor-widget-html :is(.ea-tpl-section, .ea-features-section) { background: color-mix(in srgb, var(--ea-navy) 7%, #fff) !important; border-radius: 0 !important; }
html body .elementor-widget-html :is(.ea-tpl-section .ea-tpl-card, .ea-features-section .ea-feature-card) { background: #fff !important; }

/* Acabados (Impreso) y formato (Digital): icono a la izquierda y texto al lado, sin la franja blanca alta de arriba */
html body .elementor-widget-html :is(.ea-format-card, .ea-format-visual-card) {
	display: flex !important;
	flex-direction: row !important;
	align-items: flex-start !important;
	gap: 20px;
	padding: 28px !important;
}
html body .elementor-widget-html :is(.ea-format-img, .ea-format-visual-img) {
	flex: none;
	width: 56px !important;
	height: 56px !important;
	min-height: 0 !important;
	padding: 0 !important;
	background: none !important;
	border: 0 !important;
	display: block !important;
}
html body .elementor-widget-html :is(.ea-format-img, .ea-format-visual-img) svg { display: block; width: 56px !important; height: 56px !important; }
html body .elementor-widget-html .ea-format-body { padding: 0 !important; }
html body .elementor-widget-html .ea-format-visual-card > :not(.ea-format-visual-img) { padding: 0 !important; }

/* ---------- 15. Botones: un solo estilo para todos (variables --ea-btn-*, ver themes/botones/) ----------
   Incluye los botones de WooCommerce, los de Elementor, los de las páginas de HTML a mano y los formularios.
   #place_order (no existe: el pago es de bloques) dentro del :is() da a la regla especificidad de id y gana a
   los 999px de los CSS del tema y de los plugins. */
body :is(
	#place_order, .button, .single_add_to_cart_button,
	.ea-section .elementor-button, .ea-catalog-empty .button,
	.elementor-widget-html :is(button, .btn, [class*="-btn"], [class^="btn-"], [class*=" btn-"], input[type="submit"]),
	.wpcf7-form input[type="submit"], .wpuf-login-form :is(input[type="submit"], button), .login-pro-card .pro-btn,
	.wc-block-components-product-button :is(a, button), .wc-block-grid__product-add-to-cart :is(a, button), .wc-block-components-button
) {
	border-radius: var(--ea-btn-radius) !important;
	font-weight: var(--ea-btn-weight) !important;
	text-transform: var(--ea-btn-case) !important;
	letter-spacing: var(--ea-btn-tracking) !important;
}
body :is(#place_order, .single_add_to_cart_button, .ea-section .elementor-button, .formulario-aragon input[type="submit"]) {
	font-size: var(--ea-btn-size) !important;
}

/* Plantillas (HTML a mano): en móvil el selector de tamaño y "Descargar" no caben en una fila. */
@media (max-width: 600px) {
	body .elementor-widget-html .selector-row { flex-wrap: wrap; }
	body .elementor-widget-html .selector-row .select-wrap { flex: 1 1 100%; min-width: 0; }
	body .elementor-widget-html .selector-row .btn-download { width: 100%; justify-content: center; min-height: 48px; }
	/* Las columnas de la cabecera no encogían por debajo de su contenido y la página quedaba más ancha que el móvil. */
	body .elementor-widget-html .hero { grid-template-columns: minmax(0, 1fr) !important; }
	body .elementor-widget-html .hero > * { min-width: 0; }
	body .elementor-widget-html .select-wrap select { width: 100%; max-width: 100%; }
}

/* ---------- 16. Envía tu manuscrito (mu-plugin manuscritos.php + tools/manuscrito.php) ---------- */
body .ea-manuscrito-seccion > .e-con-inner { max-width: 860px !important; gap: 32px; }
body .ea-manuscrito-pasos { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .ea-manuscrito-pasos > .e-con { width: auto !important; }
body .ea-manuscrito { display: grid; gap: 24px; }
body .ea-manuscrito fieldset { margin: 0; padding: 24px; border: 1px solid var(--ea-line); border-radius: var(--ea-radius); background: #fff; }
body .ea-manuscrito legend { padding: 0 8px; margin-left: -8px; color: var(--ea-ink); font-size: 17px; font-weight: 700; }
body .ea-manuscrito label { display: grid; gap: 6px; margin: 0 0 16px; color: var(--ea-ink); font-size: 14px; font-weight: 600; }
body .ea-manuscrito fieldset > :last-child,
body .ea-manuscrito-fila > label { margin-bottom: 0; }
body .ea-manuscrito label small { color: var(--ea-muted); font-weight: 400; }
body .ea-manuscrito-fila { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin-bottom: 16px; }
body .ea-manuscrito :is(input[type="text"], input[type="email"], textarea) {
	width: 100%;
	padding: 11px 14px !important;
	background: #fff !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius-sm) !important;
	color: var(--ea-ink);
	font: inherit;
	font-weight: 400;
	font-size: 15px;
}
body .ea-manuscrito :is(input, textarea):focus-visible { outline: none; border-color: var(--ea-navy) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ea-navy) 15%, transparent); }
body .ea-manuscrito-label { color: var(--ea-ink); font-size: 14px; font-weight: 600; }
body .ea-manuscrito-formatos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; }
body .ea-manuscrito-formatos .ea-manuscrito-label { flex-basis: 100%; }
body .ea-manuscrito .ea-manuscrito-opcion {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	padding: 10px 14px;
	border: 1.5px solid var(--ea-line);
	border-radius: var(--ea-radius-sm);
	font-weight: 500;
	cursor: pointer;
}
body .ea-manuscrito .ea-manuscrito-opcion:has(input:checked) { border-color: var(--ea-navy); background: color-mix(in srgb, var(--ea-navy) 5%, #fff); color: var(--ea-navy); font-weight: 600; }
body .ea-manuscrito input[type="file"] { padding: 14px; border: 1.5px dashed var(--ea-line); border-radius: var(--ea-radius-sm); background: var(--ea-paper); font-weight: 400; cursor: pointer; }
body .ea-manuscrito input[type="file"]::file-selector-button {
	margin-right: 12px;
	padding: 8px 14px;
	border: 1.5px solid var(--ea-navy);
	border-radius: var(--ea-btn-radius, 8px);
	background: #fff;
	color: var(--ea-navy);
	font: inherit;
	font-size: 13px;
	font-weight: 700;
	cursor: pointer;
}
body .ea-manuscrito-archivo small { font-size: 13px; line-height: 1.5; }
body .ea-manuscrito .ea-manuscrito-check { display: flex; align-items: flex-start; gap: 10px; font-weight: 400; line-height: 1.5; }
body .ea-manuscrito-check input { flex: none; width: 18px; height: 18px; margin: 1px 0 0; accent-color: var(--ea-navy); }
body .ea-manuscrito a { color: var(--ea-navy) !important; text-decoration: underline; text-underline-offset: 3px; }
body .ea-manuscrito-enviar { justify-self: start; min-height: 52px; padding: 0 32px !important; background: var(--ea-navy) !important; border: 0 !important; color: #fff !important; }
body .ea-manuscrito-enviar:hover { background: var(--ea-navy-dark) !important; }
body .ea-manuscrito-error { padding: 12px 16px; border: 1px solid #fecaca; border-radius: var(--ea-radius-sm); background: #fef2f2; color: #b42318; font-weight: 600; }
body .ea-manuscrito-ok { padding: 40px 28px; text-align: center; border-radius: var(--ea-radius); background: #ecfdf3; }
body .ea-manuscrito-ok-title { margin: 0 0 8px; color: #05603a; font-size: 22px; font-weight: 700; }
body .ea-manuscrito-ok p { color: var(--ea-ink); }
body .ea-manuscrito-ok .button { margin-top: 8px; background: var(--ea-navy) !important; color: #fff !important; }
body .ea-manuscrito-nota p { margin: 0; color: var(--ea-muted); font-size: 14px; text-align: center; }
body .ea-manuscrito-nota a { color: var(--ea-navy) !important; }
body .ea-trampa { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
@media (max-width: 767px) {
	body .ea-manuscrito-pasos { grid-template-columns: minmax(0, 1fr); }
	body .ea-manuscrito-fila { grid-template-columns: minmax(0, 1fr); }
	body .ea-manuscrito fieldset { padding: 18px; }
	body .ea-manuscrito-enviar { justify-self: stretch; }
}
body .ea-manuscrito small.ea-manuscrito-aviso { display: block; padding: 10px 12px; border-radius: var(--ea-radius-sm); background: var(--ea-paper); color: var(--ea-ink); font-size: 13px; font-weight: 400; line-height: 1.55; }

/* ---------- 17. Carruseles de libros en móvil (dos por pantalla, ver mu-plugin assets.php) ---------- */
@media (max-width: 767px) {
	body :is(.related, .recent-view, .upsells, .cross_sell) .products-thumb { margin-bottom: 10px !important; }
	body :is(.related, .recent-view, .upsells, .cross_sell) .products-content { padding-top: 4px !important; }
	body :is(.related, .recent-view, .upsells, .cross_sell) .product-title { font-size: 15px !important; }
	body :is(.related, .recent-view, .upsells, .cross_sell) .slick-arrow {
		width: 34px !important;
		height: 34px !important;
		line-height: 34px !important;
		font-size: 14px !important;
		box-shadow: var(--ea-shadow);
	}
}

/* ---------- 18. Portada en móvil: más corta y con zonas táctiles cómodas ---------- */
@media (max-width: 767px) {
	/* Novedades: 4 libros (con 8 eran cuatro pantallas de scroll); el resto, en "Ver toda la librería" */
	body .ea-novedades ul.products > li:nth-child(n+5) { display: none !important; }
	/* Enlaces de sección ("Ver toda la librería", "Descarga las plantillas") con altura táctil de 44 px */
	body .ea-btn-link .elementor-button { min-height: 44px; display: inline-flex !important; align-items: center; }
	/* Pasos para autores: icono a la izquierda del título, en vez de encima */
	body .ea-steps { gap: 20px !important; }
	body .ea-step {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr);
		column-gap: 14px;
		row-gap: 2px !important;
		align-items: start;
	}
	body .ea-step > .elementor-widget-icon { grid-row: 1 / span 3; margin: 0 !important; }
	body .ea-step-icon .elementor-icon { width: 44px !important; height: 44px !important; font-size: 18px !important; }
	body .ea-step-title .elementor-heading-title { margin: 0 !important; font-size: 18px !important; }
	/* Cabecera: el abanico de portadas, más bajo */
	body .ea-hero-covers { min-height: 210px !important; }
}

/* ---------- 19. Cabecera de escritorio (estructura del header builder del tema; menú en mu-plugin cabecera.php) ----------
   Fila 1: logo · buscador centrado · cuenta y carrito. Fila 2: menú a todo el ancho con "Publica tu libro" a la derecha. */
body .bwp-header.bwp-desktop .bwp-main_header_row :is(.bwp-row, .container) { height: 76px !important; min-height: 0 !important; align-items: center; }
body .bwp-header.bwp-desktop .bwp-main_header_row { height: auto !important; min-height: 0 !important; }
body .bwp-header.bwp-desktop .bwp-main_header_row .bwp-row > .bwp-column { min-height: 0; }
body .bwp-header.bwp-desktop .bwp-component-logo img { max-height: 66px !important; width: auto !important; }
body .bwp-header.bwp-desktop .bwp-main_header_row .bwp-column-1 { flex: 0 0 auto !important; width: auto !important; }
body .bwp-header.bwp-desktop .bwp-main_header_row .bwp-column-2 { flex: 1 1 auto !important; width: auto !important; justify-content: center !important; padding: 0 32px; }
body .bwp-header.bwp-desktop .bwp-main_header_row .bwp-column-3 { flex: 0 0 auto !important; width: auto !important; gap: 22px; }
body .bwp-header.bwp-desktop .bwp-component-search-form { width: 100%; max-width: 560px; }
body .bwp-header.bwp-desktop .header-search-form { width: 100%; }
body .bwp-header .header-search-form :is(.select_category, .bwp-categories, .search-category, select) { display: none !important; }
/* Fila del menú */
body .bwp-header.bwp-desktop .bwp-below_header_row .bwp-row { min-height: 52px; align-items: center; }
body .bwp-header.bwp-desktop .bwp-below_header_row .bwp-column-1 { flex: 1 1 auto !important; width: auto !important; max-width: none !important; }
/* La 2.ª columna de la fila del menú solo tiene un adorno del tema ("html_info"); el acceso "+ Subir libro" de los
   administradores ya va dentro del menú (accounts.php). */
body .bwp-header.bwp-desktop .bwp-below_header_row .bwp-column-2 { display: none !important; }
body .bwp-header.bwp-desktop :is(.bwp-component-menu, .wpbingo-menu-wrapper, .megamenu, .main-navigation, .bwp-navigation, #site-navigation, .menu-main-menu-container) { display: block !important; width: 100% !important; }
body #primary-menu { display: flex !important; flex-wrap: nowrap; align-items: center; gap: 4px; width: 100%; }
body #primary-menu > li > a { padding: 8px 14px !important; }
body #primary-menu > li:first-child > a { padding-left: 0 !important; }
body #primary-menu > li.ea-nav-cta { order: 99; margin-left: auto; }
body #primary-menu > li.ea-nav-cta > a {
	display: inline-flex !important;
	align-items: center;
	padding: 9px 18px !important;
	background: var(--ea-navy);
	border-radius: var(--ea-btn-radius, 8px);
	color: #fff !important;
	font-size: var(--ea-btn-size, 14px) !important;
	font-weight: var(--ea-btn-weight, 600) !important;
	letter-spacing: var(--ea-btn-tracking, 0);
	text-transform: var(--ea-btn-case, none);
	line-height: 1.2 !important;
	transition: background-color .2s;
}
body #primary-menu > li.ea-nav-cta > a:hover { background: var(--ea-navy-dark); color: #fff !important; }
body #primary-menu > li.ea-nav-cta > a::before,
body #primary-menu > li.ea-nav-cta > a::after { display: none !important; }
body #primary-menu > li.ea-nav-cta > a .menu-item-text { color: inherit !important; }
@media (max-width: 1199px) {
	body .bwp-header.bwp-desktop .bwp-main_header_row .bwp-column-2 { padding: 0 20px; }
	body #primary-menu > li > a { padding: 8px 10px !important; }
}
/* Contador del carrito: sin taparse con el icono de usuario */
body .bwp-header .boosin-topcart .cart-count,
body .bwp-header .bwp-icon-cart .cart-count { right: -12px !important; }

/* Buscador: lupa dentro de la caja del buscador y acceso de administración junto al botón */
body .bwp-header .header-search-form, body .bwp-header .header-search-form form { position: relative !important; display: block; width: 100% !important; max-width: 100% !important; }
body .bwp-header .header-search-form .search-box { width: 100% !important; }
body .bwp-header .header-search-form .search-box input { padding-right: 48px !important; }
body .bwp-header.bwp-desktop .header-search-form .search-box input.input-search { /* las guías traen input[type="text"] {… !important} sin acotar */
	height: 48px !important;
	padding: 0 48px 0 35px !important;
	border: 0 !important;
	border-radius: 0 !important;
	background: transparent !important;
	box-shadow: none !important;
}
body .bwp-header .header-search-form #searchsubmit2 { position: absolute !important; right: 14px !important; left: auto !important; top: 50% !important; transform: translateY(-50%) !important; margin: 0 !important; height: auto !important; line-height: 1 !important; padding: 6px !important; background: none !important; }
/* El tema reserva ancho para el desplegable de categorías (oculto): el formulario y el campo, al ancho de la caja */
body .bwp-header .header-search-form form.search-from2,
body .bwp-header .header-search-form form.search-from2 .search-box,
body .bwp-header .header-search-form form.search-from2 input.input-search { width: 100% !important; min-width: 0 !important; max-width: 100% !important; flex: 1 1 auto !important; }

/* Menú móvil: el CSS del personalizador (custom-styles-header_layout_1.css) lo deja en left:-300px !important y solo lo
   saca con .active, pero el JS del tema (custom.js) pone .toggled: el menú no se abría. */
body .bwp-mobile_offcanvas.toggled { left: 0 !important; }
/* Minicarrito lateral del tema: botones como los de la web (el tema los pintaba azul eléctrico y gris) */
body .cart-popup .buttons .button { border-radius: var(--ea-btn-radius) !important; }
body .cart-popup .buttons .button.checkout { background: var(--ea-navy) !important; border-color: var(--ea-navy) !important; color: #fff !important; }
body .cart-popup .buttons .button.checkout:hover { background: var(--ea-navy-dark) !important; }
body .cart-popup .buttons .button.view-cart { background: transparent !important; border: 0 !important; box-shadow: inset 0 0 0 1.5px var(--ea-navy); color: var(--ea-navy) !important; }
body .cart-popup .free-ship .percent { background: var(--ea-navy) !important; }
body .cart-popup .buttons { display: flex !important; flex-direction: column; gap: 8px; }
body .cart-popup .buttons .button { width: 100% !important; margin: 0 !important; float: none !important; }
body .cart-popup .free-ship .icon-freeship { background: var(--ea-navy) !important; }
/* Cabecera "Tu carrito (N)" (mini-cart.php del tema hijo): titular de la web, no mayúsculas grises */
html body .cart-popup .remove-cart { background: #fff !important; border-bottom: 1px solid var(--ea-line); }
html body .cart-popup .top-total-cart { font-family: "Newsreader", Georgia, serif !important; font-size: 22px !important; font-weight: 600 !important; color: var(--ea-ink) !important; text-transform: none !important; letter-spacing: 0 !important; }
html body .cart-popup .top-total-cart .ea-mc-num { color: var(--ea-muted); font-weight: 500; }
/* Libro: título en tinta y el formato debajo (como en el carrito) */
html body .cart-popup .product-name a { color: var(--ea-ink) !important; font-weight: 600 !important; }
html body .cart-popup .ea-mc-formato { display: block; margin-top: 2px; color: var(--ea-muted); font-family: "Mona Sans", sans-serif; font-size: 13px; font-weight: 400; }
/* Aviso al añadir (frontend.js), con el estilo de la sección 28 */
html body .cart-popup :is(.woocommerce-message, .woocommerce-info).ea-mc-anadido { width: auto !important; box-sizing: border-box; margin: 20px 20px 0 !important; font-size: 14px !important; }
/* Móvil: la barra inferior tapaba "Ver carrito"; mientras el panel está abierto no hace falta */
body:has(.boosin-topcart.show) .bwp-mobile_toolbar { display: none !important; }

/* ---------- 20. Portada: la sección de autores, en bloque oscuro (rompe el blanco/gris de toda la página) ---------- */
body .e-con.ea-section.ea-publica { /* gana a plataforma.css (.ea-publica: papel) */
	background: color-mix(in srgb, var(--ea-navy) 82%, #000) !important;
	background-color: #18304f !important; /* respaldo si color-mix no está disponible */
	background-color: color-mix(in srgb, var(--ea-navy) 82%, #000) !important;
}
body .ea-publica :is(.ea-eyebrow, .ea-publica-title, .ea-step-title) .elementor-heading-title { color: #fff !important; }
body .ea-publica .ea-eyebrow .elementor-heading-title { color: color-mix(in srgb, #fff 70%, var(--ea-navy)) !important; }
body .ea-publica :is(.ea-publica-lead, .ea-step-text) p { color: rgba(255, 255, 255, .78) !important; }
body .ea-publica .ea-btn-primary .elementor-button { background: #fff !important; color: var(--ea-navy) !important; }
body .ea-publica .ea-btn-primary .elementor-button:hover { background: color-mix(in srgb, #fff 88%, var(--ea-navy)) !important; }
body .ea-publica .ea-btn-secondary .elementor-button { background: transparent !important; color: #fff !important; box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, .7) !important; border-color: rgba(255, 255, 255, .7) !important; }
body .ea-publica .ea-btn-secondary .elementor-button:hover { background: rgba(255, 255, 255, .12) !important; }
body .ea-publica .ea-steps { border-top-color: rgba(255, 255, 255, .16) !important; }
body .ea-publica .ea-step-icon .elementor-icon { background: rgba(255, 255, 255, .12) !important; border-color: rgba(255, 255, 255, .25) !important; color: #fff !important; }
/* Pasos como recorrido: círculos claros unidos por una línea (horizontal; en móvil, vertical) */
body .ea-publica .ea-step-icon .elementor-icon { background: #fff !important; border-color: #fff !important; color: var(--ea-navy) !important; box-shadow: 0 0 0 6px color-mix(in srgb, var(--ea-navy) 82%, #000); }
body .ea-publica .ea-step-icon .elementor-icon svg { fill: var(--ea-navy) !important; }
body .ea-publica .ea-step { position: relative; }
body .ea-publica .ea-step-icon { position: relative; z-index: 1; }
body .ea-publica .ea-step:not(:last-child)::after {
	content: "";
	position: absolute;
	top: 25px;
	left: 52px;
	right: -16px;
	height: 2px;
	background: rgba(255, 255, 255, .28);
}
@media (max-width: 767px) {
	body .ea-publica .ea-step:not(:last-child)::after { top: 44px; bottom: -20px; left: 21px; right: auto; width: 2px; height: auto; }
}
/* "Descarga las plantillas": pie de la tarjeta (enlace con flecha), no un enlace subrayado en mayúsculas */
body .ea-need .ea-btn-link, body .ea-need .ea-btn-link .elementor-widget-container { width: 100%; }
html body .ea-need .ea-btn-link :is(#ea-gana-a-botones, .elementor-button) { /* :is(#…) sube a especificidad de id, como la sección 15 */
	display: flex !important;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	min-height: 48px;
	margin-top: 4px;
	padding: 12px 16px !important;
	background: var(--ea-paper) !important;
	border-radius: var(--ea-radius-sm) !important;
	color: var(--ea-navy) !important;
	font-size: 15px !important;
	font-weight: 600 !important;
	letter-spacing: 0 !important;
	text-transform: none !important;
	text-decoration: none !important;
}
body .ea-need .ea-btn-link .elementor-button::after {
	content: "";
	width: 18px;
	height: 18px;
	background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12m-5-5 5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 10h12m-5-5 5 5-5 5'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform .2s;
}
html body .ea-need .ea-btn-link .elementor-button:hover { background: color-mix(in srgb, var(--ea-navy) 9%, #fff) !important; }
body .ea-need .ea-btn-link .elementor-button:hover::after { transform: translateX(3px); }
body .ea-publica .ea-need { box-shadow: 0 12px 32px -8px rgba(0, 0, 0, .3) !important; border-color: transparent !important; }
/* Sobre nosotros ("Qué hacemos") usa el mismo bloque: título y tarjetas en claro sobre oscuro */
body .ea-publica .ea-section-title .elementor-heading-title { color: #fff !important; }
body .ea-publica .ea-about-cards .ea-about-card { background: rgba(255, 255, 255, .06); border-color: rgba(255, 255, 255, .14); }

/* ---------- 21. Titulares en serif (opción ea_titulares = serif; en local ?titulares=serif) ----------
   "html body" sube la especificidad por encima de plataforma.css (sans, 800) y de la sección 13 (HTML a mano). */
html body.ea-titulares-serif :is(h1, h2, .product_title, .ea-catalog-title, .ea-compra-title, .ea-cuenta-title, .ea-gestion-title, .ea-catalog-empty-title),
html body.ea-titulares-serif :is(.ea-hero-title, .ea-section-title, .ea-publica-title, .ea-cta-title, .ea-contact-title) .elementor-heading-title,
html body.ea-titulares-serif.ea-legal #bwp-main :is(.elementor-widget-heading .elementor-heading-title, .elementor-widget-text-editor h3:first-child),
html body.ea-titulares-serif .elementor-widget-html :is(h1, h2, .formats-title, .eb-steps-header h3, .wiz-title) {
	font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important;
	font-weight: 600 !important;
	letter-spacing: -.01em !important;
}

/* ---------- 22. Preguntas frecuentes de autores ([ea_faq_autores], mu-plugin faq.php) ---------- */
body .ea-faq { max-width: 820px; margin: 0 auto; border-top: 1px solid var(--ea-line); }
body .ea-faq-item { border-bottom: 1px solid var(--ea-line); }
body .ea-faq-item summary {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 16px;
	padding: 20px 4px;
	list-style: none;
	cursor: pointer;
	color: var(--ea-ink);
	font-size: 17px;
	font-weight: 600;
}
body .ea-faq-item summary::-webkit-details-marker { display: none; }
body .ea-faq-item summary::after {
	content: "";
	flex: none;
	width: 28px;
	height: 28px;
	border-radius: 50%;
	background: var(--ea-paper) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none' stroke='%231e3a5f' stroke-width='1.8' stroke-linecap='round'%3E%3Cpath d='M10 5v10M5 10h10'/%3E%3C/svg%3E") center / 14px no-repeat;
	transition: transform .2s, background-color .2s;
}
body .ea-faq-item[open] summary::after { transform: rotate(45deg); background-color: color-mix(in srgb, var(--ea-navy) 12%, #fff); }
body .ea-faq-item summary:hover { color: var(--ea-navy); }
body .ea-faq-respuesta { padding: 0 48px 20px 4px; }
body .ea-faq-respuesta p { margin: 0 0 8px; color: var(--ea-muted); font-size: 16px; line-height: 1.65; }

/* ---------- 23. Flecha de "ir a" (icono ea_flecha(); sustituye a la "→" escrita como texto) ---------- */
body .ea-flecha { display: inline-block; width: 1em; height: 1em; margin-left: .3em; vertical-align: -.15em; transition: transform .2s var(--ea-ease, ease); }
body a:hover .ea-flecha,
body a:focus-visible .ea-flecha { transform: translateX(3px); }
/* En tarjetas de enlace: flecha en un círculo, abajo a la derecha */
body .ea-side-author .ea-flecha {
	position: absolute;
	right: 16px;
	bottom: 16px;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 7px;
	border-radius: 50%;
	background: var(--ea-navy);
	color: #fff;
}
body .ea-side-author:hover .ea-flecha { transform: translateX(3px); background: var(--ea-navy-dark); }

/* ---------- 24. Páginas de autor (/autor/<nombre>/, mu-plugin autores.php) ---------- */
body .ea-autor-ficha { display: flex; align-items: center; gap: 28px; }
body .ea-autor-foto { flex: none; width: 132px; height: 132px; object-fit: cover; border-radius: 50%; box-shadow: var(--ea-shadow); }
body .ea-autor-libros { margin: 0 0 10px; color: var(--ea-muted); font-size: 15px; }
body .ea-autor-bio p { max-width: 680px; }
/* El nombre del autor enlaza a su página: discreto, subrayado solo al pasar el ratón */
body :is(.ea-card-author, .ea-single-author, .ea-detalles) a { color: inherit !important; text-decoration: none; }
body :is(.ea-card-author, .ea-single-author) a:hover { color: var(--ea-navy) !important; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 600px) {
	body .ea-autor-ficha.con-foto { flex-direction: column; align-items: flex-start; gap: 16px; }
	body .ea-autor-foto { width: 96px; height: 96px; }
}

/* ---------- 25. Explora por género: tarjetas propias ([ea_generos], catalog.php) ---------- */
body .ea-generos-widget { width: 100% !important; max-width: 1200px; margin-left: auto !important; margin-right: auto !important; }
body .ea-generos-lista { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; }
body .ea-genero > a {
	position: relative;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 220px;
	height: 100%;
	padding: 22px 22px 0;
	overflow: hidden;
	background: var(--ea-paper);
	border: 1px solid var(--ea-line);
	border-radius: var(--ea-radius);
	color: var(--ea-ink) !important;
	text-decoration: none !important;
	transition: border-color .2s, box-shadow .2s, transform .2s;
}
body .ea-genero > a:hover { border-color: color-mix(in srgb, var(--ea-navy) 35%, var(--ea-line)); box-shadow: var(--ea-shadow-hover); transform: translateY(-2px); }
body .ea-genero-texto { display: flex; flex-direction: column; gap: 4px; position: relative; z-index: 1; }
body .ea-genero-nombre { padding-right: 38px; font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif; font-size: 23px; font-weight: 600; line-height: 1.15; letter-spacing: -.01em; }
body .ea-genero-n { color: var(--ea-navy); font-size: 13px; font-weight: 700; }
body .ea-genero-subs { color: var(--ea-muted); font-size: 13px; line-height: 1.45; }
/* Abanico de portadas que asoma por abajo: de 1 a 5, simétrico. catalog.php pone en cada una --k (posición
   respecto al centro: -2…2, o -1.5…1.5 si son pares) y --a (distancia al centro). */
body .ea-genero-portadas { position: relative; z-index: 1; display: flex; justify-content: center; align-items: flex-end; height: 122px; margin-top: 14px; }
body .ea-genero-portada {
	position: relative;
	z-index: calc(10 - var(--a, 0) * 2);
	flex: none;
	width: 80px !important;
	height: auto !important;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	margin: 0 -11px -30px;
	border-radius: 2px 4px 4px 2px;
	box-shadow: 0 10px 22px -6px rgba(15, 23, 42, .35);
	transform: translateY(calc(var(--a, 0) * 7px - 4px)) rotate(calc(var(--k, 0) * 7deg));
	transition: transform .3s var(--ea-ease, ease);
}
body .ea-genero > a:hover .ea-genero-portada { transform: translate(calc(var(--k, 0) * 5px), calc(var(--a, 0) * 5px - 10px)) rotate(calc(var(--k, 0) * 10deg)); }
/* Fondo: el resto de libros del género, en una pared inclinada y tenue que se desvanece hacia el texto */
body .ea-genero-fondo {
	position: absolute;
	inset: 18% -16% -30%;
	z-index: 0;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-content: flex-start;
	gap: 10px;
	opacity: .3;
	transform: rotate(-9deg);
	-webkit-mask-image: linear-gradient(to bottom, transparent 8%, #000 55%);
	mask-image: linear-gradient(to bottom, transparent 8%, #000 55%);
	pointer-events: none;
	transition: opacity .3s, transform .6s var(--ea-ease, ease);
}
body .ea-genero-fondo-img { flex: none; width: 54px !important; height: auto !important; aspect-ratio: 2 / 3; object-fit: cover; border-radius: 2px; }
body .ea-genero > a:hover .ea-genero-fondo { opacity: .42; transform: rotate(-9deg) translateY(-6px); }
body .ea-genero .ea-flecha {
	position: absolute;
	top: 20px;
	right: 18px;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 7px;
	border-radius: 50%;
	background: #fff;
	color: var(--ea-navy);
	box-shadow: var(--ea-shadow);
}
body .ea-genero > a:hover .ea-flecha { background: var(--ea-navy); color: #fff; transform: none; }
body .ea-generos-lista.ea-cols-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
@media (max-width: 1024px) { body .ea-generos-lista, body .ea-generos-lista.ea-cols-3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) {
	body .ea-generos-lista { gap: 10px; }
	body .ea-genero > a { min-height: 190px; padding: 16px 14px 0; }
	body .ea-genero-nombre { font-size: 19px; padding-right: 30px; }
	body .ea-genero-subs { display: none; }
	body .ea-genero .ea-flecha { top: 14px; right: 12px; width: 26px; height: 26px; padding: 6px; }
	body .ea-genero-portadas { height: 96px; }
	body .ea-genero-portada { width: 60px !important; margin: 0 -8px -24px; }
	body .ea-genero-fondo-img { width: 40px !important; }
	body .ea-genero-portada.ea-lejos { display: none; }
}

/* ---------- 26. Página no encontrada (404.php del tema hijo) ---------- */
body .ea-404 { padding: 72px 0 96px; text-align: center; }
body .ea-404 .ea-catalog-lead p { margin: 0 auto; }
body .ea-404-buscar { display: flex; gap: 10px; max-width: 560px; margin: 32px auto 0; }
body .ea-404-buscar input[type="search"] { flex: 1 1 auto; min-width: 0; height: 48px; padding: 0 16px; background: #fff; border: 1px solid var(--ea-line); }
body .ea-404 .button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 24px !important; line-height: 1; background: var(--ea-navy) !important; color: #fff !important; }
body .ea-404 .button:hover { background: var(--ea-navy-dark) !important; }
body .ea-404-enlaces { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin: 16px 0 0; }
body .ea-404 .ea-404-secundario { background: transparent !important; color: var(--ea-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ea-navy); }
body .ea-404 .ea-404-secundario:hover { background: color-mix(in srgb, var(--ea-navy) 8%, #fff) !important; }

/* ---------- 27. Confirmación del pedido y pedido en Mi cuenta (plantillas de WooCommerce/tema) ---------- */
body .woocommerce-order .woocommerce-notice--success,
body .woocommerce-order .woocommerce-thankyou-order-received {
	padding: 14px 18px !important;
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line) !important;
	border-left: 3px solid var(--ea-navy) !important;
	border-radius: var(--ea-radius) !important;
	color: var(--ea-ink) !important;
	text-align: left !important;
}
body .woocommerce-order ul.woocommerce-order-overview {
	display: grid !important;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 16px 24px;
	margin: 20px 0 !important;
	padding: 22px 24px !important;
	background: var(--ea-paper) !important;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	text-align: left !important;
}
body .woocommerce-order ul.woocommerce-order-overview li { margin: 0 !important; padding: 0 !important; border: 0 !important; text-align: left !important; color: var(--ea-muted) !important; font-size: 12px !important; letter-spacing: .06em; }
body .woocommerce-order ul.woocommerce-order-overview li strong { overflow-wrap: anywhere; display: block; margin-top: 4px; color: var(--ea-ink) !important; font-size: 15px !important; letter-spacing: 0; }
body :is(.woocommerce-order, .woocommerce-MyAccount-content) :is(.woocommerce-order-details__title, .woocommerce-column__title, h2) { color: var(--ea-ink) !important; }
body :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table thead th {
	background: var(--ea-paper) !important;
	color: var(--ea-muted) !important;
	border-bottom: 1px solid var(--ea-line) !important;
	font-size: 12px !important;
	letter-spacing: .08em;
}
body :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table :is(td, th) { border-color: var(--ea-line) !important; }
body :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table td.product-name a { color: var(--ea-ink) !important; font-weight: 600; }
body :is(.woocommerce-order, .woocommerce-MyAccount-content) table.woocommerce-table tfoot tr:last-child :is(th, td) { border-top: 1px solid var(--ea-ink) !important; }
body :is(.woocommerce-order, .woocommerce-MyAccount-content) address { border: 1px solid var(--ea-line) !important; border-radius: var(--ea-radius) !important; background: var(--ea-paper); }
body .login-pro-card .pro-hint { margin: 6px 0 0; color: var(--ea-muted); font-size: 13px; }
body .login-pro-card .pro-recordar { display: flex; align-items: center; gap: 8px; margin: 0 0 16px; color: var(--ea-ink); font-size: 14px; font-weight: 400; text-transform: none; letter-spacing: 0; cursor: pointer; } /* "Recordarme" (form-login.php, WooCommerce 9.9) */
body .login-pro-card .pro-recordar input { width: 18px; height: 18px; margin: 0; accent-color: var(--ea-navy); }

/* Recuperar contraseña (/mi-cuenta/recuperar-contrasena/): el tema la pone en fila (aviso a un lado, formulario al otro) */
body.woocommerce-lost-password .woocommerce { display: block !important; max-width: 480px; margin: 56px auto 72px !important; }
body.woocommerce-lost-password .woocommerce > * { width: 100% !important; max-width: none !important; margin-left: 0 !important; margin-right: 0 !important; float: none !important; }
body.woocommerce-lost-password form.lost_reset_password {
	padding: 32px !important;
	background: #fff;
	border: 1px solid var(--ea-line) !important;
	border-radius: var(--ea-radius) !important;
	box-shadow: var(--ea-shadow) !important;
}
body.woocommerce-lost-password form.lost_reset_password .form-row { width: 100% !important; float: none !important; }
body.woocommerce-lost-password .woocommerce > p { margin-top: 0; color: var(--ea-muted); line-height: 1.6; }
body .woocommerce-notices-wrapper :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) { text-transform: none !important; }
/* Registro: el aviso de privacidad de WooCommerce salía invisible (dejaba un hueco antes de "Crear cuenta") */
body .login-pro-card .woocommerce-privacy-policy-text, body .login-pro-card .woocommerce-privacy-policy-text p { margin: 4px 0 16px !important; color: var(--ea-muted) !important; font-size: 13px !important; line-height: 1.5 !important; text-align: left; }
body .login-pro-card .woocommerce-privacy-policy-text a { color: var(--ea-navy) !important; text-decoration: underline; }

/* Barra inferior del móvil: sin "Mayúsculas En Cada Palabra" del tema */
body .bwp-header .text-icon-flex, body .bwp-header .text-icon-flex * { text-transform: none !important; }
/* Acceso: el aviso de error, a la medida de la tarjeta y no a todo el ancho */
body.woocommerce-account:not(.logged-in) .woocommerce > :is(.woocommerce-error, .woocommerce-message, .woocommerce-info, .woocommerce-notices-wrapper) { max-width: 420px; margin: 32px auto 0 !important; }
/* Mis pedidos: "Confirmar dirección de correo electrónico" (WooCommerce, para ver pedidos hechos sin cuenta) en tamaño normal */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	width: auto !important;
	margin: 0 0 10px !important;
	padding: 10px 16px !important;
	font-size: 12px !important;
	line-height: 1.2 !important;
	background: var(--ea-navy) !important;
	border: 0 !important;
	color: #fff !important;
	float: none !important;
}
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; }

/* ---------- 28. Avisos y errores: un solo estilo en toda la web ----------
   WooCommerce clásico (acceso, registro, contraseña, carrito, Mi cuenta), bloques de carrito/pago, Contact Form 7, WPForms
   y el formulario de manuscritos. Verde = hecho, rojo = error, marino = información. Icono propio (máscara SVG) en vez de
   la fuente de iconos de WooCommerce, sin la raya gruesa de arriba del tema y sin tapar lo que va debajo. */
:root {
	--ea-ok: #2f6b4f; --ea-ok-bg: #eff6f2; --ea-ok-line: #cfe3d7;
	--ea-err: #b42318; --ea-err-bg: #fdf3f2; --ea-err-line: #f1d1cd;
	--ea-icono-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='m8 12.5 2.8 2.8L16.5 9'/%3E%3C/svg%3E");
	--ea-icono-error: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 7.5v5.5M12 16.5h.01'/%3E%3C/svg%3E");
	--ea-icono-info: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpath d='M12 16.5V11M12 7.5h.01'/%3E%3C/svg%3E");
}
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ea-manuscrito-error, .wpcf7 form .wpcf7-response-output, .wpforms-error-container) {
	--c: var(--ea-navy); --c-bg: color-mix(in srgb, var(--ea-navy) 6%, #fff); --c-line: color-mix(in srgb, var(--ea-navy) 18%, #fff); --c-icono: var(--ea-icono-info);
	position: relative;
	display: block;
	margin: 0 0 20px !important;
	padding: 13px 16px 13px 46px !important;
	background: var(--c-bg) !important;
	border: 1px solid var(--c-line) !important;
	border-left: 3px solid var(--c) !important;
	border-radius: var(--ea-radius-sm) !important;
	box-shadow: none !important;
	color: var(--ea-ink) !important;
	font-size: 14.5px !important;
	font-weight: 400 !important;
	line-height: 1.55 !important;
	text-align: left !important;
	text-transform: none !important;
	list-style: none !important;
}
html body .wpcf7 form .wpcf7-response-output { margin: 20px 0 0 !important; } /* Va debajo del botón Enviar */
html body :is(.woocommerce-message, .wpcf7 form.sent .wpcf7-response-output) { --c: var(--ea-ok); --c-bg: var(--ea-ok-bg); --c-line: var(--ea-ok-line); --c-icono: var(--ea-icono-ok); }
html body :is(.woocommerce-error, .ea-manuscrito-error, .wpforms-error-container, .wpcf7 form:is(.invalid, .unaccepted, .payment-required, .failed, .aborted, .spam) .wpcf7-response-output) { --c: var(--ea-err); --c-bg: var(--ea-err-bg); --c-line: var(--ea-err-line); --c-icono: var(--ea-icono-error); }
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ea-manuscrito-error, .wpcf7 form .wpcf7-response-output, .wpforms-error-container)::before {
	content: "" !important;
	position: absolute !important;
	top: 14px !important; left: 15px !important; right: auto !important;
	width: 20px !important; height: 20px !important;
	margin: 0 !important;
	background: var(--c) !important;
	-webkit-mask: var(--c-icono) center / contain no-repeat;
	mask: var(--c-icono) center / contain no-repeat;
	font-size: 0 !important;
	display: block !important;
}
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) :is(li, p) { margin: 0 !important; padding: 0 !important; list-style: none !important; text-transform: none !important; }
html body .woocommerce-error li + li { margin-top: 6px !important; }
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) strong { font-weight: 600; color: inherit; }
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error, .ea-manuscrito-error, .wpforms-error-container) a:not(.button) { color: var(--c) !important; font-weight: 500; text-decoration: underline; text-underline-offset: 2px; }
/* Botón dentro del aviso ("Ver carrito", "Ir a la tienda"…): pequeño, a la derecha y con el estilo de la web */
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button {
	float: right; margin: -3px 0 -3px 16px !important; padding: 7px 14px !important;
	background: #fff !important; color: var(--c) !important; border: 1.5px solid var(--c) !important; box-shadow: none !important;
	font-size: 12px !important; line-height: 1.3 !important;
}
html body :is(.woocommerce-message, .woocommerce-info, .woocommerce-error) a.button:hover { background: var(--c) !important; color: #fff !important; }
/* Contenedor de avisos: sin bordes ni fondo del tema */
html body .woocommerce-notices-wrapper { border: 0 !important; padding: 0 !important; background: none !important; }
html body .woocommerce-notices-wrapper:empty { display: none; }
/* Recuperar contraseña enviada: el texto de después va pegado al aviso, como su explicación */
html body.woocommerce-lost-password .woocommerce > :is(.woocommerce-message, .woocommerce-notices-wrapper) + p { margin: 0 0 24px; font-size: 14.5px; }
/* Bloques de carrito y pago (cupones, stock, errores del pago) */
html body .wc-block-components-notice-banner {
	padding: 13px 16px !important; gap: 10px !important; align-items: flex-start !important;
	background: color-mix(in srgb, var(--ea-navy) 6%, #fff) !important;
	border: 1px solid color-mix(in srgb, var(--ea-navy) 18%, #fff) !important; border-left: 3px solid var(--ea-navy) !important;
	border-radius: var(--ea-radius-sm) !important; color: var(--ea-ink) !important; font-size: 14.5px !important; line-height: 1.55 !important;
}
html body .wc-block-components-notice-banner > svg { width: 20px; height: 20px; flex: none; margin: 1px 0 0 !important; padding: 0 !important; background: none !important; border-radius: 0 !important; fill: var(--ea-navy) !important; }
html body .wc-block-components-notice-banner.is-success { background: var(--ea-ok-bg) !important; border-color: var(--ea-ok-line) !important; border-left-color: var(--ea-ok) !important; }
html body .wc-block-components-notice-banner.is-success > svg { fill: var(--ea-ok) !important; }
html body .wc-block-components-notice-banner:is(.is-error, .is-warning) { background: var(--ea-err-bg) !important; border-color: var(--ea-err-line) !important; border-left-color: var(--ea-err) !important; }
html body .wc-block-components-notice-banner:is(.is-error, .is-warning) > svg { fill: var(--ea-err) !important; }
/* Errores junto al campo: mismo rojo, tamaño de nota */
html body :is(.wc-block-components-validation-error, .wpcf7-not-valid-tip, .wpforms-form label.wpforms-error) { color: var(--ea-err) !important; font-size: 13px !important; font-weight: 500 !important; }
html body .wc-block-components-validation-error svg { fill: var(--ea-err) !important; flex: none; }
html body :is(.wpcf7-not-valid, .wpforms-field input.wpforms-error, .wpforms-field textarea.wpforms-error, .wpforms-field select.wpforms-error) { border-color: var(--ea-err) !important; }
/* Botón "Aplicar" del cupón: salía en el azul del kit de Elementor */
html body :is(#ea-gana-a-botones, .wc-block-components-totals-coupon__button) { background: var(--ea-navy) !important; border-color: var(--ea-navy) !important; color: #fff !important; }

/* ---------- 29. "¿Tienes una historia que contar?" (portada y Sobre nosotros) ----------
   Mismo radio que el resto de tarjetas y como mucho tan ancho como el contenido. Detrás de una sección oscura (Sobre
   nosotros: "Qué hacemos") va en claro: dos bloques marino seguidos se fundían en uno. */
html body .ea-cta { border-radius: var(--ea-radius) !important; max-width: 1400px; margin: 0 auto clamp(40px, 6vw, 72px) !important; }
html body .ea-publica + .ea-cta {
	margin-top: clamp(40px, 6vw, 72px) !important;
	padding-top: clamp(48px, 6vw, 72px) !important; padding-bottom: clamp(48px, 6vw, 72px) !important;
	background: color-mix(in srgb, var(--ea-navy) 6%, #fff) !important;
	border: 1px solid color-mix(in srgb, var(--ea-navy) 14%, #fff);
}
html body .ea-publica + .ea-cta .ea-cta-title .elementor-heading-title { color: var(--ea-ink) !important; }
html body .ea-publica + .ea-cta .ea-cta-text p { color: var(--ea-muted); }
html body .ea-publica + .ea-cta :is(#ea-gana-a-botones, .ea-btn-light) .elementor-button { background: var(--ea-navy) !important; color: #fff !important; }
html body .ea-publica + .ea-cta :is(#ea-gana-a-botones, .ea-btn-outline-light) .elementor-button { background: #fff !important; color: var(--ea-navy) !important; box-shadow: inset 0 0 0 1.5px var(--ea-navy) !important; }
html body .ea-publica + .ea-cta :is(#ea-gana-a-botones, .ea-btn-outline-light) .elementor-button:hover { background: var(--ea-navy) !important; color: #fff !important; }

/* ---------- 30. Tarjetas de libro: todas de la misma altura en cada fila ----------
   Un título de dos líneas hacía la tarjeta más alta que las de al lado (Librería, géneros, búsqueda, portada y carruseles
   de la ficha). La tarjeta llena su hueco y el precio queda abajo, alineado en toda la fila. */
html body ul.products > li.product { display: flex !important; flex-direction: column; }
html body ul.products > li.product > .products-entry,
html body .slick-slide.products-entry { flex: 1 1 auto; display: flex !important; flex-direction: column; }
html body .products-entry .products-content,
html body .products-entry .products-content .contents { flex: 1 1 auto; display: flex; flex-direction: column; }
html body .products-entry .products-content .contents > .price { margin-top: auto; padding-top: 6px; }
/* Carruseles (relacionados, vistos recientemente…): las diapositivas también se estiran */
html body .slick-track:has(.products-entry) { display: flex !important; }
html body .slick-track:has(.products-entry) > .slick-slide { height: auto !important; float: none !important; } /* La diapositiva ES la tarjeta (.products-entry) */

/* ---------- 31. Ficha del libro en móvil (revisión oct 2026) ---------- */
/* "Comprar ahora" (botón del tema): salía con texto gris y parecía desactivado → contorno marino, como "Echar un vistazo" */
html body .summary :is(#ea-gana-a-botones, .quick-buy) {
	background: #fff !important;
	color: var(--ea-navy) !important;
	border: 0 !important;
	box-shadow: inset 0 0 0 1.5px var(--ea-navy) !important;
}
html body .summary :is(#ea-gana-a-botones, .quick-buy):hover { background: var(--ea-navy) !important; color: #fff !important; }
/* Sinopsis / Detalles / Valoraciones (acordeón del móvil): titulares de la web, no mayúsculas grises */
html body .woocommerce-tabs .tab-title {
	font-family: "Newsreader", Georgia, serif !important;
	font-size: 21px !important;
	font-weight: 600 !important;
	color: var(--ea-ink) !important;
	text-transform: none !important;
	letter-spacing: 0 !important;
}
/* Pago seguro: la etiqueta en su línea y las tres tarjetas juntas debajo (si no, "American Express" quedaba sola) */
@media (max-width: 767px) {
	html body .ea-pay { flex-wrap: wrap; row-gap: 8px; }
	html body .ea-pay .ea-pay-label { flex-basis: 100%; }
	html body .summary .ea-pay .ea-pay-label { text-align: center; }
	/* Carruseles: las flechas tapaban el borde de las tarjetas; en el móvil se desliza con el dedo */
	html body :is(.related, .recent-view, .upsells, .cross_sell) .slick-arrow { display: none !important; }
}

/* ---------- 32. Carrito y pago en móvil (revisión oct 2026) ---------- */
/* Envío gratis: la zona en su propia línea (compra.js) */
body .ea-envio-gratis-zona { display: block; margin-top: 2px; color: var(--ea-muted); font-size: 13px; }
/* Desplegables (País, Provincia): el valor iba centrado y se montaba sobre la etiqueta → valor abajo, como en los campos de texto */
html body .wc-block-checkout .wc-blocks-components-select__select { padding: 20px 40px 6px 14px !important; line-height: 22px !important; }
/* Campo con error: borde rojo (antes solo salía el texto) */
html body .wc-block-checkout :is(.wc-block-components-text-input.has-error input, .wc-blocks-components-select.has-error select, .wc-block-components-combobox.has-error input, .has-error textarea) {
	border-color: var(--ea-err) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ea-err) 12%, transparent) !important;
}
/* Al fallar el pago, WooCommerce sube hasta el aviso con scrollIntoView() y la cabecera fija lo tapaba: el cliente no
   veía por qué no se hacía el pedido (p. ej. sin la casilla de desistimiento). Margen = alto de la cabecera fija. */
html body :is(.wc-block-components-notices, .wc-block-store-notices, .wc-block-components-notice-banner, .wc-block-checkout .has-error, .wc-block-checkout input, .wc-block-checkout select) { scroll-margin-top: 160px; }
@media (max-width: 1024px) { html body :is(.wc-block-components-notices, .wc-block-store-notices, .wc-block-components-notice-banner, .wc-block-checkout .has-error, .wc-block-checkout input, .wc-block-checkout select) { scroll-margin-top: 120px; } }
/* "Envío gratis · GRATIS": sin mayúsculas */
html body :is(.wc-block-components-totals-item__value, .wc-block-components-radio-control__secondary-label) :is(strong, span), html body .wc-block-components-radio-control__secondary-label { text-transform: none !important; }
@media (max-width: 781px) {
	/* Resumen plegable de arriba: tarjeta de papel como la del carrito (salía blanca con sombra y radio de 12 px) */
	html body .wc-block-checkout.is-mobile .wc-block-checkout__sidebar,
	html body .wc-block-checkout.is-small .wc-block-checkout__sidebar {
		padding: 0 18px !important;
		background: var(--ea-paper) !important;
		border: 1px solid var(--ea-line) !important;
		border-radius: var(--ea-radius) !important;
		box-shadow: none !important;
	}
	html body .wc-block-checkout__sidebar .wc-block-components-checkout-order-summary__title { border: 0 !important; padding: 16px 0 !important; }
	/* iPhone amplía la página al tocar un campo con letra menor de 16 px */
	html body :is(.wc-block-checkout, .wc-block-cart) :is(input, select, textarea) { font-size: 16px !important; }
}

/* ---------- 33. Mi cuenta (revisión en móvil, oct 2026) ---------- */
/* Aviso "Confirmar dirección de correo electrónico" (WooCommerce, para ver pedidos hechos sin cuenta): primero el texto,
   debajo el botón en pequeño (iba arriba, enorme y en mayúsculas) */
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info { display: flex !important; flex-direction: column; align-items: flex-start; gap: 10px; }
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button {
	order: 2; margin: 0 !important; padding: 8px 14px !important;
	background: #fff !important; color: var(--ea-navy) !important; border: 0 !important;
	box-shadow: inset 0 0 0 1.5px var(--ea-navy) !important; font-size: 12px !important; float: none !important;
}
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button::before { display: none !important; }
html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button:hover { background: var(--ea-navy) !important; color: #fff !important; }
/* Direcciones: título de la web (no mayúsculas en serif grande) y "Editar" como enlace */
html body.woocommerce-account .woocommerce-Address-title { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 4px 12px; margin-bottom: 12px; }
html body.woocommerce-account .woocommerce-Address-title h2 {
	margin: 0 !important; font-family: "Newsreader", Georgia, serif !important; font-size: 20px !important; font-weight: 600 !important;
	color: var(--ea-ink) !important; text-transform: none !important; letter-spacing: 0 !important;
}
html body.woocommerce-account .woocommerce-Address-title a.edit {
	position: static !important; padding: 0 !important; background: none !important; border: 0 !important; box-shadow: none !important;
	color: var(--ea-navy) !important; font-size: 14px !important; font-weight: 500 !important; text-transform: none !important; letter-spacing: 0 !important;
	text-decoration: underline; text-underline-offset: 2px; white-space: nowrap;
}
html body.woocommerce-account .woocommerce-Address-title a.edit { font-size: 0 !important; }
html body.woocommerce-account .woocommerce-Address-title a.edit::after { content: "Editar"; font-size: 14px; }
/* Formularios de Datos de la cuenta y de Dirección: mismas etiquetas, campos y botón (eran distintos entre sí) */
html body.woocommerce-account :is(.woocommerce-EditAccountForm, .woocommerce-address-fields) label {
	font-size: 14px !important; font-weight: 500 !important; color: var(--ea-ink) !important;
	text-transform: none !important; letter-spacing: 0 !important; margin-bottom: 6px !important;
}
html body.woocommerce-account :is(.woocommerce-EditAccountForm, .woocommerce-address-fields) :is(input.input-text, select, textarea, .select2-container .select2-selection--single) {
	min-height: 46px !important; padding: 10px 14px !important; background: #fff !important;
	border: 1px solid var(--ea-line) !important; border-radius: var(--ea-radius-sm) !important; box-shadow: none !important;
	color: var(--ea-ink) !important; font-size: 16px !important; line-height: 1.4 !important;
}
html body.woocommerce-account .woocommerce-address-fields .select2-container .select2-selection--single { display: flex; align-items: center; }
html body.woocommerce-account .woocommerce-address-fields .select2-selection__rendered { padding: 0 !important; line-height: 1.4 !important; color: var(--ea-ink) !important; }
html body.woocommerce-account .woocommerce-address-fields .select2-selection__arrow { top: 50% !important; transform: translateY(-50%); right: 8px !important; }
html body.woocommerce-account :is(.woocommerce-EditAccountForm, .woocommerce-address-fields) :is(input.input-text, select, textarea):focus { border-color: var(--ea-navy) !important; box-shadow: 0 0 0 3px color-mix(in srgb, var(--ea-navy) 15%, transparent) !important; outline: 0; }
html body.woocommerce-account .woocommerce-EditAccountForm fieldset { padding: 18px 18px 6px !important; border: 1px solid var(--ea-line) !important; border-radius: var(--ea-radius) !important; }
html body.woocommerce-account .woocommerce-EditAccountForm legend { padding: 0 8px !important; font-family: "Newsreader", Georgia, serif !important; font-size: 18px !important; font-weight: 600 !important; text-transform: none !important; letter-spacing: 0 !important; color: var(--ea-ink) !important; }
html body.woocommerce-account .woocommerce-EditAccountForm em, html body.woocommerce-account .woocommerce-EditAccountForm #account_display_name_description { color: var(--ea-muted) !important; font-size: 13px !important; font-style: normal !important; }
html body.woocommerce-account :is(#ea-gana-a-botones, .woocommerce-EditAccountForm button[name="save_account_details"], .woocommerce-address-fields + p button[name="save_address"], button[name="save_address"]) {
	padding: 14px 24px !important; background: var(--ea-navy) !important; border: 0 !important; color: #fff !important;
	border-radius: var(--ea-btn-radius, var(--ea-radius-sm)) !important; font-size: 13px !important; box-shadow: none !important;
}
@media (max-width: 900px) {
	/* Pestañas: se cortaba la primera por la izquierda y la activa llevaba una raya oscura solo a un lado */
	body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0 !important; padding: 2px 2px 6px !important; }
	html body.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a { border: 1px solid color-mix(in srgb, var(--ea-navy) 30%, #fff) !important; box-shadow: none !important; }
	/* Direcciones: una debajo de otra */
	html body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses { display: grid !important; grid-template-columns: minmax(0, 1fr) !important; gap: 16px !important; }
	html body.woocommerce-account .woocommerce-Addresses .woocommerce-Address { width: 100% !important; max-width: none !important; float: none !important; margin: 0 !important; }
	/* Mis pedidos: cada pedido en su tarjeta (antes era una lista seguida y no se veía dónde empezaba el siguiente) */
	html body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table.shop_table { border: 0 !important; border-radius: 0 !important; overflow: visible !important; background: none !important; box-shadow: none !important; }
	html body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody tr {
		display: block; margin: 0 0 12px; overflow: hidden;
		background: #fff; border: 1px solid var(--ea-line) !important; border-radius: var(--ea-radius) !important;
	}
	html body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody :is(td, th) {
		display: block !important; overflow: hidden;
		padding: 10px 16px !important; border: 0 !important; border-top: 1px solid var(--ea-line) !important; text-align: right !important;
	}
	html body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody :is(td, th):first-child { border-top: 0 !important; background: var(--ea-paper); text-align: left !important; }
	html body.woocommerce-account .woocommerce-MyAccount-content table.woocommerce-orders-table tbody :is(td, th)::before { float: left !important; margin-right: 12px; color: var(--ea-muted); font-weight: 500 !important; text-align: left; }
}

/* ---------- 34. Presupuestos: "¡Solicitud enviada!" solo cuando WPForms confirma (mu-plugin assets/js/presupuesto.js) ---------- */
body.ea-enviando-presupuesto :is(#wi-success, #wiz-success) { display: none !important; }
body.ea-enviando-presupuesto :is(#sp-3, #wiz-form) { display: block !important; }
body :is(#wi-submit, #wiz-submit):disabled { opacity: .7; cursor: progress; }

/* ---------- 35. Auditoría de diseño (oct 2026): piezas sueltas que no seguían el estilo común ---------- */
/* Migas de la ficha: el libro actual salía en azul vivo (color del tema) */
html body .breadcrumb-noheading .breadcrumb { color: var(--ea-ink) !important; font-weight: 500; }
html body .breadcrumb-noheading .breadcrumb a { color: var(--ea-muted) !important; font-weight: 400; }
html body .breadcrumb-noheading .breadcrumb a:hover { color: var(--ea-navy) !important; }
/* Presupuesto ebook: el botón final llevaba el azul del kit de Elementor (#01356f) y no el marino de la web */
html body :is(#ea-gana-a-botones, #wiz-submit) { background: var(--ea-navy) !important; border-color: var(--ea-navy) !important; color: #fff !important; }
/* Sobre nosotros, "Qué hacemos": la línea de la cronología de la portada (.ea-publica .ea-step) cruzaba sus tarjetas */
html body .ea-publica .ea-step.ea-about-card::after { display: none !important; }
/* Títulos de las tarjetas de pasos (portada, Sobre nosotros, Contacto, Envía tu manuscrito): eran Mona Sans 800;
   el resto de títulos de tarjeta de la web van en Newsreader 600 */
html body .ea-step-title .elementor-heading-title { font-family: "Newsreader", Georgia, serif !important; font-weight: 600 !important; font-size: 21px !important; letter-spacing: 0 !important; line-height: 1.25 !important; }
@media (max-width: 767px) { html body .ea-step-title .elementor-heading-title { font-size: 19px !important; } }
/* Guías: el título del bloque final era oscuro sobre marino (no se leía) y el botón, una píldora en minúsculas */
html body .ea-guide-cta h2 { color: #fff !important; }
html body .ea-guide-cta p { color: rgba(255, 255, 255, .82) !important; }
html body .ea-guide-cta a {
	display: inline-block; padding: 13px 24px !important; background: #fff !important; color: var(--ea-navy) !important;
	border-radius: var(--ea-btn-radius, var(--ea-radius-sm)) !important; text-transform: uppercase; letter-spacing: .12em;
	font-size: 13px !important; font-weight: 700 !important; text-decoration: none !important; box-shadow: none !important;
}
html body .ea-guide-cta a:hover { background: color-mix(in srgb, #fff 88%, var(--ea-navy)) !important; }
/* Guías: notas en ámbar → aviso informativo (marino) y consejos → verde, como los avisos de la sección 28 */
html body .ea-guide-note, html body .ea-guide-tip {
	background: color-mix(in srgb, var(--ea-navy) 6%, #fff) !important; color: var(--ea-ink) !important;
	border: 1px solid color-mix(in srgb, var(--ea-navy) 18%, #fff) !important; border-left: 3px solid var(--ea-navy) !important;
	border-radius: var(--ea-radius-sm) !important;
}
html body .ea-guide-tip { background: var(--ea-ok-bg) !important; border-color: var(--ea-ok-line) !important; border-left-color: var(--ea-ok) !important; }
html body :is(.ea-guide-note, .ea-guide-tip) strong { color: inherit !important; }
/* Plantillas: guías de margen de la ilustración en morado → marino */
html body .guide-v, html body .guide-h { background: color-mix(in srgb, var(--ea-navy) 55%, transparent) !important; border-color: color-mix(in srgb, var(--ea-navy) 55%, transparent) !important; }
/* Páginas legales: subtítulos <h2> (tools/legales.php) con el mismo aspecto que Condiciones de venta */
html body .elementor-widget-text-editor h2 { margin: 28px 0 10px !important; font-family: "Newsreader", Georgia, serif !important; font-size: 24px !important; font-weight: 600 !important; color: var(--ea-ink) !important; text-transform: none !important; letter-spacing: 0 !important; line-height: 1.25 !important; }
html body .elementor-widget-text-editor h1 { font-family: "Newsreader", Georgia, serif !important; font-size: clamp(32px, 4vw, 46px) !important; font-weight: 600 !important; color: var(--ea-ink) !important; margin: 0 0 20px !important; }
/* Acceso y registro: etiquetas como el resto de formularios (sin mayúsculas) */
html body .login-pro-card :is(#ea-gana-a-botones, .pro-field) label { text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 500 !important; color: var(--ea-ink) !important; font-family: "Mona Sans", sans-serif !important; }
/* Carrito vacío (bloque de WooCommerce) */
html body .wc-block-cart__empty-cart__title { font-family: "Newsreader", Georgia, serif !important; font-size: 26px !important; font-weight: 600 !important; color: var(--ea-ink) !important; margin: 8px 0 6px !important; }
html body .wc-block-cart__empty-cart__title::before { opacity: .55; transform: scale(.8); }
html body .wp-block-woocommerce-empty-cart-block .wp-block-separator.is-style-dots { display: none; }
html body .wp-block-woocommerce-empty-cart-block h2.wp-block-heading:not(.wc-block-cart__empty-cart__title) { font-size: 24px !important; margin: 40px 0 20px !important; }
html body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product {
	padding: 16px !important; background: var(--ea-paper); border: 1px solid var(--ea-line) !important; border-radius: var(--ea-radius) !important; text-align: left;
}
html body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-title { font-family: "Newsreader", Georgia, serif !important; font-size: 17px !important; font-weight: 600 !important; color: var(--ea-ink) !important; }
html body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product-add-to-cart { display: none !important; } /* La tarjeta ya lleva a la ficha, donde se elige el formato */
/* Favoritos (cuenta.php): cabecera y estado vacío */
html body .ea-fav-head { max-width: 1170px; margin: 40px auto 24px; padding: 0 15px 20px; }
html body .woosw-list .woosw-popup-content-mid-message { max-width: 1140px; margin: 0 auto; padding: 32px 20px !important; background: var(--ea-paper) !important; border: 1px solid var(--ea-line); border-radius: var(--ea-radius); color: var(--ea-muted) !important; font-size: 15px; text-align: center; }
html body .woosw-list { background: none !important; padding: 0 15px !important; border: 0 !important; }
html body .ea-fav-vacia { text-align: center; margin: 20px 0 64px; }
html body .ea-fav-vacia :is(#ea-gana-a-botones, .button) { display: inline-block; padding: 13px 24px !important; background: var(--ea-navy) !important; color: #fff !important; border: 0 !important; border-radius: var(--ea-btn-radius, var(--ea-radius-sm)) !important; font-size: 13px !important; }
/* Envía tu manuscrito: el enlace "Descargar plantillas" partía la flecha a otra línea */
html body .ea-step .ea-btn-link .elementor-button-content-wrapper { flex-wrap: nowrap; white-space: nowrap; }
html body :is(.ea-guide-note, .ea-guide-tip) a { color: var(--ea-navy) !important; text-decoration: underline; text-underline-offset: 2px; }
html body .login-pro-card .pro-btn { font-family: "Mona Sans", sans-serif !important; } /* pedía "Montserrat" (alias de Mona Sans, §0) */

/* ---------- 36. Accesibilidad (auditoría oct 2026) ---------- */
/* "Saltar al contenido" (cabecera.php): oculto hasta que se llega con el teclado */
html body .ea-saltar { position: fixed; left: 12px; top: -80px; z-index: 100000; padding: 10px 16px; background: var(--ea-navy); color: #fff !important; border-radius: var(--ea-radius-sm); font-size: 14px; font-weight: 600; text-decoration: none; }
html body .ea-saltar:focus { top: 12px; outline: 3px solid color-mix(in srgb, var(--ea-navy) 35%, #fff); }
/* Foco visible al usar el teclado en todo (el tema lo quitaba en el buscador y en varios botones) */
html body :is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: 2px solid var(--ea-navy) !important;
	outline-offset: 2px !important;
}
html body :is(.ea-publica, .ea-cta:not(.ea-publica + .ea-cta), .ea-guide-cta, .ea-guide-hero) :is(a, button):focus-visible { outline-color: #fff !important; }
/* Contraste (mín. 4,5:1): grises claros del tema y de páginas escritas a mano → gris de la web (--ea-muted) */
html body .bwp-mobile_toolbar :is(.with-text, .text-icon-flex, span) { color: var(--ea-muted) !important; }
html body .summary .social-share .title, html body .summary :is(.share, .social-icon) .title { color: var(--ea-muted) !important; }
html body :is(.ea-pub-note, .ea-guide-spec-label, .wiz-subtitle, .oc-desc, .dot-label) { color: var(--ea-muted) !important; }
html body :is(#wiz-impreso, #wiz-digital, .wiz-wrap, .wiz-form) label { color: var(--ea-ink) !important; }
/* Zonas táctiles de al menos 24 px en el móvil: iconos de la cabecera y enlaces del pie */
@media (max-width: 767px) {
	html body :is(a.menu-toggle, a.cart-icon) { display: inline-block; padding: 8px; margin: -8px; }
	html body :is(.bwp-footer, #bwp-footer, .footer) .elementor-widget-container a,
	html body :is(.bwp-footer, #bwp-footer, .footer) li a { display: inline-block; padding: 3px 0; }
}
html body .share-content .title { color: var(--ea-muted) !important; }
html body .login-pro-card h1.pro-titulo { margin: 10px 0 18px !important; font-size: 24px !important; line-height: 1.25 !important; text-align: center; }
@media (max-width: 767px) { html body .bwp-mobile_offcanvas :is(.menu, ul) li > a { display: block; padding-top: 10px !important; padding-bottom: 10px !important; } }
html body .product_meta a { color: var(--ea-muted) !important; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- 37. Rendimiento: sin saltos al cargar (auditoría oct 2026) ---------- */
/* Portada grande de la ficha: el tema la pinta sin width/height y en móvil, al llegar, empujaba la caja de compra
   ~490 px (CLS 0,46). Hueco reservado con la proporción de un libro hasta que llega (luego manda la suya). */
html body.single-product .woocommerce-product-gallery img.attachment-shop_single { aspect-ratio: auto 2 / 3; height: auto; width: 100%; object-fit: contain; }
/* Ficha: la portada va en un carrusel (slick) que el tema oculta hasta que lo arranca su JavaScript
   (".slick-carousel:not(.slick-initialized) {display:none}"): hasta entonces medía 15 px y al arrancar empujaba la caja de
   compra. Se muestra ya la primera imagen, como hace el propio tema en la vista rápida. */
html body:not(.elementor-editor-active) .woocommerce-product-gallery .image-additional.slick-carousel:not(.slick-initialized) { display: block; }
html body:not(.elementor-editor-active) .woocommerce-product-gallery .image-additional.slick-carousel:not(.slick-initialized) > .img-thumbnail:not(:first-child) { display: none; }
/* Pago: mientras WooCommerce monta el bloque (clase is-loading) era bajito y el pie asomaba arriba; al crecer lo
   empujaba fuera (en el pago en móvil, CLS 0,65). Altura reservada mientras carga. */
html body .wp-block-woocommerce-checkout.is-loading { min-height: 900px; } /* En el carrito no: su esqueleto ya es alto y al encogerse movía lo de debajo… */
/* …salvo el carrito VACÍO: su esqueleto es bajo y el pie asomaba en pantalla hasta que WooCommerce pintaba "Novedades" (CLS 0,23 en
   escritorio). Hueco mínimo mientras carga (con libros el esqueleto ya es más alto que esto). */
html body .wp-block-woocommerce-cart.is-loading { min-height: 640px; }
/* En escritorio pasa además por un estado intermedio (ya sin is-loading y aún sin "Novedades") en que el pie asomaba 70 ms. */
@media (min-width: 782px) { html body.ea-carrito-vacio .wp-block-woocommerce-cart { min-height: 760px; } } /* clase: compra.php */
/* /publica/digital/: 5 ventajas (se quitó "Marca de agua digital", que la web no hacía): en 3 columnas la segunda fila
   quedaba con un hueco; se centra. */
@media (min-width: 1025px) {
	html body .elementor-widget-html .ea-features-grid:has(> .ea-feature-card:nth-child(5):last-child) { grid-template-columns: repeat(6, minmax(0, 1fr)) !important; }
	html body .elementor-widget-html .ea-features-grid:has(> .ea-feature-card:nth-child(5):last-child) > .ea-feature-card { grid-column: span 2; }
	html body .elementor-widget-html .ea-features-grid:has(> .ea-feature-card:nth-child(5):last-child) > .ea-feature-card:nth-child(4) { grid-column: 2 / span 2; }
}
/* Favoritos fuera de la barra inferior del móvil (decisión de la editorial, oct 2026): el botón de guardar está apagado en
   el tema y la página siempre salía vacía. El plugin sigue instalado; para volver, quitar esta regla y activar el botón. */
html body .bwp-mobile_toolbar .bwp-component-wishlist-icon-text { display: none !important; }
html body .bwp-mobile_toolbar .bwp-column:has(> .bwp-component-wishlist-icon-text) { display: none !important; }
html body .bwp-mobile_toolbar .bwp-row.bwp-cols-4 > .bwp-column { flex: 1 1 0 !important; max-width: none !important; width: auto !important; }

/* ---------- 38. Más color en Publica impreso / digital (oct 2026) ----------
   Ventajas en banda marino de borde a borde (alterna con las secciones blancas), tarjetas blancas con franja marino
   arriba e iconos en cuadro marino relleno (como las tarjetas de /publica/). */
html body .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) {
	background: #1a3354 !important;
	box-shadow: 0 0 0 100vmax #1a3354 !important;
	clip-path: inset(0 -100vmax);
	border-radius: 0 !important;
	padding-top: 72px !important;
	padding-bottom: 80px !important;
}
html body .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) :is(.ea-info-label, .ea-label, .ea-section-label, .ea-pub-section-label) { color: rgba(255, 255, 255, .78) !important; }
html body.ea-titulares-serif .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) > h2,
html body .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) > h2 { color: #fff !important; }
html body .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) > p { color: rgba(255, 255, 255, .8) !important; }
html body .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) .ea-feature-card {
	background: #fff !important;
	border-color: transparent !important;
}
html body .elementor-widget-html :is(.ea-features-section, .ea-section:has(> .ea-features-grid)) .ea-feature-card:hover { box-shadow: 0 18px 40px -18px rgba(0, 0, 0, .55) !important; }
/* Iconos: cuadro marino relleno con el dibujo en blanco (ventajas y pasos del proceso) */
html body .elementor-widget-html :is(.ea-info-icon, .ea-feature-icon) {
	background: var(--ea-navy) !important;
	border-color: var(--ea-navy) !important;
	box-shadow: 0 8px 18px -10px color-mix(in srgb, var(--ea-navy) 80%, #000);
}
html body .elementor-widget-html :is(.ea-info-icon, .ea-feature-icon) svg { stroke: #fff !important; }
html body .elementor-widget-html :is(.ea-info-icon, .ea-feature-icon) svg :is(path, circle, rect, polyline, line)[fill]:not([fill="none"]) { fill: #fff !important; }
/* Enlaces dentro de las tarjetas de proceso y ventajas: que se vean como enlaces */
html body .elementor-widget-html :is(.ea-info-card, .ea-feature-card) p a { color: var(--ea-navy) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }

/* ---------- 39. /publica/impreso/ más intuitiva (tools/impreso-intuitivo.php + presupuesto.js) ---------- */
/* Nota bajo «¿En qué programa tienes tu libro?»: el impreso se envía en PDF (tools/presupuesto-formatos.php) */
body .ea-wi-nota { display: block; margin-top: 6px; color: var(--ea-muted); font-size: 13px; line-height: 1.45; }
html body .elementor-widget-html .ea-info-grid:has(> .ea-info-card:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; }
@media (max-width: 1024px) { html body .elementor-widget-html .ea-info-grid:has(> .ea-info-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 600px) { html body .elementor-widget-html .ea-info-grid:has(> .ea-info-card:nth-child(4):last-child) { grid-template-columns: minmax(0, 1fr) !important; } }
html body .elementor-widget-html .ea-proceso-cta { margin: 32px 0 0 !important; text-align: center; }
html body .elementor-widget-html .ea-proceso-cta .ea-hero-btn { background: var(--ea-navy) !important; color: #fff !important; }
:is(#wiz-impreso, #wiz-digital) { scroll-margin-top: 150px; }
/* /publica/digital/ (tools/digital-intuitivo.php): el aviso verde pasa al estilo de información y las etiquetas se leen */
html body #wiz-digital .info-box { background: color-mix(in srgb, var(--ea-navy) 6%, #fff) !important; border: 0 !important; border-left: 3px solid var(--ea-navy) !important; border-radius: var(--ea-radius-sm) !important; color: var(--ea-ink) !important; font-size: 14px !important; }
html body #wiz-digital .info-box strong { color: var(--ea-navy) !important; }
html body #wiz-digital .wiz-form-group label { font-size: 13.5px !important; font-weight: 600 !important; }
html body #wiz-digital .wiz-form-group :is(input, select, textarea) { font-size: 15px !important; }
html body #wiz-digital .ea-wiz-opcional { margin: 0 0 16px !important; color: var(--ea-muted) !important; font-size: 13.5px; }
/* Opciones elegidas: que se vea claramente (antes, un borde casi igual al de las demás) */
html body #wiz-impreso :is(.option-card, .option-tag) { position: relative; cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s; }
html body #wiz-impreso :is(.option-card, .option-tag):hover { border-color: color-mix(in srgb, var(--ea-navy) 45%, var(--ea-line)) !important; }
html body #wiz-impreso :is(.option-card, .option-tag).selected {
	border: 2px solid var(--ea-navy) !important;
	background: color-mix(in srgb, var(--ea-navy) 7%, #fff) !important;
	box-shadow: 0 6px 16px -10px color-mix(in srgb, var(--ea-navy) 70%, #000) !important;
}
html body #wiz-impreso .option-card.selected::after {
	content: ""; position: absolute; top: 8px; right: 8px; width: 22px; height: 22px; border-radius: 50%;
	background: var(--ea-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 12.5 4 4 8-9'/%3E%3C/svg%3E") center / 14px no-repeat;
}
html body #wiz-impreso .option-card.selected :is(.oc-icon, .oc-name) { color: var(--ea-navy) !important; }
html body #wiz-impreso .option-tag.selected .ot-radio { border-color: var(--ea-navy) !important; background: var(--ea-navy) !important; box-shadow: inset 0 0 0 3px #fff; }
html body #wiz-impreso .ea-wiz-opcional { margin: 6px 0 4px !important; padding: 10px 14px; background: color-mix(in srgb, var(--ea-navy) 6%, #fff); border-radius: var(--ea-radius-sm); color: var(--ea-ink); font-size: 13.5px; }
html body #wiz-impreso .ea-wiz-falta { margin: 8px 0 0 !important; color: var(--ea-err) !important; font-weight: 600; font-size: 14px; }
html body #wiz-impreso .ea-wiz-pendiente { color: var(--ea-muted) !important; font-weight: 400 !important; font-style: italic; }
/* Botones del asistente: al pulsar o pasar por encima salía el azul del kit de Elementor */
html body #wiz-impreso :is(#ea-gana-a-botones, .btn-next, .wi-submit, #wi-submit):is(:hover, :focus, :active) { background: var(--ea-navy-dark, color-mix(in srgb, var(--ea-navy) 80%, #000)) !important; border-color: transparent !important; color: #fff !important; }
html body #wiz-impreso :is(#ea-gana-a-botones, .btn-prev):is(:hover, :focus, :active) { background: color-mix(in srgb, var(--ea-navy) 8%, #fff) !important; color: var(--ea-navy) !important; }

/* ---------- 40. Envía tu manuscrito más intuitivo (manuscritos.php + assets/js/manuscrito.js) ---------- */
body .ea-manuscrito .ea-manuscrito-antes { margin: 0; padding: 14px 18px; border-left: 3px solid var(--ea-navy); border-radius: var(--ea-radius-sm); background: color-mix(in srgb, var(--ea-navy) 6%, #fff); color: var(--ea-ink); font-size: 15px; line-height: 1.55; }
body .ea-manuscrito legend { display: flex; align-items: center; gap: 10px; }
body .ea-manuscrito .ea-manuscrito-num { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--ea-navy); color: #fff; font-size: 13px; font-weight: 700; }
body .ea-manuscrito .ea-manuscrito-archivo { display: grid; gap: 6px; margin: 0 0 16px; }
body .ea-manuscrito .ea-manuscrito-archivo > label.ea-manuscrito-label { display: block; margin: 0; }
/* Campo de archivo: oculto a la vista pero accesible (teclado y lectores); la zona es su <label> */
body .ea-manuscrito .ea-manuscrito-input { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden; clip: rect(0 0 0 0); border: 0 !important; }
body .ea-manuscrito .ea-manuscrito-zona {
	display: grid; justify-items: center; gap: 6px; margin: 0; padding: 26px 18px;
	border: 2px dashed color-mix(in srgb, var(--ea-navy) 35%, var(--ea-line)); border-radius: var(--ea-radius-sm);
	background: var(--ea-paper); color: var(--ea-ink); font-size: 15px; font-weight: 400; text-align: center; cursor: pointer;
	transition: border-color .15s, background-color .15s;
}
body .ea-manuscrito .ea-manuscrito-zona strong { color: var(--ea-navy); text-decoration: underline; text-underline-offset: 3px; }
body .ea-manuscrito .ea-manuscrito-zona:is(:hover, .is-encima) { border-color: var(--ea-navy); background: color-mix(in srgb, var(--ea-navy) 6%, #fff); }
body .ea-manuscrito .ea-manuscrito-zona:has(+ input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--ea-navy) 35%, transparent); outline-offset: 2px; }
body .ea-manuscrito .ea-manuscrito-zona-icono {
	width: 34px; height: 34px; background: var(--ea-navy);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center / contain no-repeat;
	        mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v4a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2v-4'/%3E%3Cpolyline points='17 8 12 3 7 8'/%3E%3Cline x1='12' y1='3' x2='12' y2='15'/%3E%3C/svg%3E") center / contain no-repeat;
}
body .ea-manuscrito .ea-manuscrito-zona-nombre { font-weight: 600; overflow-wrap: anywhere; }
body .ea-manuscrito .ea-manuscrito-zona-nombre:empty { display: none; }
body .ea-manuscrito .ea-manuscrito-zona.is-elegido { border-style: solid; border-color: var(--ea-ok); background: color-mix(in srgb, var(--ea-ok) 7%, #fff); }
body .ea-manuscrito .ea-manuscrito-zona.is-elegido .ea-manuscrito-zona-icono {
	background: var(--ea-ok);
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.1V12a10 10 0 1 1-5.9-9.1'/%3E%3Cpolyline points='22 4 12 14 9 11'/%3E%3C/svg%3E");
	        mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 11.1V12a10 10 0 1 1-5.9-9.1'/%3E%3Cpolyline points='22 4 12 14 9 11'/%3E%3C/svg%3E");
}
body .ea-manuscrito .ea-manuscrito-zona.is-error { border-color: var(--ea-err); background: color-mix(in srgb, var(--ea-err) 5%, #fff); }
body .ea-manuscrito .ea-manuscrito-campo-error { margin: 0; color: var(--ea-err); font-size: 14px; font-weight: 600; }
body .ea-manuscrito .ea-manuscrito-ayuda { margin: -10px 0 16px 28px; color: var(--ea-muted); font-size: 13.5px; }
body .ea-manuscrito .ea-manuscrito-enviar:disabled { opacity: .75; cursor: progress; }
body .ea-manuscrito .ea-manuscrito-progreso { display: grid; gap: 8px; }
body .ea-manuscrito .ea-manuscrito-progreso-barra { height: 8px; overflow: hidden; border-radius: 99px; background: color-mix(in srgb, var(--ea-navy) 12%, #fff); }
body .ea-manuscrito .ea-manuscrito-progreso-barra span { display: block; width: 0; height: 100%; background: var(--ea-navy); transition: width .2s; }
body .ea-manuscrito .ea-manuscrito-progreso p { margin: 0; color: var(--ea-ink); font-size: 14px; }

/* ---------- 41. /plantillas/ más intuitiva (tools/plantillas-intuitiva.php) ---------- */
html body .elementor-widget-html .ea-pl-saltar { margin: 24px 0 0; }
html body .elementor-widget-html a.ea-pl-btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 0 28px;
	border-radius: var(--ea-btn-radius); background: var(--ea-navy); color: #fff !important; font-weight: var(--ea-btn-weight, 700);
	font-size: var(--ea-btn-size, 14px); letter-spacing: var(--ea-btn-tracking); text-transform: var(--ea-btn-case); text-decoration: none !important;
}
html body .elementor-widget-html a.ea-pl-btn:hover { background: var(--ea-navy-dark, color-mix(in srgb, var(--ea-navy) 80%, #000)); }
html body .elementor-widget-html :is(.ea-pl-elige, .ea-pl-despues) { max-width: 1100px; margin: 0 auto; padding: 56px 24px; font-family: var(--ea-font-text); color: var(--ea-ink); }
html body .elementor-widget-html .ea-pl-elige { scroll-margin-top: 150px; border-top: 1px solid var(--ea-line); }
html body .elementor-widget-html :is(.ea-pl-elige, .ea-pl-despues) > h2 { margin: 0 0 24px; text-align: center; font-size: clamp(26px, 3vw, 34px); }
/* Radios: ocultos a la vista pero accesibles; la tarjeta entera es el control */
html body .elementor-widget-html :is(.ea-pl-tipo, .ea-pl-tamano) input { position: absolute; opacity: 0; width: 1px; height: 1px; pointer-events: none; }
html body .elementor-widget-html :is(.ea-pl-tipo, .ea-pl-tamano) {
	position: relative; display: grid; gap: 4px; padding: 18px 20px; border: 1.5px solid var(--ea-line); border-radius: var(--ea-radius-sm);
	background: #fff; cursor: pointer; transition: border-color .15s, background-color .15s, box-shadow .15s;
}
html body .elementor-widget-html :is(.ea-pl-tipo, .ea-pl-tamano):hover { border-color: color-mix(in srgb, var(--ea-navy) 45%, var(--ea-line)); }
html body .elementor-widget-html :is(.ea-pl-tipo, .ea-pl-tamano):has(input:focus-visible) { outline: 3px solid color-mix(in srgb, var(--ea-navy) 35%, transparent); outline-offset: 2px; }
html body .elementor-widget-html :is(.ea-pl-tipo, .ea-pl-tamano):has(input:checked) { border-color: var(--ea-navy); background: color-mix(in srgb, var(--ea-navy) 6%, #fff); box-shadow: 0 0 0 1px var(--ea-navy); }
html body .elementor-widget-html :is(.ea-pl-tipo, .ea-pl-tamano):has(input:checked)::after {
	content: ""; position: absolute; top: 10px; right: 10px; width: 20px; height: 20px; border-radius: 50%;
	background: var(--ea-navy) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'/%3E%3C/svg%3E") center / 12px no-repeat;
}
html body .elementor-widget-html .ea-pl-tipos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 760px; margin: 0 auto 40px; }
html body .elementor-widget-html .ea-pl-tipo-nombre { font-family: var(--ea-font-display); font-size: 21px; font-weight: 600; }
html body .elementor-widget-html .ea-pl-tipo-desc { color: var(--ea-muted); font-size: 14px; line-height: 1.45; }
/* Solo se ve el panel de lo elegido */
html body .elementor-widget-html .ea-pl-elige:has(input[value="impreso"]:checked) .ea-pl-panel-ebook,
html body .elementor-widget-html .ea-pl-elige:has(input[value="ebook"]:checked) .ea-pl-panel-impreso { display: none; }
html body .elementor-widget-html .ea-pl-panel-ebook { max-width: 760px; margin: 0 auto; }
html body .elementor-widget-html .ea-pl-panel p { color: var(--ea-ink); font-size: 15.5px; line-height: 1.6; }
html body .elementor-widget-html .ea-pl-paso { display: flex; align-items: center; gap: 10px; margin: 0 0 16px; font-weight: 700; font-size: 17px !important; }
html body .elementor-widget-html .ea-pl-num { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--ea-navy); color: #fff; font-size: 14px; }
html body .elementor-widget-html .ea-pl-tamanos { display: grid; grid-template-columns: repeat(auto-fill, minmax(165px, 1fr)); gap: 12px; }
html body .elementor-widget-html .ea-pl-tamano { justify-items: center; text-align: center; padding: 16px 12px; }
html body .elementor-widget-html .ea-pl-hoja { display: block; margin: 2px 0 8px; border: 2px solid var(--ea-navy); border-radius: 2px; background: #fff; box-shadow: 3px 3px 0 color-mix(in srgb, var(--ea-navy) 15%, transparent); }
html body .elementor-widget-html .ea-pl-tamano-nombre { font-weight: 700; font-size: 15px; }
html body .elementor-widget-html .ea-pl-tamano-medida { color: var(--ea-ink); font-size: 13px; }
html body .elementor-widget-html .ea-pl-tamano-uso { color: var(--ea-muted); font-size: 12.5px; line-height: 1.35; }
html body .elementor-widget-html .ea-pl-descarga { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 24px 0 0; padding: 20px; border-radius: var(--ea-radius-sm); background: var(--ea-paper); }
html body .elementor-widget-html .ea-pl-descarga .ea-pl-detalle { margin: 0; font-size: 14.5px; }
html body .elementor-widget-html .ea-pl-detalle.is-aviso { color: var(--ea-err); font-weight: 600; }
html body .elementor-widget-html .ea-pl-boton.is-desactivado { opacity: .55; cursor: not-allowed; }
html body .elementor-widget-html .ea-pl-nota { margin: 16px 0 0; color: var(--ea-muted) !important; font-size: 14px !important; }
html body .elementor-widget-html :is(.ea-pl-panel, .ea-pl-pasos) a:not(.ea-pl-btn) { color: var(--ea-navy) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
html body .elementor-widget-html .ea-pl-despues { padding-top: 0; }
html body .elementor-widget-html .ea-pl-pasos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: ea-pl; }
html body .elementor-widget-html .ea-pl-pasos li { counter-increment: ea-pl; padding: 22px 20px; border: 1px solid var(--ea-line); border-radius: var(--ea-radius-sm); background: #fff; font-size: 15px; line-height: 1.55; }
html body .elementor-widget-html .ea-pl-pasos li::before { content: counter(ea-pl); display: grid; place-items: center; width: 32px; height: 32px; margin-bottom: 12px; border-radius: 50%; background: var(--ea-navy); color: #fff; font-weight: 700; }
html body .elementor-widget-html .ea-pl-pasos strong { display: block; margin-bottom: 4px; font-family: var(--ea-font-display); font-size: 18px; font-weight: 600; }
@media (max-width: 900px) {
	html body .elementor-widget-html .hero-right:has(.laptop-wrap) { display: none; }
	html body .elementor-widget-html .ea-pl-pasos { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 600px) {
	html body .elementor-widget-html :is(.ea-pl-elige, .ea-pl-despues) { padding: 40px 16px; }
	html body .elementor-widget-html .ea-pl-tipos { gap: 10px; }
	html body .elementor-widget-html .ea-pl-tipo { padding: 14px; }
	html body .elementor-widget-html .ea-pl-tipo-nombre { font-size: 18px; }
	html body .elementor-widget-html .ea-pl-tamanos { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
	html body .elementor-widget-html .ea-pl-descarga .ea-pl-btn { width: 100%; }
}

/* ---------- 42. Portada: dos caminos de igual peso (tools/portada-caminos.php) ---------- */
html body .ea-caminos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; max-width: 640px; margin-top: 8px; }
html body .ea-caminos a.ea-camino {
	display: flex; align-items: center; gap: 14px; padding: 16px 16px 16px 14px;
	border: 1.5px solid var(--ea-line); border-radius: var(--ea-radius-sm); background: #fff; color: var(--ea-ink) !important;
	text-decoration: none !important; box-shadow: 0 6px 18px -12px rgba(20, 33, 58, .35);
	transition: border-color .15s, box-shadow .15s, transform .15s;
}
html body .ea-caminos a.ea-camino:hover { border-color: var(--ea-navy); box-shadow: 0 12px 26px -14px rgba(20, 33, 58, .45); transform: translateY(-1px); }
html body .ea-caminos a.ea-camino:focus-visible { outline: 3px solid color-mix(in srgb, var(--ea-navy) 40%, transparent); outline-offset: 2px; }
html body .ea-camino-icono { flex: none; display: grid; place-items: center; width: 44px; height: 44px; border-radius: var(--ea-radius-sm); background: var(--ea-navy); }
html body .ea-camino-icono svg { width: 22px; height: 22px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
html body .ea-camino-texto { display: grid; gap: 2px; min-width: 0; }
html body .ea-camino-quien { color: var(--ea-muted); font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
html body .ea-caminos a.ea-camino .ea-camino-texto strong { font-family: var(--ea-font-serif, "Newsreader"), Georgia, serif !important; font-size: 21px; font-weight: 600 !important; line-height: 1.15; letter-spacing: -.01em; }
html body .ea-camino-texto > span:last-child { color: var(--ea-muted); font-size: 13.5px; line-height: 1.35; }
html body .ea-camino-flecha { flex: none; width: 20px; height: 20px; margin-left: auto; fill: none; stroke: var(--ea-navy); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; transition: transform .15s; }
html body .ea-caminos a.ea-camino:hover .ea-camino-flecha { transform: translateX(3px); }
@media (max-width: 767px) {
	html body .ea-caminos { grid-template-columns: minmax(0, 1fr); gap: 10px; max-width: none; }
	html body .ea-caminos a.ea-camino { padding: 14px; }
}

/* ---------- 43. Fotos de fondo (assets/img/fondos/, Unsplash: ver CREDITOS.txt) ----------
   Siempre con una capa de color encima (el texto se lee igual que antes) y color de respaldo. 1200 px en móvil, 2000 en
   escritorio. Las cabeceras de HTML a mano de Publica/Impreso/Digital/Plantillas se pintan de borde a borde con un ::before
   de 100vw (el fondo plano del §38 llega a los lados con una sombra; la foto no puede). Clase de página: functions.php. */
:root {
	/* Capas más ligeras (oct 2026: "apenas se ve la imagen"): fuertes solo detrás del texto y la foto a la vista en el resto.
	   -papel / -navy-lado: texto a la izquierda, la capa se aclara hacia la derecha. -navy: texto a todo el ancho. */
	--ea-fondo-navy: linear-gradient(color-mix(in srgb, #14243b 70%, transparent), color-mix(in srgb, #14243b 70%, transparent));
	--ea-fondo-navy-lado: linear-gradient(90deg, color-mix(in srgb, #14243b 90%, transparent) 0%, color-mix(in srgb, #14243b 82%, transparent) 42%, color-mix(in srgb, #14243b 35%, transparent) 72%, color-mix(in srgb, #14243b 15%, transparent) 100%);
	--ea-fondo-papel: linear-gradient(90deg, color-mix(in srgb, var(--ea-paper) 96%, transparent) 0%, color-mix(in srgb, var(--ea-paper) 90%, transparent) 42%, color-mix(in srgb, var(--ea-paper) 45%, transparent) 68%, color-mix(in srgb, var(--ea-paper) 5%, transparent) 100%);
}
/* Portada: cabecera clara (libro abierto), bloque para autores y "¿Tienes una historia…?" en marino */
html body.home .ea-hero { background-color: var(--ea-paper) !important; background-image: var(--ea-fondo-papel), url("../img/fondos/portada-cabecera-2000.webp") !important; background-size: cover !important; background-position: center !important; }
html body.home .e-con.ea-section.ea-publica { background-color: #1a3354 !important; background-image: linear-gradient(transparent 52%, color-mix(in srgb, #14243b 72%, transparent) 70%), var(--ea-fondo-navy-lado), url("../img/fondos/portada-autores-2000.webp") !important; background-size: cover !important; background-position: center !important; }
html body.home .ea-cta { background-color: #1a3354 !important; background-image: var(--ea-fondo-navy), url("../img/fondos/portada-cta-2000.webp") !important; background-size: cover !important; background-position: center 40% !important; }
/* Envía tu manuscrito: cabecera clara */
html body.ea-pag-publica-enviar-manuscrito .ea-contact-hero { background-color: var(--ea-paper) !important; background-image: var(--ea-fondo-papel), url("../img/fondos/manuscrito-2000.webp") !important; background-size: cover !important; background-position: center 60% !important; }
/* Publica, Impreso y Digital: cabecera marino con foto de borde a borde */
html body:is(.ea-pag-publica, .ea-pag-publica-impreso, .ea-pag-publica-digital) .elementor-widget-html .ea-hero { position: relative; isolation: isolate; background-image: none !important; }
html body:is(.ea-pag-publica, .ea-pag-publica-impreso, .ea-pag-publica-digital) .elementor-widget-html .ea-hero::before {
	content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
	background: var(--ea-fondo-navy-lado), var(--ea-foto) center / cover no-repeat, #1a3354;
}
html body.ea-pag-publica { --ea-foto: url("../img/fondos/publica-2000.webp"); }
html body.ea-pag-publica-impreso { --ea-foto: url("../img/fondos/impreso-2000.webp"); }
html body.ea-pag-publica-digital { --ea-foto: url("../img/fondos/digital-2000.webp"); }
/* Plantillas: cabecera clara de borde a borde */
html body.ea-pag-plantillas .elementor-widget-html section.hero { position: relative; isolation: isolate; background: transparent !important; }
html body.ea-pag-plantillas .elementor-widget-html section.hero::before {
	content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
	background: var(--ea-fondo-papel), url("../img/fondos/plantillas-2000.webp") center / cover no-repeat, var(--ea-paper);
}
@media (max-width: 767px) {
	/* En móvil el texto ocupa todo el ancho: capa más uniforme y fotos de 1200 px */
	:root {
		--ea-fondo-papel: linear-gradient(color-mix(in srgb, var(--ea-paper) 84%, transparent), color-mix(in srgb, var(--ea-paper) 84%, transparent));
		--ea-fondo-navy: linear-gradient(color-mix(in srgb, #14243b 76%, transparent), color-mix(in srgb, #14243b 76%, transparent));
		--ea-fondo-navy-lado: var(--ea-fondo-navy);
	}
	html body.home .ea-hero { background-image: var(--ea-fondo-papel), url("../img/fondos/portada-cabecera-1200.webp") !important; }
	html body.home .e-con.ea-section.ea-publica { background-image: var(--ea-fondo-navy), url("../img/fondos/portada-autores-1200.webp") !important; }
	html body.home .ea-cta { background-image: var(--ea-fondo-navy), url("../img/fondos/portada-cta-1200.webp") !important; }
	html body.ea-pag-publica-enviar-manuscrito .ea-contact-hero { background-image: var(--ea-fondo-papel), url("../img/fondos/manuscrito-1200.webp") !important; }
	html body.ea-pag-publica { --ea-foto: url("../img/fondos/publica-1200.webp"); }
	html body.ea-pag-publica-impreso { --ea-foto: url("../img/fondos/impreso-1200.webp"); }
	html body.ea-pag-publica-digital { --ea-foto: url("../img/fondos/digital-1200.webp"); }
	html body.ea-pag-plantillas .elementor-widget-html section.hero::before { background-image: var(--ea-fondo-papel), url("../img/fondos/plantillas-1200.webp"); }
}

/* §43 (2.ª tanda, 21 oct 2026): Sobre nosotros, Contacto, Librería/géneros/autores/búsqueda, plantilla ebook, guías, acceso y 404 */
:root { --ea-fondo-papel-uniforme: linear-gradient(color-mix(in srgb, var(--ea-paper) 78%, transparent), color-mix(in srgb, var(--ea-paper) 78%, transparent)); }
html body:is(.ea-pag-sobre-nosotros, .ea-pag-contacto) .e-con.ea-section.ea-hero { background-color: var(--ea-paper) !important; background-image: var(--ea-fondo-papel), var(--ea-foto) !important; background-size: cover !important; background-position: center !important; }
html body.ea-pag-sobre-nosotros { --ea-foto: url("../img/fondos/nosotros-2000.webp"); }
html body.ea-pag-contacto { --ea-foto: url("../img/fondos/contacto-2000.webp"); }
/* Contacto: en la franja de la cabecera, la carta y la pluma (abajo en la foto) en vez de la taza desenfocada */
html body.ea-pag-contacto .e-con.ea-section.ea-hero { background-position: center 78% !important; }
/* Cabecera de la Librería (también géneros, autores y búsqueda) y de la 404 (centrada: capa uniforme) */
html body .ea-catalog-head { background-color: var(--ea-paper) !important; background-image: var(--ea-fondo-papel), url("../img/fondos/libreria-2000.webp") !important; background-size: cover !important; background-position: center 40% !important; }
html body .ea-catalog-head.ea-404 { background-image: var(--ea-fondo-papel-uniforme), url("../img/fondos/404-2000.webp") !important; background-position: center !important; }
/* Plantilla para eBook: cabecera clara de borde a borde (como /plantillas/) */
html body.ea-pag-plantillas-ebook .elementor-widget-html section.eb-hero { position: relative; isolation: isolate; background: transparent !important; }
html body.ea-pag-plantillas-ebook .elementor-widget-html section.eb-hero::before {
	content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
	background: var(--ea-fondo-papel), url("../img/fondos/plantillas-ebook-2000.webp") center / cover no-repeat, var(--ea-paper);
}
/* Guías: la tarjeta marino de cabecera lleva su foto debajo de la capa */
html body:is(.ea-pag-guias-plantillas, .ea-pag-guias-ebook, .ea-pag-guias-imprimir) .ea-guide-hero { background: var(--ea-fondo-navy-lado), var(--ea-foto) center / cover no-repeat, #1a3354 !important; }
html body.ea-pag-guias-plantillas { --ea-foto: url("../img/fondos/guia-plantillas-2000.webp"); }
html body.ea-pag-guias-ebook { --ea-foto: url("../img/fondos/guia-ebook-2000.webp"); }
html body.ea-pag-guias-imprimir { --ea-foto: url("../img/fondos/guia-imprimir-2000.webp"); }
/* Acceso / registro (Mi cuenta sin sesión): la tarjeta blanca sobre la foto, de borde a borde */
html body.woocommerce-account:not(.logged-in) .login-pro-wrapper { position: relative; isolation: isolate; }
html body.woocommerce-account:not(.logged-in) .login-pro-wrapper::before {
	content: ""; position: absolute; z-index: -1; top: 0; bottom: 0; left: 50%; width: 100vw; transform: translateX(-50%);
	background: linear-gradient(color-mix(in srgb, var(--ea-paper) 25%, transparent), color-mix(in srgb, var(--ea-paper) 25%, transparent)), url("../img/fondos/acceso-2000.webp") center / cover no-repeat, var(--ea-paper);
}
@media (max-width: 767px) {
	html body.ea-pag-sobre-nosotros { --ea-foto: url("../img/fondos/nosotros-1200.webp"); }
	html body.ea-pag-contacto { --ea-foto: url("../img/fondos/contacto-1200.webp"); }
	html body .ea-catalog-head { background-image: var(--ea-fondo-papel), url("../img/fondos/libreria-1200.webp") !important; }
	html body .ea-catalog-head.ea-404 { background-image: var(--ea-fondo-papel-uniforme), url("../img/fondos/404-1200.webp") !important; }
	html body.ea-pag-plantillas-ebook .elementor-widget-html section.eb-hero::before { background-image: var(--ea-fondo-papel), url("../img/fondos/plantillas-ebook-1200.webp"); }
	html body.ea-pag-guias-plantillas { --ea-foto: url("../img/fondos/guia-plantillas-1200.webp"); }
	html body.ea-pag-guias-ebook { --ea-foto: url("../img/fondos/guia-ebook-1200.webp"); }
	html body.ea-pag-guias-imprimir { --ea-foto: url("../img/fondos/guia-imprimir-1200.webp"); }
	html body.woocommerce-account:not(.logged-in) .login-pro-wrapper::before { background-image: linear-gradient(color-mix(in srgb, var(--ea-paper) 25%, transparent), color-mix(in srgb, var(--ea-paper) 25%, transparent)), url("../img/fondos/acceso-1200.webp"); }
}

/* ---------- 44. Barra inferior del móvil: "Publica" junto a "Librería" (frontend.js), en marino para que destaque ---------- */
html body .bwp-mobile_toolbar .ea-tb-publica :is(a, span, .with-text) { color: var(--ea-navy) !important; font-weight: 700 !important; }
html body .bwp-mobile_toolbar .ea-tb-publica svg { stroke: var(--ea-navy); }

/* ---------- 47. Auditoría de diseño en móvil (21 oct 2026) ---------- */
/* Etiqueta de oferta: texto blanco sobre ámbar (contraste 2,1) → texto tinta */
html body :is(.onsale, .product-lable .onsale) { color: var(--ea-ink) !important; }
/* Casillas del formulario de manuscritos: el enlace iba en su propia columna (cada trozo de texto era un elemento flex) */
html body .ea-manuscrito .ea-manuscrito-check { display: block; position: relative; padding-left: 28px; }
html body .ea-manuscrito .ea-manuscrito-check input { position: absolute; left: 0; top: 2px; }
@media (max-width: 767px) {
	/* Campos a 16 px: con menos, el iPhone amplía la página al escribir (acceso, recuperar contraseña, 404, manuscrito, ebook) */
	html body :is(input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]):not([type=file]):not([type=hidden]), select, textarea) { font-size: 16px !important; }
	html body #wiz-digital :is(input, select, textarea) { font-size: 16px !important; } /* su <style> propio los ponía a 15 px con id */
	/* Textos de 8-11 px → mínimo 12 px (etiquetas, insignias, asistentes de presupuesto, barra inferior) */
	html body :is(.bwp-mobile_toolbar .with-text, .ea-tpl-card-tag, .ea-hero-badge, .dot-label, .oc-desc, .oc-name, .panel-sub, .wiz-epub-badge-desc,
		.ea-recurso-tag, .eb-eyebrow, .eb-fmt, .eb-format-tag, .eb-guide-card-tag, .ea-guide-eyebrow, .hero-eyebrow, .ea-manuscrito small) { font-size: 12px !important; }
	/* Margen lateral de 16 px en las páginas de Elementor sin sección propia (legales: el texto quedaba a 10 px del borde) */
	html body #bwp-main .e-con.e-parent:not(.ea-section) { padding-left: 16px !important; padding-right: 16px !important; }
	/* Sobre nosotros: el logo grande repetía el de la cabecera y empujaba el contenido */
	html body .ea-about-logo { display: none !important; }
	/* Carrito vacío: novedades en 2 columnas (una portada ocupaba toda la pantalla) */
	html body .wp-block-woocommerce-empty-cart-block .wc-block-grid__products { display: grid !important; grid-template-columns: 1fr 1fr; gap: 12px; margin: 0 !important; }
	html body .wp-block-woocommerce-empty-cart-block .wc-block-grid__product { width: auto !important; max-width: none !important; margin: 0 !important; padding: 10px !important; flex: none !important; }
	/* Plantilla para eBook: primero el titular y la descarga, luego el dibujo del lector */
	html body .eb-hero .eb-hero-left { order: -1; }
	html body .eb-hero .eb-hero-right { max-width: 260px; margin: 0 auto; }
	/* Índice de las guías: enlaces de 18 px de alto → zona táctil de 26 px */
	html body .ea-guide-toc a { display: inline-block; padding: 4px 0; }
}

/* ---------- 48. Comparativa con la competencia (oct 2026): portadas en la cabecera y comprar en la primera pantalla ---------- */
/* Portadas de la cabecera de la portada ([ea_portadas_cabecera], catalog.php): abanico de 5 libros de la tienda que llevan a
   su ficha ("Fijo en la portada" primero; el primero en el centro). --k: posición respecto al centro; --a: distancia. */
html body .ea-hero-covers:has(.ea-hero-libros) { min-height: 0 !important; align-items: center; justify-content: center; }
html body .ea-hero-libros-widget { width: 100%; }
html body .ea-hero-libros { display: flex; justify-content: center; align-items: flex-end; padding: 24px 0 40px; }
html body .ea-hero-libro {
	position: relative;
	flex: 0 0 auto;
	width: calc(31% - var(--a) * 3%);
	max-width: 200px;
	margin: 0 -6%;
	z-index: calc(10 - var(--a) * 3);
	transform: rotate(calc(var(--k) * 7deg)) translateY(calc(var(--a) * var(--a) * 7px + var(--a) * 6px));
	transition: transform .4s var(--ea-ease);
}
html body .ea-hero-libro img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 2 / 3;
	object-fit: cover;
	border-radius: 3px 6px 6px 3px;
	box-shadow: 0 22px 40px -8px rgba(20, 33, 58, .38);
}
html body .ea-hero-libro::after { /* lomo, como la portada de la ficha */
	content: ""; position: absolute; inset: 0; pointer-events: none; border-radius: 3px 6px 6px 3px;
	background: linear-gradient(90deg, rgba(0, 0, 0, .25) 0%, rgba(255, 255, 255, .18) 2%, rgba(0, 0, 0, .1) 4%, transparent 10%);
}
html body .ea-hero-libro:is(:hover, :focus-visible) { z-index: 20; transform: rotate(calc(var(--k) * 7deg)) translateY(calc(var(--a) * var(--a) * 7px + var(--a) * 6px - 14px)); }
@media (max-width: 767px) {
	/* En el móvil, los libros lo primero de la cabecera (antes salían tras los dos caminos, ya fuera de la pantalla) */
	html body .ea-hero-row > .ea-hero-covers:has(.ea-hero-libros) { order: -1; margin: 0 0 4px !important; }
	html body .ea-hero-libros { padding: 0 0 18px; }
	html body .ea-hero-libro { max-width: 96px; margin: 0 -3.5%; }
}

/* Ficha en móvil: comprar en la primera pantalla.
   "Añadir al carrito" quedaba a 1.024 px (la pantalla de un iPhone acaba en ~780 bajo la barra inferior): portada a ~25 %
   del alto de la pantalla, migas en una línea, precio solo en las tarjetas de formato y la descripción corta tras la compra. */
@media (max-width: 767px) {
	/* Migas en una línea: sin "Inicio" (el logo ya lleva a la portada) ni el título (texto suelto: font-size 0) */
	html body.single-product .breadcrumb-noheading .breadcrumb { font-size: 0; white-space: nowrap; overflow-x: auto; scrollbar-width: none; }
	html body.single-product .breadcrumb-noheading .breadcrumb > * { font-size: 14px; }
	html body.single-product .breadcrumb-noheading .breadcrumb > :is(a:first-child, a:first-child + .delimiter, .delimiter:last-child) { display: none; }
	html body.single-product .container-image-single .img-thumbnail { padding: 16px 16px 22px; }
	html body.single-product .container-image-single .img-thumbnail a { width: calc(25vh * 2 / 3); max-width: 46vw; margin: 0 auto; }
	html body.single-product .container-image-single .img-thumbnail img { width: 100%; }
	html body.single-product .summary { display: flex; flex-direction: column; }
	html body.single-product .summary > * { order: 3; }
	html body.single-product .summary > :is(h1, .ea-single-author, .price-single, form.cart, .ea-vistazo) { order: 1; }
	html body.single-product .summary > .description { order: 2; margin-top: 18px; }
	/* Con tarjetas de formato, el precio ya va en cada tarjeta: fuera el repetido de arriba */
	html body.single-product .summary:has(.ea-formatos) > .price-single { display: none; }
	html body.single-product .summary .ea-single-author { margin-bottom: 14px !important; }
	html body .ea-formatos { margin-bottom: 14px; }
	html body .ea-formatos .ea-formato { padding: 12px 14px; }
}

/* ---------- 49. Ebook ya comprado (ficha.php + ficha.js) ---------- */
/* Con ese formato elegido no se puede volver a comprar: fuera los botones de compra y, en su lugar, el aviso con
   Mis ebooks; "Leer ahora" (debajo) pasa a ser el botón principal. */
html body form.ea-formato-tuyo :is(.woocommerce-variation-add-to-cart, .quick-buy) { display: none !important; }
html body .ea-ya-tuyo:not([hidden]) {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px 14px;
	padding: 14px 16px;
	border: 1px solid var(--ea-ok-line);
	border-radius: var(--ea-radius-sm);
	background: var(--ea-ok-bg);
}
html body .ea-ya-tuyo svg { flex: 0 0 22px; width: 22px; height: 22px; fill: none; stroke: var(--ea-ok); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
html body .ea-ya-tuyo div { flex: 1 1 200px; display: flex; flex-direction: column; gap: 2px; }
html body .ea-ya-tuyo strong { color: var(--ea-ink); font-size: 15px; }
html body .ea-ya-tuyo span { color: var(--ea-muted); font-size: 13.5px; line-height: 1.4; }
html body .ea-ya-tuyo a { color: var(--ea-navy); font-weight: 600; font-size: 14px; text-decoration: underline; text-underline-offset: 3px; }
html body .ea-formatos .ea-formato-tuyo .ea-formato-nota { color: var(--ea-ok); font-weight: 600; }
html body form.ea-formato-tuyo ~ .ea-vistazo { background: var(--ea-navy); color: #fff !important; box-shadow: none; }
html body form.ea-formato-tuyo ~ .ea-vistazo:hover { background: color-mix(in srgb, var(--ea-navy) 85%, #000); }

/* ---------- 50. Con la barra de WordPress (solo quien tiene sesión de editor/administrador) ---------- */
/* El CSS del personalizador del tema sube el hueco de la cabecera fija con la barra (178 → 210 px; en móvil 80 → 126),
   pero WordPress ya baja toda la página con `html { margin-top }`: la barra contaba dos veces y quedaba un hueco blanco
   bajo la cabecera. Mismo hueco que sin la barra. */
html body.admin-bar { padding-top: 178px !important; }
@media (max-width: 768px) { html body.admin-bar { padding-top: 80px !important; } }

/* ---------- 51. Auditoría de diseño en escritorio (21 oct 2026, 37 páginas a 1024-1920 px) ---------- */
/* Cabecera: el personalizador del tema reserva un hueco que no coincide con su alto: desde 1200 px la cabecera mide 141 y
   quedaba una franja blanca de 37 px; entre 600 y 1199 la fila del menú sube a 100 px (min-height de "tableta") y el hueco
   era menor (80 px en 600-771: tapaba ~100 px del contenido; 160 en 772-1027). Misma fila de menú (63) y mismo hueco (141)
   en todos los anchos con cabecera de escritorio. La barra de WordPress ya baja la página con html{margin-top} (§50). */
@media (min-width: 600px) {
	html body .bwp-header.header_layout_1 .bwp-below_header_row { min-height: 63px !important; }
	html body, html body.admin-bar { padding-top: 141px !important; }
}
/* Publica, Impreso y Digital: el contenedor de Elementor de la cabecera marino tenía 10 px de relleno arriba y quedaba una
   franja blanca entre la cabecera de la web y la marino */
html body #bwp-main .elementor > .e-con:first-child:has(> .elementor-widget-html .ea-hero),
html body #bwp-main .elementor > .e-con:first-child > .e-con-inner:has(> .elementor-widget-html .ea-hero) { padding-top: 0 !important; }
/* Textos de 8-11 px → mínimo 12 px también en escritorio (en móvil ya, §47): insignias de oferta/destacado, etiquetas de
   las tarjetas, asistentes de presupuesto, guías. Y la línea de impuestos del carrito (11,4 px). */
html body :is(.onsale, .vgwc-label, .ea-tpl-card-tag, .ea-hero-badge, .dot-label, .oc-desc, .oc-name, .panel-sub, .wiz-epub-badge-desc,
	.ea-recurso-tag, .eb-eyebrow, .eb-fmt, .eb-format-tag, .eb-guide-card-tag, .ea-guide-eyebrow, .hero-eyebrow, .ea-manuscrito small) { font-size: 12px !important; }
html body .wc-block-components-totals-footer-item-tax { font-size: 13px !important; }
html body .wc-block-grid__product-onsale { font-size: 12px !important; } /* "OFERTA" en el carrito vacío (9 px) */
/* Tarjetas "Guía" de Impreso, Digital y Plantilla para eBook: en vez de la foto salía un dibujo de documento (en Impreso, con
   una ✕: parecía una imagen rota). Ahora la foto de cada guía (las mismas de sus cabeceras, §43). §13 pinta la zona de blanco
   (`> div:first-child`): estas reglas van con su misma especificidad, después. */
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card) > div:first-child,
html body .eb-guide-card .eb-guide-card-img {
	height: 150px !important;
	background-color: var(--ea-navy) !important;
	background-image: url("../img/fondos/guia-ebook-1200.webp") !important;
	background-position: center !important;
	background-size: cover !important;
	background-repeat: no-repeat !important;
	border-bottom: 0 !important;
}
html body .elementor-widget-html a[href*="/guias/imprimir/"]:has(h3) > div:first-child { background-image: url("../img/fondos/guia-imprimir-1200.webp") !important; }
html body .elementor-widget-html :is(a[href*="/guia"]:has(h3), .ea-recurso-card) > div:first-child > svg,
html body .eb-guide-card .eb-guide-card-img > svg { display: none; }
html body .elementor-widget-html a[href*="/guias/imprimir/"]:has(h3) span { font-size: 12px !important; }
/* Guías: texto corrido a 14 px (13 en los pasos) en una columna de 800 px → letra de lectura */
html body .ea-guide-section :is(p, li) { font-size: 16px !important; line-height: 1.7 !important; }
html body .ea-guide-section .ea-guide-step-text { font-size: 15px !important; line-height: 1.6 !important; }
/* Páginas legales: el título iba centrado en Aviso legal y Privacidad y a la izquierda en Cookies y Condiciones → a la izquierda */
html body:is(.ea-pag-aviso-legal, .ea-pag-politica-privacidad) #bwp-main .elementor-widget-heading:has(> h1) { align-self: stretch; width: 100%; }
html body:is(.ea-pag-aviso-legal, .ea-pag-politica-privacidad) #bwp-main h1 { text-align: left !important; }
/* Líneas de más de 100 caracteres */
html body .ea-pl-nota { max-width: 680px; }
/* /plantillas/: detrás de la foto de la cabecera (§43) seguía el dibujo de un programa de maquetación con rótulos en inglés
   ("Pages", "Spread View", "BACK COVER", "Bleed"…): no se veía pero lo leían los lectores de pantalla. Fuera. */
html body.ea-pag-plantillas .hero .hero-right { display: none !important; }
html body .ea-ebooks-intro { max-width: 68ch; }
/* Recuperar / nueva contraseña: título (cuenta.php), centrado sobre la tarjeta como "Iniciar sesión" */
html body h1.ea-clave-titulo { margin: 8px 0 20px !important; font-family: "Newsreader", Georgia, serif !important; font-size: 30px !important; font-weight: 600 !important; color: var(--ea-ink) !important; text-align: center; }

/* ---------- 52. Iconos: fotos + trazo fino (oct 2026) ----------
   Los iconos eran de "app" (blancos dentro de un cuadro o círculo marino macizo, mezcla de Font Awesome y SVG sueltos) y
   algunos no decían nada ("Sin mínimos de tirada" con un escudo, "Impresión bajo demanda" con un reloj). Ahora:
   - foto pequeña donde hay sitio (Si lees / Si escribes, Libro impreso / eBook; assets/img/miniaturas/);
   - iconos propios de trazo fino (24 px, trazo 1,5) en tinta, sin caja, como máscara CSS: --ea-i-<nombre> abajo. El SVG
     original se oculta; el de Elementor se reconoce por la clase de Font Awesome que tenía (e-fas-…), los de las páginas
     de HTML a mano por el orden de su tarjeta. Sobre marino (portada, Sobre nosotros): blanco dentro de un aro fino.
   Generado con un script; para cambiar un icono basta tocar su --ea-i-…. */
:root {
	--ea-i-enviar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21.5 2.5 10.6 13.4'/%3E%3Cpath d='M21.5 2.5 15 21l-4.4-7.6L3 9z'/%3E%3C/svg%3E");
	--ea-i-presupuesto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 2.5h14v19l-2.3-1.4-2.4 1.4-2.3-1.4-2.3 1.4-2.4-1.4L5 21.5z'/%3E%3Cpath d='M8.5 7.5h7M8.5 11h7M8.5 14.5h4'/%3E%3C/svg%3E");
	--ea-i-word: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2.5H6.5a2 2 0 0 0-2 2v15a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2.5V8h5.5'/%3E%3Cpath d='M8 12l1.3 5 1.7-4 1.7 4 1.3-5'/%3E%3C/svg%3E");
	--ea-i-libro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 19V5a2.5 2.5 0 0 1 2.5-2.5h12.5v15H7a2.5 2.5 0 0 0-2.5 2.5zm0 0A2.5 2.5 0 0 0 7 21.5h12.5'/%3E%3Cpath d='M9 7h6'/%3E%3C/svg%3E");
	--ea-i-libro-abierto: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 5h6a3.5 3.5 0 0 1 3.5 3.5V20a2.5 2.5 0 0 0-2.5-2.5h-7z'/%3E%3Cpath d='M21.5 5h-6A3.5 3.5 0 0 0 12 8.5V20a2.5 2.5 0 0 1 2.5-2.5h7z'/%3E%3C/svg%3E");
	--ea-i-revisar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 20h7'/%3E%3Cpath d='M15.5 4.5a2.1 2.1 0 0 1 3 3L8.5 17.5 5 18.5l1-3.5z'/%3E%3Cpath d='M14.5 19.5l1.8 1.8 3.7-3.8'/%3E%3C/svg%3E");
	--ea-i-pluma: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 4C13 4 7.5 8 6 16l-1.5 4.5'/%3E%3Cpath d='M20 4c0 7-4 12-11 13'/%3E%3Cpath d='M6 16h7.5'/%3E%3Cpath d='M9.5 11.5H16'/%3E%3C/svg%3E");
	--ea-i-descargar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v3.5a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 18.5V15'/%3E%3Cpath d='M7.5 10.5 12 15l4.5-4.5'/%3E%3Cpath d='M12 15V3'/%3E%3C/svg%3E");
	--ea-i-subir: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15v3.5a2.5 2.5 0 0 1-2.5 2.5h-13A2.5 2.5 0 0 1 3 18.5V15'/%3E%3Cpath d='M16.5 7.5 12 3 7.5 7.5'/%3E%3Cpath d='M12 3v12'/%3E%3C/svg%3E");
	--ea-i-correo: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2.5' y='4.5' width='19' height='15' rx='2'/%3E%3Cpath d='m3 6 9 7 9-7'/%3E%3C/svg%3E");
	--ea-i-reloj: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='9.5'/%3E%3Cpath d='M12 6.5V12l3.5 2'/%3E%3C/svg%3E");
	--ea-i-lugar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19.5 10c0 5.5-7.5 11.5-7.5 11.5S4.5 15.5 4.5 10a7.5 7.5 0 0 1 15 0z'/%3E%3Ccircle cx='12' cy='10' r='2.5'/%3E%3C/svg%3E");
	--ea-i-lector: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='2.5' width='14' height='19' rx='2'/%3E%3Cpath d='M8.5 6.5h7M8.5 9.5h7M8.5 12.5h5'/%3E%3Cpath d='M11 18.5h2'/%3E%3C/svg%3E");
	--ea-i-pedido: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 7.5 12 3 3.5 7.5v9L12 21l8.5-4.5z'/%3E%3Cpath d='M3.5 7.5 12 12l8.5-4.5'/%3E%3Cpath d='M12 12v9'/%3E%3Cpath d='M7.8 5.2l8.5 4.6'/%3E%3C/svg%3E");
	--ea-i-envio: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2.5 6.5h11v10h-11z'/%3E%3Cpath d='M13.5 9.5h4l3.5 3.5v3.5h-7.5'/%3E%3Ccircle cx='6.5' cy='17.5' r='1.8'/%3E%3Ccircle cx='17' cy='17.5' r='1.8'/%3E%3C/svg%3E");
	--ea-i-imprenta: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 9V3h11v6'/%3E%3Cpath d='M6.5 17.5h-2a2 2 0 0 1-2-2V11a2 2 0 0 1 2-2h15a2 2 0 0 1 2 2v4.5a2 2 0 0 1-2 2h-2'/%3E%3Crect x='6.5' y='14' width='11' height='7.5' rx='1'/%3E%3Cpath d='M9 17h6M9 19.5h4'/%3E%3C/svg%3E");
	--ea-i-un-ejemplar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 3.5h9a2 2 0 0 1 2 2v15h-11a2 2 0 0 1-2-2v-13a2 2 0 0 1 2-2z'/%3E%3Cpath d='M10 9l1.8-1.2V14'/%3E%3C/svg%3E");
	--ea-i-plantilla: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='2.5' width='17' height='19' rx='2'/%3E%3Cpath d='M7 6.5h10M7 10h4.5M7 13.5h4.5M7 17h4.5'/%3E%3Crect x='13.5' y='10' width='3.5' height='7' rx='.5'/%3E%3C/svg%3E");
	--ea-i-derechos: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21.5c-4.5-1.7-7.5-5-7.5-9.5V5.5L12 2.5l7.5 3V12c0 4.5-3 7.8-7.5 9.5z'/%3E%3Cpath d='M9 12.2l2 2 4-4.2'/%3E%3C/svg%3E");
	--ea-i-acompanar: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 14.5a2 2 0 0 1-2 2H8l-4.5 4V5a2 2 0 0 1 2-2h13a2 2 0 0 1 2 2z'/%3E%3Cpath d='M8 8h8.5M8 11.5h5.5'/%3E%3C/svg%3E");
	--ea-i-tienda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 7.5h14l-1.2 13a1.5 1.5 0 0 1-1.5 1.5H7.7a1.5 1.5 0 0 1-1.5-1.5z'/%3E%3Cpath d='M9 10V6a3 3 0 0 1 6 0v4'/%3E%3C/svg%3E");
	--ea-i-medida: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 2.5h10l5 5v14h-15z'/%3E%3Cpath d='M14.5 2.5v5h5'/%3E%3Cpath d='M8 12.5h8M8 16h5'/%3E%3Cpath d='M15 15.5l1 1 2-2'/%3E%3C/svg%3E");
	--ea-i-tapa-blanda: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 3h11.5v17H7a2 2 0 0 1-2-2V4a1 1 0 0 1 1-1z'/%3E%3Cpath d='M5 17.5A1.8 1.8 0 0 1 6.8 16h10.7'/%3E%3Cpath d='M8.5 7h6'/%3E%3C/svg%3E");
	--ea-i-tapa-dura: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='4' y='2.5' width='16' height='19' rx='1.5'/%3E%3Cpath d='M8 2.5v19'/%3E%3Cpath d='M4 6h4M4 18h4'/%3E%3Cpath d='M11 8h6'/%3E%3C/svg%3E");
	--ea-i-espiral: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='7' y='2.5' width='13' height='19' rx='1.5'/%3E%3Cpath d='M4.5 5.5h4M4.5 9.5h4M4.5 13.5h4M4.5 17.5h4'/%3E%3Cpath d='M11 7h6'/%3E%3C/svg%3E");
	--ea-i-grapado: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6.5C9.5 5 6.5 4.5 2.5 4.5v14c4 0 7 .5 9.5 2 2.5-1.5 5.5-2 9.5-2v-14c-4 0-7 .5-9.5 2z'/%3E%3Cpath d='M12 6.5v14'/%3E%3Cpath d='M10.8 10.5h2.4M10.8 15h2.4'/%3E%3C/svg%3E");
}
html body :is(.elementor-icon:has(> svg[class*="e-fas-"]), .ea-info-icon, .ea-feature-icon, .ea-format-img, .ea-format-visual-img, .eb-format-icon, .ea-manuscrito-zona-icono) {
	background: none !important; box-shadow: none !important; border: 0 !important; border-radius: 0 !important;
	display: inline-flex !important; align-items: center; justify-content: center; color: var(--ea-navy) !important;
	width: auto !important; height: auto !important; padding: 0 !important; font-size: 0 !important;
}
html body :is(.elementor-icon:has(> svg[class*="e-fas-"]), .ea-info-icon, .ea-feature-icon, .ea-format-img, .ea-format-visual-img, .eb-format-icon, .ea-manuscrito-zona-icono) > svg { display: none !important; }
html body :is(.elementor-icon:has(> svg[class*="e-fas-"]), .ea-info-icon, .ea-feature-icon, .ea-format-img, .ea-format-visual-img, .eb-format-icon, .ea-manuscrito-zona-icono)::before {
	content: ""; display: block; width: 34px; height: 34px; background: currentColor;
	-webkit-mask: var(--ea-icono) center / contain no-repeat; mask: var(--ea-icono) center / contain no-repeat;
}
html body .elementor-icon:has(> svg.e-fas-paper-plane) { --ea-icono: var(--ea-i-enviar); }
html body .elementor-icon:has(> svg.e-fas-file-invoice) { --ea-icono: var(--ea-i-presupuesto); }
html body .elementor-icon:has(> svg.e-fas-file-word) { --ea-icono: var(--ea-i-word); }
html body .elementor-icon:has(> svg.e-fas-book) { --ea-icono: var(--ea-i-libro); }
html body .elementor-icon:has(> svg.e-fas-spell-check) { --ea-icono: var(--ea-i-revisar); }
html body .elementor-icon:has(> svg.e-fas-feather-alt) { --ea-icono: var(--ea-i-pluma); }
html body .elementor-icon:has(> svg.e-fas-download) { --ea-icono: var(--ea-i-descargar); }
html body .elementor-icon:has(> svg.e-fas-envelope) { --ea-icono: var(--ea-i-correo); }
html body .elementor-icon:has(> svg.e-fas-clock) { --ea-icono: var(--ea-i-reloj); }
html body .elementor-icon:has(> svg.e-fas-map-marker-alt) { --ea-icono: var(--ea-i-lugar); }
html body .elementor-icon:has(> svg.e-fas-book-open) { --ea-icono: var(--ea-i-libro-abierto); }
html body .elementor-icon:has(> svg.e-fas-tablet-alt) { --ea-icono: var(--ea-i-lector); }
html body .elementor-icon:has(> svg.e-fas-receipt) { --ea-icono: var(--ea-i-pedido); }
html body:is(.home, .ea-pag-sobre-nosotros) .elementor-icon:has(> svg[class*="e-fas-"]) {
	width: 52px !important; height: 52px !important; color: #fff !important; border: 1.5px solid color-mix(in srgb, #fff 55%, transparent) !important;
	border-radius: 50% !important; background: color-mix(in srgb, var(--ea-navy) 70%, #000) !important;
}
html body:is(.home, .ea-pag-sobre-nosotros) .elementor-icon:has(> svg[class*="e-fas-"])::before { width: 26px; height: 26px; }
html body.ea-pag-publica-impreso .ea-info-card:nth-child(1) .ea-info-icon { --ea-icono: var(--ea-i-enviar); }
html body.ea-pag-publica-impreso .ea-info-card:nth-child(2) .ea-info-icon { --ea-icono: var(--ea-i-presupuesto); }
html body.ea-pag-publica-impreso .ea-info-card:nth-child(3) .ea-info-icon { --ea-icono: var(--ea-i-subir); }
html body.ea-pag-publica-impreso .ea-info-card:nth-child(4) .ea-info-icon { --ea-icono: var(--ea-i-envio); }
html body.ea-pag-publica-digital .ea-info-card:nth-child(1) .ea-info-icon { --ea-icono: var(--ea-i-enviar); }
html body.ea-pag-publica-digital .ea-info-card:nth-child(2) .ea-info-icon { --ea-icono: var(--ea-i-presupuesto); }
html body.ea-pag-publica-digital .ea-info-card:nth-child(3) .ea-info-icon { --ea-icono: var(--ea-i-word); }
html body.ea-pag-publica-digital .ea-info-card:nth-child(4) .ea-info-icon { --ea-icono: var(--ea-i-lector); }
html body.ea-pag-publica-impreso .ea-feature-card:nth-child(1) .ea-feature-icon { --ea-icono: var(--ea-i-un-ejemplar); }
html body.ea-pag-publica-impreso .ea-feature-card:nth-child(2) .ea-feature-icon { --ea-icono: var(--ea-i-imprenta); }
html body.ea-pag-publica-impreso .ea-feature-card:nth-child(3) .ea-feature-icon { --ea-icono: var(--ea-i-plantilla); }
html body.ea-pag-publica-impreso .ea-feature-card:nth-child(4) .ea-feature-icon { --ea-icono: var(--ea-i-envio); } /* sin «derechos» ni «acompañamiento» (26 oct 2026) */
html body.ea-pag-publica-digital .ea-feature-card:nth-child(1) .ea-feature-icon { --ea-icono: var(--ea-i-lector); }
html body.ea-pag-publica-digital .ea-feature-card:nth-child(2) .ea-feature-icon { --ea-icono: var(--ea-i-tienda); }
html body.ea-pag-publica-digital .ea-feature-card:nth-child(3) .ea-feature-icon { --ea-icono: var(--ea-i-medida); }

html body .ea-format-card:nth-child(1) .ea-format-img { --ea-icono: var(--ea-i-tapa-blanda); }
html body .ea-format-card:nth-child(2) .ea-format-img { --ea-icono: var(--ea-i-tapa-dura); }
html body .ea-format-card:nth-child(3) .ea-format-img { --ea-icono: var(--ea-i-espiral); }
html body .ea-format-card:nth-child(4) .ea-format-img { --ea-icono: var(--ea-i-grapado); }
html body .ea-format-visual-img, html body .eb-format-icon { --ea-icono: var(--ea-i-lector); }
html body .ea-manuscrito-zona-icono { --ea-icono: var(--ea-i-subir); }
html body :is(.ea-format-img, .ea-format-visual-img)::before { width: 40px; height: 40px; }
html body :is(.eb-format-icon, .ea-manuscrito-zona-icono)::before { width: 26px; height: 26px; }
html body :is(.ea-caminos, .elementor-widget-html) :is(.ea-camino-icono, .ea-pub-card-icon) {
	background: var(--ea-paper) center / cover no-repeat !important; box-shadow: none !important;
	border-radius: var(--ea-radius-sm, 6px) !important; flex: 0 0 auto;
}
html body :is(.ea-caminos, .elementor-widget-html) :is(.ea-camino-icono, .ea-pub-card-icon) > svg { display: none !important; }
html body .ea-camino-icono { width: 64px !important; height: 64px !important; }
html body .elementor-widget-html .ea-pub-card-icon { width: 76px !important; height: 76px !important; }
html body .ea-camino:nth-child(1) .ea-camino-icono { background-image: url("../img/miniaturas/si-lees.webp") !important; }
html body .ea-camino:nth-child(2) .ea-camino-icono { background-image: url("../img/miniaturas/si-escribes.webp") !important; }
html body .elementor-widget-html .ea-pub-card:nth-child(1) .ea-pub-card-icon { background-image: url("../img/miniaturas/libro-impreso.webp") !important; }
html body .elementor-widget-html .ea-pub-card:nth-child(2) .ea-pub-card-icon { background-image: url("../img/miniaturas/ebook.webp") !important; }

/* ---------- 53. Contacto: tarjetas "Quizá lo tengas a un clic" (oct 2026) ----------
   Eran planas (borde fino, sin sombra) con el enlace subrayado y una flechita. Ahora: sombra suave que crece al pasar por
   encima, icono en un círculo color papel, toda la tarjeta es el enlace y la flecha va en un círculo que se rellena. */
html body .ea-contact-shortcuts .ea-contact-shortcut {
	position: relative; display: flex !important; flex-direction: column; gap: 10px;
	padding: 30px 28px 26px !important; background: #fff; border: 1px solid var(--ea-line) !important;
	box-shadow: 0 1px 2px rgba(20, 33, 58, .05), 0 10px 28px -16px rgba(20, 33, 58, .28);
	transition: transform .25s var(--ea-ease, ease), box-shadow .25s, border-color .25s;
}
html body .ea-contact-shortcuts .ea-contact-shortcut:hover,
html body .ea-contact-shortcuts .ea-contact-shortcut:focus-within {
	transform: translateY(-3px); border-color: color-mix(in srgb, var(--ea-navy) 35%, var(--ea-line)) !important;
	box-shadow: 0 2px 4px rgba(20, 33, 58, .06), 0 18px 36px -16px rgba(20, 33, 58, .38);
}
/* Icono en círculo papel (gana a §52, que quita las cajas) */
html body .ea-contact-shortcuts .ea-contact-shortcut .elementor-icon:has(> svg[class*="e-fas-"]) {
	width: 52px !important; height: 52px !important; border-radius: 50% !important;
	background: color-mix(in srgb, var(--ea-navy) 7%, var(--ea-paper)) !important; margin-bottom: 6px;
}
html body .ea-contact-shortcuts .ea-contact-shortcut .elementor-icon:has(> svg[class*="e-fas-"])::before { width: 26px; height: 26px; }
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-step-text { flex: 1 1 auto; }
/* Enlace: sin subrayado, abajo del todo; toda la tarjeta es clicable (el ::before del enlace la cubre) */
html body .ea-contact-shortcuts .ea-contact-shortcut :is(.elementor-element, .elementor-widget-container) { position: static !important; }
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-btn-link { margin-top: auto !important; }
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-btn-link .elementor-button {
	position: static !important; text-decoration: none !important; border: 0 !important; padding: 6px 0 0 !important; min-height: 0;
}
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-btn-link .elementor-button::before { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-btn-link .elementor-button-text {
	display: inline-flex; align-items: center; gap: 12px; text-decoration: none !important; border: 0 !important; background: none !important;
}
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-btn-link .ea-flecha {
	box-sizing: border-box; width: 32px !important; height: 32px !important; padding: 8px; border-radius: 50%;
	border: 1.5px solid var(--ea-navy); color: var(--ea-navy); transition: background-color .2s, color .2s, transform .25s;
}
html body .ea-contact-shortcuts .ea-contact-shortcut:is(:hover, :focus-within) .ea-btn-link .ea-flecha { background: var(--ea-navy); color: #fff; transform: translateX(4px); }
html body .ea-contact-shortcuts .ea-contact-shortcut .ea-btn-link .elementor-button:focus-visible { outline: none; }
html body .ea-contact-shortcuts .ea-contact-shortcut:has(.elementor-button:focus-visible) { outline: 2px solid var(--ea-navy); outline-offset: 3px; }
/* El resto del contenido deja pasar el clic al enlace (el título tiene posición propia y tapaba el ::before) */
html body .ea-contact-shortcuts .ea-contact-shortcut > :not(.ea-btn-link) { pointer-events: none; }

/* ---------- 54. Menú principal completo con desplegables (oct 2026) ----------
   Librería ▾ (géneros y subgéneros del catálogo, cabecera.php ea_menu_generos()) · Novedades · Ebooks · Para autores ▾ ·
   Sobre nosotros · Contacto · botón. Estructura: tools/menu-principal.php. Botones de las flechas: frontend.js. */
body #primary-menu { gap: 4px !important; } /* el tema subía el hueco a 35 px por debajo de 1440: a 1024 el botón se salía */
body #primary-menu > li { position: relative; }
body #primary-menu > li > a { font-size: 15px !important; }
body #primary-menu > li.menu-item-has-children { display: flex; align-items: center; }
body #primary-menu > li.menu-item-has-children > a { padding-right: 4px !important; }
body #primary-menu .ea-nav-abrir { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; margin: 0 6px 0 0; padding: 0; border: 0; border-radius: 4px; background: none !important; color: var(--ea-ink) !important; cursor: pointer; transition: transform .2s; }
body #primary-menu .ea-nav-abrir:focus-visible { outline: 2px solid var(--ea-navy); outline-offset: 1px; }
body #primary-menu > li:is(:hover, :focus-within, .ea-abierto):not(.ea-cerrado) > .ea-nav-abrir { transform: rotate(180deg); }
/* (sin el botón «Publica tu libro»: en su propia página se quedaba marino sobre marino, sin texto) */
body #primary-menu > li:not(.ea-nav-cta) > a:is(:hover, :focus-visible), body #primary-menu > li.current-menu-item:not(.ea-nav-cta) > a, body #primary-menu > li.current-menu-ancestor > a { color: var(--ea-navy) !important; }

/* Panel */
body #primary-menu > li > .sub-menu {
	position: absolute !important; top: calc(100% + 6px) !important; left: 0 !important; z-index: 1000;
	display: block !important; min-width: 280px; margin: 0 !important; padding: 10px !important;
	background: #fff !important; border: 1px solid var(--ea-line) !important; border-radius: 10px !important;
	box-shadow: 0 18px 40px rgba(20, 33, 58, .14) !important; list-style: none;
	opacity: 0; visibility: hidden; transform: translateY(6px); transition: opacity .15s, transform .15s, visibility 0s linear .15s;
}
body #primary-menu > li > .sub-menu::before { content: ""; position: absolute; left: 0; right: 0; top: -8px; height: 8px; } /* puente: no se cierra al bajar el ratón */
body #primary-menu > li:is(:hover, :focus-within, .ea-abierto):not(.ea-cerrado) > .sub-menu { opacity: 1; visibility: visible; transform: none; transition: opacity .15s, transform .15s; }
body #primary-menu .sub-menu li { position: static; display: block; margin: 0; padding: 0; border: 0; width: auto; float: none; }
body #primary-menu .sub-menu a { display: block; padding: 8px 12px !important; border-radius: 6px; color: var(--ea-ink) !important; font-size: 14.5px; font-weight: 400; line-height: 1.35; text-transform: none; letter-spacing: 0; white-space: normal; }
body #primary-menu .sub-menu a:is(:hover, :focus-visible) { background: var(--ea-paper); color: var(--ea-navy) !important; }
body #primary-menu .sub-menu .current-menu-item > a { color: var(--ea-navy) !important; font-weight: 600; }
body #primary-menu > li.ea-nav-autores > .sub-menu { width: max-content; max-width: 380px; }
body #primary-menu .sub-menu li.ea-nav-sep { margin-top: 8px; padding-top: 8px; border-top: 1px solid var(--ea-line); }

/* Librería: todos los géneros a la vista, cada uno con sus subgéneros debajo */
body #primary-menu > li.ea-nav-generos > .sub-menu { column-count: 4; column-gap: 20px; width: min(920px, calc(100vw - 64px)); padding: 20px 22px !important; }
body #primary-menu li.ea-nav-genero { break-inside: avoid; }
body #primary-menu li.ea-nav-genero > a { padding: 6px 10px !important; font-family: "Newsreader", Georgia, serif !important; font-size: 16.5px !important; font-weight: 600 !important; color: var(--ea-ink) !important; }
body #primary-menu li.ea-nav-genero > .ea-nav-abrir { display: none; }
body #primary-menu li.ea-nav-genero > .sub-menu { position: static !important; display: block !important; margin: 0 0 10px !important; padding: 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; opacity: 1; visibility: inherit; transform: none; min-width: 0; }
body #primary-menu li.ea-nav-genero > .sub-menu a { padding: 4px 10px !important; font-size: 14px; color: var(--ea-muted) !important; }
body #primary-menu li.ea-nav-genero > .sub-menu a:is(:hover, :focus-visible) { color: var(--ea-navy) !important; }
body #primary-menu li.ea-nav-todo { column-span: all; margin-top: 6px; padding-top: 10px; border-top: 1px solid var(--ea-line); }
body #primary-menu li.ea-nav-todo > a { display: inline-flex; font-weight: 600; color: var(--ea-navy) !important; }
body #primary-menu li.ea-nav-todo > a::after { content: "→"; margin-left: 8px; }
@media (max-width: 1199px) {
	body #primary-menu > li.ea-nav-generos > .sub-menu { column-count: 3; }
}
@media (prefers-reduced-motion: reduce) {
	body #primary-menu > li > .sub-menu, body #primary-menu .ea-nav-abrir { transition: none; }
}

/* Móvil (menú lateral): cada desplegable se abre con su botón */
body #main_navigation-menu li.menu-item-has-children { position: relative; }
body #main_navigation-menu li.menu-item-has-children > a { padding-right: 52px !important; }
body #main_navigation-menu .ea-nav-abrir { position: absolute; top: 0; right: 0; display: flex; align-items: center; justify-content: center; width: 48px; height: 44px; padding: 0; border: 0; background: none !important; color: var(--ea-ink) !important; transition: transform .2s; }
body #main_navigation-menu li.ea-abierto > .ea-nav-abrir { transform: rotate(180deg) !important; }
body #main_navigation-menu > li > a { color: var(--ea-ink) !important; font-weight: 500; }
body #main_navigation-menu .sub-menu a { color: var(--ea-muted) !important; }
body #main_navigation-menu li.ea-nav-genero > a { color: var(--ea-ink) !important; }
body #main_navigation-menu .sub-menu { display: none !important; position: static !important; margin: 0 0 6px !important; padding: 0 0 0 14px !important; border-left: 2px solid var(--ea-line) !important; background: none !important; box-shadow: none !important; opacity: 1 !important; visibility: visible !important; transform: none !important; }
body #main_navigation-menu li.ea-abierto > .sub-menu { display: block !important; }
body #main_navigation-menu .sub-menu a { font-size: 15px; text-transform: none; }
body #main_navigation-menu li.ea-nav-cta > a { display: inline-flex !important; margin-top: 10px; padding: 10px 16px !important; border-radius: var(--ea-btn-radius, 8px); background: var(--ea-navy); color: #fff !important; }

/* ---------- 55. Ficha: aviso «Elige Impreso o Ebook» mientras «Añadir al carrito» está desactivado (ficha.js, oct 2026) ---------- */
body .ea-formato-elige { margin: -4px 0 14px; color: var(--ea-muted); font-size: 14px; }
body .ea-formato-elige[hidden] { display: none; }

/* ---------- 56. Ayuda (/ayuda/, tools/ayuda.php; bloques normales de WordPress, oct 2026) ---------- */
body.ea-pag-ayuda #bwp-main .entry-content, body.ea-pag-ayuda #bwp-main .page-content, body.ea-pag-ayuda #bwp-main article { max-width: 780px; margin-left: auto; margin-right: auto; }
body.ea-pag-ayuda #bwp-main { font-size: 16px; line-height: 1.65; color: var(--ea-ink); }
body.ea-pag-ayuda #bwp-main h1 { margin: 8px 0 12px; }
body.ea-pag-ayuda #bwp-main h2 { margin: 44px 0 14px; scroll-margin-top: 160px; }
body.ea-pag-ayuda #bwp-main a { color: var(--ea-navy) !important; text-decoration: underline; text-underline-offset: 3px; }
body.ea-pag-ayuda #bwp-main a:hover { text-decoration-thickness: 2px; }
body.ea-pag-ayuda .ea-ayuda-indice { display: flex; flex-wrap: wrap; gap: 8px; font-size: 0; } /* sin los «·» entre enlaces */
body.ea-pag-ayuda #bwp-main .ea-ayuda-indice a { display: inline-flex; padding: 7px 14px; border: 1px solid var(--ea-line); border-radius: 999px; background: #fff; font-size: 14px; text-decoration: none; }
body.ea-pag-ayuda #bwp-main .ea-ayuda-indice a:hover { border-color: var(--ea-navy); }
body.ea-pag-ayuda details.ea-ayuda-q { margin: 0 0 10px; border: 1px solid var(--ea-line); border-radius: var(--ea-radius, 10px); background: #fff; }
body.ea-pag-ayuda details.ea-ayuda-q > summary { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 18px; font-weight: 600; cursor: pointer; list-style: none; }
body.ea-pag-ayuda details.ea-ayuda-q > summary::-webkit-details-marker { display: none; }
body.ea-pag-ayuda details.ea-ayuda-q > summary::after { content: ""; flex: none; width: 10px; height: 10px; margin-top: -4px; border-right: 2px solid var(--ea-navy); border-bottom: 2px solid var(--ea-navy); transform: rotate(45deg); transition: transform .2s; }
body.ea-pag-ayuda details.ea-ayuda-q[open] > summary::after { margin-top: 4px; transform: rotate(-135deg); }
body.ea-pag-ayuda details.ea-ayuda-q > summary:focus-visible { outline: 2px solid var(--ea-navy); outline-offset: 2px; border-radius: var(--ea-radius, 10px); }
body.ea-pag-ayuda details.ea-ayuda-q > :not(summary) { margin: 0 18px 14px; }
body.ea-pag-ayuda details.ea-ayuda-q ol, body.ea-pag-ayuda details.ea-ayuda-q ul { padding-left: 22px; }
body.ea-pag-ayuda details.ea-ayuda-q li { margin-bottom: 6px; }
body.ea-pag-ayuda .ea-ayuda-final { margin-top: 40px; padding: 18px 20px; border-radius: var(--ea-radius, 10px); background: var(--ea-paper); }
@media (prefers-reduced-motion: reduce) { body.ea-pag-ayuda details.ea-ayuda-q > summary::after { transition: none; } }
body.ea-pag-ayuda figure.ea-ayuda-img { margin: 4px 18px 18px; }
body.ea-pag-ayuda figure.ea-ayuda-img img { display: block; width: 100%; height: auto; border: 1px solid var(--ea-line); border-radius: 8px; box-shadow: 0 6px 18px rgba(20, 33, 58, .08); }
body.ea-pag-ayuda figure.ea-ayuda-img figcaption { margin: 8px 0 0; color: var(--ea-muted); font-size: 13.5px; text-align: left; }

/* ---------- 57. Sobre nosotros (tools/sobre-nosotros.php, revisión 26 oct 2026) ---------- */
/* Enlaces de las tarjetas sobre marino («Qué hacemos»): en blanco, si no, marino sobre marino. */
html body .ea-publica .ea-about-card .ea-btn-link :is(#ea-gana-a-botones, .elementor-button) { color: #fff !important; text-decoration-color: rgba(255, 255, 255, .5) !important; }
html body .ea-publica .ea-about-card .ea-btn-link { margin-top: auto !important; }
body .ea-publica .ea-about-cards .ea-about-card { display: flex; flex-direction: column; }
/* Cómo trabajamos: el número del paso en marino */
body .ea-about-pasos .ea-step-title .elementor-heading-title { color: var(--ea-ink) !important; }
/* Dónde estamos: banda papel con la dirección y la tarjeta «Escríbenos» */
body .ea-about-donde { background: var(--ea-paper) !important; }
body .ea-about-donde-fila { align-items: center !important; }
body .ea-about-direccion p { margin: 0 0 10px; color: var(--ea-ink); font-size: 17px; line-height: 1.6; }
body .ea-about-direccion a { color: var(--ea-navy) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
body .ea-about-escribenos { background: #fff; border: 1px solid var(--ea-line); border-radius: var(--ea-radius); padding: 28px !important; }
body .ea-about-escribenos .ea-step-text a { color: var(--ea-navy) !important; font-weight: 600; }
@media (max-width: 767px) { body .ea-about-donde-fila { flex-direction: column !important; align-items: stretch !important; } }
/* Tarjetas de pasos sin icono (Cómo trabajamos, Escríbenos): en el móvil la regla «icono a la izquierda del título» dejaba el
   título en la columna de 44 px del icono. */
html body .ea-step:not(:has(> .elementor-widget-icon)) { grid-template-columns: minmax(0, 1fr) !important; }

/* ---------- 58. Contacto (revisión 26 oct 2026) ---------- */
/* Casilla de privacidad: 20 px y toda la línea pulsable con ≥ 24 px de alto (era una casilla de 13 px). */
body .formulario-aragon .privacidad label { display: inline-flex; align-items: flex-start; gap: 10px; min-height: 24px; padding: 2px 0; cursor: pointer; }
body .formulario-aragon .privacidad input[type="checkbox"] { flex: none; width: 20px; height: 20px; margin: 0 !important; accent-color: var(--ea-navy); cursor: pointer; }
body .ea-contact-shortcuts .ea-section-lead a { color: var(--ea-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 59. Publica tu libro: «Cómo funciona» (tools/publica-intuitiva.php, 26 oct 2026) ---------- */
body .ea-pub-proceso { margin: 64px 0 56px; text-align: center; }
body .ea-pub-pasos { counter-reset: paso; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin: 28px 0 0; padding: 0; list-style: none; text-align: left; }
body .ea-pub-pasos li { counter-increment: paso; margin: 0; padding: 22px 22px 24px; border: 1px solid var(--ea-line); border-radius: var(--ea-radius); background: #fff; }
body .ea-pub-pasos li::before { content: counter(paso); display: flex; align-items: center; justify-content: center; width: 34px; height: 34px; margin-bottom: 14px; border-radius: 50%; background: var(--ea-navy); color: #fff; font-weight: 700; font-size: 15px; }
html body .ea-pub-pasos :is(#ea-gana-a-botones, strong) { display: block; color: var(--ea-ink); font-family: "Newsreader", Georgia, serif !important; font-size: 19px; font-weight: 600; line-height: 1.3; }
body .ea-pub-pasos span { display: block; margin-top: 8px; color: var(--ea-muted); font-size: 14.5px; line-height: 1.55; }
body .ea-pub-pasos a { color: var(--ea-navy); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 1024px) { body .ea-pub-pasos { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 600px) { body .ea-pub-pasos { grid-template-columns: 1fr; } body .ea-pub-proceso { margin: 48px 0 40px; } }
body .ea-pub-wrapper > #ea-que-publicar { display: block; margin-top: 64px; scroll-margin-top: 160px; } /* ya no lo precede la banda de plantillas */
@media (max-width: 600px) { body .ea-pub-wrapper > #ea-que-publicar { margin-top: 44px; } }
/* Impreso: 4 ventajas (tools/ventajas-sin-confirmar.php) → 4 columnas en escritorio, 2 en tableta (la rejilla era de 3: 3 + 1) */
@media (min-width: 1025px) { html body .elementor-widget-html .ea-features-grid:has(> .ea-feature-card:nth-child(4):last-child) { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
@media (min-width: 481px) and (max-width: 1024px) { html body .elementor-widget-html .ea-features-grid:has(> .ea-feature-card:nth-child(4):last-child) { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ---------- 60. Atajos de la editorial en la web (panel.php; solo con sesión de editor) ---------- */
#wpadminbar #wp-admin-bar-ea-editorial .ab-icon { top: 2px; }
#wpadminbar .ea-ab-num { display: inline-block; min-width: 18px; margin-left: 4px; padding: 0 5px; border-radius: 9px; background: #d63638; color: #fff; font-size: 11px; line-height: 18px; text-align: center; }
body .ea-editar-libro { display: inline-flex; align-items: center; gap: 6px; margin: 0 0 10px; padding: 6px 12px; border: 1px dashed var(--ea-navy); border-radius: var(--ea-btn-radius, 6px); color: var(--ea-navy) !important; font-size: 13px; font-weight: 600; text-decoration: none; }
body .ea-editar-libro:hover { background: color-mix(in srgb, var(--ea-navy) 8%, #fff); }
body .ea-editar-libro .dashicons { width: 16px; height: 16px; font-size: 16px; }
@media (max-width: 782px) { /* WordPress oculta en el móvil lo que no es suyo: el menú, como icono con su número */
	#wpadminbar li#wp-admin-bar-ea-editorial { display: block; }
	#wpadminbar #wp-admin-bar-ea-editorial > .ab-item { position: relative; width: 52px; padding: 0; text-align: center; }
	#wpadminbar #wp-admin-bar-ea-editorial .ab-label { display: none; }
	#wpadminbar #wp-admin-bar-ea-editorial .ab-icon { margin: 0; top: 0; }
	#wpadminbar #wp-admin-bar-ea-editorial .ab-icon::before { font-size: 28px; line-height: 46px; }
	#wpadminbar #wp-admin-bar-ea-editorial > .ab-item .ea-ab-num { position: absolute; top: 4px; right: 2px; margin: 0; }
}
body .ea-editar-libro-fila { display: block; } /* el botón, alineado con las migas (dentro de .container) */

/* ---------- 61. Plantilla de ebook: enlace del paso 3 en marino (era gris claro y casi no se veía) ---------- */
html body .elementor-widget-html .eb-step p a { color: var(--ea-navy) !important; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }

/* ---------- 62. Envía tu manuscrito: sin el hueco y la línea suelta bajo la cabecera (la fila de pasos lleva línea y margen
   para ir tras un titular de sección, que aquí no hay) ---------- */
body.ea-pag-publica-enviar-manuscrito #bwp-main .ea-section:has(> .e-con-inner > .ea-steps:first-child) { padding-top: 48px !important; }
body.ea-pag-publica-enviar-manuscrito #bwp-main .ea-section > .e-con-inner > .ea-steps:first-child { margin-top: 0 !important; padding-top: 0 !important; border-top: 0 !important; }
/* Envía tu manuscrito: un campo por archivo según el formato (manuscrito.js oculta los que no tocan) */
body .ea-manuscrito .ea-manuscrito-archivo[hidden] { display: none !important; }
body .ea-manuscrito .ea-manuscrito-archivo + .ea-manuscrito-archivo { margin-top: 22px; padding-top: 20px; border-top: 1px solid var(--ea-line); }
body .ea-manuscrito .ea-manuscrito-segun { margin: 0 0 14px; color: var(--ea-muted); font-size: 14px; }
