/* El Pintor · lo que theme.json no cubre. Solo apariencia.
   Medidas sacadas de la web actual (docs/rediseno/inventario.md). */

:root {
	--ep-barra-alto: 30px;
	--ep-cabecera-alto: 53px;
	--ep-transicion: 0.3s ease;
}

@media (max-width: 767px) {
	:root {
		--ep-barra-alto: 53px;
		--ep-cabecera-alto: 58px;
	}
}

/* Sin recuadro al pulsar con el ratón o el dedo, como en la web actual (WordPress lo pone en cualquier :focus).
   Con el teclado sí sale, para saber dónde se está. */
.wp-site-blocks :focus:not(:focus-visible) {
	outline: none;
}

a,
button,
summary {
	-webkit-tap-highlight-color: transparent;
}

/* ---------- Cabecera ---------- */

/* Fija al bajar: la barra superior se va y la cabecera se queda arriba. */
.ep-sitio-cabecera {
	position: sticky;
	top: calc(var(--wp-admin--admin-bar--height, 0px) - var(--ep-barra-alto));
	z-index: 100;
}

.ep-barra {
	display: flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	height: var(--ep-barra-alto);
	padding: 0 20px;
	background: var(--wp--preset--color--principal);
	color: var(--wp--preset--color--crema);
}

.ep-barra p {
	margin: 0;
	font-size: var(--wp--preset--font-size--barra);
	line-height: 1.45;
	text-align: center;
	text-transform: uppercase;
}

.ep-barra strong {
	font-weight: 600;
}

.ep-barra__resto {
	white-space: nowrap;
}

.ep-cabecera {
	box-sizing: border-box;
	height: var(--ep-cabecera-alto);
	margin: 0 !important;
	padding: 0 30px;
	background: var(--wp--preset--color--crema);
	border-bottom: 1px solid var(--wp--preset--color--blanco);
}

.ep-logo {
	position: relative;
	top: 4px;
	margin: 0 !important;
}

.ep-logo img {
	display: block;
	width: 152px;
	height: auto;
}

.ep-cabecera__derecha {
	gap: 30px;
}

/* Menú: subrayado que crece al pasar el ratón; la página actual en el color secundario. */
.ep-menu .wp-block-navigation__container {
	gap: 30px;
}

.ep-menu .wp-block-navigation-item__content {
	position: relative;
	padding: 2px 0;
	color: var(--wp--preset--color--principal);
	transition: color var(--ep-transicion);
}

.ep-menu .wp-block-navigation-item__content::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -2px;
	width: 0;
	height: 1px;
	background: var(--wp--preset--color--principal-60);
	transition: width var(--ep-transicion);
}

.ep-menu .wp-block-navigation-item__content:hover,
.ep-menu .current-menu-item > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--secundario);
}

.ep-menu .wp-block-navigation-item__content:hover::after,
.ep-menu .current-menu-item > .wp-block-navigation-item__content::after {
	width: 100%;
}

/* "Acceso clientes" solo en el menú del móvil. */
.ep-menu .wp-block-navigation__responsive-container:not(.is-menu-open) .ep-menu__boton {
	display: none;
}

/* Icono de hamburguesa propio. */
.ep-menu .wp-block-navigation__responsive-container-open {
	width: 35px;
	height: 21px;
	background: url(../img/menu.svg) center / 35px 20.55px no-repeat;
}

.ep-menu .wp-block-navigation__responsive-container-open svg {
	display: none;
}

/* Menú del móvil: panel crema que entra desde la izquierda (75 % del ancho), con el logo arriba. */
@media (max-width: 599px) {
	.ep-menu .wp-block-navigation__responsive-container.is-menu-open {
		right: auto;
		width: 75%;
		padding: 0;
		background-image: url(../img/logo.svg);
		background-position: 20px 62px;
		background-size: 178px auto;
		background-repeat: no-repeat;
		box-shadow: 0 0 0 100vmax rgb(0 0 0 / 40%);
		animation: ep-entra-izquierda 0.4s ease both;
	}

	/* Dentro del panel abierto (prefijo largo para ganar a los estilos de WordPress, sin !important). */
	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content,
	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation__container,
	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item {
		align-items: stretch;
		width: 100%;
		gap: 0;
	}

	.ep-menu .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
		box-sizing: border-box;
		padding: 110px 20px 0;
	}

	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item__content {
		display: block;
		padding: 24px 0;
		font-size: 20px;
		line-height: 20px;
		color: var(--wp--preset--color--principal);
		border-bottom: 1px solid var(--wp--preset--color--principal-40);
	}

	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content .wp-block-navigation-item:nth-last-child(2) .wp-block-navigation-item__content {
		border-bottom: 0;
	}

	.ep-menu .is-menu-open .wp-block-navigation-item__content::after {
		display: none;
	}

	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content .ep-menu__boton {
		margin-top: 20px;
	}

	.ep-menu .is-menu-open .wp-block-navigation__responsive-container-content .ep-menu__boton .wp-block-navigation-item__content {
		padding: 20px;
		font-size: 15px;
		line-height: 15px;
		text-align: center;
		background: var(--wp--preset--color--principal);
		color: var(--wp--preset--color--blanco);
		border: 0;
	}
}

@keyframes ep-entra-izquierda {
	from { transform: translateX(-100%); }
	to { transform: translateX(0); }
}

/* Panel del mini carrito (WooCommerce): título en la letra de las cajas de la tienda, en una línea, y la X
   entera dentro de la pantalla. */
.wc-block-mini-cart__drawer .wc-block-mini-cart__title {
	display: block;
	margin-right: 64px;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 20px;
	font-weight: 700;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.wc-block-mini-cart__drawer .wc-block-mini-cart__title > span {
	display: inline;
}

.wc-block-mini-cart__drawer .wc-block-components-drawer__close {
	top: 8px;
	right: 8px;
}

/* Cesta: el icono propio de El Pintor en lugar del de WooCommerce. */
.ep-cesta .wc-block-mini-cart__button {
	padding: 0;
}

.ep-cesta .wc-block-mini-cart__icon {
	width: 23px;
	height: 22px;
	background: url(../img/cesta.svg) center / contain no-repeat;
}

.ep-cesta .wc-block-mini-cart__icon path,
.ep-cesta .wc-block-mini-cart__icon > * {
	display: none;
}

@media (max-width: 767px) {
	.ep-barra p {
		font-size: 12px;
	}

	.ep-cabecera {
		padding: 0 15px;
	}

	.ep-cabecera__derecha {
		gap: 24px;
		margin-right: 7px;
	}

	.ep-logo img {
		width: 140px;
	}

	.ep-menu .wp-block-navigation__responsive-container-open {
		width: 26px;
		height: 15px;
		background-size: 26px 15.2px;
	}
}

/* ---------- Contenido ---------- */

.ep-principal {
	margin-top: 0;
}

.ep-principal > .wp-block-post-content > * {
	margin-block: 0;
}

/* Letra pequeña elevada de la marca ("celebrªr", "gºurmet"): la letra es normal, así Google lee bien la palabra. */
.ep-volada {
	font-size: 0.55em;
	line-height: 0;
	vertical-align: 0.62em;
}

.ep-antetitulo {
	margin: 0;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 15px;
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal-60);
}

.ep-antetitulo--fuerte {
	color: var(--wp--preset--color--principal);
}

/* ---------- Portada ---------- */

/* Parte de arriba: degradado crema → blanco con la ilustración de la marca detrás (40 %). */
.ep-portada-arriba {
	position: relative;
	padding: 150px var(--wp--preset--spacing--lateral) !important;
	background: var(--wp--preset--gradient--crema-blanco-60);
}

.ep-portada-arriba::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/ilustracion.svg) 50% 50% no-repeat;
	opacity: 0.4;
	pointer-events: none;
}

.ep-portada-arriba > * {
	position: relative;
}

.ep-portada-hero {
	text-align: center;
}

.ep-portada-hero .ep-antetitulo {
	font-family: var(--wp--preset--font-family--basier);
	font-size: 15px;
}

.ep-titular-portada {
	max-width: 770px;
	margin: 13px auto 0 !important;
	font-size: var(--wp--preset--font-size--titular-xl);
	line-height: 1.1;
}

.ep-foto-inclinada {
	max-width: 900px;
	margin: 48px auto 0 !important;
	transform: rotate(-1deg);
}

.ep-foto-inclinada img {
	display: block;
	width: 100%;
	height: 500px;
	object-fit: cover;
	border-radius: 5px;
	box-shadow: 0 7px 17px rgb(0 0 0 / 9%);
}

.ep-aviso-titulo {
	max-width: 540px;
	margin: 32px auto 0 !important;
}

/* Formulario "Avísame" (el bloque es del plugin; aquí solo su aspecto). */
.ep-aviso {
	max-width: 680px;
	margin: 39px auto 0 !important;
	text-align: left;
}

.ep-aviso__caja {
	gap: 17px;
	padding: 10px 36px 10px 30px;
	background: var(--wp--preset--color--crema);
	border-radius: 100px;
	box-shadow: 0 1px 20px rgb(0 0 0 / 4%);
}

.ep-aviso__email {
	height: 47px;
	padding: 0;
	border: 0;
	background: transparent;
	font: 16px/1.4 var(--wp--preset--font-family--basier);
	color: var(--wp--preset--color--principal);
	outline: none;
}

.ep-aviso__email::placeholder {
	color: var(--wp--preset--color--principal-60);
}

.ep-aviso__boton {
	padding: 24px 34px;
	border: 0;
	border-radius: 100px;
	background: var(--wp--preset--color--principal);
	color: var(--wp--preset--color--blanco);
	font: 500 22px/1 var(--wp--preset--font-family--basier);
	text-transform: uppercase;
	cursor: pointer;
}

.ep-aviso__boton:hover {
	background: var(--wp--preset--color--secundario);
}

.ep-aviso__legal {
	justify-content: center;
	max-width: 560px;
	margin: 16px auto 0;
	font-size: 12px;
	color: var(--wp--preset--color--principal-60);
	text-align: left;
}

.ep-aviso__legal a {
	text-decoration: underline;
}

.ep-aviso__estado {
	margin: 12px 0 0;
	text-align: center;
	color: var(--wp--preset--color--secundario);
}

/* En temporada (ajuste "Temporada de El Pintor" del plugin): texto y botones de compra debajo de la foto, en lugar
   del aviso de cierre. Es lo que en Elementor estaba oculto fuera de temporada; medidas de ese diseño. */
.ep-temporada--abierta {
	max-width: 658px;
	margin: 40px auto 0 !important;
	padding-bottom: 21px;
	text-align: center;
}

.ep-temporada--abierta p {
	margin: 0 0 14.4px;
	font-size: 15px;
	line-height: 22.5px;
	color: var(--wp--preset--color--principal);
}

.ep-pintor-botones.ep-temporada__botones {
	gap: 20px;
	margin: 54.4px 0 0 !important;
}

.ep-pintor-botones.ep-temporada__botones .wp-block-button__link {
	border-radius: 5px;
}

.ep-sin-spam {
	margin: 30px 0 0 !important;
	color: var(--wp--preset--color--secundario);
	text-align: center;
}

/* Nuestra selección: título a la izquierda, texto a la derecha y tarjetas de producto. */
.ep-seleccion {
	margin-top: 129px !important;
}

.ep-seleccion .ep-seleccion__cabeza {
	gap: 80px;
	margin: 0 !important;
}

.ep-seleccion__titulo {
	margin: 0;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
}

.ep-seleccion__texto p {
	margin: 0 0 14px;
	font-size: 14px;
	line-height: 21px;
	text-align: right;
}

.ep-productos {
	margin-top: 75px !important;
}

.ep-productos ul.wc-block-product-template {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 30px;
}

