/* =========================================================================================================
   EMD Tienda — estilos (hijo de Astra). Medidas copiadas de la web anterior hecha con Elementor:
   ancho de contenido 1290 px, márgenes 40 px (20 px en el móvil), letra Manrope, negro puro.
   Puntos de corte de Elementor: tableta ≤1024 px, móvil ≤767 px.
   ========================================================================================================= */

/* 1 · Letra (Manrope variable, servida desde el tema) ------------------------------------------------------ */
@font-face { font-family: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
	src: url(../fonts/manrope-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: "Manrope"; font-style: normal; font-weight: 200 800; font-display: swap;
	src: url(../fonts/manrope-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

:root {
	--emd-letra: "Manrope", sans-serif;
	--emd-negro: #000;
	--emd-gris-hover: #B3B3B3;
	--emd-ancho: 1290px;
	--emd-margen: 40px;
}
@media (max-width: 767px) { :root { --emd-margen: 20px; } }

/* Contenedor de la anchura de la web (1290 px con 40 px a los lados) */
.emd-contenedor { max-width: var(--emd-ancho); margin-inline: auto; }

/* Botones de icono */
.emd-icono { box-shadow: none !important; border-radius: 0 !important; display: inline-flex; align-items: center; justify-content: center; padding: 0; margin: 0; border: 0; background: none;
	color: var(--emd-negro); cursor: pointer; line-height: 0; transition: color .3s; }
.emd-icono:hover, .emd-icono:focus-visible { color: var(--emd-gris-hover); background: none; }
.emd-icono svg { width: 100%; height: 100%; fill: currentColor; display: block; }

/* 2 · Cabecera ----------------------------------------------------------------------------------------------- */
.emd-cab { background: #fff; position: relative; z-index: 20; }
.emd-cab__in { max-width: var(--emd-ancho); margin: 0 auto; padding: 30px 40px; box-sizing: content-box;
	display: grid; grid-template-columns: 1fr 3fr 1fr; gap: 5px; align-items: center; }
.emd-cab__izq { display: flex; align-items: center; }
.emd-cab__menu { width: 24px; height: 24px; }
.emd-cab__centro { display: flex; justify-content: center; align-items: center; }
.emd-cab__logo { display: block; line-height: 0; }
.emd-cab__img { display: block; width: 90px; height: auto; max-width: none; }
.emd-cab__der { display: flex; justify-content: flex-end; align-items: center; gap: 15px; }
.emd-cab__buscar, .emd-cab__cuenta { width: 23px; height: 23px; }
.emd-bolsa { width: 27px; height: 27px; position: relative; }
.emd-bolsa__n { position: absolute; top: -7px; right: -7px; min-width: 16px; height: 16px; padding: 0 2px; border-radius: 100%; background: #d9534f;
	color: #fff; font: 400 10px/15px -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; text-align: center; box-sizing: border-box; }
.emd-bolsa__n[data-n="0"] { display: none; }
@media (max-width: 1024px) {
	.emd-cab__in { padding: 20px 40px; grid-template-columns: 1fr 1fr 1fr; }
	/* El logo de Elementor medía el 30 % de su columna en tableta (76 % en móvil) */
	.emd-cab__centro { display: block; text-align: center; line-height: 0; }
	.emd-cab__logo { display: inline-block; width: 30%; }
	.emd-cab__img { width: 100%; }
	.emd-cab__der { align-self: start; min-height: 34px; }
	.emd-cab__buscar, .emd-cab__cuenta { margin-top: 2px; }
	.emd-cab__cuenta { margin-right: 14px; }
	.emd-bolsa { margin-inline: -20px -6px; }
}
@media (max-width: 767px) {
	.emd-cab__in { padding: 20px; gap: 0; }
	.emd-cab__centro { text-align: left; }
	.emd-cab__logo { width: 76%; }
	.emd-cab__buscar { margin-right: -8px; }
	.emd-cab__cuenta { margin-right: 0; }
	.emd-bolsa { margin-inline: -12px 0; }
}
/* La cabecera de Astra queda fuera; sus huecos tampoco */
.ast-header-break-point .main-header-bar, #ast-desktop-header, #ast-mobile-header { display: none !important; }

/* 3 · Pie ---------------------------------------------------------------------------------------------------- */
.emd-pie { background: #000; padding: 50px 40px; font-family: var(--emd-letra); }
.emd-pie__in { max-width: var(--emd-ancho); margin: 0 auto; display: grid; grid-template-columns: .5fr 1.5fr; gap: 120px; }
.emd-pie__marca { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.emd-pie__logo { display: block; width: 25%; line-height: 0; }
.emd-pie__img { width: 100%; height: auto; display: block; }
.emd-pie__lema { margin: -5px 0; max-width: 252px; color: #fff; font: 800 20px/1.1 var(--emd-letra); letter-spacing: -.6px; }
.emd-pie__columnas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.emd-pie__columna { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; }
.emd-pie__titulo { margin: -3px 0; padding: 0; color: #fff; font: 800 22px/1 var(--emd-letra); letter-spacing: -.4px; }
.emd-pie__lista { list-style: none; margin: -2px 0; padding: 0; }
.emd-pie__lista li { margin: 0; padding: 0; font-size: 15px; line-height: 1; }
.emd-pie__lista li + li { margin-top: 15px; }
.emd-pie__lista a { color: #fff; font: 500 15px/1 var(--emd-letra); text-decoration: none; }
.emd-pie__lista a:hover { color: #fff; }
@media (max-width: 1024px) {
	.emd-pie__in { grid-template-columns: 1fr; gap: 50px; }
	.emd-pie__lema { margin: -4px 0 !important; font-size: 26px; letter-spacing: -.4px; }
}
@media (max-width: 767px) {
	.emd-pie { padding: 50px 20px; }
	.emd-pie__columnas { grid-template-columns: 1fr; gap: 50px; }
	.emd-pie__lema { max-width: none; margin: -4px 0 -5px !important; font-size: 24px; letter-spacing: -.3px; }
}

/* 4 · Ventanas: menú lateral, buscador y carrito lateral ---------------------------------------------------- */
.emd-ventana[hidden] { display: none; }
.emd-ventana { position: fixed; inset: 0; z-index: 9999; display: flex; font-family: var(--emd-letra); }
.emd-ventana__fondo { position: absolute; inset: 0; background: rgba(0, 0, 0, .8); }
.emd-ventana__caja { position: relative; background: #fff; box-shadow: 2px 8px 23px 3px rgba(0, 0, 0, .2); overflow-y: auto; overscroll-behavior: contain; }
.emd-ventana__cerrar { position: absolute; top: 30px; right: 20px; z-index: 2; width: 20px; height: 20px; padding: 0; border: 0; background: none;
	color: #000; cursor: pointer; line-height: 0; }
.emd-ventana__cerrar svg { width: 20px; height: 20px; fill: currentColor; }
.emd-ventana__cerrar:hover, .emd-ventana__cerrar:focus { background: none; color: #000; }
body.emd-sin-scroll { overflow: hidden; }

/* Menú lateral (izquierda, 300 px; 90 % del ancho en el móvil) */
.emd-ventana--menu { justify-content: flex-start; align-items: center; }
.emd-ventana--menu .emd-ventana__caja { width: 300px; height: 100vh; height: 100dvh; } /* la ventana de Elementor del menú no tenía animación de entrada */
@media (max-width: 767px) { .emd-ventana--menu .emd-ventana__caja { width: 90vw; } }
.emd-menu { display: grid; gap: 50px; padding: 50px; }
.emd-menu__logo { display: block; width: 40%; line-height: 0; }
.emd-menu__img { width: 100%; height: auto; display: block; }
.emd-menu__bloque { display: flex; flex-direction: column; gap: 25px; }
.emd-menu__titulo { margin: -3px 0; color: #000; font: 800 22px/1 var(--emd-letra); letter-spacing: -.4px; text-transform: uppercase; }
.emd-menu__lista { list-style: none; margin: -2px 0; padding: 0; }
.emd-menu__lista li { margin: 0; padding: 0; font-size: 15px; line-height: 1; }
.emd-menu__lista li + li { margin-top: 15px; }
.emd-menu__lista a { color: #000; font: 500 15px/1 var(--emd-letra); text-decoration: none; }
.emd-menu__lista .emd-menu__sub { padding-left: 20px; }
.emd-menu__botones { display: flex; justify-content: space-between; align-items: center; }
.emd-menu__boton { display: inline-flex; align-items: center; justify-content: center; width: 56px; height: 56px; padding: 16px; border: 0; border-radius: 0;
	background: #000; color: #fff; cursor: pointer; line-height: 0; }
.emd-menu__boton:hover, .emd-menu__boton:focus { background: #000; color: #fff; }
.emd-menu__boton svg { width: 24px; height: 24px; }
.emd-menu__redes { gap: 30px; }
.emd-menu__redes-lista { list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; }
.emd-menu__redes-lista a { color: #000; font: 900 22px/1 var(--emd-letra); text-decoration: none; }
.emd-menu__redes-lista a:hover { color: #9F9F9F; }
.emd-menu__email { margin: -6px 0 -21px; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.emd-menu__email a { color: #000; }

/* Buscador (pantalla completa) */
.emd-ventana--buscador { align-items: flex-start; justify-content: center; }
.emd-ventana--buscador .emd-ventana__caja { width: 100vw; height: 100vh; height: 100dvh; padding-top: 120px; animation: emd-baja .6s ease; } /* «fadeInDown» de 0,6 s, como el de Elementor */
.emd-buscador { max-width: var(--emd-ancho); margin: 0 auto; padding: 0 40px; display: flex; flex-direction: column; align-items: flex-start; gap: 35px; box-sizing: content-box; }
.emd-buscador__titulo { margin: -7px 0 !important; color: #000; font: 800 52px/1 var(--emd-letra); letter-spacing: -2px; }
.emd-buscador__form { display: flex; gap: 15px; width: 100%; }
.emd-buscador__form input[type="search"] { flex: 1; min-width: 0; height: 57px; margin: 0; padding: 0 37.25px 0 25px; border: 1px solid #D8D8D8; border-radius: 0; background: #fff;
	color: #9F9F9F; font: 500 15px/1.6 var(--emd-letra); box-shadow: none; }
.emd-buscador__form input[type="search"]:focus { color: #9F9F9F; border-color: #D8D8D8; outline: none; }
.emd-buscador__form button { box-sizing: border-box; height: 57px; padding: 20px 40px; border: 1px solid #000; border-radius: 0; background: #000; color: #fff;
	font: 500 16px/1 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; cursor: pointer; }
.emd-buscador__form button:hover, .emd-buscador__form button:focus { background: #000; color: #fff; }
@media (max-width: 1024px) {
	.emd-ventana--buscador .emd-ventana__caja { padding-top: 80px; }
	.emd-buscador__titulo { margin: -7px 0 -5px !important; font-size: 42px; letter-spacing: -1.2px; }
}
@media (max-width: 767px) {
	.emd-ventana--buscador .emd-ventana__caja { padding-top: 60px; }
	.emd-buscador { padding: 0 20px; }
	.emd-buscador__titulo { margin: -6px 0 -4px !important; font-size: 38px; }
	.emd-buscador__form button { padding: 20px; font-size: 14.592px; }
}

/* Carrito lateral (derecha) */
.emd-ventana--carrito { justify-content: flex-end; }
.emd-ventana--carrito .emd-ventana__fondo { background: rgba(0, 0, 0, .25); }
.emd-ventana--carrito .emd-ventana__caja { width: 350px; max-width: 100%; height: 100vh; height: 100dvh; padding: 20px 30px; box-shadow: none; animation: emd-entra-der .3s ease;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.emd-ventana__cerrar--carrito { top: 20px; right: 30px; width: 25px; height: 24px; }
.emd-ventana__cerrar--carrito svg { display: none; }
.emd-ventana__cerrar--carrito::before, .emd-ventana__cerrar--carrito::after { content: ""; position: absolute; top: 50%; left: 0; width: 25px; height: 3px; margin-top: -1.5px; background: #69727D; transform: rotate(45deg); }
.emd-ventana__cerrar--carrito::after { transform: rotate(-45deg); }
/* Contenido como el carrito lateral de Elementor: letra del sistema 14 px, foto 73 px, subtotal centrado entre rayas */
.emd-ventana--carrito .widget_shopping_cart_content { padding-top: 44px; color: #334155; font: 400 14px/1.65 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; }
.emd-ventana--carrito .woocommerce-mini-cart__empty-message { margin: 0; text-align: left; }
.emd-minicarrito { max-height: calc(100vh - 260px); overflow-y: auto; }
.emd-minicarrito__producto { position: relative; display: grid; grid-template-columns: 73px 1fr; grid-template-rows: auto auto; padding: 0 30px 20px 0; }
.emd-minicarrito__producto + .emd-minicarrito__producto { padding-top: 20px; border-top: 1px solid #D5D8DC; }
.emd-minicarrito__foto { grid-row: 1 / 3; line-height: 0; }
.emd-minicarrito__foto img { width: 73px; height: 73px; object-fit: cover; margin: 0; }
.emd-minicarrito__nombre { padding-left: 20px; }
.emd-minicarrito__nombre a { display: inline-block; padding-top: 0; color: #000; text-decoration: none; }
.emd-minicarrito__nombre dl { margin: 0; font-size: 12px; }
.emd-minicarrito__precio { padding-left: 20px; color: #000; font-weight: 700; }
.emd-minicarrito__precio .quantity { color: #000; }
.emd-minicarrito__quitar { position: absolute; right: 0; bottom: 20px; }
.emd-minicarrito__quitar a.remove { position: relative; display: block; margin: 0; padding: 0; background: none !important; color: transparent !important; font-size: 0; line-height: 0; width: 22px; height: 22px; border: 1px solid #D5D8DC; border-radius: 50%; box-sizing: border-box; }
.emd-minicarrito__quitar a.remove::before, .emd-minicarrito__quitar a.remove::after { margin: 0; border: 0; content: ""; position: absolute; top: 50%; left: 50%; width: 9px; height: 1px; background: #69727D; transform: translate(-50%, -50%) rotate(45deg); }
.emd-minicarrito__quitar a.remove::after { transform: translate(-50%, -50%) rotate(-45deg); }
.emd-minicarrito__subtotal { padding: 20px 0; border-top: 1px solid #D5D8DC; border-bottom: 1px solid #D5D8DC; color: #334155; font-size: 20px; line-height: 33px; font-weight: 600; text-align: center; }
.emd-minicarrito__subtotal strong { font-weight: 700; }
.emd-minicarrito__botones { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; padding-top: 20px; }
.emd-minicarrito__boton { display: block; padding: 20px 10px; background: #000; color: #fff !important; font-size: 16px; line-height: 1; text-align: center; text-decoration: none; }
.emd-minicarrito__boton:hover { background: #000; color: #fff; }
@media (max-width: 767px) { .emd-minicarrito__boton { font-size: 14.592px; } }

@keyframes emd-entra-izq { from { transform: translateX(-100%); } to { transform: none; } }
@keyframes emd-entra-der { from { transform: translateX(100%); } to { transform: none; } }
@keyframes emd-aparece { from { opacity: 0; } to { opacity: 1; } }
@keyframes emd-baja { from { opacity: 0; transform: translate3d(0, -100%, 0); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .emd-ventana__caja { animation: none !important; } }

/* 5 · Cabecera de página: título grande y migas (tienda, categorías, páginas) ------------------------------- */
.emd-titular { padding: 40px; }
.emd-titular__in { max-width: var(--emd-ancho); margin: 0 auto; display: grid; grid-template-columns: 3fr 1fr; gap: 30px; align-items: center; }
.emd-titular__titulo { margin: -7px 0; padding: 0; color: #000; font: 800 52px/1 var(--emd-letra); letter-spacing: -2px; }
.emd-migas { display: flex; flex-wrap: wrap; justify-content: flex-end; align-items: center; margin: -6px 0 -7px; color: #000; font: 700 15px/1.6 var(--emd-letra); }
.emd-migas a, .emd-migas span { color: #000; text-decoration: none; }
.emd-migas__flecha { width: 14px; height: 14px; margin: 0 7.5px 0 11px; fill: #000; }
@media (max-width: 1024px) {
	.emd-titular__in { grid-template-columns: 1fr; }
	.emd-titular__titulo { margin: -7px 0 -5px; font-size: 42px; letter-spacing: -1.2px; }
	.emd-migas { justify-content: flex-start; }
}
@media (max-width: 767px) {
	.emd-titular { padding: 20px; }
	.emd-titular__titulo { margin: -6px 0 -4px; font-size: 38px; }
	.emd-migas { align-items: flex-start; }
	.emd-migas__flecha { margin: 5px 7.5px 0 15px; }
}

/* 6 · Tienda: columna lateral + rejilla -------------------------------------------------------------------- */
.emd-catalogo { padding: 40px 40px 120px; }
.emd-catalogo__in { max-width: var(--emd-ancho); margin: 0 auto; display: grid; grid-template-columns: 1fr 5fr; gap: 20px; }
.emd-lateral, .emd-productos { padding: 10px; min-width: 0; }
.emd-lateral__cats { list-style: none; margin: 0; padding: 0; }
.emd-lateral__cats li { margin: 0; padding: 0; }
.emd-lateral__cats li + li { margin-top: 20px; }
.emd-lateral__cats a { color: #000; font-weight: 700; text-decoration: none; }
.emd-lateral__sub { margin-left: 20px; }
.emd-lateral__raya { margin: 15px 0; border: 0; border-top: 1px solid #000; height: 0; background: none; }
@media (max-width: 1024px) { .emd-catalogo { padding: 20px 20px 120px; } }
@media (max-width: 767px) {
	.emd-catalogo__in { grid-template-columns: 1fr; gap: 0; }
	.emd-lateral { display: none; }
}

/* Rejillas de productos */
.emd-rejilla { list-style: none; margin: 0; padding: 0; display: grid; column-gap: 30px; row-gap: 50px; grid-auto-rows: 1fr; }
.emd-rejilla--3 { grid-template-columns: repeat(3, 1fr); }
.emd-rejilla--4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .emd-rejilla--3, .emd-rejilla--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .emd-rejilla--3, .emd-rejilla--4 { grid-template-columns: 1fr; } }
.woocommerce ul.products.emd-rejilla::before, .woocommerce ul.products.emd-rejilla::after { content: none; }

/* Tarjeta de producto */
.emd-tarjeta { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; margin: 0 !important; padding: 0; width: auto !important; float: none !important; }
.emd-tarjeta__foto { display: block; width: 100%; line-height: 0; }
.emd-tarjeta__img { width: 100%; height: auto; display: block; }
.emd-tarjeta__datos { display: flex; flex-direction: row; justify-content: space-between; gap: 10px; width: 100%; }
.emd-tarjeta__titulo { margin: -5px 30px -5px 0; padding: 0; color: #000; font: 900 18px/1 var(--emd-letra); }
.emd-tarjeta__titulo a { color: #000; font-weight: 600; text-decoration: none; }
.emd-tarjeta .price { display: block; margin: -3px 0 -16px -20px; color: #000; font: 500 17px/1 var(--emd-letra); white-space: nowrap; }
.emd-tarjeta .price del { margin-right: 10px; color: #000; font-weight: 400; opacity: 1; }
.emd-tarjeta .price ins { color: #000; font-weight: 700; text-decoration: none; }
.emd-tarjeta--relacionado .emd-tarjeta__datos { flex-direction: column; justify-content: flex-start; gap: 20px; }
.emd-tarjeta--relacionado .emd-tarjeta__titulo { margin: -5px 0; }
.emd-tarjeta--relacionado .price { margin: -3px 0 -16px 0; }
@media (max-width: 1024px) {
	.emd-tarjeta__datos { flex-direction: column; justify-content: flex-start; gap: 20px; }
	.emd-tarjeta__titulo { margin: -5px 0; }
	.emd-tarjeta .price { margin: -3px 0 -16px; }
}
@media (max-width: 767px) { .emd-tarjeta--tienda .price del { display: block; } }

/* 7 · Ficha de producto ----------------------------------------------------------------------------------- */
.emd-ficha__migas { padding: 20px 40px 40px; }
.emd-ficha__migas .woocommerce-breadcrumb, .emd-ficha__migas .emd-migas-ficha { max-width: var(--emd-ancho); margin: -6px auto -22px; padding: 0; color: #000; font: 700 15px/1.6 var(--emd-letra); }
.emd-ficha__migas .woocommerce-breadcrumb a { color: #000; text-decoration: none; }
.emd-ficha__principal { max-width: var(--emd-ancho); margin: 0 auto; padding: 20px 40px 40px; box-sizing: content-box; display: grid; grid-template-columns: repeat(2, 1fr); gap: 70px; align-items: start; }
.emd-ficha__fotos { position: relative; min-width: 0; }
.emd-ficha__resumen { display: flex; flex-direction: column; align-items: flex-start; gap: 30px; min-width: 0; width: auto !important; float: none !important; margin: 0 !important; }
.emd-ficha__titulo { margin: -4px 0; padding: 0; color: #000; font: 900 30px/1 var(--emd-letra); letter-spacing: -.6px; }
.emd-ficha__descripcion { margin: -20px 0 -40px; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.emd-ficha__descripcion p { margin: 0 0 1.6em; }
.emd-ficha__precio, .woocommerce div.product .emd-ficha__precio { margin: 6px 0 -16px; color: #000; font: 700 22px/1 var(--emd-letra); letter-spacing: -.3px; }
.emd-ficha__precio del { margin-right: 10px; color: #000; font-weight: 400; opacity: 1; }
.emd-ficha__precio ins { color: #000; text-decoration: none; }
.emd-ficha__compra { width: 100%; }
.emd-ficha__compra form.cart { margin: 0; }
.woocommerce .emd-ficha__compra form.cart .variations { margin-bottom: 20px; }
.woocommerce .emd-ficha__compra form.cart table.variations th, .woocommerce .emd-ficha__compra form.cart table.variations td { padding-block: 10px; }
.woocommerce .emd-ficha__compra form.cart table.variations label { color: #000; font: 500 15px/1 var(--emd-letra); }
.emd-ficha__compra .quantity .qty { width: 54px; height: 36px; padding: 0; border: 1px solid #000; border-radius: 0; background: transparent; color: #000; font: 900 15px/1 var(--emd-letra); }
.emd-ficha__compra .single_add_to_cart_button { height: 36px; padding: 10px 20px !important; border-radius: 0; background: #000 !important; color: #fff !important; font-size: 16px; font-weight: 500; line-height: 1; }
.emd-ficha__raya { width: 100%; margin: 0; border: 0; border-top: 1px solid #D8D8D8; height: 0; background: none; }
.emd-compartir { display: flex; align-items: center; gap: 20px; }
.emd-compartir__titulo { margin: -1px 0 -4px; color: #000; font: 600 13px/1 var(--emd-letra); text-transform: uppercase; }
.emd-compartir__redes { display: flex; gap: 10px; }
.emd-compartir__red { display: inline-flex; align-items: center; justify-content: center; width: 21px; height: 21px; color: #000; }
.emd-compartir__red svg { width: 19px; height: 19px; fill: currentColor; }
.emd-guia { width: 100%; border: 1px solid #D5D8DC; }
.emd-guia__titulo { display: flex; justify-content: space-between; align-items: center; padding: 10px 15px; cursor: pointer; list-style: none; font: 600 16px/1.3 "Montserrat", var(--emd-letra); color: #000; }
.emd-guia__titulo::-webkit-details-marker { display: none; }
.emd-guia__signo::before { content: "+"; font-size: 18px; }
.emd-guia[open] .emd-guia__signo::before { content: "−"; }
.emd-guia__cuerpo { padding: 10px 15px 15px; }
.emd-guia__cuerpo img { width: 100%; height: auto; display: block; }

/* Galería: foto grande con esquinas redondeadas, flechas negras redondas, lupa y miniaturas debajo */
.emd-ficha .woocommerce-product-gallery { width: 100% !important; float: none !important; margin: 0 !important; position: relative; }
.emd-ficha .woocommerce-product-gallery img { border-radius: 10px; }
.emd-ficha .woocommerce-product-gallery__trigger { position: absolute; top: 16px; right: 16px; z-index: 9; width: 36px; height: 36px; border-radius: 100%; background: #fff; text-indent: -9999px; overflow: hidden; }
.emd-ficha .woocommerce-product-gallery__trigger::before { content: ""; position: absolute; top: 10px; left: 10px; width: 10px; height: 10px; border: 2px solid #000; border-radius: 100%; text-indent: 0; }
.emd-ficha .woocommerce-product-gallery__trigger::after { content: ""; position: absolute; top: 22px; left: 21px; width: 6px; height: 2px; background: #000; transform: rotate(45deg); }
.emd-ficha .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.emd-ficha .flex-direction-nav a { position: absolute; top: calc(50% - 24px); z-index: 5; width: 48px; height: 48px; border-radius: 50%; background: #000; color: #fff; font-size: 0; overflow: hidden; }
.emd-ficha .flex-direction-nav a::before { content: ""; position: absolute; top: 18px; left: 20px; width: 10px; height: 10px; border-top: 2px solid #fff; border-left: 2px solid #fff; transform: rotate(-45deg); }
.emd-ficha .flex-direction-nav .flex-prev { left: 0; }
.emd-ficha .flex-direction-nav .flex-next { right: 0; }
.emd-ficha .flex-direction-nav .flex-next::before { left: 15px; transform: rotate(135deg); }
.emd-ficha .flex-control-thumbs { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin: 15px 0 0 !important; padding: 0; list-style: none; }
.emd-ficha .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
.emd-ficha .flex-control-thumbs img { aspect-ratio: 1; object-fit: cover; width: 100%; height: auto; border-radius: 10px; opacity: 1 !important; cursor: pointer; }
.emd-ficha .onsale { position: absolute; top: 16px; left: 16px; z-index: 9; min-width: 0; min-height: 0; margin: 0; padding: 4px 10px; border-radius: 20px; background: #fff;
	color: #000; font: 400 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); }

/* Parte de abajo: pestañas y relacionados */
.emd-ficha__abajo { max-width: var(--emd-ancho); margin: 0 auto; padding: 20px 40px 100px; box-sizing: content-box; display: flex; flex-direction: column; gap: 50px; }
.woocommerce .emd-ficha__abajo .woocommerce-tabs { margin: 0 0 -21px; padding: 0; }
.woocommerce .emd-ficha__abajo .woocommerce-tabs ul.wc-tabs { margin: 0; padding: 0; }
.woocommerce .emd-ficha__abajo .woocommerce-tabs ul.wc-tabs li { background: #000; border-color: #000; border-radius: 0; }
.woocommerce .emd-ficha__abajo .woocommerce-tabs ul.wc-tabs li a { color: #fff; font: 900 15px/1.6 var(--emd-letra); text-transform: uppercase; }
.woocommerce .emd-ficha__abajo .woocommerce-Tabs-panel { margin-top: -1px; padding: 35px 0 0 !important; border: 1px solid #000; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.woocommerce .emd-ficha__abajo .woocommerce-Tabs-panel h2 { display: none !important; }
.emd-relacionados { display: grid; gap: 35px; }
.emd-relacionados__titulo { margin: -9px 0 -8px; text-align: center; color: #000; font: 800 30px/1.1 var(--emd-letra); letter-spacing: -2px; }
@media (max-width: 1024px) {
	.emd-ficha__migas { padding: 20px 40px; }
	.emd-ficha__principal { padding: 40px; gap: 50px; }
	.emd-ficha__titulo { margin: -3px 0; font-size: 26px; letter-spacing: -.4px; }
	.emd-ficha__abajo { padding: 20px 40px 80px; }
	.emd-relacionados__titulo { margin: -7px 0 -5px; font-size: 34px; letter-spacing: -1.2px; }
}
@media (max-width: 767px) {
	.emd-ficha__migas { padding: 20px; }
	.emd-ficha__principal { grid-template-columns: 1fr; padding: 20px 20px 40px; }
	.emd-ficha__titulo { font-size: 24px; letter-spacing: -.3px; }
	.emd-ficha__abajo { padding: 20px 20px 80px; }
	.emd-relacionados { gap: 30px; }
	.emd-relacionados__titulo { margin: -6px 0 -4px; font-size: 24px; }
}

/* 8 · Astra a ancho completo sin márgenes propios (las plantillas del tema ponen los suyos, como Elementor) */
#content > .ast-container, .site-content > .ast-container { max-width: none; padding: 0; display: block; }
#primary, .content-area.primary, .ast-separate-container #primary { margin: 0 !important; padding: 0 !important; width: 100%; }
.ast-separate-container .ast-article-single, .ast-separate-container .ast-article-post { margin: 0; padding: 0; background: none; }
.woocommerce ul.products.emd-rejilla--3, .woocommerce-page ul.products.emd-rejilla--3 { display: grid; grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products.emd-rejilla--4, .woocommerce-page ul.products.emd-rejilla--4 { display: grid; grid-template-columns: repeat(4, 1fr); }
@media (max-width: 1024px) { .woocommerce ul.products.emd-rejilla--3, .woocommerce ul.products.emd-rejilla--4 { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 767px) { .woocommerce ul.products.emd-rejilla--3, .woocommerce ul.products.emd-rejilla--4 { grid-template-columns: 1fr; } }
.emd-ficha .ast-onsale-card { position: absolute; top: 16px; left: 16px; z-index: 9; margin: 0; padding: 4px 10px; border-radius: 20px; background: #fff; color: #000;
	font: 400 13px/1.4 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; box-shadow: 0 2px 6px rgba(0, 0, 0, .15); }
#main.site-main { padding: 0 !important; margin: 0 !important; }
.woocommerce div.product .emd-ficha__titulo, .woocommerce-page div.product h1.emd-ficha__titulo { margin: -4px 0 !important; font-size: 30px; line-height: 1 !important; font-weight: 900; letter-spacing: -.6px; }
@media (max-width: 1024px) { .woocommerce div.product .emd-ficha__titulo { margin: -3px 0 !important; font-size: 26px; letter-spacing: -.4px; } }
@media (max-width: 767px) { .woocommerce div.product .emd-ficha__titulo { font-size: 24px; letter-spacing: -.3px; } }
.emd-ficha .flex-control-thumbs { grid-template-columns: repeat(4, 1fr); gap: 15px; margin-top: 15px !important; }
.emd-ficha__compra .single_add_to_cart_button { margin-left: 10px !important; }
.emd-ficha__compra .gift-this-product-main-container { clear: both; width: 100% !important; box-sizing: border-box; }
.emd-lateral__raya { margin: 35px 0; }
.emd-ficha__principal { padding-top: 31px; }
.emd-ficha__descripcion { margin: -5px 0 -8px; }
.emd-ficha__descripcion p { margin: 0 0 26px; }
.emd-ficha__descripcion p:last-child { margin-bottom: 0; }
.emd-ficha__compra .single_add_to_cart_button { height: 36px !important; min-height: 0 !important; }
.emd-ficha__compra .gift-this-product-main-container { margin-top: 44px; }
/* Como la web anterior (Elementor): todo con border-box */
.emd-ficha__compra * { box-sizing: border-box; }
.emd-ficha__descripcion { margin-bottom: -7px; }
.emd-ficha__descripcion p { margin-bottom: 1.75em; }
.emd-ficha__descripcion p:last-child { margin-bottom: 0 !important; }
.emd-ficha__precio { font-size: 22px !important; line-height: 22px; }
.emd-ficha__compra table.variations { margin-bottom: 28px; }
.emd-ficha__compra .woocommerce-variation-add-to-cart { display: flex; }
.emd-ficha__compra .quantity { margin: 0 0 16px !important; }
.emd-ficha__compra { margin-top: -17px; }
.emd-tarjeta--relacionado .emd-tarjeta__titulo { line-height: 26.4px; }
.emd-tarjeta--relacionado .price, .emd-tarjeta--relacionado .price del, .emd-tarjeta--relacionado .price ins { color: #000; font: 500 17px/17px var(--emd-letra) !important; }
.emd-tarjeta img.emd-tarjeta__img { box-shadow: none !important; }
.emd-tarjeta--relacionado .price { margin: -3px 0 -13px; }
.emd-relacionados { gap: 25px; }
@media (max-width: 767px) {
	.emd-ficha .flex-control-thumbs { margin-bottom: 15px !important; }
	.woocommerce div.product h1.emd-ficha__titulo, .woocommerce-page div.product h1.emd-ficha__titulo { font-size: 24px !important; line-height: 24px !important; letter-spacing: -.3px; margin: 27px 0 -6px !important; }
	.emd-ficha__compra table.variations { margin-bottom: 31px; }
	.emd-relacionados { gap: 29px; }
}
/* Tarjetas: Astra mete margen en la foto y letra pequeña en el precio */
.emd-tarjeta img.emd-tarjeta__img { margin: 0 !important; }
.emd-tarjeta .price, .emd-tarjeta .price del, .emd-tarjeta .price ins { color: #000 !important; font-size: 17px !important; line-height: 17px !important; }
@media (max-width: 767px) {
	.woocommerce ul.products.emd-rejilla, .woocommerce-page ul.products.emd-rejilla { grid-template-columns: 1fr !important; grid-auto-rows: auto; }
}
/* La web anterior recortaba las fotos de las tarjetas a 2:3 (miniaturas de Elementor) */
.emd-tarjeta img.emd-tarjeta__img { aspect-ratio: 2 / 3; object-fit: cover; height: auto !important; }
.woocommerce ul.products.emd-rejilla, .woocommerce-page ul.products.emd-rejilla { column-gap: 30px !important; row-gap: 50px !important; }
.emd-tarjeta.emd-tarjeta--tienda .price del { display: block !important; margin-right: 0 !important; width: max-content; }
.emd-tarjeta--tienda .price { min-width: 92px; flex-shrink: 0; }
@media (max-width: 1024px) { .emd-tarjeta.emd-tarjeta--tienda .price { min-width: 0; margin: -14px 0 -7px !important; } }
.emd-tarjeta.emd-tarjeta--tienda .emd-tarjeta__titulo { margin: -5px 30px -5px 0 !important; }
.emd-tarjeta.emd-tarjeta--tienda .price { margin: -3px 0 -16px -20px !important; }
@media (max-width: 1024px) {
	.emd-tarjeta.emd-tarjeta--tienda .emd-tarjeta__titulo { margin: -5px 0 !important; }
	.emd-tarjeta.emd-tarjeta--tienda .price { margin: -2px 0 -9px !important; }
	.emd-tarjeta--tienda .emd-tarjeta__titulo { line-height: 24.08px; }
}

/* 9 · Portada (front-page.php) ------------------------------------------------------------------------------ */
.emd-portada__carrusel { position: relative; height: 480px; overflow: hidden; background: #0C0C0C; }
.emd-portada__diapo { position: absolute; inset: 0; background-size: contain; background-position: center center; background-repeat: repeat; opacity: 0; transition: opacity .5s; }
.emd-portada__diapo.es-activa { opacity: 1; }
.emd-portada__carrusel::after { content: ""; position: absolute; inset: 0; background: #000; opacity: .5; }
.emd-portada__coleccion, .emd-portada__novedades { display: flex; flex-direction: column; gap: 50px; padding: 60px 40px; background: #fff; }
.emd-portada__coleccion > *, .emd-portada__novedades > * { width: 100%; max-width: var(--emd-ancho); margin-left: auto; margin-right: auto; }
.emd-portada__coleccion--mujer { padding: 40px 40px 120px; }
.emd-portada__cabeza { display: flex; flex-direction: column; align-items: center; gap: 30px; text-align: center; }
.emd-portada__titulo { margin: -7px 0 !important; padding: 0; color: #000; font: 800 52px/1 var(--emd-letra); letter-spacing: -2px; }
.emd-portada__entradilla { margin: -7px 0 !important; color: #000; font: 500 17px/1.6 var(--emd-letra); }
.emd-portada__coleccion--mujer .emd-portada__entradilla { margin: -7px 100px !important; }
.emd-portada__reparto { display: grid; grid-template-columns: repeat(2, 1fr); gap: 60px; }
.emd-portada__foto { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 30px; padding: 50px; background-size: cover; background-position: center center; background-repeat: no-repeat; text-align: center; }
.emd-portada__coleccion--mujer .emd-portada__foto { background-position: -86px 0; }
.emd-portada__foto::before { content: ""; position: absolute; inset: 0; background: #000; opacity: .36; }
.emd-portada__foto > * { position: relative; }
.emd-portada__foto-titulo { margin: -5px 0 !important; padding: 0; color: #fff; font: 800 35px/1 var(--emd-letra); letter-spacing: -1px; }
.emd-portada__foto-texto { margin: -5px 0 6.25px !important; color: #fff; font: 500 15px/1.6 var(--emd-letra); }
.emd-portada__boton { display: inline-block; margin-top: 10px; padding: 20px 40px; border: 1px solid #fff; border-radius: 100px; background: #fff; color: #000; font: 800 15px/1 var(--emd-letra); text-decoration: none; transition: all .3s; }
.emd-portada__boton:hover, .emd-portada__boton:focus { background: #000; border-color: #000; color: #fff; }
.emd-portada .emd-rejilla--2 { grid-template-columns: repeat(2, 1fr); align-content: start; }
.emd-rejilla--5 { grid-template-columns: repeat(5, 1fr); }
.emd-portada__novedades { padding: 20px 40px 80px; }
.emd-portada__novedades-cabeza { display: grid; grid-template-columns: 2fr 1fr; gap: 35px; align-items: center; }
.emd-portada__novedades .emd-portada__titulo { max-width: 573px; margin: -9px 0 -8px !important; line-height: 1.1; }
.emd-portada__ver-todos { justify-self: end; margin-top: -7px; padding: 0 0 5px; border-bottom: 1px solid #000; color: #000; font: 800 15px/1 var(--emd-letra); text-decoration: none; transition: color .3s; }
.emd-portada__ver-todos:hover, .emd-portada__ver-todos:focus { color: #686868; }
.emd-portada__ventajas { display: flex; margin-bottom: 40px; background: #fff; }
.emd-portada__ventajas-foto { flex: 0 0 62.674%; background-size: cover; background-position: 1px -202px; background-repeat: no-repeat; }
.emd-portada__ventajas-textos { flex: 0 1 50%; min-width: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 60px; padding: 9%; background: #fff; }
.emd-portada__ventaja { width: 100%; max-width: 424px; margin: -11px 0 -6px; }
.emd-portada__ventaja-titulo { margin: 0 0 16px !important; padding: 0; color: #000; font: 800 22px/1 var(--emd-letra); letter-spacing: -.3px; }
.emd-portada__ventaja-texto { margin: 0 !important; color: #000; font: 500 15px/1.6 var(--emd-letra); }
@media (max-width: 1024px) {
	.emd-portada__carrusel { height: 350px; }
	.emd-portada__coleccion { padding: 80px 40px; }
	.emd-portada__coleccion--mujer { padding: 40px 40px 80px; }
	.emd-portada__titulo { margin: -7px 0 -5px !important; font-size: 42px; letter-spacing: -1.2px; }
	.emd-portada__reparto { gap: 30px; }
	.emd-portada__foto-titulo { margin: -4px 0 !important; font-size: 30px; letter-spacing: -.8px; }
	.emd-portada__coleccion--mujer .emd-portada__foto { background-position: -108px 0; }
	.emd-rejilla--5 { grid-template-columns: repeat(2, 1fr); }
	.emd-portada__novedades .emd-portada__titulo { max-width: 480px; margin: -7px 0 -5px !important; }
	.emd-portada__ventajas-foto { flex-basis: 50%; background-position: -295px 8px; background-size: 1920px auto; }
	.emd-portada__ventajas-textos { gap: 40px; padding: 80px 40px; }
}
@media (max-width: 767px) {
	.emd-portada__coleccion { padding: 60px 20px; }
	.emd-portada__coleccion--mujer { padding: 20px 20px 60px; }
	.emd-portada__titulo { margin: -6px 0 -4px !important; font-size: 38px; letter-spacing: -1.2px; }
	.emd-portada__coleccion--mujer .emd-portada__entradilla { margin: 0 !important; }
	.emd-portada__reparto { grid-template-columns: 1fr; gap: 50px; }
	.emd-portada__foto { padding: 110px 30px; }
	.emd-portada__foto-titulo { margin: -5px 0 -3px !important; font-size: 28px; letter-spacing: -.7px; }
	.emd-portada__coleccion--mujer .emd-portada__foto { background-position: 0 0; }
	.emd-portada .emd-rejilla--2, .emd-rejilla--5 { grid-template-columns: 1fr; }
	.emd-portada__novedades { padding: 20px 20px 60px; }
	.emd-portada__novedades-cabeza { grid-template-columns: 1fr; gap: 30px; align-items: start; }
	.emd-portada__novedades .emd-portada__titulo { max-width: 100%; margin: -6px 0 -4px !important; text-align: center; }
	.emd-portada__ver-todos { justify-self: center; }
	.emd-portada__ventajas { flex-direction: column; }
	.emd-portada__ventajas-foto { flex-basis: auto; min-height: 50vh; background-position: -263px -273px; }
	.emd-portada__ventajas-textos { gap: 50px; padding: 60px 20px; }
	.emd-portada__ventaja { max-width: none; }
}
.emd-rejilla--2, .emd-rejilla--4, .emd-rejilla--5 { grid-auto-rows: auto; }
/* Precio de las tarjetas: tachado al 50 % y precio rebajado en negrita (como Astra en la web anterior) */
.emd-tarjeta .price del { opacity: .5 !important; font-weight: 400 !important; }
.emd-tarjeta .price ins { font-weight: 700 !important; }

/* 10 · Páginas de texto (page.php) ---------------------------------------------------------------------------- */
.emd-pagina { max-width: 1200px; margin: 0 auto; padding: 60px 0; box-sizing: content-box; padding-left: 20px; padding-right: 20px; }
.emd-pagina .emd-titular { padding-left: 40px; padding-right: 40px; }
.emd-pagina__texto { margin-top: 0; }
@media (max-width: 1024px) { .emd-pagina { padding-top: 0; } }
@media (max-width: 767px) {
	.emd-pagina { padding-top: 0; }
	.emd-pagina .emd-titular { padding-left: 20px; padding-right: 20px; }
}

/* 11 · Nosotros y colecciones de fotos (inc/paginas.php) ------------------------------------------------------ */
@font-face { font-family: "Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto-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: "Roboto"; font-style: normal; font-weight: 100 900; font-display: swap; src: url(../fonts/roboto-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url(../fonts/montserrat-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: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap;
	src: url(../fonts/montserrat-latin-ext.woff2) format("woff2");
	unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
.emd-nosotros { max-width: 800px; margin: 0 auto; padding: 40px; box-sizing: content-box; display: grid; gap: 30px; align-items: center; }
.emd-nosotros__texto { margin: 0 0 28.8px !important; color: #334155; font: 600 18px/1.65 "Montserrat", sans-serif; text-align: center; }
.emd-nosotros__video { display: block; width: 100%; aspect-ratio: 16 / 9; background: #000; }
.emd-nosotros__fotos { display: grid; grid-template-columns: 1fr 3fr; gap: 20px; padding: 10px; }
.emd-nosotros__logo { justify-self: end; width: 100%; height: auto; margin-top: -56px; }
.emd-nosotros__foto { width: 100%; height: auto; display: block; }
.emd-coleccion { max-width: var(--emd-ancho); margin: 0 auto; padding: 10px; box-sizing: content-box; }
.emd-coleccion__foto { display: block; width: 100%; height: auto; }
@media (max-width: 767px) {
	.emd-nosotros { padding: 20px; }
	.emd-nosotros__fotos { grid-template-columns: 1fr; }
	.emd-nosotros__logo { justify-self: center; width: 40%; }
}

/* 12 · Contacto (page-contacto.php) --------------------------------------------------------------------------- */
.emd-contacto { padding: 0 40px 40px; background: #fff; }
.emd-contacto__in { max-width: var(--emd-ancho); margin: 0 auto; display: grid; grid-template-columns: repeat(2, 1fr); }
.emd-contacto__datos { display: flex; flex-direction: column; gap: 35px; padding: 70px 100px 0 0; }
.emd-contacto__titulo { max-width: 573px; margin: -9px 0 -8px !important; padding: 0; color: #000; font: 800 52px/1.1 var(--emd-letra); letter-spacing: -2px; }
.emd-contacto__texto { margin: -7px 0 6.2px !important; color: #000; font: 500 17px/1.6 var(--emd-letra); }
.emd-contacto__vias { display: grid; gap: 25px; padding-top: 10px; }
.emd-contacto__via { display: flex; align-items: center; gap: 30px; }
.emd-contacto__icono { display: block; width: 45px; height: 45px; margin-bottom: -5px; line-height: 0; }
.emd-contacto__icono svg { width: 45px; height: 45px; fill: #000; }
.emd-contacto__raya { display: block; width: 1px; height: 60px; background: #D8D8D8; }
.emd-contacto__via > div { margin: -10px 0 -6px; }
.emd-contacto__via-titulo { margin: 0 0 8px !important; padding: 0; color: #000; font: 800 22px/1 var(--emd-letra); letter-spacing: -.3px; }
.emd-contacto__via-texto { margin: 0 !important; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.emd-contacto__via-texto a { color: inherit; text-decoration: none; }
.emd-contacto__caja { display: flex; flex-direction: column; gap: 30px; padding: 70px; background: #fff; box-shadow: 0 1px 20px rgba(0, 0, 0, .04); }
.emd-contacto__caja-titulo { margin: -4px 0 !important; padding: 0; color: #000; font: 800 30px/1 var(--emd-letra); letter-spacing: -.6px; }
.emd-contacto__caja-texto { margin: -5px 0 4px !important; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.emd-formulario { display: flex; flex-wrap: wrap; margin: 0 -10px -30px; padding-top: 10px; }
.emd-formulario__trampa { position: absolute; left: -9999px; }
.emd-formulario__campo { width: 50%; margin: 0 0 30px !important; padding: 0 10px; box-sizing: border-box; }
.emd-formulario__campo--entero { width: 100%; }
.emd-formulario__campo label { display: block; padding-bottom: 12px; color: #000; font: 500 15px/1 var(--emd-letra); }
.emd-formulario__campo input, .emd-formulario__campo textarea { display: block; width: 100%; min-height: 59px; margin: 0; padding: 7px 20px; box-sizing: border-box; border: 1px solid #000; border-radius: 0; background: transparent; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.emd-formulario__campo textarea { height: 112px; resize: vertical; }
.emd-formulario__boton { display: block; width: 100%; min-height: 40px; padding: 20px 40px; border: 1px solid #000; border-radius: 0; background: #000; color: #fff; font: 800 15px/1 var(--emd-letra); cursor: pointer; }
.emd-formulario__boton:hover, .emd-formulario__boton:focus { background: #000; color: #fff; }
.emd-formulario__aviso { width: 100%; margin: -10px 10px 30px !important; color: #000; font: 500 15px/1.6 var(--emd-letra); }
.emd-formulario__aviso--error, .emd-formulario__aviso--email, .emd-formulario__aviso--muchos { color: #b00020; }
@media (max-width: 1024px) {
	.emd-contacto { padding: 20px 40px; }
	.emd-contacto__in { grid-template-columns: 1fr; gap: 50px; }
	.emd-contacto__datos { gap: 30px; padding: 0; }
	.emd-contacto__titulo { max-width: 399px; margin: -7px 0 -5px !important; font-size: 42px; letter-spacing: -1.2px; }
	.emd-contacto__texto { max-width: 535px; }
	.emd-contacto__caja { padding: 0; box-shadow: none; }
	.emd-contacto__caja-titulo { margin: -4px 0 -3px !important; font-size: 26px; letter-spacing: -.4px; }
}
@media (max-width: 767px) {
	.emd-contacto { padding: 20px; }
	.emd-contacto__titulo { max-width: none; margin: -6px 0 -4px !important; font-size: 38px; letter-spacing: -1.2px; }
	.emd-contacto__texto { font-size: 16px; margin-bottom: 6px !important; }
	.emd-contacto__vias { gap: 35px; }
	.emd-contacto__via { align-items: flex-start; gap: 25px; min-height: 47px; }
	.emd-contacto__raya { display: none; }
	.emd-contacto__caja { padding: 0 0 30px; }
	.emd-contacto__caja-titulo { font-size: 24px; letter-spacing: -.3px; }
	.emd-formulario__campo { width: 100%; }
}

/* 13 · Página no encontrada (404.php) ------------------------------------------------------------------------- */
.emd-404 { max-width: 1200px; margin: 64px auto; padding: 0 20px; box-sizing: content-box; }
.emd-404__caja { display: flex; flex-direction: column; align-items: center; gap: 35px; padding: 120px 40px; background: #fff; text-align: center; }
.emd-404__numero { margin: -6px 0 !important; color: #000; font: 800 52px/1 var(--emd-letra); letter-spacing: -3px; }
.emd-404__raya { width: 100%; margin: 15px 0 !important; border: 0; border-top: 1px solid #000; height: 0; background: none; }
.emd-404__titulo { margin: -3px 0 !important; padding: 0; color: #000; font: 800 22px/1 var(--emd-letra); letter-spacing: -.4px; }
.emd-404__texto { width: 568px; max-width: 100%; margin: -7px 0 8.75px !important; color: #9F9F9F; font: 500 17px/1.6 var(--emd-letra); }
.emd-404__buscar { display: flex; gap: 10px; width: 435px; max-width: 100%; height: 57px; margin: 0; }
.emd-404__buscar input[type="search"] { flex: 1; min-width: 0; height: 57px; margin: 0; padding: 0 0 0 20px; border: 1px solid #000; border-radius: 0; background: transparent; color: #000; font: 600 15px/1 var(--emd-letra); }
.emd-404__buscar input[type="search"]::placeholder { color: #000; opacity: 1; }
.emd-404__buscar button { box-sizing: border-box; height: 57px; padding: 20px 40px; border: 1px solid #000; border-radius: 0; background: #000; color: #fff; font: 900 15px/1 var(--emd-letra); cursor: pointer; transition: all .3s; }
.emd-404__buscar button:hover, .emd-404__buscar button:focus { background: transparent; color: #000; }
.emd-404__volver { display: inline-flex; align-items: center; gap: 5px; margin: -1px 0 -1px; color: #000; font: 800 15px/1 var(--emd-letra); text-decoration: none; transition: color .3s; }
.emd-404__volver svg { width: 15px; height: 15px; fill: currentColor; }
.emd-404__volver:hover, .emd-404__volver:focus { color: #686868; }
@media (max-width: 1024px) { .emd-404__caja { padding: 80px 40px; gap: 30px; } }
@media (max-width: 767px) {
	.emd-404 { margin: 58px auto 58px; padding: 0 8px; }
	.emd-404__caja { padding: 60px 20px; }
	.emd-404__buscar { width: 100%; }
}

/* 14 · Blog: índice, tarjetas y entrada (home.php, archive.php, single.php) ----------------------------------- */
.emd-blog { padding-top: 0; }
.emd-blog__rejilla { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; padding: 133px 40px 67px; }
.emd-articulo { display: flex; flex-direction: column; background: #fff; box-shadow: 0 1px 20px rgba(0, 0, 0, .04); }
.emd-articulo__foto { position: relative; display: block; line-height: 0; }
.emd-articulo__img { width: 100%; aspect-ratio: 1.6; height: auto; object-fit: cover; display: block; }
.emd-articulo__fecha { position: absolute; left: 50px; bottom: 0; padding: 14px 20px; background: #000; color: #fff; font: 500 14px/1 var(--emd-letra); }
.emd-articulo__datos { display: flex; flex-direction: column; gap: 30px; padding: 50px; }
.emd-articulo__cat { min-height: 55px; margin: -2px 0 !important; color: #9F9F9F; font: 500 14px/1 var(--emd-letra); }
.emd-articulo__titulo { margin: -5px 0 -6px !important; padding: 0; font: 900 22px/1.3 var(--emd-letra); letter-spacing: -.4px; }
.emd-articulo__titulo a { color: #000; text-decoration: none; }
.emd-articulo__raya { margin: 0 !important; border: 0; border-top: 1px solid #D8D8D8; height: 0; background: none; }
.emd-articulo__mas { display: inline-flex; align-items: center; gap: 5px; color: #000; font: 800 15px/1 var(--emd-letra); text-transform: uppercase; text-decoration: none; transition: color .3s; }
.emd-articulo__mas { align-self: center; margin: -7px 0 -6px; }
.emd-articulo__mas svg { width: 15px; height: 15px; fill: currentColor; }
.emd-articulo__mas:hover, .emd-articulo__mas:focus { color: #686868; }
.emd-entrada { width: 550px; max-width: calc(100% - 80px); margin: 40px auto 0 !important; padding: 60px 0; display: flex; flex-direction: column; gap: 50px; }
.emd-entrada__cabeza { display: flex; flex-direction: column; align-items: flex-start; gap: 35px; }
.emd-entrada__meta { display: flex; flex-wrap: wrap; min-height: 28px; margin: -2px -11px !important; padding: 0; list-style: none; }
.emd-entrada__meta li { margin: 0 11px; color: #334155; font: 500 14px/1 var(--emd-letra); text-transform: uppercase; }
.emd-entrada__meta a { color: #000; text-decoration: none; }
.emd-entrada__titulo { max-width: 632px; margin: -10px 0 -9px !important; padding: 0; color: #000; font: 900 52px/1.1 var(--emd-letra); letter-spacing: -2px; }
.emd-entrada__fila { display: grid; grid-template-columns: repeat(2, 1fr); gap: 30px; }
.emd-entrada__firma { display: flex; align-items: center; gap: 20px; }
.emd-entrada__avatar { width: 70px; height: 70px; border-radius: 50%; object-fit: cover; }
.emd-entrada__firma-nombre { margin: -11px 0 7px !important; color: #000; font: 800 22px/1 var(--emd-letra); letter-spacing: -.3px; }
.emd-entrada__firma-fecha { margin: 0 0 -7px !important; color: #9F9F9F; font: 500 14px/1.6 var(--emd-letra); }
.emd-entrada__compartir { display: flex; justify-content: flex-end; align-items: center; gap: 25px; }
.emd-entrada__compartir p { margin: -1px 0 -4px !important; color: #9F9F9F; font: 600 13px/1 var(--emd-letra); text-transform: uppercase; }
.emd-entrada__redes { display: grid; grid-template-columns: repeat(3, 38px); gap: 10px; margin-right: 25px; }
.emd-entrada__redes a { display: flex; justify-content: center; align-items: center; width: 38px; height: 38px; border-radius: 50%; background: #D8D8D8; color: #000; transition: all .3s; }
.emd-entrada__redes a:hover { background: #000; color: #fff; }
.emd-entrada__redes svg { width: 17px; height: 17px; fill: currentColor; }
.emd-entrada__foto img { display: block; width: 100%; height: auto; aspect-ratio: 550 / 234; object-fit: cover; }
.emd-entrada__texto { padding: 20px 0; color: #9F9F9F; font: 500 15px/1.6 var(--emd-letra); text-align: justify; }
.emd-entrada__texto > :first-child { margin-top: -6px; }
.emd-entrada__texto p { margin: 0 0 26.25px; }
.emd-entrada__texto h2, .emd-entrada__texto h3, .emd-entrada__texto h4 { margin: 0; color: #000; font: 600 24px/1.3 var(--emd-letra); }
.emd-entrada__pie { padding: 50px 0; display: flex; justify-content: center; }
.emd-entrada__relacionados { max-width: var(--emd-ancho); margin: 0 auto; padding: 0 40px 40px; }
.emd-entrada__relacionados .emd-blog__rejilla { padding: 0; }
.emd-entrada__relacionados::after { content: ""; display: block; height: 308px; }
.emd-entrada__relacionados-titulo { margin: 0 !important; color: #000; font: 800 52px/1.1 var(--emd-letra); letter-spacing: -2px; text-align: center; }
.emd-entrada__raya { width: 100%; max-width: 550px; margin: 20px auto 0 !important; border: 0; border-top: 1px solid #000; height: 0; background: none; }
@media (max-width: 1024px) {
	.emd-blog__rejilla { grid-template-columns: repeat(2, 1fr); }
	.emd-entrada__titulo { margin: -9px 0 -7px !important; font-size: 42px; letter-spacing: -1.2px; }
}
@media (max-width: 767px) {
	.emd-blog__rejilla { grid-template-columns: 1fr; padding: 65px 22px 25px; }
	.emd-articulo__datos { padding: 50px 30px; }
	.emd-entrada { max-width: calc(100% - 84px); margin-top: 18px !important; padding: 40px 0; }
	.emd-entrada__meta { min-height: 71px; margin: -6px -11px !important; }
	.emd-entrada__relacionados::after { height: 0; }
	.emd-entrada__pie { padding: 34px 0; }
	.emd-entrada__meta li { line-height: 1.6; }
	.emd-entrada__firma { flex-direction: column; align-items: flex-start; gap: 25px; }
	.emd-entrada__redes { margin-right: 0; }
	.emd-entrada__fila { grid-template-columns: 1fr; }
	.emd-entrada__compartir { flex-direction: column; align-items: flex-start; justify-content: flex-start; }
	.emd-entrada__titulo { margin: -7px 0 !important; font-size: 38px; }
	.emd-entrada__relacionados { padding: 0 20px 40px; }
	.emd-entrada__relacionados-titulo { font-size: 38px; }
}

/* 15 · Reglas del «CSS adicional» del personalizador de la web anterior (iban ligadas al tema viejo) ------------- */
.woocommerce-message { width: 85%; margin: 0 auto; background: #fff !important; border: 1px solid #000; color: #000 !important; font-size: 16px; }
.woocommerce-message a.button.wc-forward, a.button.wc-forward { background-color: #000 !important; color: #fff !important; }
button.reset_variations { display: none !important; }
.woocommerce-variation-availability { display: none !important; }
button.single_add_to_cart_button.disabled.wc-variation-selection-needed { background-color: #000 !important; color: #fff !important; }
span.variable-item-span.variable-item-span-button { width: 100% !important; }
p.ast-stock-detail, p.ast-stock-detail span, span.woocommerce-Price-amount.amount { color: #000 !important; }
.woocommerce-product-gallery__image img, .woocommerce-product-gallery__wrapper img { max-height: 800px !important; object-fit: cover !important; width: 100% !important; }
.emd-ficha__compra .single_variation_wrap { padding-top: 4px !important; }
@media (max-width: 767px) { .emd-ficha__compra .single_variation_wrap { padding-top: 5px !important; } }

/* Miniaturas del carrito cuadradas (antes se recortaban a 300x300 al generarlas) */
.woocommerce-cart-form .product-thumbnail img { aspect-ratio: 1; object-fit: cover; height: auto; }
.emd-ficha__compra .single_variation { margin: 0 !important; }
/* Ficha: detalles revisados con la web anterior */
.ast-article-single img { box-shadow: none !important; }
.emd-ficha .ast-onsale-card { top: 21px !important; left: 21px !important; padding: .4em .8em !important; color: #334155 !important; font-size: 13.92px !important; font-weight: 500 !important; line-height: normal !important; }
@media (max-width: 767px) { .emd-ficha .ast-onsale-card { top: 19px !important; left: 19px !important; font-size: 12.7px !important; } }
.emd-ficha .flex-control-thumbs img { opacity: .5 !important; transition: opacity .2s; }
.emd-ficha .flex-control-thumbs img.flex-active, .emd-ficha .flex-control-thumbs img:hover { opacity: 1 !important; }
/* Flechas de la galería: al 40 % del alto, como el CSS adicional de la web anterior */
.emd-ficha .flex-direction-nav { position: absolute; top: 40%; left: 0; z-index: 10; width: 100%; height: 0; transform: translateY(-50%); pointer-events: none; }
.emd-ficha .flex-direction-nav li { pointer-events: all; }
.emd-ficha .flex-direction-nav a { top: -18px !important; }
@media (max-width: 768px) {
	.emd-ficha .flex-direction-nav a { top: -6px !important; width: 24px; height: 24px; }
	.emd-ficha .flex-direction-nav a::before { top: 8px; left: 9px; width: 6px; height: 6px; }
	.emd-ficha .flex-direction-nav .flex-next::before { left: 6px; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.emd-ficha__principal { padding-top: 51px; }
	.emd-ficha .flex-control-thumbs { margin-bottom: 15px !important; }
	.woocommerce div.product h1.emd-ficha__titulo, .woocommerce-page div.product h1.emd-ficha__titulo { font-size: 26px !important; letter-spacing: -.4px; margin: -3px 0 !important; }
}
@media (min-width: 768px) and (max-width: 1024px) {
	.woocommerce ul.products.emd-rejilla--3, .woocommerce-page ul.products.emd-rejilla--3 { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 767px) { .emd-tarjeta.emd-tarjeta--tienda .price { margin: -2px 0 11px !important; } }
/* Nosotros en móvil: título y migas centrados (cabecera propia de esa página en Elementor) */
@media (max-width: 767px) { .page-id-1392 .emd-titular__in { text-align: center; } .page-id-1392 .emd-migas { justify-content: center; } }

/* Tarjeta regalo (YITH) en carrito y finalizar compra: el plugin trae caja con sombra y barra negra, letra del sistema y un botón
   verde más alto que la casilla. Se deja como el cupón: Manrope, aviso con borde fino, casilla gris clara y botón negro de su misma altura. */
body .ywgc_have_code { margin: 0 0 20px !important; padding: 18px 24px !important; border: 1px solid #D8D8D8 !important; border-radius: 0 !important;
	background: #fff !important; box-shadow: none !important; color: #000 !important; font: 500 15px/1.5 var(--emd-letra) !important; }
body .ywgc_have_code a.ywgc-show-giftcard { color: #000 !important; font-weight: 800 !important; text-decoration: underline !important; text-underline-offset: 3px; }
body .ywgc_have_code a.ywgc-show-giftcard:hover { color: var(--emd-gris-hover) !important; }
body .ywgc_enter_code { margin: 0 0 30px !important; padding: 0 !important; background: none !important; font-family: var(--emd-letra) !important; }
body .ywgc_enter_code > div { display: flex; flex-wrap: wrap; align-items: stretch; gap: 0; margin: 0 !important; } /* el plugin le pone -14 px a los lados */
body .ywgc_enter_code p { margin: 0 !important; padding: 0 !important; float: none !important; width: auto !important; }
body .ywgc_enter_code > div > p:first-child { flex: 0 0 100%; margin: 0 0 12px !important; color: #000; font: 500 15px/1.5 var(--emd-letra) !important; }
body .ywgc_enter_code p.form-row-first { flex: 1 1 260px; max-width: 420px; }
body .ywgc_enter_code input#giftcard_code { width: 100% !important; height: 57px !important; margin: 0 !important; padding: 0 16px !important; box-sizing: border-box;
	border: 1px solid #D8D8D8 !important; border-right: 0 !important; border-radius: 0 !important; background: #fff !important; box-shadow: none !important;
	color: #000 !important; font: 500 15px/1 var(--emd-letra) !important; }
body .ywgc_enter_code input#giftcard_code:focus { border-color: #000 !important; outline: 0; }
body .ywgc_enter_code button.ywgc_apply_gift_card_button { height: 57px !important; margin: 0 !important; padding: 0 30px !important; border: 1px solid #000 !important;
	border-radius: 0 !important; background: #000 !important; color: #fff !important; font: 900 15px/1 var(--emd-letra) !important; white-space: nowrap; transition: background .3s, border-color .3s; }
body .ywgc_enter_code button.ywgc_apply_gift_card_button:hover, body .ywgc_enter_code button.ywgc_apply_gift_card_button:focus-visible {
	border-color: var(--emd-gris-hover) !important; background: var(--emd-gris-hover) !important; }
body .ywgc_enter_code .clear { display: none; }
@media (max-width: 767px) {
	body .ywgc_have_code { padding: 15px 18px !important; font-size: 14px !important; }
	body .ywgc_enter_code p.form-row-first { flex: 1 1 100%; max-width: none; margin: 0 0 10px !important; }
	body .ywgc_enter_code input#giftcard_code { border-right: 1px solid #D8D8D8 !important; }
	body .ywgc_enter_code p.form-row-last, body .ywgc_enter_code button.ywgc_apply_gift_card_button { width: 100% !important; flex: 1 1 100%; }
}