/* Portada: tres por fila en el ordenador (Paco, 09/10: con los tres productos de temporada a la venta, que se vean
   juntos), centradas si hay menos; dos en pantallas medianas y una en el móvil. El botón, siempre abajo. */
.ep-productos--portada ul.wc-block-product-template {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
}

.ep-productos--portada ul.wc-block-product-template > .wc-block-product {
	display: flex;
	flex: 0 0 calc((100% - 60px) / 3);
	flex-direction: column;
	box-sizing: border-box;
	margin: 0;
}

.ep-productos--portada .wc-block-product .wc-block-components-product-button {
	margin-top: auto;
	padding-top: 29px;
}

@media (min-width: 782px) and (max-width: 1100px) {
	.ep-productos--portada ul.wc-block-product-template > .wc-block-product {
		flex-basis: calc((100% - 30px) / 2);
	}
}

@media (max-width: 781px) {
	.ep-productos--portada ul.wc-block-product-template > .wc-block-product {
		flex-basis: 100%;
	}
}

.ep-productos .wc-block-product {
	padding: 20px;
	background: var(--wp--preset--color--crema);
	border-radius: 5px;
	text-align: left;
}

.ep-productos .wc-block-components-product-image,
.ep-productos .wc-block-components-product-image img {
	margin: 0;
	border-radius: 5px;
}

.ep-productos .wc-block-components-product-image img {
	height: 360px !important;
	object-fit: cover;
}

.ep-productos .wp-block-post-title {
	margin: 14px 0 0;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 19px;
	font-weight: 600;
	line-height: 1.25;
	text-transform: uppercase;
}

.ep-productos .wc-block-components-product-price {
	min-height: 21px;
	margin: 15px 0 0;
	font-size: 20px;
	font-weight: 700;
}

.ep-productos .wc-block-components-product-summary {
	margin: 9px 0 0;
	font-size: 14px;
	line-height: 21px;
	color: rgb(176 67 28 / 90%);
}

.ep-productos .wc-block-components-product-summary p {
	margin: 0 0 15px;
}

.ep-productos .wc-block-components-product-summary p:last-child {
	margin-bottom: 0;
}

.ep-productos .wc-block-components-product-button {
	display: block;
	width: 100%;
	margin: 29px 0 0;
}

.ep-productos .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	height: 54px;
	margin: 0;
	padding: 0 20px;
	border-radius: 0;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
}

.ep-productos .wc-block-components-product-button__button::after {
	content: "";
	width: 15px;
	height: 14px;
	background: url(../img/cesta-boton.svg) center / contain no-repeat;
}

/* "Sin existencias" (o "Ver producto", sin precio) solo lleva a la ficha: sin la cesta y en contorno, para que
   se vea de un vistazo que no se puede añadir. */
.ep-productos .wc-block-components-product-button__button:not(.add_to_cart_button)::after {
	display: none;
}

.ep-productos .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:not(.add_to_cart_button) {
	border: 1px solid var(--wp--preset--color--principal-60);
	background: transparent;
	color: var(--wp--preset--color--principal);
}

.ep-productos .wp-block-button.wc-block-components-product-button .wc-block-components-product-button__button:not(.add_to_cart_button):hover {
	border-color: var(--wp--preset--color--principal);
}

/* Nuestra familia (el carrusel tiene su propia hoja: carrusel.css). */
.ep-familia {
	padding: 150px var(--wp--preset--spacing--lateral) 155px !important;
	background: var(--wp--preset--color--blanco);
}

.ep-familia__titulo {
	margin-block: 4px 20px !important;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
}

/* Legado: mancha de color detrás (25 %), dos fotos inclinadas y el texto. */
.ep-legado {
	position: relative;
	margin-bottom: 170px !important;
	padding: 149px var(--wp--preset--spacing--lateral) 140px !important;
	background: var(--wp--preset--color--blanco);
}

.ep-legado::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/mancha.svg) 50% 50% / contain no-repeat;
	opacity: 0.25;
	pointer-events: none;
}

.ep-legado .ep-legado__columnas {
	position: relative;
	gap: 40px;
	margin-block: 0 !important;
}

/* Fotos: la flor a 90 px del borde y el padre pegado al borde derecho de su columna (como en Elementor), así nunca
   pisan el texto; se encogen con la columna. */
.ep-legado__fotos {
	position: relative;
	padding-bottom: 28px;
}

.ep-legado__fotos figure {
	width: min(368px, calc(100% - 90px));
	margin: 0;
}

.ep-legado__fotos img {
	display: block;
	width: 100%;
	height: auto;
	aspect-ratio: 368 / 464;
	object-fit: cover;
	border-radius: 5px;
}

.ep-legado__fotos .ep-legado__flor {
	position: relative;
	margin-left: 90px;
	transform: rotate(-2deg);
}

.ep-legado__fotos .ep-legado__padre {
	position: absolute;
	top: 37px;
	right: 0;
	transform: rotate(2deg);
}

/* Tableta (como Elementor hasta 1024 px): fotos al 85 %, el padre más grande, delante y algo más abajo. */
@media (min-width: 782px) and (max-width: 1024px) {
	.ep-legado__fotos {
		padding-bottom: 174px;
	}

	.ep-legado__fotos .ep-legado__flor {
		width: calc((100% - 90px) * 0.85);
	}

	.ep-legado__fotos .ep-legado__padre {
		top: 78px;
		width: 85%;
	}
}

.ep-legado__texto .ep-antetitulo {
	font-size: 13px;
}

.ep-legado__titulo {
	margin: 16px 0 20px !important;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
}

.ep-legado__texto p:not(.ep-antetitulo) {
	max-width: 484px;
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 22.5px;
}

.ep-legado__botones {
	margin-top: 34px !important;
}

.ep-legado__botones .wp-block-button__link {
	padding: 21px 40px;
	border: 1px solid var(--wp--preset--color--principal);
	border-radius: 3px;
	font-size: 15px;
	font-weight: 400;
}

@media (max-width: 781px) {
	.ep-portada-arriba {
		padding-block: 60px !important;
	}

	.ep-portada-hero .ep-antetitulo {
		max-width: 232px;
		margin-inline: auto;
		font-size: 12px;
	}

	.ep-titular-portada {
		margin-top: 9px !important;
		line-height: 1.1;
	}

	.ep-foto-inclinada {
		margin-top: 30px !important;
	}

	.ep-foto-inclinada img {
		height: 283px;
	}

	.ep-aviso-titulo {
		margin-top: 30px !important;
	}

	.ep-aviso {
		margin-top: 35px !important;
	}

	.ep-aviso__caja {
		gap: 20px;
		padding: 10px 29px 10px 20px;
	}

	.ep-aviso__boton {
		font-size: 14px;
	}

	.ep-sin-spam {
		max-width: 270px;
		margin-inline: auto !important;
	}

	.ep-seleccion {
		margin-top: 70px !important;
	}

	.ep-seleccion .ep-seleccion__cabeza {
		gap: 20px;
	}

	.ep-seleccion__texto p {
		text-align: left;
	}

	.ep-productos {
		margin-top: 45px !important;
	}

	.ep-productos ul.wc-block-product-template {
		grid-template-columns: minmax(0, 1fr);
	}

	.ep-productos .wc-block-components-product-image img {
		height: 265px !important;
	}

	.ep-familia {
		padding-block: 60px 69px !important;
	}

	.ep-familia .ep-antetitulo {
		font-size: 13px;
	}

	.ep-familia__titulo {
		font-size: 30px;
	}

	.ep-legado {
		margin-bottom: 70px !important;
		padding-block: 63px 60px !important;
	}

	.ep-legado__fotos {
		padding-bottom: 33px;
	}

	.ep-legado__fotos figure {
		width: min(311px, calc(100% - 39px));
	}

	.ep-legado__fotos .ep-legado__flor {
		margin-left: -7px;
	}

	.ep-legado__fotos .ep-legado__padre {
		top: 46px;
		right: auto;
		left: 46px;
	}

	.ep-legado__botones .wp-block-button {
		width: 313px;
	}
}

/* ---------- Pie ---------- */

.ep-sitio-pie {
	margin-top: 0;
}

.ep-pie {
	position: relative;
	padding: 50px var(--wp--preset--spacing--lateral) !important;
	background: var(--wp--preset--color--secundario);
	color: var(--wp--preset--color--crema-70);
	overflow: hidden;
}

/* Ilustración de la marca, arriba a la derecha, muy tenue (como en Elementor: 7 %). */
.ep-pie::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/ilustracion.svg) 100% 0 no-repeat;
	opacity: 0.07;
	pointer-events: none;
}

.ep-pie > * {
	position: relative;
}

.ep-pie a {
	display: inline-block;
	color: inherit;
	line-height: inherit;
}

.ep-pie a:hover {
	color: var(--wp--preset--color--crema);
}

.ep-pie__logo {
	margin: 0 !important;
}

.ep-pie__logo a {
	display: block;
}

.ep-pie__logo img {
	display: block;
	width: 293px;
	height: auto;
}

.ep-pie__cabeza {
	margin-block: 0 !important;
}

.ep-pie__lema {
	margin: 9px 0 0 !important;
	font-size: 16px;
	line-height: 1;
	letter-spacing: -0.4px;
	text-transform: uppercase;
}

.ep-pie .ep-pie__columnas {
	gap: 0;
	margin-block: 0 !important;
}

.ep-pie__linea {
	margin: 50px auto 47px !important;
	border-color: var(--wp--preset--color--crema-70);
	opacity: 1;
}

.ep-pie__titulo {
	margin: 0 0 25px;
	font-size: 22px;
	line-height: 1;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--crema);
}

.ep-pie__texto {
	max-width: 401px;
	font-size: 14px;
	line-height: 1.5;
}

.ep-pie__lista,
.ep-pie__enlaces {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ep-pie__lista li {
	margin-bottom: 15px;
	font-size: 14px;
	line-height: 14px;
}

.ep-pie__lista li:last-child {
	margin-bottom: 0;
}

.ep-pie__base {
	margin-top: 66px !important;
}

.ep-pie__enlaces {
	display: flex;
	flex-wrap: wrap;
	max-width: 620px;
	gap: 0 16px;
}

.ep-pie__enlaces li {
	margin: 0;
	font-size: 15px;
	line-height: 15px;
	text-transform: uppercase;
}

.ep-pie__redes {
	--wp--preset--color--crema: #F1EADF;
	margin: 0;
}

.ep-pie__redes .wp-social-link {
	color: var(--wp--preset--color--crema);
	font-size: 30px;
	line-height: 0;
}

.ep-pie__redes .wp-social-link a {
	padding: 0;
}

@media (max-width: 781px) {
	.ep-pie__logo a {
	display: block;
}

.ep-pie__logo img {
		width: 264px;
	}

	.ep-pie__cabeza {
		flex-direction: column;
	}

	.ep-pie__lema {
		max-width: 200px;
		margin-top: 6px !important;
		font-size: 18px;
		line-height: 1.3;
	}

	.ep-pie__linea {
		margin-top: 48px !important;
	}

	.ep-pie__texto {
		max-width: 303px;
		font-size: 16px;
	}

	.ep-pie__columnas > .wp-block-column:first-child {
		padding-bottom: 19px;
	}

	.ep-pie__lista li {
		margin-bottom: 20px;
		font-size: 16px;
		line-height: 16px;
	}

	.ep-pie__lista li:last-child {
		margin-bottom: 0;
	}

	.ep-pie .ep-pie__columnas {
		gap: 45px;
	}

	.ep-pie__base {
		flex-direction: column;
		gap: 20px;
		margin-top: 48px !important;
	}

	.ep-pie__enlaces {
		gap: 0 10px;
	}

	.ep-pie__enlaces li {
		font-size: 16px;
		line-height: 25.6px;
	}
}

/* Quien pide menos movimiento en su sistema no ve animaciones. */
@media (prefers-reduced-motion: reduce) {
	*,
	*::before,
	*::after {
		animation-duration: 0.01ms !important;
		transition-duration: 0.01ms !important;
	}
}

/* ---------- El pintor ---------- */

.ep-pintor-hero {
	position: relative;
	padding: 150px var(--wp--preset--spacing--lateral) 0 !important;
	background: var(--wp--preset--gradient--crema-blanco-60);
	text-align: center;
}

.ep-pintor-hero::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/ilustracion.svg) 50% 0 no-repeat;
	opacity: 0.4;
	pointer-events: none;
}

.ep-pintor-hero > * {
	position: relative;
}

.ep-pintor-titular {
	position: relative;
	z-index: 1;
	max-width: 800px;
	margin: 13px auto 0 !important;
	font-size: var(--wp--preset--font-size--titular-l);
	line-height: 1.1;
	letter-spacing: normal;
}

.ep-pintor-tomate {
	max-width: 774px;
	margin: -123px auto 0 !important;
}

.ep-pintor-tomate img {
	display: block;
	width: 100%;
	height: auto;
}

/* El tomate entra subiendo desde abajo, como en Elementor ("fadeInUp" lento: 2 s con 0,2 s de retraso). Es lo único
   que se anima al cargar: lo demás se ve desde el principio (Paco, 08/10). Sin JavaScript: acaba siempre visible. */
@keyframes ep-sube {
	from {
		opacity: 0;
		transform: translate3d(0, 100%, 0);
	}

	to {
		opacity: 1;
		transform: none;
	}
}

.ep-pintor-tomate img {
	animation: ep-sube 2s ease 0.2s both;
}

@media (prefers-reduced-motion: reduce) {
	.ep-pintor-tomate img {
		animation: none;
	}
}

/* En pantallas medianas el tomate se encoge con la ventana (como en Elementor, ~55 %), y su solape con el titular
   también, para no tapar el antetítulo. */
@media (min-width: 782px) {
	.ep-pintor-tomate {
		max-width: min(774px, 55vw);
		margin-top: calc(min(774px, 55vw) * -0.159) !important;
	}
}

.ep-pintor-intro {
	max-width: 830px;
	margin: 11px auto 0 !important;
	text-align: center;
}

.ep-pintor-intro p {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 22.5px;
}

.ep-linea-vertical {
	width: 0 !important;
	height: 71px;
	margin: 11px auto 0 !important;
	border: 0;
	border-left: 1px dashed var(--wp--preset--color--principal-60);
	opacity: 1;
}

.ep-pintor-galeria.wp-block-gallery {
	gap: 10px;
	margin: 75px 0 0 !important;
	padding: 0 10px;
}

.ep-pintor-galeria.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
	width: calc((100% - 20px) / 3);
	height: 311px;
	flex-grow: 0;
}

.ep-pintor-galeria.wp-block-gallery.has-nested-images figure.wp-block-image img {
	height: 100%;
	object-fit: cover;
	border-radius: 5px;
}

.ep-historia {
	margin-top: 129px !important;
	padding-inline: var(--wp--preset--spacing--lateral);
}

.ep-historia > .ep-antetitulo,
.ep-historia__titulo {
	text-align: center;
}

.ep-historia > .ep-antetitulo {
	font-size: 13px;
}

.ep-historia__titulo {
	margin: 31px 0 0 !important;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
}

/* Línea de tiempo: línea central y un punto a media altura de cada etapa. */
.ep-linea-tiempo {
	position: relative;
	max-width: 1088px;
	margin: 63px auto 0 !important;
}

.ep-linea-tiempo::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	width: 1px;
	background: var(--wp--preset--color--principal-40);
}

.ep-linea-tiempo .ep-hito {
	position: relative;
	gap: 0;
	margin: 0 !important;
}

.ep-linea-tiempo .ep-hito.wp-block-columns > .wp-block-column.wp-block-column {
	box-sizing: border-box;
	flex: 0 0 50%;
}

.ep-linea-tiempo .ep-hito::after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 16px;
	height: 16px;
	margin: -8px 0 0 -8px;
	border-radius: 50%;
	background: var(--wp--preset--color--principal);
}

.ep-linea-tiempo .ep-hito:nth-child(2) {
	margin-top: -23px !important;
}

.ep-linea-tiempo .ep-hito:nth-child(3) {
	margin-top: 30px !important;
}

.ep-linea-tiempo .ep-hito:nth-child(4) {
	margin-top: 76px !important;
}

.ep-hito--texto-izq .ep-hito__texto {
	padding-right: 100px;
	text-align: right;
}

.ep-hito--texto-der .ep-hito__texto {
	padding-left: 100px;
}

.ep-hito--texto-izq .ep-hito__foto {
	padding-left: 100px;
}

.ep-hito__foto figure {
	margin: 0 auto !important;
	text-align: center;
}

.ep-hito__foto img {
	display: block;
	margin: 0 auto;
}

.ep-hito--texto-izq:nth-child(1) .ep-hito__foto img { width: 266px; }
.ep-hito--texto-der:nth-child(2) .ep-hito__foto img { width: 275px; }
.ep-hito--texto-izq:nth-child(3) .ep-hito__foto img { width: 306px; }
.ep-hito--texto-der:nth-child(4) .ep-hito__foto img { width: 443px; }

.ep-hito__anio {
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1;
}

.ep-hito__titulo {
	margin: 23px 0 0 !important;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	text-transform: uppercase;
}

.ep-hito__texto p:not(.ep-hito__anio) {
	margin: 19px 0 0;
	font-size: 16px;
	line-height: 24px;
	color: var(--wp--preset--color--secundario);
}

/* Valores con la flor de la marca: crece y gira un poco al pasar el ratón. */
.ep-valores.wp-block-columns {
	gap: 20px;
	max-width: 1152px;
	margin: 262px auto 0 !important;
	text-align: center;
}

.ep-valores .ep-valores__icono {
	margin: 0 auto !important;
}

.ep-valores__icono img {
	width: 70px;
	height: auto;
	transition: transform var(--ep-transicion);
}

.ep-valores .wp-block-column:hover .ep-valores__icono img {
	transform: scale(1.1) rotate(4deg);
}

.ep-valores__titulo {
	margin: 10px 0 0 !important;
	font-size: 25px;
	line-height: 30px;
	text-transform: uppercase;
}

.ep-valores p {
	margin: 16px 0 0;
	font-size: 16px;
	line-height: 24px;
}

.ep-pintor-botones {
	justify-content: center;
	gap: 20px;
	margin: 100px 0 150px !important;
}

.ep-pintor-botones .wp-block-button__link {
	padding: 20px 40px;
	border: 1px solid var(--wp--preset--color--secundario);
	border-radius: 3px;
	font-size: 15px;
	font-weight: 400;
}

.ep-pintor-botones .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--principal);
}

@media (max-width: 781px) {
	.ep-pintor-hero {
		padding-top: 60px !important;
	}

	.ep-pintor-hero .ep-antetitulo {
		font-size: 12px;
	}

	.ep-pintor-titular {
		margin-top: 2px !important;
	}

	.ep-pintor-tomate {
		margin-top: -53px !important;
	}

	.ep-pintor-intro {
		margin-top: 3px !important;
		padding-inline: 33px;
	}

	.ep-pintor-intro p {
		margin-bottom: 17px;
		font-size: 14px;
		line-height: 21px;
	}

	.ep-pintor-galeria.wp-block-gallery {
		margin-top: 0 !important;
	}

	.ep-pintor-galeria.wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) {
		width: 100%;
		height: 247px;
	}

	.ep-historia {
		margin-top: 70px !important;
	}

	.ep-historia__titulo {
		margin-top: 10px !important;
	}

	.ep-linea-tiempo {
		margin-top: 50px !important;
	}

	/* En el móvil, sin la línea central ni sus puntos (como en Elementor). */
	.ep-linea-tiempo::before,
	.ep-linea-tiempo .ep-hito::after {
		display: none;
	}

	.ep-linea-tiempo .ep-hito.wp-block-columns > .wp-block-column.wp-block-column {
		flex-basis: 100%;
	}

	.ep-linea-tiempo .ep-hito,
	.ep-linea-tiempo .ep-hito:nth-child(n) {
		gap: 25px;
		margin-top: 45px !important;
	}

	.ep-linea-tiempo .ep-hito:first-child {
		margin-top: 0 !important;
	}

	.ep-hito--texto-izq .ep-hito__foto {
		order: -1;
		padding-left: 0;
	}

	.ep-hito--texto-izq .ep-hito__texto,
	.ep-hito--texto-der .ep-hito__texto {
		padding: 0;
		text-align: left;
	}

	.ep-hito__foto img,
	.ep-hito--texto-izq:nth-child(n) .ep-hito__foto img,
	.ep-hito--texto-der:nth-child(4) .ep-hito__foto img {
		width: 100%;
	}

	.ep-hito--texto-der:nth-child(2) .ep-hito__foto img {
		width: 275px;
		margin: 0;
	}

	.ep-hito__titulo {
		margin-top: 15px !important;
	}

	.ep-valores.wp-block-columns {
		gap: 37px;
		margin-top: 53px !important;
		padding-inline: var(--wp--preset--spacing--lateral);
		text-align: left;
	}

	.ep-valores .wp-block-column {
		display: grid;
		grid-template-columns: 64px 1fr;
		column-gap: 20px;
	}

	.ep-valores .ep-valores__icono {
		grid-row: span 2;
		margin: 0 !important;
	}

	.ep-valores__icono img {
		width: 64px;
	}

	.ep-valores__titulo {
		margin: 0 !important;
		font-size: 17px;
		line-height: 20.4px;
	}

	.ep-valores p {
		margin-top: 1px;
	}

	.ep-pintor-botones {
		flex-direction: column-reverse;
		align-items: stretch;
		margin: 61px var(--wp--preset--spacing--lateral) 60px !important;
	}

	.ep-pintor-botones .wp-block-button {
		width: 100%;
	}
}

/* ---------- Contacto ---------- */

.ep-contacto {
	padding: 120px var(--wp--preset--spacing--lateral) !important;
	background: var(--wp--preset--color--crema);
}

.ep-contacto .ep-contacto__columnas {
	gap: 0;
	margin-block: 0 !important;
}

.ep-contacto .ep-contacto__columnas > .wp-block-column.wp-block-column {
	box-sizing: border-box;
	flex: 0 0 50%;
}

/* La foto ocupa todo el alto de la caja de al lado (que crece con el formulario). */
.ep-contacto__foto figure {
	height: 100%;
	min-height: 700px;
	margin: 0;
}

.ep-contacto__foto img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ep-contacto .ep-contacto__columnas > .ep-contacto__caja {
	box-sizing: border-box;
	min-height: 700px;
	padding: 120px 80px 80px;
	background: var(--wp--preset--color--blanco);
}

.ep-contacto__titulo {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 40px;
	font-weight: 600;
	line-height: 1;
	letter-spacing: normal;
	text-transform: uppercase;
}

.ep-contacto__caja p {
	margin: 18px 0 0;
	font-size: 16px;
	line-height: 24px;
	color: var(--wp--preset--color--secundario);
}

.ep-contacto__caja a {
	color: inherit;
}

.ep-contacto__linea {
	margin: 60px 0 0 !important;
	border-top: 1px solid var(--wp--preset--color--secundario);
	opacity: 1;
}

.ep-contacto .ep-contacto__datos {
	gap: 50px;
	margin: 45px 0 0 !important;
}

/* Formulario de contacto (el bloque es del plugin; aquí su aspecto, como los campos del pago). */
.ep-contacto-form {
	margin-top: 30px;
}

.ep-contacto-form .ep-contacto-form__campo {
	margin: 20px 0 0;
}

.ep-contacto-form__campo label {
	margin-bottom: 10px;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal);
}

.ep-contacto-form__campo :is(input, textarea) {
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	padding: 0 22px;
	border: 1px solid var(--wp--preset--color--principal-60);
	border-radius: 5px;
	background: transparent;
	font-family: inherit;
	font-size: 14px;
	font-weight: 500;
	color: var(--wp--preset--color--principal);
}

.ep-contacto-form__campo textarea {
	height: 130px;
	padding-block: 15px;
	resize: vertical;
}

.ep-contacto-form__campo :is(input, textarea):focus {
	border-color: var(--wp--preset--color--principal);
	outline: none;
}

.ep-contacto-form .ep-contacto-form__legal {
	margin-top: 18px;
	font-size: 12px;
	color: var(--wp--preset--color--principal-60);
}

.ep-contacto-form__legal a {
	text-decoration: underline;
}

.ep-contacto-form__boton {
	margin-top: 24px;
	cursor: pointer;
}

.ep-contacto-form .ep-contacto-form__estado {
	margin: 16px 0 0;
	font-size: 15px;
	color: var(--wp--preset--color--secundario);
}

.ep-contacto__dato {
	margin: 0 !important;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 16px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: normal;
}

@media (max-width: 781px) {
	.ep-contacto {
		padding-block: 60px !important;
	}

	.ep-contacto .ep-contacto__columnas > .wp-block-column.wp-block-column {
		flex-basis: 100%;
	}

	.ep-contacto__foto figure {
		height: 450px;
		min-height: 0;
	}

	.ep-contacto .ep-contacto__columnas > .ep-contacto__caja {
		min-height: 0;
		padding: 60px 30px 50px;
	}

	.ep-contacto__caja > p {
		margin-top: 17px;
	}

	.ep-contacto__linea {
		margin-top: 50px !important;
	}

	.ep-contacto .ep-contacto__datos {
		gap: 23px;
		margin-top: 45px !important;
	}
}

/* ---------- Páginas legales (plantilla page-legal) ---------- */

.ep-legal {
	padding-bottom: 110px;
	background: var(--wp--preset--color--crema);
}

.ep-legal__cabeza,
.ep-legal__texto {
	box-sizing: border-box;
	max-width: calc(1290px + 2 * var(--wp--preset--spacing--lateral));
	margin-inline: auto;
	padding-inline: var(--wp--preset--spacing--lateral);
}

.ep-legal__cabeza {
	gap: 20px;
	padding-block: 113px;
}

.ep-legal__titulo {
	margin: 0;
	font-size: 52px;
	line-height: 1;
	letter-spacing: -2px;
}

.ep-legal .rank-math-breadcrumb p {
	margin: 0;
	font-size: 15px;
	font-weight: 700;
	line-height: 24px;
}

.ep-legal .rank-math-breadcrumb .separator {
	margin: 0 12px;
	color: var(--wp--preset--color--principal-60);
}

.ep-legal__texto {
	margin-top: 0 !important;
	padding-top: 110px;
}

.ep-legal .ep-legal__texto > p,
.ep-legal .ep-legal__texto li {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 500;
	line-height: 24px;
}

.ep-legal__texto strong {
	font-weight: 700;
}

.ep-legal .ep-legal__texto > h2,
.ep-legal .ep-legal__texto > h3 {
	margin: 16px 0 14px;
	font-size: 28px;
	line-height: 1.2;
}

.ep-legal .ep-legal__texto > ul {
	margin: 16px 0 14px;
	padding-left: 40px;
}

.ep-legal .ep-legal__texto li {
	margin-bottom: 15px;
}

@media (max-width: 781px) {
	.ep-legal__cabeza {
		flex-direction: column;
		align-items: flex-start;
		padding-block: 54px 53px;
	}

	.ep-legal__titulo {
		font-size: 38px;
		letter-spacing: -1.2px;
	}

	.ep-legal__texto {
		padding-top: 60px;
	}
}

/* ---------- Historias (listado) ---------- */

.ep-historias {
	padding: 120px var(--wp--preset--spacing--lateral) 120px;
	background: var(--wp--preset--color--crema);
}

.ep-historias__cabeza,
.ep-historias__lista {
	max-width: 1290px;
	margin-inline: auto !important;
}

.ep-historias .ep-historias__titulo {
	margin: 13px 0 0;
	font-size: 52px;
	line-height: 1;
	letter-spacing: -2px;
}

.ep-historias .ep-historias__frase {
	margin: 20px 0 0;
	font-size: 16px;
	line-height: 24px;
	color: var(--wp--preset--color--secundario);
}

.ep-historias__lista {
	margin-top: 120px !important;
}

.ep-historias__lista .wp-block-post-template {
	gap: 80px 30px;
}

.ep-tarjeta-historia {
	position: relative;
	height: 100%;
	box-sizing: border-box;
	padding: 50px;
	background: var(--wp--preset--color--blanco);
	border-radius: 5px;
	box-shadow: 0 1px 20px rgb(0 0 0 / 4%);
}

/* Fecha en una pestaña crema encima de la tarjeta. */
.ep-tarjeta-historia__fecha {
	position: absolute;
	top: -40px;
	left: 50px;
	margin: 0;
	padding: 14px 20px;
	background: var(--wp--preset--color--crema);
	font-size: 12px;
	font-weight: 500;
	line-height: 12px;
}

.ep-tarjeta-historia__meta {
	gap: 8px 30px;
	margin: 0 !important;
	font-size: 13px;
	font-weight: 500;
	line-height: 16px;
	color: var(--wp--preset--color--principal-60);
}

.ep-tarjeta-historia__meta .wp-block-post-author,
.ep-tarjeta-historia__meta .wp-block-post-author__content,
.ep-tarjeta-historia__meta p {
	display: flex;
	flex: none;
	gap: 4px;
	margin: 0;
	font-size: inherit;
	white-space: nowrap;
}

.ep-tarjeta-historia__meta .wp-block-post-terms {
	color: var(--wp--preset--color--principal-60);
}

.ep-tarjeta-historia__meta a {
	color: inherit;
}

.ep-tarjeta-historia .ep-tarjeta-historia__titulo {
	margin: 27px 0 0;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 22px;
	font-weight: 900;
	line-height: 1.3;
	letter-spacing: -0.4px;
	text-transform: none;
	color: var(--wp--preset--color--secundario);
}

.ep-tarjeta-historia__linea {
	margin: 28px 0 !important;
	border-color: var(--wp--preset--color--crema);
	opacity: 1;
}

.ep-tarjeta-historia__mas::after {
	content: " →";
}

.ep-tarjeta-historia__mas {
	font-size: 15px;
	font-weight: 800;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal-60);
}

/* ---------- Entrada ---------- */

.ep-entrada {
	padding: 120px var(--wp--preset--spacing--lateral);
	background: var(--wp--preset--color--crema);
}

.ep-entrada:has(.ep-entrada__imagen) {
	padding-top: 0;
}

.ep-entrada__imagen {
	margin-inline: calc(-1 * var(--wp--preset--spacing--lateral)) !important;
}

.ep-entrada__tarjeta {
	box-sizing: border-box;
	max-width: 1290px;
	margin: 0 auto !important;
	padding: 100px;
	background: var(--wp--preset--color--blanco);
	border-radius: 5px;
}

.ep-entrada__imagen + .ep-entrada__tarjeta {
	margin-top: -270px !important;
	position: relative;
}

.ep-entrada__categoria {
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal-60);
}

.ep-entrada__categoria a {
	color: inherit;
}

.ep-entrada .ep-entrada__titulo {
	max-width: 600px;
	margin: 25px auto 0;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 52px;
	line-height: 1.1;
	letter-spacing: -2px;
	text-align: center;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.ep-entrada__meta {
	margin-top: 36px !important;
	padding-bottom: 35px;
	border-bottom: 1px solid #ddd;
	font-size: 14px;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal-60);
}

.ep-entrada__meta .wp-block-post-author,
.ep-entrada__meta .wp-block-post-author__content {
	display: flex;
	flex: none;
	gap: 6px;
	white-space: nowrap;
}

.ep-entrada__meta p {
	margin: 0;
	font-size: inherit;
}

.ep-entrada .ep-entrada__texto {
	margin-top: 45px !important;
}

.ep-entrada .ep-entrada__texto > p,
.ep-entrada .ep-entrada__texto li {
	margin: 0 0 14px;
	font-size: 15px;
	font-weight: 500;
	line-height: 24px;
}

/* Títulos con aire antes (Paco, 12/10): separan bien cada parte del artículo. */
.ep-entrada .ep-entrada__texto > h2 {
	margin: 48px 0 16px;
	font-size: 32px;
	line-height: 1.2;
}

.ep-entrada .ep-entrada__texto > h3 {
	margin: 36px 0 14px;
	font-size: 28px;
	line-height: 1.2;
}

.ep-entrada .ep-entrada__texto strong {
	font-weight: 700;
}

.ep-entrada .ep-entrada__texto > ul {
	margin: 0 0 14px;
	padding-left: 1.2em;
}

/* Compartir: etiqueta y círculos con el color de la marca. */
.ep-compartir {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	margin-top: 45px !important;
}

.ep-compartir__etiqueta {
	margin-right: 10px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal-60);
}

.ep-compartir__red {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: var(--wp--preset--color--principal);
	color: var(--wp--preset--color--blanco);
	transition: background var(--ep-transicion);
}

.ep-compartir__red:hover {
	background: var(--wp--preset--color--secundario);
	color: var(--wp--preset--color--blanco);
}

/* Instagram es un botón (menú de compartir o copiar el enlace), con el mismo aspecto que los enlaces. */
button.ep-compartir__red {
	padding: 0;
	border: 0;
	cursor: pointer;
}

.ep-compartir__estado {
	flex-basis: 100%;
	font-size: 13px;
	color: var(--wp--preset--color--principal);
	text-align: center;
}

.ep-compartir__estado:empty {
	display: none;
}

.ep-entrada__linea {
	margin: 50px 0 !important;
	border-color: #ddd;
	opacity: 1;
}

.ep-entrada__autor {
	align-items: center;
	gap: 25px;
}

.ep-entrada__autor .wp-block-post-author__bio {
	margin-top: 14px;
	font-size: 17px;
	font-weight: 400;
	line-height: 1.55;
	letter-spacing: normal;
}

.ep-entrada__autor .wp-block-post-author__content {
	flex: 1;
	min-width: 0;
	font-size: 22px;
	font-weight: 800;
	line-height: 1;
	letter-spacing: -0.3px;
}

/* "Por" y el nombre, en la misma línea; debajo, la reseña en letra normal. */
.ep-entrada__autor .wp-block-post-author__byline,
.ep-entrada__autor .wp-block-post-author__name {
	display: inline;
	font-size: inherit;
	font-weight: inherit;
}

/* Más abajo hay un margin: 0 general para la coletilla; aquí hace falta el hueco antes del nombre. */
.ep-entrada__autor.wp-block-post-author .wp-block-post-author__byline {
	margin-right: 6px;
}

.ep-entrada__autor p {
	margin: 0;
	font-size: inherit;
}

.ep-entrada__navegacion {
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.42px;
}

@media (max-width: 781px) {
	.ep-historias {
		padding-block: 60px;
	}

	.ep-historias .ep-historias__titulo {
		font-size: 38px;
		letter-spacing: -1.2px;
	}

	.ep-historias__lista {
		margin-top: 80px !important;
	}

	.ep-tarjeta-historia {
		padding: 50px 30px;
	}

	.ep-tarjeta-historia__fecha {
		left: 30px;
	}

	.ep-entrada {
		padding-block: 60px;
	}

	.ep-entrada__tarjeta {
		padding: 50px 30px;
	}

	.ep-entrada .ep-entrada__titulo {
		font-size: 38px;
		letter-spacing: -1.2px;
	}

	.ep-entrada__meta {
		flex-direction: column;
		align-items: center;
		gap: 10px;
	}

	.ep-compartir {
		justify-content: flex-start;
	}

	.ep-entrada .ep-entrada__texto > h2 {
		margin-top: 40px;
	}

	.ep-compartir__estado {
		text-align: start;
	}
}

/* Tarjeta de producto clicable entera (sustituye al código "productos clicables" de Elementor, sin JavaScript):
   el enlace del título cubre la tarjeta y el botón de compra queda por encima. */
.ep-productos .wc-block-product {
	position: relative;
}

.ep-productos .wp-block-post-title a::after {
	content: "";
	position: absolute;
	inset: 0;
}

.ep-productos .wc-block-components-product-button {
	position: relative;
	z-index: 1;
}

/* Autor en línea ("Por Paco"): el núcleo da al "Por" todo el ancho y empuja el nombre. */
.wp-block-post-author .wp-block-post-author__byline {
	width: auto;
	margin: 0;
	font-size: inherit;
}

/* ---------- Tienda (plantilla archive-product) ---------- */

.ep-tienda > *,
.ep-ficha > * {
	margin-block: 0;
}

/* WooCommerce envuelve la ficha en un grupo propio: sin el hueco que el tema pone entre bloques. */
.wp-site-blocks > .woocommerce.product {
	margin-block-start: 0;
}

/* Arriba: degradado crema → blanco con la ilustración de la marca (40 %), como la portada. */
.ep-tienda-arriba {
	position: relative;
	padding: 150px var(--wp--preset--spacing--lateral) 120px;
	background: var(--wp--preset--gradient--crema-blanco);
}

.ep-tienda-arriba::before {
	content: "";
	position: absolute;
	inset: 0;
	background: url(../img/ilustracion.svg) -166px 190px no-repeat;
	opacity: 0.4;
	pointer-events: none;
}

.ep-tienda-arriba > * {
	position: relative;
	max-width: 1390px;
	margin-inline: auto !important;
}

.ep-tienda-arriba > .ep-tienda__cabeza {
	gap: 60px;
	margin-block: 0 60px;
}

.ep-tienda .ep-tienda__titulo {
	margin: 0;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
	letter-spacing: normal;
}

.ep-tienda__texto p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	text-align: right;
}

/* Rejilla de tres: las piezas de la tarjeta se reparten a lo alto (el botón, siempre abajo). */
.ep-productos--tienda {
	margin-top: 0 !important;
}

.ep-productos--tienda ul.wc-block-product-template {
	grid-template-columns: repeat(3, minmax(0, 1fr));
	grid-auto-rows: 1fr;
	gap: 30px 20px;
}

.ep-productos--tienda .wc-block-product {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 15px;
	min-height: 500px;
}

.ep-productos--tienda .wc-block-product > * {
	margin: 0;
}

.ep-productos--tienda .wp-block-post-title {
	line-height: 1;
}

.ep-productos--tienda .wc-block-components-product-price {
	min-height: 0;
}

.ep-productos--tienda .wc-block-components-product-summary {
	margin-block: 5px 14px;
}

/* ---------- Preguntas frecuentes (patrón elpintor/preguntas) ---------- */

.ep-preguntas {
	padding: 0 var(--wp--preset--spacing--lateral) 120px;
	background: var(--wp--preset--color--blanco);
}

.ep-preguntas__caja {
	max-width: 1290px;
	margin-inline: auto !important;
	padding: 80px;
	box-sizing: border-box;
	background: var(--wp--preset--color--crema);
	border-radius: 10px;
}

.ep-preguntas__caja .ep-preguntas__titulo {
	margin: 0 0 9px;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
}

.ep-preguntas__caja > .ep-preguntas__lista {
	margin-top: 0;
}

.ep-preguntas__lista > .ep-pregunta {
	margin: 0;
	border-bottom: 1px solid var(--wp--preset--color--blanco);
}

.ep-pregunta summary {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 20px 0;
	font-size: 15px;
	line-height: 1.5;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal);
	cursor: pointer;
	list-style: none;
	transition: color var(--ep-transicion);
}

.ep-pregunta summary::-webkit-details-marker {
	display: none;
}

/* Flecha de la marca: apunta arriba a la derecha y gira hacia abajo al abrir. */
.ep-pregunta summary::after {
	content: "";
	flex: 0 0 13px;
	height: 13px;
	background: url(../img/pregunta-pequena.svg) center / contain no-repeat;
	transition: transform var(--ep-transicion);
}

.ep-pregunta[open] summary::after {
	transform: rotate(135deg);
}

.ep-pregunta summary:hover,
.ep-pregunta[open] summary {
	color: var(--wp--preset--color--secundario);
}

.ep-pregunta[open] summary {
	border-bottom: 1px solid var(--wp--preset--color--blanco);
}

.ep-pregunta summary:focus:not(:focus-visible) {
	outline: none;
}

.ep-pregunta summary:focus-visible {
	outline: 2px solid currentcolor;
	outline-offset: 2px;
}

/* Respuesta: letra algo más clara, como en la web actual. */
.ep-preguntas__lista .ep-pregunta > :not(summary) {
	margin: 0 0 14.4px;
	font-size: 15px;
	font-weight: 500;
	line-height: 24px;
	color: rgb(176 67 28 / 80%);
}

.ep-preguntas__lista .ep-pregunta > summary + * {
	margin-top: 23px;
}

.ep-preguntas__lista .ep-pregunta > :last-child {
	margin-bottom: 23px;
}

/* ---------- Ficha de producto (plantilla single-product) ---------- */

/* Todo sobre un degradado crema → blanco: producto, familia y beneficios. */
.ep-ficha-arriba {
	padding: 120px var(--wp--preset--spacing--lateral);
	background: var(--wp--preset--gradient--crema-blanco);
}

.ep-ficha-arriba > * {
	max-width: 1290px;
	margin-block: 0;
	margin-inline: auto !important;
}

.ep-ficha-arriba > .ep-ficha__columnas {
	gap: 70px;
	align-items: flex-start;
	margin-block: 0;
}

:root :where(.ep-ficha__columnas) > .wp-block-column.wp-block-column {
	flex: 1 1 0;
	min-width: 0;
}

/* Fotos: la grande cuadrada y debajo las de la galería, cuatro por fila (la principal ya está arriba). */
.ep-ficha__galeria .wc-block-components-product-image,
.ep-ficha__galeria .wc-block-components-product-image img {
	margin: 0;
	border-radius: 5px;
}

.ep-ficha__galeria .wc-block-product-gallery-thumbnails {
	width: 100%;
	height: auto;
}

.ep-ficha__galeria .wc-block-product-gallery-thumbnails__scrollable {
	display: grid;
	height: auto;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 15px;
	overflow: visible;
	mask-image: none;
}

.ep-ficha__galeria .wc-block-product-gallery-thumbnails__thumbnail {
	width: auto;
	min-width: 0;
	max-width: none;
	margin: 0;
}

.ep-ficha__galeria .wc-block-product-gallery-thumbnails__thumbnail:first-child {
	display: none;
}

.ep-ficha__galeria .wc-block-product-gallery-thumbnails__thumbnail img {
	display: block;
	width: 100%;
	border-radius: 5px;
	cursor: pointer;
}

/* Pantalla completa de la galería (al pulsar la foto grande): sin el borde del navegador. */
.ep-ficha .wc-block-product-gallery-dialog {
	border: 0;
	background: var(--wp--preset--color--crema);
}

/* Datos: título, precio, descripción, compra, recomendados y preguntas, separados 30 px. */
.ep-ficha .ep-ficha__datos > * {
	margin-block: 0 30px;
}

.ep-ficha .ep-ficha__datos > :last-child {
	margin-bottom: 0;
}

.ep-ficha .ep-ficha__datos > .ep-ficha__titulo {
	margin-top: -4px;
	font-size: 30px;
	line-height: 1;
	letter-spacing: normal;
}

.ep-ficha .ep-ficha__datos > .ep-ficha__precio {
	margin-block: -10px 27px;
	font-size: 18px;
	font-weight: 600;
	line-height: 23px;
	letter-spacing: -0.3px;
}

/* Sin precio (fuera de temporada) queda un hueco pequeño, como en la web actual. */
.ep-ficha__precio:not(:has(.amount)) {
	height: 4px;
}

.ep-ficha__descripcion {
	font-size: 13px;
	line-height: 1.5;
}

/* El último párrafo también deja su hueco debajo, como en la web actual. */
.ep-ficha .ep-ficha__descripcion > *,
.ep-ficha .ep-ficha__descripcion > :last-child {
	margin-block: 0 14px;
}

/* Compra entre dos líneas blancas (vacía fuera de temporada: solo las líneas). */
.ep-ficha__compra {
	min-height: 70px;
	padding: 30px 0;
	border-block: 1px solid var(--wp--preset--color--blanco);
}

.ep-ficha__compra > * {
	margin: 0;
}

.ep-ficha__compra form.cart {
	display: flex;
	gap: 10px;
	margin: 0;
}

/* WooCommerce pone un ::before/::after de limpieza que en flex cuenta como hueco (su regla pesa más: de ahí
   el selector largo). */
.ep-ficha .ep-ficha__compra form.cart.cart::before,
.ep-ficha .ep-ficha__compra form.cart.cart::after {
	display: none;
}

.ep-ficha .ep-ficha__compra form.cart.cart div.quantity {
	flex: 0 0 54px;
	width: 54px;
	margin: 0;
}

.ep-ficha__compra .stock {
	margin: 0 0 14px;
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--principal);
}

/* Sin existencias: el aviso de WooCommerce y el formulario "Avísame" (lo añade el plugin), más pequeño que el de
   la portada y en blanco sobre el crema de la ficha. */
.ep-ficha__compra .stock.out-of-stock {
	margin: 0;
	font-size: 14px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.ep-ficha__aviso-titulo {
	margin: 10px 0 0;
	font-size: 15px;
	line-height: 1.5;
	color: var(--wp--preset--color--principal);
}

.ep-ficha__compra .ep-aviso.ep-aviso--ficha {
	max-width: none;
	margin: 20px 0 0 !important;
}

.ep-aviso--ficha .ep-aviso__caja {
	gap: 10px;
	padding: 5px 5px 5px 24px;
	border: 1px solid var(--wp--preset--color--principal-40);
	background: var(--wp--preset--color--blanco);
	box-shadow: none;
}

.ep-aviso--ficha .ep-aviso__email {
	height: 44px;
	font-size: 15px;
}

.ep-aviso--ficha .ep-aviso__boton {
	padding: 15px 26px;
	font-size: 14px;
}

.ep-aviso--ficha .ep-aviso__legal {
	justify-content: flex-start;
	max-width: none;
	margin-top: 12px;
}

.ep-aviso--ficha .ep-aviso__estado {
	text-align: left;
}

.ep-ficha__compra .quantity .qty {
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 0 10px;
	border: 1px solid var(--wp--preset--color--principal-60);
	border-radius: 5px;
	background: transparent;
	font: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--principal);
}

.ep-ficha__compra .single_add_to_cart_button {
	flex: 1;
	padding: 20px 0;
	border: 1px solid var(--wp--preset--color--secundario);
	border-radius: 5px;
	font-size: 15px;
	line-height: 1;
}

.ep-ficha__compra .single_add_to_cart_button:hover {
	color: var(--wp--preset--color--enfasis);
}

/* También te recomendamos: dos tarjetas pequeñas, centradas. */
.ep-recomendados > .ep-recomendados__titulo {
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 14px;
	line-height: 1.2;
}

.ep-recomendados > ul.wc-block-product-template {
	margin: 0;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
}

.ep-recomendados .wc-block-product {
	padding: 10px;
	border: 1px solid var(--wp--preset--color--blanco);
	border-radius: 5px;
	text-align: center;
}

.ep-recomendados .wc-block-components-product-image,
.ep-recomendados .wc-block-components-product-image img {
	margin: 0;
	border-radius: 5px;
}

.ep-recomendados .wp-block-post-title {
	margin: 20px 0 1px;
	padding: 7.5px 0;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 15px;
	line-height: 1.2;
}

.ep-recomendados .wc-block-components-product-price {
	margin: 0 0 15px;
	font-size: 13.7px;
	font-weight: 700;
}

.ep-recomendados .wc-block-components-product-button {
	margin: 0;
}

.ep-recomendados .wc-block-components-product-button .wc-block-components-product-button__button {
	min-height: 0;
	padding: 15px 30px;
	border-radius: 5px;
	font-size: 12px;
	line-height: 1;
	text-transform: uppercase;
	color: var(--wp--preset--color--enfasis);
}

/* Sin existencias, en contorno (como en las tarjetas de la tienda). */
.ep-recomendados .wc-block-components-product-button .wc-block-components-product-button__button:not(.add_to_cart_button) {
	border: 1px solid var(--wp--preset--color--principal-60);
	background: transparent;
	color: var(--wp--preset--color--principal);
}

.ep-ficha__datos .ep-preguntas__lista {
	margin-top: -11px;
}

.ep-ficha__datos .ep-pregunta summary::after {
	flex-basis: 20px;
	height: 20px;
	background-image: url(../img/pregunta.svg);
}

/* Nuestra familia dentro de la ficha: sin fondo propio y con menos aire que en la portada. */
.ep-ficha .ep-familia {
	margin-top: 100px !important;
	padding: 0 0 75px !important;
	background: none;
}

/* Beneficios: antetítulo, título y seis cajas blancas en tres columnas. */
.ep-beneficios {
	padding: 0 !important;
}

.ep-beneficios > * {
	max-width: none !important;
}

.ep-beneficios .ep-beneficios__antetitulo {
	font-size: 13px;
}

.ep-beneficios .ep-beneficios__titulo {
	max-width: 692px !important;
	margin: 22px 0 62px !important;
	font-size: clamp(25px, 3.5vw, 50px);
	line-height: 1.1;
}

.ep-beneficios__cajas {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 30px;
	margin-bottom: 120px !important;
}

.ep-beneficio {
	display: flex;
	flex-direction: column;
	justify-content: center;
	margin: 0 !important;
	padding: 40px 50px 50px;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--crema);
	border-radius: 5px;
	box-shadow: 0 1px 20px rgb(0 0 0 / 4%);
}

.ep-beneficio .ep-beneficio__titulo {
	margin: 0 0 16px;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 18px;
	line-height: 1.2;
	letter-spacing: -0.3px;
	text-transform: uppercase;
}

.ep-beneficio p {
	margin: 0;
	font-size: 15px;
	font-weight: 500;
	line-height: 1.6;
	color: var(--wp--preset--color--principal-60);
}

@media (max-width: 781px) {
	.ep-tienda-arriba {
		padding-block: 60px 180px;
	}

	.ep-tienda-arriba::before {
		background-position: 0 0;
	}

	.ep-tienda-arriba > .ep-tienda__cabeza {
		gap: 20px;
		margin-bottom: 43px;
	}

	.ep-tienda__texto p {
		text-align: left;
	}

	.ep-productos--tienda ul.wc-block-product-template {
		grid-template-columns: minmax(0, 1fr);
		gap: 31px;
	}

	.ep-preguntas {
		padding-block: 60px;
	}

	.ep-preguntas__caja {
		padding: 50px 25px;
		border-radius: 20px 20px 0 0;
	}

	.ep-ficha-arriba {
		padding-block: 60px;
	}

	.ep-ficha-arriba > .ep-ficha__columnas {
		gap: 47px;
	}

	.ep-ficha .ep-ficha__titulo {
		margin-top: -3px;
		font-size: 26px;
		letter-spacing: -0.3px;
	}

	.ep-ficha__descripcion {
		font-size: 15px;
	}

	.ep-ficha__datos .ep-pregunta summary {
		padding-block: 25px;
	}

	.ep-ficha__datos .ep-preguntas__lista {
		margin-top: -30px;
	}

	.ep-ficha .ep-familia {
		margin-top: 50px !important;
		padding-bottom: 46px !important;
	}

	.ep-beneficios .ep-beneficios__titulo {
		margin: 20px 0 48px !important;
		line-height: 1.1;
	}

	.ep-beneficios__cajas {
		grid-template-columns: minmax(0, 1fr);
		gap: 20px;
		margin-bottom: 0 !important;
	}

	.ep-beneficio {
		padding: 20px;
	}

	.ep-beneficio .ep-beneficio__titulo {
		font-size: 16px;
		letter-spacing: 0;
	}

	.ep-beneficio p {
		font-size: 14px;
	}
}

/* ---------- Carrito y finalizar compra (plantillas page-cart y page-checkout) ---------- */
/* Carrito y pago "clásicos" de WooCommerce (los mismos de hoy): aquí solo su aspecto. Medidas de la web actual. */

.ep-compra {
	padding: 120px var(--wp--preset--spacing--lateral);
	background: var(--wp--preset--color--crema);
}

/* El pago va sin cabecera ni pie, como ahora: empieza más arriba. */
.ep-compra--pago {
	padding-top: 60px;
}

.ep-compra > * {
	max-width: 1290px;
	margin-block: 0;
	margin-inline: auto !important;
}

/* WooCommerce limita a 1000 px el título y el contenido del carrito, el pago y la cuenta: aquí, el ancho del sitio. */
main.ep-compra > .ep-compra__titulo.wp-block-post-title,
main.ep-compra > .wc-block-store-notices.woocommerce,
main.ep-compra .ep-compra__contenido .woocommerce,
main.ep-cuenta > .ep-cuenta__cabeza .wp-block-post-title,
main.ep-cuenta .ep-cuenta__contenido .woocommerce {
	max-width: 1290px;
}

main.ep-cuenta > .ep-cuenta__cabeza .wp-block-post-title {
	max-width: none;
}

.ep-compra .ep-compra__titulo {
	margin-bottom: 60px;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
	letter-spacing: normal;
}

.ep-compra .woocommerce-notices-wrapper:empty {
	display: none;
}

/* Cajas blancas. */
.ep-compra .woocommerce-cart-form,
.ep-compra .cart_totals,
.ep-compra .woocommerce-billing-fields,
.ep-compra .woocommerce-additional-fields,
.ep-compra #payment {
	box-sizing: border-box;
	padding: 50px;
	background: var(--wp--preset--color--blanco);
	border-radius: 5px;
}

/* Títulos de las cajas. */
.ep-compra .cart_totals > h2,
.ep-compra .woocommerce-billing-fields > h3,
.ep-compra #order_review_heading {
	margin: 0;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 20px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

/* Tablas sin rayas de serie. */
.ep-compra table.shop_table {
	width: 100%;
	margin: 0;
	border: 0;
	border-collapse: collapse;
	border-radius: 0;
	font-size: 15px;
}

.ep-compra table.shop_table th,
.ep-compra table.shop_table td {
	padding: 0;
	border: 0;
	background: none;
	text-align: left;
	vertical-align: middle;
}

/* Botones de compra (Finalizar compra, Realizar el pedido). */
.ep-compra .checkout-button,
.ep-compra #place_order {
	display: block;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 20px;
	border: 1px solid var(--wp--preset--color--secundario);
	border-radius: 5px;
	background: var(--wp--preset--color--principal);
	font-size: 15px;
	font-weight: 400;
	line-height: 15px;
	letter-spacing: 1px;
	text-align: center;
	text-transform: uppercase;
	color: var(--wp--preset--color--blanco);
}

.ep-compra #place_order {
	font-size: 16px;
	line-height: 16px;
}

.ep-compra .checkout-button:hover,
.ep-compra #place_order:hover {
	color: var(--wp--preset--color--enfasis);
}

/* Carrito: productos a la izquierda y total a la derecha. */
.ep-compra--carrito .woocommerce {
	display: grid;
	grid-template-columns: minmax(0, 761fr) minmax(0, 499fr);
	gap: 30px;
	align-items: start;
}

.ep-compra--carrito .woocommerce > :not(.woocommerce-cart-form, .cart-collaterals) {
	grid-column: 1 / -1;
}

.ep-compra .cart-collaterals,
.ep-compra .cart-collaterals .cart_totals {
	float: none;
	width: auto;
	margin: 0;
}

.ep-compra .woocommerce-cart-form thead th {
	padding-bottom: 10px;
	font-weight: 900;
	line-height: 15px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.ep-compra .woocommerce-cart-form table.shop_table td {
	padding-block: 25px;
	font-size: 14px;
	line-height: 14px;
}

.ep-compra .woocommerce-cart-form .product-remove {
	width: 25px;
}

.ep-compra .woocommerce-cart-form .product-thumbnail {
	width: 92px;
}

.ep-compra .woocommerce-cart-form .product-price {
	width: 91px;
}

.ep-compra .woocommerce-cart-form .product-quantity,
.ep-compra .woocommerce-cart-form .product-subtotal {
	width: 113px;
}

.ep-compra .woocommerce-cart-form a.remove {
	display: inline;
	width: auto;
	height: auto;
	font-size: 21px;
	font-weight: 700;
	line-height: 21px;
	color: var(--wp--preset--color--principal-60) !important;
	background: none !important;
}

.ep-compra .woocommerce-cart-form table.cart .product-thumbnail img {
	display: block;
	width: 55px;
	height: 55px;
	object-fit: cover;
}

.ep-compra .woocommerce-cart-form .product-name a {
	color: var(--wp--preset--color--secundario);
	text-decoration: none;
}

.ep-compra .woocommerce-cart-form .qty {
	box-sizing: border-box;
	width: 51px;
	height: 28px;
	padding: 1px 2px;
	border: 1px solid var(--wp--preset--color--crema);
	border-radius: 3px;
	background: none;
	font: inherit;
	color: var(--wp--preset--color--principal);
}

/* "Actualizar carrito" y cupón (apagado) no se ven: el carrito se actualiza solo (plugin, carrito.js). */
.ep-compra .woocommerce-cart-form td.actions,
.ep-compra .woocommerce-cart-form tr:has(> td.actions) {
	display: none;
}

/* Total: filas de etiqueta y cifra; el envío, en dos líneas. */
.ep-compra .cart_totals > h2 {
	margin-bottom: 10px;
	font-size: 22px;
	line-height: 30px;
	letter-spacing: normal;
}

.ep-compra .cart_totals tr {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	padding-block: 18px;
}

.ep-compra .cart-collaterals .cart_totals table :is(th, td) {
	width: auto;
	padding: 0;
	border: 0;
	font-weight: 700;
	line-height: 19px;
}

.ep-compra .cart_totals th {
	color: var(--wp--preset--color--secundario);
}

.ep-compra .cart-collaterals .cart_totals table td {
	padding-right: 12px;
	text-align: right;
}

.ep-compra .cart-collaterals .cart_totals table .woocommerce-shipping-totals td {
	width: 100%;
	margin-top: 10px;
	font-weight: 500;
	text-align: left;
}

.ep-compra .cart_totals .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ep-compra .cart_totals .woocommerce-shipping-destination {
	margin: 20px 0 0;
	color: var(--wp--preset--color--principal-60);
}

.ep-compra .cart_totals .order-total {
	border-top: 1px solid var(--wp--preset--color--crema);
}

.ep-compra .cart_totals .order-total small {
	font-size: 12px;
	font-weight: 400;
}

.ep-compra .wc-proceed-to-checkout {
	margin-top: 33px;
	padding: 0;
}

/* Avisos de WooCommerce (carrito vacío, "añadido a la cesta", errores del pago) con los colores de la marca: hoy
   salen con los de serie (azul, verde). */
.ep-principal .wc-block-components-notice-banner {
	margin: 0 0 30px;
	padding: 20px 25px;
	border: 0;
	border-radius: 5px;
	background: var(--wp--preset--color--blanco);
	font-size: 15px;
	color: var(--wp--preset--color--principal);
}

.ep-principal .wc-block-components-notice-banner > svg {
	background: var(--wp--preset--color--principal);
	fill: var(--wp--preset--color--blanco);
}

.ep-principal .wc-block-components-notice-banner.is-error > svg {
	background: var(--wp--preset--color--secundario);
}

.ep-principal .wc-block-components-notice-banner a {
	color: var(--wp--preset--color--secundario);
}

.ep-compra .return-to-shop {
	margin-top: 0;
}


.ep-compra .return-to-shop .button {
	display: inline-block;
	padding: 18px 30px;
	border-radius: 5px;
	background: var(--wp--preset--color--principal);
	font-size: 14px;
	text-transform: uppercase;
	color: var(--wp--preset--color--blanco);
}

/* Pago: arriba, a todo el ancho, los botones de pago exprés de Stripe (Apple Pay, Google Pay, Link) y su "— o —",
   como en el móvil y en la web anterior; debajo, datos a la izquierda (dos cajas) y pedido + pago a la derecha. */
.ep-compra--pago form.checkout {
	display: grid;
	grid-template-columns: minmax(0, 722fr) minmax(0, 544fr);
	grid-template-areas:
		"expres expres"
		"separador separador"
		"cliente titulo"
		"cliente pedido";
	grid-template-rows: auto auto auto 1fr;
	column-gap: 24px;
	align-items: start;
}

.ep-compra--pago form.checkout > :not(#customer_details, #order_review_heading, #order_review) {
	grid-column: 1 / -1;
}

.ep-compra--pago form.checkout > #wc-stripe-express-checkout-element,
.ep-compra--pago form.checkout > #wc-stripe-express-checkout__order-attribution-inputs {
	grid-area: expres;
}

.ep-compra--pago form.checkout > #wc-stripe-express-checkout-button-separator {
	grid-area: separador;
}

.ep-compra--pago #customer_details {
	display: flex;
	flex-direction: column;
	grid-area: cliente;
	gap: 24px;
}

.ep-compra--pago #customer_details::before,
.ep-compra--pago #customer_details::after {
	display: none;
}

.ep-compra--pago #customer_details > .col-1,
.ep-compra--pago #customer_details > .col-2 {
	float: none;
	width: auto;
	max-width: none;
}

.ep-compra .woocommerce-shipping-fields:empty {
	display: none;
}

/* La nota del pedido, en su caja, sin el título "Información adicional" (como ahora). */
.ep-compra .woocommerce-additional-fields {
	padding: 81px 50px 59px;
}

.ep-compra .woocommerce-additional-fields > h3 {
	display: none;
}

/* "Mi pedido": el título y la tabla forman una caja; el pago va en otra debajo. */
.ep-compra--pago #order_review_heading {
	grid-area: titulo;
	padding: 50px 50px 30px;
	background: var(--wp--preset--color--blanco);
	border-radius: 5px 5px 0 0;
}

.ep-compra--pago #order_review {
	grid-area: pedido;
}

.ep-compra .woocommerce-checkout-review-order-table {
	table-layout: fixed;
	background: var(--wp--preset--color--blanco);
	border-collapse: separate !important;
	border-radius: 0 0 5px 5px !important;
}

.ep-compra .woocommerce-checkout-review-order-table th,
.ep-compra .woocommerce-checkout-review-order-table td {
	padding: 17px 0;
	border-top: 1px solid var(--wp--preset--color--crema) !important;
	line-height: 15px;
	color: var(--wp--preset--color--principal-60);
}

.ep-compra .woocommerce-checkout-review-order-table thead th {
	padding: 0 0 10px;
	border-top: 0 !important;
}

.ep-compra .woocommerce-checkout-review-order-table thead th:first-child {
	width: 163px;
}

.ep-compra .woocommerce-checkout-review-order-table tbody td {
	padding: 15px 0 16px;
	line-height: 17px;
	vertical-align: top;
}

.ep-compra .ep-compra__contenido table.woocommerce-checkout-review-order-table tfoot :is(th, td) {
	padding-block: 17px 18px;
	font-weight: 400;
}

.ep-compra .ep-compra__contenido table.woocommerce-checkout-review-order-table tfoot tr:last-child > * {
	padding-bottom: 50px;
}

.ep-compra table.woocommerce-checkout-review-order-table th {
	font-weight: 400;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.ep-compra .woocommerce-checkout-review-order-table :is(th, td):first-child {
	padding-left: 50px;
}

.ep-compra .woocommerce-checkout-review-order-table :is(th, td):last-child {
	padding-right: 50px;
}

.ep-compra .woocommerce-checkout-review-order-table tfoot tr:last-child > * {
	padding-bottom: 50px;
}

.ep-compra .woocommerce-checkout-review-order-table tfoot td {
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.ep-compra .woocommerce-checkout-review-order-table .product-quantity {
	font-weight: 400;
}

.ep-compra .woocommerce-checkout-review-order-table .woocommerce-shipping-methods {
	margin: 0;
	padding: 0;
	list-style: none;
	font-size: 14px;
}

.ep-compra .woocommerce-checkout-review-order-table .order-total td strong {
	font-weight: 700;
}

.ep-compra .woocommerce-checkout-review-order-table .woocommerce-shipping-methods label {
	font-weight: 400;
}

.ep-compra .woocommerce-checkout-review-order-table .order-total small {
	font-size: 12px;
}

.ep-compra--pago #payment {
	margin-top: 24px;
}

.ep-compra #payment ul.payment_methods {
	margin: 0;
	padding: 0;
	border: 0;
	list-style: none;
}

.ep-compra #payment ul.payment_methods > li > label {
	font-size: 14px;
	line-height: 23.8px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

/* Con un solo método de pago, sin el botón redondo (como ahora). */
.ep-compra #payment ul.payment_methods > li:only-child > input[type="radio"] {
	display: none;
}

.ep-compra #payment div.payment_box {
	margin: 10px 0 0;
	padding: 0;
	background: none;
	font-size: 13px;
	color: var(--wp--preset--color--principal);
}

.ep-compra #payment div.payment_box::before {
	display: none;
}

.ep-compra #payment .form-row.place-order {
	margin: 0;
	padding: 30px 0 0;
}

.ep-compra .woocommerce-privacy-policy-text p {
	margin: 0 0 30px;
	font-size: 11px;
	line-height: 18px;
	color: var(--wp--preset--color--principal-60);
}

.ep-compra .woocommerce-privacy-policy-text a {
	color: var(--wp--preset--color--secundario);
}

.ep-compra .woocommerce-terms-and-conditions-wrapper .form-row {
	margin: 0 0 30px;
	font-size: 12px;
}

.ep-compra .woocommerce-terms-and-conditions-wrapper label.checkbox {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	margin: 0;
	padding-left: 3px;
	line-height: 15px;
}

.ep-compra .woocommerce-terms-and-conditions-wrapper label.checkbox input {
	flex: 0 0 13px;
	margin: 1px 0 0;
}

/* Campos del formulario. */
.ep-compra .woocommerce-billing-fields__field-wrapper {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-top: 33px;
}

.ep-compra form .form-row {
	box-sizing: border-box;
	width: 100%;
	margin: 0 0 34px;
	padding: 0;
}

.ep-compra form .form-row-first,
.ep-compra form .form-row-last {
	width: calc(50% - 17px);
}

.ep-compra .woocommerce-billing-fields__field-wrapper > .form-row:last-child {
	margin-bottom: 18px;
}

.ep-compra .woocommerce-additional-fields .form-row {
	margin-bottom: 0;
}

.ep-compra #billing_address_1_field {
	margin-bottom: 11px;
}

.ep-compra form .form-row label:not(.checkbox, .woocommerce-form__label-for-checkbox) {
	display: block;
	margin: 0 0 18px;
	font-size: 14px;
	line-height: 18px;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: var(--wp--preset--color--principal);
}

.ep-compra form .form-row label.screen-reader-text {
	display: none;
}

.ep-compra form .form-row .required {
	font-weight: 700;
	text-decoration: none;
}

.ep-compra form .form-row .optional {
	font-weight: 400;
}

.ep-compra form .form-row :is(input.input-text, textarea),
.ep-compra form .form-row .select2-container .select2-selection--single,
.ep-compra #billing_country_field select {
	box-sizing: border-box;
	width: 100%;
	height: 54px;
	padding: 0 22px;
	border: 1px solid var(--wp--preset--color--principal-60);
	border-radius: 5px;
	background: transparent;
	font-family: inherit;
	font-size: 13px;
	font-weight: 500;
	line-height: 20.8px;
	color: var(--wp--preset--color--principal);
}

.ep-compra form .form-row textarea.input-text {
	height: 75px;
	min-height: 0;
	padding-block: 12px;
}

.ep-compra form .form-row ::placeholder {
	color: var(--wp--preset--color--principal-60);
	opacity: 1;
}

/* País: hoy solo España (WooCommerce lo pinta como texto); se enseña en una cajita, como ahora. */
.ep-compra #billing_country_field select {
	width: auto;
	appearance: none;
}

/* Provincia: el desplegable es algo más alto que los campos de texto (como ahora). */
.ep-compra form .form-row .select2-container .select2-selection--single {
	height: 63px;
}

.ep-compra form .form-row .select2-container .select2-selection--single {
	display: flex;
	align-items: center;
}

.ep-compra form .form-row .select2-selection__rendered {
	padding: 0;
	line-height: 52px;
	color: var(--wp--preset--color--principal);
}

.ep-compra form .form-row .select2-selection__arrow {
	top: 50%;
	right: 16px;
	transform: translateY(-50%);
}

/* ---------- Mi cuenta (plantilla page-cuenta) ---------- */

.ep-cuenta {
	padding: 120px var(--wp--preset--spacing--lateral) 148px;
	background: var(--wp--preset--color--crema);
}

.ep-cuenta > * {
	max-width: 1290px;
	margin-block: 0;
	margin-inline: auto !important;
}

.ep-cuenta .ep-cuenta__titulo {
	margin: 0;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
	letter-spacing: normal;
}

.ep-cuenta .rank-math-breadcrumb p {
	margin: 0;
	font-size: 15px;
	line-height: 24px;
	color: var(--wp--preset--color--principal-60);
}

.ep-cuenta .rank-math-breadcrumb a {
	color: inherit;
	text-decoration: none;
}

.ep-cuenta .rank-math-breadcrumb .separator {
	margin: 0 5px;
}

.ep-cuenta .ep-cuenta__contenido {
	margin-top: 120px;
}

.ep-cuenta .ep-cuenta__contenido h2 {
	margin: 0 0 28px;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 15px;
	font-weight: 500;
	line-height: 24px;
	color: var(--wp--preset--color--secundario);
}

.ep-cuenta form.woocommerce-form-login,
.ep-cuenta form.woocommerce-form-register,
.ep-cuenta form.lost_reset_password {
	margin: 0;
	padding: 50px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--blanco);
}

.ep-cuenta form .form-row {
	margin: 0 0 30px;
	padding: 0;
}

.ep-cuenta form .form-row:has(+ .form-row:not(.form-row-wide)) {
	margin-bottom: 37px;
}

.ep-cuenta form .form-row label {
	display: block;
	margin-bottom: 14px;
	font-size: 14px;
	font-weight: 700;
	line-height: 22.4px;
}

.ep-cuenta form .form-row .input-text {
	box-sizing: border-box;
	width: 100%;
	height: 64px;
	padding: 0 20px;
	border: 0;
	border-radius: 5px;
	background: #f9fafa;
	font: inherit;
	font-size: 15px;
	color: var(--wp--preset--color--principal);
}

.ep-cuenta .woocommerce-form-login__submit,
.ep-cuenta form .button {
	height: 55px;
	padding: 0 40px;
	border: 0;
	border-radius: 5px;
	background: var(--wp--preset--color--principal);
	font-size: 15px;
	text-transform: uppercase;
	color: var(--wp--preset--color--blanco);
}

.ep-cuenta .woocommerce-form-login__rememberme {
	display: inline-flex;
	align-items: center;
	gap: 3px;
	margin-left: 0;
	font-size: 15px;
	font-weight: 500;
}

.ep-cuenta .lost_password {
	margin: 28px 0 0;
	font-size: 12px;
}

.ep-cuenta .lost_password a {
	color: var(--wp--preset--color--principal-60);
}

@media (max-width: 781px) {
	.ep-compra {
		padding-block: 60px;
	}

	.ep-compra .ep-compra__titulo {
		margin-bottom: 40px;
	}

	.ep-compra--carrito .woocommerce,
	.ep-compra--pago form.checkout {
		display: flex;
		flex-direction: column;
		align-items: stretch;
		gap: 30px;
	}

	.ep-compra--pago #customer_details {
		gap: 24px;
	}

	.ep-compra--pago #order_review_heading {
		margin-bottom: -30px;
		padding: 50px 15px 30px;
	}

	.ep-compra .woocommerce-billing-fields,
	.ep-compra #payment {
		padding: 50px 15px;
	}

	.ep-compra .woocommerce-additional-fields {
		padding: 81px 15px 59px;
	}

	.ep-compra .woocommerce-checkout-review-order-table thead th:first-child {
		width: 120px;
	}

	.ep-compra .woocommerce-checkout-review-order-table :is(th, td):first-child {
		padding-left: 15px;
	}

	.ep-compra .woocommerce-checkout-review-order-table :is(th, td):last-child {
		padding-right: 15px;
	}

	/* Carrito en el móvil: cada dato en su fila, con la etiqueta a la izquierda (tabla adaptable de WooCommerce). */
	.ep-compra .woocommerce-cart-form {
		padding: 10px 5px;
	}

	.ep-compra .woocommerce-cart-form table.shop_table_responsive tr td {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: auto;
		padding: 10px 28px;
		background: none;
		text-align: right !important;
	}

	.ep-compra .woocommerce-cart-form table.shop_table_responsive tr td::before {
		float: none;
		font-size: 15px;
		font-weight: 900;
		text-transform: uppercase;
		color: var(--wp--preset--color--secundario);
	}

	.ep-compra .woocommerce-cart-form table.shop_table_responsive tr td.product-remove {
		justify-content: flex-end;
		padding-top: 16px;
	}

	.ep-compra .woocommerce-cart-form table.shop_table_responsive tr td.product-remove::before,
	.ep-compra .woocommerce-cart-form table.shop_table_responsive tr td.product-thumbnail {
		display: none;
	}

	.ep-compra .cart_totals {
		padding: 50px 30px;
	}

	/* En el total, la etiqueta es la de la tabla (como en el ordenador), no la que añade WooCommerce. */
	.ep-compra .cart_totals table.shop_table_responsive tr {
		display: flex;
	}

	.ep-compra .cart_totals table.shop_table_responsive tr th {
		display: block;
	}

	.ep-compra .cart_totals table.shop_table_responsive tr td {
		display: block;
		background: none;
	}

	.ep-compra .cart_totals table.shop_table_responsive tr td::before {
		display: none;
	}

	.ep-compra .cart-collaterals .cart_totals table .woocommerce-shipping-totals td {
		text-align: left !important;
	}

	.ep-compra form .form-row-first,
	.ep-compra form .form-row-last {
		width: 100%;
	}

	.ep-cuenta {
		padding-block: 60px;
	}

	.ep-cuenta .ep-cuenta__contenido {
		margin-top: 60px;
	}

	.ep-cuenta form.woocommerce-form-login {
		padding: 30px 20px;
	}
}

/* ---------- Pedido recibido (plantilla order-confirmation) ---------- */
/* Hoy lo pinta el widget "Resumen de compra" de Elementor (página 622); aquí, los bloques de WooCommerce con el
   aspecto del carrito y el pago. */

.ep-compra--resumen > * {
	margin-block: 0 40px;
}

.ep-compra--resumen > :last-child {
	margin-bottom: 0;
}

.ep-compra--resumen .wc-block-order-confirmation-status h1 {
	margin: 0 0 30px;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1;
	letter-spacing: normal;
}

.ep-compra--resumen .wc-block-order-confirmation-status p {
	margin: 0;
	font-size: 15px;
}

.ep-compra--resumen h2,
.ep-compra--resumen h3 {
	margin: 0 0 20px;
	font-family: var(--wp--preset--font-family--basier);
	font-size: 20px;
	font-weight: 700;
	line-height: 20px;
	letter-spacing: -0.4px;
	text-transform: uppercase;
	color: var(--wp--preset--color--secundario);
}

.ep-compra--resumen .wc-block-order-confirmation-summary {
	box-sizing: border-box;
	padding: 30px 50px;
	background: var(--wp--preset--color--blanco);
	border-radius: 5px;
	font-size: 14px;
}

main.ep-compra--resumen > .wc-block-order-confirmation-summary.alignwide {
	max-width: 1290px;
}

/* Direcciones: la caja blanca es el bloque entero (dirección y teléfono), sin el borde de WooCommerce. */
.ep-compra--resumen :is(.wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address) {
	padding: 30px 50px;
	border: 0;
	border-radius: 5px;
	background: var(--wp--preset--color--blanco);
	font-size: 14px;
}

.ep-compra--resumen :is(.wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address) :is(address, p) {
	margin: 0;
	padding: 0;
	border: 0;
	background: none;
	font-size: 14px;
	font-style: normal;
	line-height: 21px;
}

.ep-compra--resumen .wc-block-order-confirmation-totals table,
.ep-compra--resumen .wc-block-order-confirmation-additional-information {
	padding: 30px 50px;
	border: 0;
	border-radius: 5px;
	background: var(--wp--preset--color--blanco);
	font-size: 14px;
}

.ep-compra--resumen .wc-block-order-confirmation-totals table {
	border-collapse: separate;
}

.ep-compra--resumen .wc-block-order-confirmation-totals :is(th, td) {
	padding: 12px 0;
	border: 0;
}

.ep-compra--resumen .ep-compra__direcciones {
	gap: 30px;
}

@media (max-width: 781px) {
	.ep-compra--resumen .wc-block-order-confirmation-summary,
	.ep-compra--resumen .wc-block-order-confirmation-totals table,
	.ep-compra--resumen :is(.wc-block-order-confirmation-shipping-address, .wc-block-order-confirmation-billing-address) {
		padding: 20px 15px;
	}
}

/* Mientras llega tu pedido (patrón elpintor/despues-de-comprar): tres cajas blancas. */
.ep-compra--resumen .ep-despues {
	margin-top: 80px;
}

.ep-despues__tarjetas {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.ep-despues__tarjetas > .ep-despues__tarjeta {
	display: flex;
	flex-direction: column;
	margin: 0;
	padding: 30px 40px 35px;
	border-radius: 5px;
	background: var(--wp--preset--color--blanco);
}

.ep-compra--resumen .ep-despues__tarjeta h3 {
	margin: 0 0 15px;
	font-size: 16px;
	line-height: 1.2;
}

.ep-despues__tarjeta p {
	margin: 0;
	font-size: 14px;
	line-height: 1.6;
}

.ep-despues__tarjeta .ep-despues__enlace {
	margin-top: auto;
	padding-top: 18px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}

.ep-despues__enlace a {
	color: var(--wp--preset--color--principal);
	text-decoration: underline;
	text-underline-offset: 3px;
}

@media (max-width: 781px) {
	.ep-compra--resumen .ep-despues {
		margin-top: 50px;
	}

	.ep-despues__tarjetas {
		grid-template-columns: 1fr;
	}

	.ep-despues__tarjetas > .ep-despues__tarjeta {
		padding: 25px 25px 30px;
	}
}

/* ---------- Categorías de producto (taxonomy-product_cat): como la tienda, con el nombre de la categoría ---------- */

.ep-tienda__texto .wp-block-term-description p {
	margin: 0;
	font-size: 15px;
	line-height: 1.5;
	text-align: right;
}

/* ---------- Búsqueda (search): la cabecera y las tarjetas de Historias ---------- */

.ep-busqueda__formulario {
	max-width: 620px;
	margin-top: 40px !important;
}

.ep-busqueda__formulario .wp-block-search__inside-wrapper {
	gap: 10px;
	padding: 0;
	border: 0;
}

.ep-busqueda__formulario .wp-block-search__input {
	height: 54px;
	padding: 0 22px;
	border: 1px solid var(--wp--preset--color--principal-60);
	border-radius: 5px;
	background: var(--wp--preset--color--blanco);
	font-family: inherit;
	font-size: 14px;
	color: var(--wp--preset--color--principal);
}

.ep-busqueda__formulario .wp-block-search__button {
	margin: 0;
	padding: 0 30px;
	border-radius: 5px;
	font-size: 14px;
	text-transform: uppercase;
}

.ep-tarjeta-historia--busqueda .ep-tarjeta-historia__titulo {
	margin-top: 0;
}

.ep-tarjeta-historia__resumen {
	margin: 16px 0 0 !important;
	font-size: 14px;
	line-height: 1.5;
}

.ep-tarjeta-historia__resumen .wp-block-post-excerpt__excerpt {
	margin: 0;
}

.ep-busqueda__vacia {
	font-size: 15px;
}

/* ---------- Página no encontrada (404) ---------- */

.ep-no-encontrada {
	padding: 150px var(--wp--preset--spacing--lateral);
	background: var(--wp--preset--color--crema);
	text-align: center;
}

.ep-no-encontrada > * {
	max-width: 860px;
	margin-inline: auto !important;
}

.ep-no-encontrada .ep-no-encontrada__titulo {
	margin-block: 0 24px;
	font-size: var(--wp--preset--font-size--titular-m);
	line-height: 1.1;
	letter-spacing: normal;
}

.ep-no-encontrada p {
	margin: 0;
	font-size: 15px;
}

.ep-no-encontrada__botones {
	justify-content: center;
	gap: 20px;
	margin-top: 50px !important;
}

.ep-no-encontrada__botones .wp-block-button__link {
	padding: 20px 40px;
	border: 1px solid var(--wp--preset--color--secundario);
	border-radius: 3px;
	font-size: 15px;
	font-weight: 400;
}

.ep-no-encontrada__botones .is-style-outline .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--principal);
}

@media (max-width: 781px) {
	.ep-tienda__texto .wp-block-term-description p {
		text-align: left;
	}

	.ep-no-encontrada {
		padding-block: 80px;
	}
}

@media (max-width: 781px) {
	.ep-temporada--abierta {
		max-width: none;
		margin: 35px 0 -10px !important;
		padding-bottom: 0;
	}

	.ep-temporada--abierta p {
		padding-inline: 12.5px;
		font-size: 14px;
		line-height: 21px;
	}

	.ep-pintor-botones.ep-temporada__botones {
		margin: 50.4px 0 0 !important;
	}

	.ep-pintor-botones.ep-temporada__botones .wp-block-button:not(.is-style-outline) .wp-block-button__link {
		border-width: 0;
	}
}

/* Enlaces dentro del texto de las historias: subrayados (con el mismo color que el texto no se distinguían). */
.ep-entrada__texto a:not(.wp-element-button) {
	text-decoration: underline;
	text-decoration-thickness: 1px;
	text-underline-offset: 3px;
}

.ep-entrada__texto a:not(.wp-element-button):hover {
	text-decoration-thickness: 2px;
}
