@charset "UTF-8";
/* =========================================================================
   ESTILO & MÁS — Sistema de diseño
   Tienda de joyería y accesorios · OceanWP + WooCommerce
   ========================================================================= */

/* -------------------------------------------------------------------------
   1. VARIABLES
   ---------------------------------------------------------------------- */
:root {
	--eym-negro:      #0e0e10;
	--eym-carbon:     #16161a;
	--eym-grafito:    #2a2a30;
	--eym-oro:        #c9a24b;
	--eym-oro-claro:  #e2c588;
	--eym-oro-osc:    #856520;   /* Oro para TEXTO: contraste AA sobre claros */
	--eym-oro-fin:    #a8842f;   /* Cierre del degradado de los botones dorados */
	--eym-marfil:     #faf7f2;
	--eym-crema:      #f3ede3;
	--eym-linea:      #e6dfd4;
	--eym-linea-sut:  #efe9e0;
	--eym-texto:      #1c1c1e;
	--eym-texto-2:    #6e675f;
	--eym-blanco:     #ffffff;
	--eym-exito:      #1a7f4b;
	--eym-error:      #b3261e;

	--eym-serif: "Playfair Display", "Iowan Old Style", Georgia, "Times New Roman", serif;
	--eym-sans:  "Jost", "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, Helvetica, Arial, sans-serif;

	--eym-ancho: 1340px;          /* Ancho de lectura de las secciones */
	--eym-ancho-amplio: 1680px;   /* Ancho de la tienda y las rejillas */
	--eym-radio: 2px;
	--eym-sombra: 0 18px 48px -24px rgba(20, 16, 10, .30);
	--eym-sombra-alta: 0 30px 70px -30px rgba(20, 16, 10, .42);
	--eym-trans: .38s cubic-bezier(.22, .61, .36, 1);
}

/* -------------------------------------------------------------------------
   2. BASE Y TIPOGRAFÍA
   ---------------------------------------------------------------------- */
body.eym {
	font-family: var(--eym-sans);
	font-size: 16px;
	line-height: 1.72;
	color: var(--eym-texto);
	background: var(--eym-blanco);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

body.eym h1,
body.eym h2,
body.eym h3,
body.eym h4,
body.eym .eym-titulo {
	font-family: var(--eym-serif);
	font-weight: 500;
	color: var(--eym-texto);
	letter-spacing: -.01em;
	line-height: 1.18;
}

/* Títulos sobre fondo oscuro.
   Van con el prefijo body.eym para superar en especificidad a la regla
   general de arriba; si no, heredarían el color oscuro y no se leerían. */
body.eym .eym-hero__tit,
body.eym .eym-encab__tit,
body.eym .eym-cta__tit,
body.eym .eym-panel--oscuro .eym-panel__tit,
body.eym .eym-seccion--oscura .eym-titulo {
	color: #fff;
}

body.eym .eym-hero__tit em {
	color: var(--eym-oro-claro);
	font-style: italic;
}

body.eym a { text-decoration: none; }

body.eym ::selection { background: var(--eym-oro); color: #fff; }

/* Foco visible y accesible en todo el sitio */
body.eym a:focus-visible,
body.eym button:focus-visible,
body.eym input:focus-visible,
body.eym select:focus-visible,
body.eym textarea:focus-visible,
body.eym summary:focus-visible {
	outline: 2px solid var(--eym-oro);
	outline-offset: 3px;
	border-radius: 2px;
}

.eym-wrap {
	width: 100%;
	max-width: var(--eym-ancho);
	margin: 0 auto;
	padding: 0 28px;
	box-sizing: border-box;
}

.eym-wrap--angosto { max-width: 880px; }

.eym-centrado { text-align: center; margin-top: 46px; }

.eym-nota {
	text-align: center;
	color: var(--eym-texto-2);
	font-style: italic;
	padding: 40px 0;
}

/* Etiqueta pequeña superior --------------------------------------------- */
.eym-eyebrow {
	display: inline-block;
	font-family: var(--eym-sans);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--eym-oro-osc);
	margin-bottom: 16px;
}

.eym-eyebrow--claro { color: var(--eym-oro-claro); }

/* Filete dorado ---------------------------------------------------------- */
.eym-filete {
	display: block;
	width: 62px;
	height: 1px;
	margin: 20px auto 22px;
	background: linear-gradient(90deg, transparent, var(--eym-oro), transparent);
	position: relative;
}

.eym-filete::after {
	content: "";
	position: absolute;
	top: -2.5px;
	left: 50%;
	width: 6px;
	height: 6px;
	margin-left: -3px;
	background: var(--eym-oro);
	transform: rotate(45deg);
}

.eym-titulo {
	font-size: clamp(28px, 3.4vw, 44px);
	margin: 0;
}

.eym-bajada {
	font-size: 17px;
	color: var(--eym-texto-2);
	max-width: 640px;
	margin: 0 auto;
	line-height: 1.78;
}

.eym-bajada--izq { margin-left: 0; text-align: left; }

.eym-cabecera {
	text-align: center;
	margin-bottom: 54px;
}

/* Secciones -------------------------------------------------------------- */
.eym-seccion { padding: 96px 0; }
.eym-seccion--clara { background: var(--eym-marfil); }
.eym-seccion--crema { background: var(--eym-crema); }
.eym-seccion--sin-tope { padding-top: 0; }

/* -------------------------------------------------------------------------
   3. CINTA SUPERIOR
   ---------------------------------------------------------------------- */
.eym-cinta {
	background: var(--eym-negro);
	color: #e9e3d8;
	font-size: 12.5px;
	letter-spacing: .07em;
	position: relative;
	z-index: 1000;
}

.eym-cinta__int {
	max-width: var(--eym-ancho);
	margin: 0 auto;
	padding: 10px 28px;
	text-align: center;
}

.eym-cinta__int span {
	display: inline-block;
	color: #e9e3d8;          /* Color de base: siempre legible. */
	font-weight: 400;
}

/* El degradado dorado solo se aplica donde el navegador lo soporta de verdad.
   Sin este @supports, un navegador antiguo dejaria el texto invisible. */
@supports ((-webkit-background-clip: text) or (background-clip: text)) {
	.eym-cinta__int span {
		background: linear-gradient(90deg, #e9e3d8, var(--eym-oro-claro), #e9e3d8);
		-webkit-background-clip: text;
		background-clip: text;
		color: transparent;
	}
}

/* -------------------------------------------------------------------------
   4. CABECERA DEL TEMA (OceanWP)
   ---------------------------------------------------------------------- */
body.eym #site-header {
	background: rgba(255, 255, 255, .96);
	backdrop-filter: saturate(180%) blur(10px);
	-webkit-backdrop-filter: saturate(180%) blur(10px);
	border-bottom: 1px solid var(--eym-linea-sut);
	box-shadow: none;
}

body.eym #site-header.is-sticky,
body.eym #site-header.shrink-header {
	box-shadow: 0 6px 26px -18px rgba(0, 0, 0, .5);
}

/* El logotipo es un sello circular: se controla por ALTURA para que quede
   proporcionado en la cabecera, y encoge un poco al fijarse arriba. */
body.eym #site-logo #site-logo-inner img,
body.eym #site-header .custom-logo {
	max-height: 68px;
	width: auto;
	transition: max-height var(--eym-trans);
}

body.eym #site-header.is-sticky #site-logo-inner img,
body.eym #site-header.shrink-header #site-logo-inner img { max-height: 52px; }

@media (max-width: 680px) {
	body.eym #site-logo #site-logo-inner img,
	body.eym #site-header .custom-logo { max-height: 52px; }
}

/* Enlaces del menú principal --------------------------------------------- */
body.eym #site-navigation-wrap .dropdown-menu > li > a,
body.eym .oceanwp-mobile-menu-icon a,
body.eym #site-header .navigation > ul > li > a {
	font-family: var(--eym-sans);
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--eym-texto);
	position: relative;
}

body.eym #site-navigation-wrap .dropdown-menu > li > a:hover,
body.eym #site-navigation-wrap .dropdown-menu > .current-menu-item > a,
body.eym #site-navigation-wrap .dropdown-menu > .current-menu-parent > a,
body.eym #site-navigation-wrap .dropdown-menu > .current-menu-ancestor > a {
	color: var(--eym-oro-osc);
}

/* Subrayado dorado animado */
body.eym #site-navigation-wrap .dropdown-menu > li > a > span.text-wrap::after,
body.eym #site-navigation-wrap .dropdown-menu > li > a::after {
	content: "";
	position: absolute;
	left: 14px;
	right: 14px;
	bottom: 22px;
	height: 1px;
	background: var(--eym-oro);
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform var(--eym-trans);
}

body.eym #site-navigation-wrap .dropdown-menu > li > a:hover::after,
body.eym #site-navigation-wrap .dropdown-menu > .current-menu-item > a::after,
body.eym #site-navigation-wrap .dropdown-menu > .current-menu-parent > a::after {
	transform: scaleX(1);
}

/* Desplegables ----------------------------------------------------------- */
body.eym #site-navigation-wrap .dropdown-menu ul.sub-menu,
body.eym .navigation ul.sub-menu {
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea-sut);
	border-top: 2px solid var(--eym-oro);
	box-shadow: var(--eym-sombra);
	padding: 8px 0;
	min-width: 240px;
}

body.eym #site-navigation-wrap .dropdown-menu ul.sub-menu li a {
	font-size: 13.5px;
	font-weight: 400;
	letter-spacing: .04em;
	text-transform: none;
	color: var(--eym-texto);
	padding: 11px 22px;
	border: 0;
	transition: background .2s ease, color .2s ease, padding-left .2s ease;
}

body.eym #site-navigation-wrap .dropdown-menu ul.sub-menu li a:hover {
	background: var(--eym-marfil);
	color: var(--eym-oro-osc);
	padding-left: 28px;
}

body.eym .eym-menu-destacado > a {
	color: var(--eym-oro-osc) !important;
	font-weight: 500 !important;
	border-top: 1px solid var(--eym-linea-sut) !important;
	margin-top: 6px;
}

/* Elemento de cuenta como botón ------------------------------------------ */
body.eym #site-navigation-wrap .dropdown-menu > li.eym-item-cuenta > a {
	color: var(--eym-negro);
}

body.eym .eym-menu-ico {
	display: inline-flex;
	vertical-align: -3px;
	margin-right: 7px;
	color: var(--eym-oro-osc);
}

body.eym #site-navigation-wrap .dropdown-menu > li.eym-item-acceso > a {
	color: var(--eym-oro-osc);
}

/* Icono del carrito ------------------------------------------------------ */
body.eym #site-header .wcmenucart-details.count {
	background: var(--eym-oro);
	color: #fff;
	border-color: var(--eym-oro);
}

/* Páginas diseñadas por el plugin: a todo lo ancho ----------------------- */
body.eym-pagina-disenada #main,
body.eym-pagina-disenada #content-wrap,
body.eym-pagina-disenada #primary,
body.eym-pagina-disenada #content,
body.eym-pagina-disenada .entry-content {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
}

body.eym-pagina-disenada .page-header,
body.eym-pagina-disenada #site-header-inner + .page-header,
body.eym-pagina-disenada .site-breadcrumbs {
	display: none !important;
}

body.eym-pagina-disenada #main { border: 0; }

/* -------------------------------------------------------------------------
   4b. ANCHO COMPLETO EN TODO EL SITIO
   ---------------------------------------------------------------------- */

/* Contenedor general mas ancho: la tienda aprovecha la pantalla sin quedar
   pegada al borde en monitores grandes. El margen lateral crece con el
   ancho de la ventana (clamp), asi que nunca hay que tocarlo a mano. */
body.eym #site-header .container,
body.eym #footer-widgets .container,
body.eym #footer-bottom .container,
body.eym .eym-cinta__int {
	width: 100% !important;
	max-width: var(--eym-ancho-amplio) !important;
	padding-left: clamp(18px, 3vw, 46px) !important;
	padding-right: clamp(18px, 3vw, 46px) !important;
}

/* Paginas normales y paginas de WooCommerce: a todo lo ancho.
   Se excluyen las paginas disenadas por el plugin, que ya van de borde a
   borde con sus propias secciones. */
body.eym:not(.eym-pagina-disenada) #content-wrap,
body.eym:not(.eym-pagina-disenada) #content-wrap.container {
	width: 100% !important;
	max-width: var(--eym-ancho-amplio) !important;
	padding-left: clamp(18px, 3vw, 46px) !important;
	padding-right: clamp(18px, 3vw, 46px) !important;
}

/* Sin barra lateral en la tienda ni en las paginas: el contenido manda. */
body.eym.eym-woo #right-sidebar,
body.eym.eym-woo #left-sidebar,
body.eym.eym-woo #right-sidebar,
body.eym.eym-woo #left-sidebar,
body.eym.page #right-sidebar,
body.eym.page #left-sidebar {
	display: none !important;
}

body.eym.eym-woo #primary,
body.eym.eym-woo #primary,
body.eym.page #primary,
body.eym #content-wrap #primary {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 !important;
}

body.eym.eym-woo #content,
body.eym.eym-woo #content,
body.eym.page #content {
	width: 100% !important;
	max-width: 100% !important;
}

/* Cabecera de la tienda y de las categorias, con el mismo aire que el resto. */
body.eym.eym-woo .page-header,
body.eym.eym-woo .page-header {
	background: var(--eym-marfil);
	border-bottom: 1px solid var(--eym-linea);
	padding: 48px 0 44px;
	text-align: center;
}

body.eym.eym-woo .page-header .page-header-title,
body.eym.eym-woo .page-header .page-header-title {
	font-family: var(--eym-serif);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 500;
	color: var(--eym-texto);
}

body.eym.eym-woo .woocommerce-products-header__title,
body.eym.eym-woo h1.page-title {
	font-family: var(--eym-serif);
	font-size: clamp(28px, 3.2vw, 40px);
	font-weight: 500;
	text-align: center;
	margin-bottom: 10px;
}

body.eym.eym-woo .term-description,
body.eym.eym-woo .woocommerce-products-header {
	text-align: center;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
	color: var(--eym-texto-2);
	font-size: 16px;
	line-height: 1.8;
}

/* Barra de ordenacion y contador de resultados. */
body.eym.eym-woo .woocommerce-result-count,
body.eym.eym-woo .woocommerce-ordering {
	margin-bottom: 28px;
	font-size: 14px;
	color: var(--eym-texto-2);
}

body.eym.eym-woo .woocommerce-ordering select {
	border: 1px solid var(--eym-linea);
	border-radius: var(--eym-radio);
	padding: 10px 14px;
	font-family: var(--eym-sans);
	font-size: 14px;
	background: var(--eym-blanco);
}

/* -------------------------------------------------------------------------
   5. BOTONES
   ---------------------------------------------------------------------- */
.eym-btn,
body.eym .eym-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	font-family: var(--eym-sans);
	font-size: 12.5px;
	font-weight: 500;
	letter-spacing: .17em;
	text-transform: uppercase;
	padding: 17px 40px;
	border: 1px solid transparent;
	border-radius: var(--eym-radio);
	cursor: pointer;
	position: relative;
	overflow: hidden;
	transition: all var(--eym-trans);
	text-align: center;
	line-height: 1.2;
}

.eym-btn--oro {
	background: linear-gradient(135deg, var(--eym-oro-claro), var(--eym-oro) 45%, var(--eym-oro-fin));
	color: var(--eym-negro) !important;
	box-shadow: 0 12px 30px -16px rgba(133, 101, 32, .85);
}

.eym-btn--oro:hover {
	box-shadow: 0 18px 40px -14px rgba(133, 101, 32, .95);
	transform: translateY(-2px);
	color: var(--eym-negro) !important;
}

.eym-btn--oscuro {
	background: var(--eym-negro);
	color: #fff !important;
	border-color: var(--eym-negro);
}

.eym-btn--oscuro:hover {
	background: var(--eym-oro-osc);
	border-color: var(--eym-oro-osc);
	color: #fff !important;
	transform: translateY(-2px);
}

.eym-btn--linea {
	background: transparent;
	color: var(--eym-negro) !important;
	border-color: var(--eym-negro);
}

.eym-btn--linea:hover {
	background: var(--eym-negro);
	color: #fff !important;
}

.eym-btn--linea-claro {
	background: transparent;
	color: #fff !important;
	border-color: rgba(255, 255, 255, .55);
}

.eym-btn--linea-claro:hover {
	background: #fff;
	color: var(--eym-negro) !important;
	border-color: #fff;
}

.eym-btn--wa {
	background: #075e54;
	color: #fff !important;
	border-color: #075e54;
	width: 100%;
	margin-top: 14px;
}

.eym-btn--wa:hover { background: #044b43; border-color: #044b43; color: #fff !important; }

.eym-btn--ancho { width: 100%; }
.eym-btn--peq { padding: 13px 26px; font-size: 11.5px; }

/* -------------------------------------------------------------------------
   6. HERO DE PORTADA
   ---------------------------------------------------------------------- */
.eym-hero {
	display: grid;
	grid-template-columns: 1.02fr 1fr;
	min-height: min(80vh, 700px);
	background: var(--eym-negro);
}

.eym-hero__texto {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	background:
		radial-gradient(120% 90% at 8% 12%, rgba(201, 162, 75, .17), transparent 62%),
		var(--eym-negro);
	padding: 84px 56px 84px 28px;
	position: relative;
}

.eym-hero__texto::after {
	content: "";
	position: absolute;
	inset: 30px;
	border: 1px solid rgba(201, 162, 75, .17);
	pointer-events: none;
}

.eym-hero__caja {
	max-width: 560px;
	width: 100%;
	position: relative;
	z-index: 2;
}

.eym-hero__tit {
	font-size: clamp(36px, 4.4vw, 60px);
	color: #fff;
	margin: 0 0 22px;
	line-height: 1.1;
	letter-spacing: -.015em;
}

.eym-hero__tit em {
	font-style: italic;
	color: var(--eym-oro-claro);
}

.eym-hero__baj {
	color: #c9c2b7;
	font-size: 17px;
	line-height: 1.8;
	max-width: 480px;
	margin: 0 0 34px;
}

.eym-hero__botones {
	display: flex;
	gap: 14px;
	flex-wrap: wrap;
	margin-bottom: 42px;
}

.eym-hero__tira {
	list-style: none;
	margin: 0;
	padding: 26px 0 0;
	border-top: 1px solid rgba(255, 255, 255, .12);
	display: flex;
	flex-wrap: wrap;
	gap: 12px 26px;
}

.eym-hero__tira li {
	display: flex;
	align-items: center;
	gap: 9px;
	color: #b9b2a7;
	font-size: 12.5px;
	letter-spacing: .06em;
	margin: 0;
}

.eym-hero__tira svg { color: var(--eym-oro); flex: none; }

.eym-hero__foto {
	background-color: var(--eym-crema);
	background-size: cover;
	background-position: center;
	position: relative;
	min-height: 420px;
}

.eym-hero__foto::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(14, 14, 16, .55), transparent 28%);
}

.eym-hero__sello {
	position: absolute;
	right: 42px;
	bottom: 42px;
	background: rgba(255, 255, 255, .93);
	backdrop-filter: blur(6px);
	border: 1px solid var(--eym-oro);
	padding: 20px 26px;
	text-align: center;
	box-shadow: var(--eym-sombra);
	max-width: 190px;
}

.eym-hero__sello-num {
	display: block;
	font-family: var(--eym-serif);
	font-size: 30px;
	color: var(--eym-oro-osc);
	line-height: 1;
	margin-bottom: 6px;
}

.eym-hero__sello-txt {
	display: block;
	font-size: 11.5px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eym-texto-2);
	line-height: 1.5;
}

/* -------------------------------------------------------------------------
   7. ENCABEZADO DE PÁGINAS INTERIORES
   ---------------------------------------------------------------------- */
.eym-encab {
	background:
		radial-gradient(90% 130% at 50% 0%, rgba(201, 162, 75, .16), transparent 65%),
		var(--eym-negro);
	padding: 92px 0 84px;
	text-align: center;
	position: relative;
}

.eym-encab::after {
	content: "";
	position: absolute;
	left: 0; right: 0; bottom: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--eym-oro), transparent);
}

.eym-encab__int { position: relative; z-index: 2; }

.eym-encab .eym-eyebrow { color: var(--eym-oro-claro); }

.eym-encab__tit {
	font-size: clamp(30px, 3.9vw, 50px);
	color: #fff;
	margin: 0;
	max-width: 900px;
	margin-inline: auto;
}

.eym-encab__baj {
	color: #bdb6ab;
	font-size: 16.5px;
	max-width: 720px;
	margin: 0 auto;
	line-height: 1.8;
}

/* -------------------------------------------------------------------------
   8. BENEFICIOS
   ---------------------------------------------------------------------- */
.eym-benef {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 0;
	border: 1px solid var(--eym-linea);
	background: var(--eym-blanco);
}

.eym-benef__i {
	padding: 42px 32px;
	border-right: 1px solid var(--eym-linea);
	text-align: center;
	transition: background var(--eym-trans);
}

.eym-benef__i:last-child { border-right: 0; }
.eym-benef__i:hover { background: var(--eym-marfil); }

.eym-benef__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 58px;
	height: 58px;
	border: 1px solid var(--eym-oro);
	border-radius: 50%;
	color: var(--eym-oro-osc);
	margin-bottom: 20px;
}

.eym-benef__tit {
	font-size: 18px;
	margin: 0 0 10px;
	font-family: var(--eym-serif);
}

.eym-benef__txt {
	font-size: 14px;
	color: var(--eym-texto-2);
	line-height: 1.7;
	margin: 0;
}

/* -------------------------------------------------------------------------
   9. CATEGORÍAS
   ---------------------------------------------------------------------- */
.eym-cats {
	display: grid;
	gap: 26px;
}

.eym-cats--5 { grid-template-columns: repeat(5, 1fr); }
.eym-cats--4 { grid-template-columns: repeat(4, 1fr); }
.eym-cats--3 { grid-template-columns: repeat(3, 1fr); }
.eym-cats--2 { grid-template-columns: repeat(2, 1fr); }

.eym-cat {
	display: block;
	color: inherit;
}

.eym-cat__marco {
	display: block;
	position: relative;
	overflow: hidden;
	background: var(--eym-crema);
	aspect-ratio: 1 / 1;
}

.eym-cat__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 1.1s cubic-bezier(.22, .61, .36, 1);
}

.eym-cat:hover .eym-cat__img { transform: scale(1.07); }

.eym-cat__velo {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 45%, rgba(14, 14, 16, .30));
	opacity: 0;
	transition: opacity var(--eym-trans);
}

.eym-cat:hover .eym-cat__velo { opacity: 1; }

.eym-cat__marco::after {
	content: "";
	position: absolute;
	inset: 12px;
	border: 1px solid rgba(255, 255, 255, .55);
	opacity: 0;
	transform: scale(1.04);
	transition: all var(--eym-trans);
	pointer-events: none;
}

.eym-cat:hover .eym-cat__marco::after { opacity: 1; transform: scale(1); }

.eym-cat__vacio {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	color: var(--eym-oro);
}

.eym-cat__pie {
	display: block;
	text-align: center;
	padding: 18px 6px 0;
}

.eym-cat__nombre {
	display: block;
	font-family: var(--eym-serif);
	font-size: 17px;
	color: var(--eym-texto);
	margin-bottom: 4px;
	transition: color var(--eym-trans);
}

.eym-cat:hover .eym-cat__nombre { color: var(--eym-oro-osc); }

.eym-cat__num {
	display: block;
	font-size: 11.5px;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--eym-texto-2);
}

/* -------------------------------------------------------------------------
   10. BLOQUE PARTIDO (imagen + texto)
   ---------------------------------------------------------------------- */
.eym-split {
	display: grid;
	grid-template-columns: 1fr 1fr;
	background: var(--eym-marfil);
}

.eym-split__foto {
	background-color: var(--eym-crema);
	background-size: cover;
	background-position: center;
	min-height: 520px;
}

.eym-split__texto {
	display: flex;
	align-items: center;
	padding: 88px 28px 88px 66px;
}

.eym-split__caja { max-width: 540px; }

.eym-split__caja .eym-filete { margin-left: 0; }

.eym-split__caja .eym-titulo { text-align: left; }

.eym-split__caja > p {
	color: var(--eym-texto-2);
	font-size: 16px;
	margin: 0 0 26px;
}

.eym-lista-check {
	list-style: none;
	margin: 0 0 34px;
	padding: 0;
}

.eym-lista-check li {
	display: flex;
	gap: 13px;
	align-items: flex-start;
	padding: 11px 0;
	border-bottom: 1px solid var(--eym-linea);
	font-size: 15px;
	color: var(--eym-texto-2);
	margin: 0;
}

.eym-lista-check li:last-child { border-bottom: 0; }
.eym-lista-check svg { color: var(--eym-oro); flex: none; margin-top: 3px; }
.eym-lista-check strong { color: var(--eym-texto); font-weight: 500; }

/* -------------------------------------------------------------------------
   11. DOS COLUMNAS (Quiénes somos)
   ---------------------------------------------------------------------- */
.eym-dos-col {
	display: grid;
	grid-template-columns: 1.05fr .95fr;
	gap: 72px;
	align-items: center;
}

.eym-dos-col__texto .eym-filete { margin-left: 0; }
.eym-dos-col__texto .eym-titulo { text-align: left; margin-bottom: 4px; }

.eym-dos-col__texto p {
	color: var(--eym-texto-2);
	font-size: 16px;
	margin: 0 0 20px;
}

.eym-dos-col__texto strong { color: var(--eym-texto); font-weight: 600; }
.eym-dos-col__texto em { color: var(--eym-oro-osc); font-style: italic; }

.eym-dos-col__foto {
	position: relative;
	padding: 0 22px 22px 0;
}

.eym-dos-col__foto img {
	display: block;
	width: 100%;
	height: auto;
	position: relative;
	z-index: 2;
	box-shadow: var(--eym-sombra);
}

.eym-dos-col__marco {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 78%;
	height: 78%;
	border: 1px solid var(--eym-oro);
	z-index: 1;
}

/* -------------------------------------------------------------------------
   12. CIFRAS
   ---------------------------------------------------------------------- */
.eym-cifras {
	background: var(--eym-negro);
	padding: 62px 0;
}

.eym-cifras__grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.eym-cifra {
	text-align: center;
	position: relative;
	padding: 0 16px;
}

.eym-cifra + .eym-cifra::before {
	content: "";
	position: absolute;
	left: 0;
	top: 12%;
	height: 76%;
	width: 1px;
	background: rgba(255, 255, 255, .12);
}

.eym-cifra__n {
	display: block;
	font-family: var(--eym-serif);
	font-size: clamp(30px, 3.2vw, 42px);
	color: var(--eym-oro-claro);
	line-height: 1.1;
	margin-bottom: 10px;
}

.eym-cifra__t {
	display: block;
	font-size: 12.5px;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: #a49d93;
	line-height: 1.65;
}

/* -------------------------------------------------------------------------
   13. TARJETAS (misión, visión, valores)
   ---------------------------------------------------------------------- */
.eym-tarjetas-3 {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.eym-tarjeta {
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	padding: 42px 34px;
	transition: all var(--eym-trans);
	position: relative;
}

.eym-tarjeta::before {
	content: "";
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--eym-oro-claro), var(--eym-oro-osc));
	transform: scaleX(0);
	transform-origin: left;
	transition: transform var(--eym-trans);
}

.eym-tarjeta:hover { box-shadow: var(--eym-sombra); transform: translateY(-4px); }
.eym-tarjeta:hover::before { transform: scaleX(1); }

.eym-tarjeta__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 54px;
	height: 54px;
	background: var(--eym-marfil);
	color: var(--eym-oro-osc);
	margin-bottom: 22px;
}

.eym-tarjeta__tit {
	font-size: 22px;
	margin: 0 0 14px;
}

.eym-tarjeta p {
	color: var(--eym-texto-2);
	font-size: 15px;
	margin: 0;
	line-height: 1.75;
}

.eym-tarjeta__lista {
	list-style: none;
	margin: 0;
	padding: 0;
}

.eym-tarjeta__lista li {
	font-size: 14.5px;
	color: var(--eym-texto-2);
	padding: 8px 0 8px 18px;
	position: relative;
	margin: 0;
}

.eym-tarjeta__lista li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 17px;
	width: 5px;
	height: 5px;
	background: var(--eym-oro);
	transform: rotate(45deg);
}

.eym-tarjeta__lista strong { color: var(--eym-texto); font-weight: 600; }

/* -------------------------------------------------------------------------
   14. RAZONES
   ---------------------------------------------------------------------- */
/* Cuatro razones: dos filas de dos. Queda equilibrado y con una anchura
   de lectura comoda, tanto si son 4 como si algun dia vuelven a ser 6. */
.eym-razones {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 46px 56px;
	max-width: 980px;
	margin-inline: auto;
}

.eym-razon__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 46px;
	height: 46px;
	border: 1px solid var(--eym-oro);
	border-radius: 50%;
	color: var(--eym-oro-osc);
	margin-bottom: 16px;
}

.eym-razon h3 {
	font-size: 19px;
	margin: 0 0 10px;
}

.eym-razon p {
	font-size: 15px;
	color: var(--eym-texto-2);
	margin: 0;
	line-height: 1.75;
}

/* -------------------------------------------------------------------------
   15. PASOS
   ---------------------------------------------------------------------- */
.eym-pasos {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	counter-reset: eym;
}

.eym-paso {
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	padding: 36px 28px;
	position: relative;
	margin: 0;
}

.eym-paso__n {
	position: absolute;
	top: -19px;
	left: 28px;
	width: 38px;
	height: 38px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, var(--eym-oro-claro), var(--eym-oro-osc));
	color: #fff;
	font-family: var(--eym-serif);
	font-size: 17px;
	border-radius: 50%;
}

.eym-paso h3 {
	font-size: 18px;
	margin: 14px 0 10px;
}

.eym-paso p {
	font-size: 14.5px;
	color: var(--eym-texto-2);
	margin: 0;
	line-height: 1.7;
}

/* -------------------------------------------------------------------------
   16. TESTIMONIOS
   ---------------------------------------------------------------------- */
.eym-testis {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 26px;
}

.eym-testi {
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	padding: 38px 34px;
	margin: 0;
	position: relative;
	transition: all var(--eym-trans);
}

.eym-testi:hover { box-shadow: var(--eym-sombra); transform: translateY(-4px); }

.eym-testi__estrellas {
	display: flex;
	gap: 3px;
	color: var(--eym-oro);
	margin-bottom: 18px;
}

.eym-testi__estrellas svg { fill: var(--eym-oro); }

.eym-testi__txt {
	font-family: var(--eym-serif);
	font-size: 17px;
	font-style: italic;
	line-height: 1.72;
	color: var(--eym-texto);
	margin: 0 0 22px;
	padding: 0;
	border: 0;
	quotes: none;
}

.eym-testi__txt::before { content: "\201C"; color: var(--eym-oro); }
.eym-testi__txt::after  { content: "\201D"; color: var(--eym-oro); }

.eym-testi__pie {
	border-top: 1px solid var(--eym-linea);
	padding-top: 16px;
}

.eym-testi__nombre {
	display: block;
	font-size: 14px;
	font-weight: 500;
	letter-spacing: .06em;
	color: var(--eym-texto);
}

.eym-testi__lugar {
	display: block;
	font-size: 12px;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eym-texto-2);
	margin-top: 3px;
}

/* -------------------------------------------------------------------------
   17. COMPROMISO
   ---------------------------------------------------------------------- */
.eym-compromiso {
	text-align: center;
	max-width: 820px;
}

.eym-compromiso p {
	font-size: 17.5px;
	color: var(--eym-texto-2);
	line-height: 1.85;
	margin: 0;
}

/* -------------------------------------------------------------------------
   18. LLAMADA A LA ACCIÓN
   ---------------------------------------------------------------------- */
.eym-cta {
	background:
		radial-gradient(80% 120% at 50% 0%, rgba(201, 162, 75, .20), transparent 62%),
		var(--eym-negro);
	padding: 94px 28px;
	text-align: center;
	position: relative;
}

.eym-cta__int {
	max-width: 760px;
	margin: 0 auto;
	position: relative;
}

.eym-cta__adorno {
	display: block;
	width: 1px;
	height: 46px;
	margin: 0 auto 26px;
	background: linear-gradient(180deg, transparent, var(--eym-oro));
}

.eym-cta__tit {
	font-size: clamp(27px, 3.3vw, 42px);
	color: #fff;
	margin: 0 0 18px;
}

.eym-cta__txt {
	color: #bdb6ab;
	font-size: 17px;
	margin: 0 0 36px;
	line-height: 1.78;
}

.eym-cta__botones {
	display: flex;
	gap: 14px;
	justify-content: center;
	flex-wrap: wrap;
}

/* -------------------------------------------------------------------------
   19. PREGUNTAS FRECUENTES
   ---------------------------------------------------------------------- */
.eym-faq { border-top: 1px solid var(--eym-linea); }

.eym-faq__i {
	border-bottom: 1px solid var(--eym-linea);
}

.eym-faq__p {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	padding: 24px 4px;
	cursor: pointer;
	list-style: none;
	font-family: var(--eym-serif);
	font-size: 18.5px;
	color: var(--eym-texto);
	transition: color var(--eym-trans);
}

.eym-faq__p::-webkit-details-marker { display: none; }
.eym-faq__i[open] .eym-faq__p,
.eym-faq__p:hover { color: var(--eym-oro-osc); }

.eym-faq__mas {
	position: relative;
	flex: none;
	width: 16px;
	height: 16px;
}

.eym-faq__mas::before,
.eym-faq__mas::after {
	content: "";
	position: absolute;
	background: var(--eym-oro);
	transition: transform var(--eym-trans);
}

.eym-faq__mas::before { top: 7.5px; left: 0; width: 16px; height: 1px; }
.eym-faq__mas::after  { left: 7.5px; top: 0; width: 1px; height: 16px; }

.eym-faq__i[open] .eym-faq__mas::after { transform: rotate(90deg); opacity: 0; }

.eym-faq__r { padding: 0 4px 26px; }

.eym-faq__r p {
	margin: 0;
	color: var(--eym-texto-2);
	font-size: 15.5px;
	line-height: 1.82;
	max-width: 780px;
}

.eym-faq__r strong { color: var(--eym-texto); font-weight: 600; }

/* -------------------------------------------------------------------------
   20. CONTACTO
   ---------------------------------------------------------------------- */
.eym-contacto-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	margin-top: -58px;
	position: relative;
	z-index: 5;
}

.eym-ccard {
	display: flex;
	flex-direction: column;
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	padding: 34px 30px;
	color: inherit;
	box-shadow: var(--eym-sombra);
	transition: all var(--eym-trans);
}

.eym-ccard:hover { transform: translateY(-5px); box-shadow: var(--eym-sombra-alta); }

.eym-ccard--dest { border-top: 3px solid var(--eym-oro); }

.eym-ccard__ico {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	background: var(--eym-marfil);
	color: var(--eym-oro-osc);
	margin-bottom: 20px;
}

.eym-ccard__et {
	font-size: 11px;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--eym-oro-osc);
	margin-bottom: 8px;
}

.eym-ccard__tit {
	font-family: var(--eym-serif);
	font-size: 21px;
	color: var(--eym-texto);
	margin-bottom: 6px;
}

.eym-ccard__val {
	font-size: 16px;
	color: var(--eym-texto-2);
	margin-bottom: 18px;
	word-break: break-word;
}

.eym-ccard__cta {
	margin-top: auto;
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 12px;
	letter-spacing: .14em;
	text-transform: uppercase;
	color: var(--eym-negro);
}

.eym-ccard:hover .eym-ccard__cta { color: var(--eym-oro-osc); }
.eym-ccard:hover .eym-ccard__cta svg { transform: translateX(4px); }
.eym-ccard__cta svg { transition: transform var(--eym-trans); }

.eym-horario {
	list-style: none;
	margin: 8px 0 0;
	padding: 0;
	width: 100%;
}

.eym-horario li {
	display: flex;
	justify-content: space-between;
	gap: 14px;
	padding: 9px 0;
	border-bottom: 1px dashed var(--eym-linea);
	font-size: 14px;
	color: var(--eym-texto-2);
	margin: 0;
}

.eym-horario li:last-child { border-bottom: 0; }
.eym-horario strong { color: var(--eym-texto); font-weight: 500; }

.eym-contacto-grid {
	display: grid;
	grid-template-columns: 1.35fr .65fr;
	gap: 56px;
	align-items: start;
}

.eym-contacto-form .eym-filete { margin-left: 0; }
.eym-contacto-form .eym-titulo { text-align: left; }

.eym-panel {
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	padding: 30px 28px;
	margin-bottom: 22px;
}

.eym-panel--oscuro {
	background: var(--eym-negro);
	border-color: var(--eym-negro);
}

.eym-panel__tit {
	font-size: 19px;
	margin: 0 0 12px;
}

.eym-panel--oscuro .eym-panel__tit { color: #fff; }

.eym-panel__txt {
	font-size: 14.5px;
	color: var(--eym-texto-2);
	line-height: 1.72;
	margin: 0 0 20px;
}

.eym-panel--oscuro .eym-panel__txt { color: #b0a99f; }

.eym-mapa { line-height: 0; border-top: 1px solid var(--eym-linea); }
.eym-mapa iframe { display: block; filter: grayscale(.35) contrast(1.03); }

/* -------------------------------------------------------------------------
   21. FORMULARIO
   ---------------------------------------------------------------------- */
.eym-form-caja { margin-top: 30px; }

.eym-trampa {
	position: absolute !important;
	left: -9999px !important;
	top: -9999px !important;
	height: 0;
	overflow: hidden;
}

.eym-form-fila {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.eym-campo { margin-bottom: 20px; }

.eym-campo label {
	display: block;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--eym-texto);
	margin-bottom: 9px;
}

.eym-campo label span[aria-hidden] { color: var(--eym-oro-osc); }

body.eym .eym-campo input[type="text"],
body.eym .eym-campo input[type="tel"],
body.eym .eym-campo input[type="email"],
body.eym .eym-campo select,
body.eym .eym-campo textarea {
	width: 100%;
	font-family: var(--eym-sans);
	font-size: 15px;
	color: var(--eym-texto);
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	border-radius: var(--eym-radio);
	padding: 15px 17px;
	box-sizing: border-box;
	transition: border-color var(--eym-trans), box-shadow var(--eym-trans);
}

body.eym .eym-campo input:focus,
body.eym .eym-campo select:focus,
body.eym .eym-campo textarea:focus {
	border-color: var(--eym-oro);
	box-shadow: 0 0 0 3px rgba(201, 162, 75, .13);
	outline: none;
}

body.eym .eym-campo textarea { resize: vertical; min-height: 130px; }

.eym-campo--check label {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	font-size: 13.5px;
	font-weight: 400;
	letter-spacing: 0;
	text-transform: none;
	color: var(--eym-texto-2);
	line-height: 1.6;
	cursor: pointer;
}

.eym-campo--check input { margin-top: 4px; flex: none; accent-color: var(--eym-oro); }

.eym-form-nota {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 12.5px;
	color: var(--eym-texto-2);
	margin: 16px 0 0;
}

.eym-form-nota svg { color: var(--eym-oro); flex: none; }

.eym-form-aviso {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 18px 20px;
	margin-bottom: 26px;
	border-left: 3px solid;
	font-size: 15px;
	line-height: 1.6;
}

.eym-form-aviso--ok {
	background: #edf7f1;
	border-color: var(--eym-exito);
	color: #10502f;
}

.eym-form-aviso--error {
	background: #fdf0ef;
	border-color: var(--eym-error);
	color: #7d1a15;
}

.eym-form-aviso svg { flex: none; margin-top: 2px; }

/* Aviso general (carrito) */
.eym-aviso {
	display: flex;
	align-items: center;
	gap: 12px;
	background: var(--eym-marfil);
	border: 1px solid var(--eym-linea);
	border-left: 3px solid var(--eym-oro);
	padding: 16px 20px;
	margin-bottom: 24px;
	font-size: 15px;
	color: var(--eym-texto-2);
}

.eym-aviso svg { color: var(--eym-oro-osc); flex: none; }
.eym-aviso strong { color: var(--eym-texto); }
.eym-aviso--ok { border-left-color: var(--eym-exito); }
.eym-aviso--ok svg { color: var(--eym-exito); }

/* -------------------------------------------------------------------------
   22. WOOCOMMERCE - CATALOGO  (rejilla uniforme)
   ---------------------------------------------------------------------- */

/* TODA la rejilla de productos del sitio (tienda, categorias, resultados de
   busqueda, productos relacionados y las secciones de las paginas) se
   controla con una sola variable: --eym-cols.
   Asi las tarjetas son SIEMPRE del mismo tamano, haya 1 producto o haya 200,
   y para cambiar el numero de columnas en cada pantalla basta con tocar esa
   variable en el bloque de medidas del final. */
body.eym.eym-woo ul.products,
body.eym.eym-woo ul.products,
body.eym .eym-productos ul.products {
	--eym-cols: 4;
	display: grid !important;
	grid-template-columns: repeat(var(--eym-cols), minmax(0, 1fr));
	gap: 34px 26px;
	margin: 0 !important;
	padding: 0 !important;
	list-style: none !important;
	align-items: stretch;
}

/* WooCommerce usa "clearfix" con pseudoelementos que en una rejilla crean
   celdas fantasma. Los anulamos. */
body.eym.eym-woo ul.products::before,
body.eym.eym-woo ul.products::after,
body.eym.eym-woo ul.products::before,
body.eym.eym-woo ul.products::after,
body.eym .eym-productos ul.products::before,
body.eym .eym-productos ul.products::after {
	content: none !important;
	display: none !important;
}

/* Cada tarjeta ocupa TODA su celda. Aqui esta la clave para que un producto
   solitario no se vea gigante: se anulan los anchos en porcentaje que
   WooCommerce y OceanWP aplican con las clases first/last. */
body.eym.eym-woo ul.products li.product,
body.eym.eym-woo ul.products li.product,
body.eym .eym-productos ul.products li.product {
	width: auto !important;
	max-width: none !important;
	min-width: 0;
	margin: 0 !important;
	padding: 0 !important;
	float: none !important;
	clear: none !important;
	display: flex !important;
	flex-direction: column;
	height: 100%;
	text-align: center;
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	position: relative;
	overflow: hidden;
	transition: transform var(--eym-trans), box-shadow var(--eym-trans), border-color var(--eym-trans);
}

body.eym.eym-woo ul.products li.product:hover,
body.eym.eym-woo ul.products li.product:hover,
body.eym .eym-productos ul.products li.product:hover {
	box-shadow: var(--eym-sombra);
	transform: translateY(-5px);
	border-color: rgba(201, 162, 75, .5);
}

/* Enlace que envuelve foto + titulo + precio. */
body.eym ul.products li.product > a.woocommerce-loop-product__link,
body.eym ul.products li.product > a.woocommerce-LoopProduct-link {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	color: inherit;
}

/* LA FOTO SIEMPRE CUADRADA.
   Da igual que la imagen original sea vertical, apaisada o de otro tamano:
   se recorta a un cuadrado perfecto y todas las fichas quedan alineadas. */
body.eym ul.products li.product img,
body.eym ul.products li.product .attachment-woocommerce_thumbnail,
body.eym ul.products li.product .wp-post-image {
	display: block !important;
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
	margin: 0 !important;
	background: var(--eym-crema);
	transition: transform 1s cubic-bezier(.22, .61, .36, 1);
}

body.eym ul.products li.product:hover img { transform: scale(1.05); }

/* EL TITULO SIEMPRE OCUPA DOS LINEAS.
   Si el nombre es mas largo se corta con puntos suspensivos; si es mas corto
   se reserva el hueco igual. Resultado: precios y botones perfectamente
   alineados entre todas las tarjetas. */
body.eym ul.products li.product .woocommerce-loop-product__title,
body.eym ul.products li.product h2,
body.eym ul.products li.product h3 {
	font-family: var(--eym-serif) !important;
	font-size: 16px !important;
	font-weight: 500 !important;
	line-height: 1.4 !important;
	color: var(--eym-texto);
	padding: 20px 16px 8px !important;
	margin: 0 !important;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: calc(2.8em + 28px);
	box-sizing: content-box;
}

body.eym ul.products li.product .star-rating {
	margin: 0 auto 8px !important;
	font-size: 13px;
	color: var(--eym-oro);
	height: 1.2em;
}

body.eym ul.products li.product .price {
	display: block;
	font-family: var(--eym-sans) !important;
	font-size: 17px !important;
	font-weight: 500 !important;
	color: var(--eym-oro-osc) !important;
	margin: 0 0 4px !important;
	padding: 0 16px !important;
	line-height: 1.4;
}

body.eym ul.products li.product .price del {
	color: var(--eym-texto-2) !important;
	opacity: .7;
	font-size: 14px;
	font-weight: 300;
	margin-right: 6px;
}

body.eym ul.products li.product .price ins {
	text-decoration: none;
	font-weight: 500;
}

/* EL BOTON SIEMPRE ABAJO DEL TODO (margin-top:auto lo empuja). */
body.eym ul.products li.product .button,
body.eym.eym-woo ul.products li.product a.button {
	display: block !important;
	margin: auto 16px 18px !important;
	padding: 13px 14px !important;
	font-family: var(--eym-sans) !important;
	font-size: 11.5px !important;
	font-weight: 500 !important;
	letter-spacing: .13em !important;
	text-transform: uppercase !important;
	background: var(--eym-negro) !important;
	color: #fff !important;
	border: 1px solid var(--eym-negro) !important;
	border-radius: var(--eym-radio) !important;
	white-space: normal;
	line-height: 1.35;
	transition: background var(--eym-trans), border-color var(--eym-trans);
}

body.eym ul.products li.product .button:hover {
	background: var(--eym-oro-osc) !important;
	border-color: var(--eym-oro-osc) !important;
}

body.eym ul.products li.product .added_to_cart {
	display: block !important;
	margin: 0 16px 16px !important;
	padding: 11px 14px !important;
	font-size: 11px !important;
	letter-spacing: .12em;
	text-transform: uppercase;
	background: transparent !important;
	color: var(--eym-oro-osc) !important;
	border: 1px solid var(--eym-oro) !important;
	border-radius: var(--eym-radio);
}

/* Etiqueta de oferta. */
body.eym.eym-woo span.onsale,
body.eym .eym-oferta {
	position: absolute;
	top: 14px;
	left: 14px;
	right: auto;
	background: var(--eym-negro) !important;
	color: #fff !important;
	font-family: var(--eym-sans) !important;
	font-size: 11px !important;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 7px 13px !important;
	border-radius: 0 !important;
	line-height: 1 !important;
	min-height: 0 !important;
	min-width: 0 !important;
	margin: 0 !important;
	z-index: 3;
}

/* Paginacion del catalogo. */
body.eym.eym-woo nav.woocommerce-pagination {
	margin: 56px 0 0;
	text-align: center;
}

body.eym.eym-woo nav.woocommerce-pagination ul {
	border: 0;
	display: inline-flex;
	gap: 8px;
}

body.eym.eym-woo nav.woocommerce-pagination ul li {
	border: 0;
	margin: 0;
}

body.eym.eym-woo nav.woocommerce-pagination ul li a,
body.eym.eym-woo nav.woocommerce-pagination ul li span {
	min-width: 44px;
	height: 44px;
	line-height: 44px;
	padding: 0 12px;
	border: 1px solid var(--eym-linea);
	font-family: var(--eym-sans);
	font-size: 14px;
	color: var(--eym-texto);
	background: var(--eym-blanco);
	transition: all var(--eym-trans);
}

body.eym.eym-woo nav.woocommerce-pagination ul li a:hover,
body.eym.eym-woo nav.woocommerce-pagination ul li span.current {
	background: var(--eym-negro);
	border-color: var(--eym-negro);
	color: #fff;
}

/* -------------------------------------------------------------------------
   23. WOOCOMMERCE — FICHA DE PRODUCTO
   ---------------------------------------------------------------------- */

/* LA FOTO DEL PRODUCTO NO PUEDE CRECER SIN LIMITE.
   Al poner la ficha a todo lo ancho, la galeria se estiraba hasta ocupar
   media pantalla y la imagen se veia enorme. Aqui se le pone un techo y la
   ficha queda equilibrada: foto a la izquierda, datos a la derecha. */
body.eym.eym-woo div.product .woocommerce-product-gallery {
	max-width: 520px !important;
	margin-bottom: 36px;
}

body.eym.eym-woo div.product .woocommerce-product-gallery__wrapper,
body.eym.eym-woo div.product .woocommerce-product-gallery__image {
	margin: 0;
}

body.eym.eym-woo div.product .woocommerce-product-gallery__image img,
body.eym.eym-woo div.product .woocommerce-product-gallery img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	background: var(--eym-crema);
	border: 1px solid var(--eym-linea);
}

/* Miniaturas de la galeria: cuadradas y del mismo tamano. */
body.eym.eym-woo div.product .flex-control-thumbs li img,
body.eym.eym-woo div.product .woocommerce-product-gallery .flex-control-nav img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

body.eym.eym-woo div.product .summary,
body.eym.eym-woo div.product .entry-summary {
	max-width: 640px;
}

body.eym.eym-woo div.product .product_title {
	font-family: var(--eym-serif);
	font-size: clamp(26px, 3vw, 38px);
	margin-bottom: 14px;
}

body.eym.eym-woo div.product p.price,
body.eym.eym-woo div.product span.price {
	font-family: var(--eym-sans);
	font-size: 27px;
	font-weight: 500;
	color: var(--eym-oro-osc);
}

/* La descripcion corta es ahora la ficha tecnica completa del producto:
   se le da aire, y se cuidan parrafos y listas para que se lea bien. */
body.eym.eym-woo div.product .woocommerce-product-details__short-description {
	color: var(--eym-texto-2);
	font-size: 15.5px;
	line-height: 1.8;
	border-top: 1px solid var(--eym-linea);
	border-bottom: 1px solid var(--eym-linea);
	padding: 22px 0;
	margin: 24px 0;
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description p {
	margin: 0 0 14px;
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description p:last-child {
	margin-bottom: 0;
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description strong {
	color: var(--eym-texto);
	font-weight: 600;
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description ul {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description ul li {
	position: relative;
	padding: 7px 0 7px 20px;
	margin: 0;
	font-size: 15px;
	border-bottom: 1px dashed var(--eym-linea);
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description ul li:last-child {
	border-bottom: 0;
}

body.eym.eym-woo div.product .woocommerce-product-details__short-description ul li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 16px;
	width: 5px;
	height: 5px;
	background: var(--eym-oro);
	transform: rotate(45deg);
}

body.eym.eym-woo div.product form.cart .button,
body.eym.eym-woo div.product .single_add_to_cart_button {
	background: var(--eym-negro) !important;
	color: #fff !important;
	font-family: var(--eym-sans) !important;
	font-size: 12.5px !important;
	font-weight: 500 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	padding: 17px 38px !important;
	border: 1px solid var(--eym-negro) !important;
	border-radius: var(--eym-radio) !important;
	transition: all var(--eym-trans);
}

body.eym.eym-woo div.product form.cart .button:hover {
	background: var(--eym-oro-osc) !important;
	border-color: var(--eym-oro-osc) !important;
}

body.eym.eym-woo .quantity .qty {
	border: 1px solid var(--eym-linea);
	border-radius: var(--eym-radio);
	padding: 14px 8px;
	font-family: var(--eym-sans);
	height: auto;
}

.eym-sellos {
	list-style: none;
	margin: 26px 0 0;
	padding: 22px 0 0;
	border-top: 1px solid var(--eym-linea);
	display: grid;
	gap: 12px;
}

.eym-sellos li {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 14px;
	color: var(--eym-texto-2);
	margin: 0;
	letter-spacing: .02em;
}

.eym-sellos svg { color: var(--eym-oro-osc); flex: none; }

/* Los productos relacionados son lo unico que va bajo la ficha. */
body.eym.eym-woo .related,
body.eym.eym-woo .upsells {
	margin-top: 64px;
	padding-top: 54px;
	border-top: 1px solid var(--eym-linea);
	clear: both;
}

body.eym.eym-woo .related > h2,
body.eym.eym-woo .upsells > h2 {
	font-family: var(--eym-serif);
	font-size: clamp(24px, 2.6vw, 32px);
	font-weight: 500;
	text-align: center;
	margin: 0 0 36px;
}

/* -------------------------------------------------------------------------
   24. WOOCOMMERCE — CARRITO, PAGO Y CUENTA
   ---------------------------------------------------------------------- */
body.eym.eym-woo table.shop_table {
	border: 1px solid var(--eym-linea);
	border-radius: 0;
	border-collapse: collapse;
}

body.eym.eym-woo table.shop_table th {
	font-family: var(--eym-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .13em;
	text-transform: uppercase;
	color: var(--eym-texto);
	background: var(--eym-marfil);
	padding: 16px 14px;
}

body.eym.eym-woo table.shop_table td { padding: 18px 14px; }

body.eym.eym-woo .cart_totals h2,
body.eym.woocommerce-checkout h3,
body.eym.eym-woo .woocommerce-billing-fields h3 {
	font-family: var(--eym-serif);
	font-size: 24px;
}

body.eym.eym-woo #respond input#submit,
body.eym.eym-woo a.button,
body.eym.eym-woo button.button,
body.eym.eym-woo input.button,
body.eym.eym-woo #place_order {
	background: var(--eym-negro);
	color: #fff;
	font-family: var(--eym-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .15em;
	text-transform: uppercase;
	padding: 15px 32px;
	border-radius: var(--eym-radio);
	border: 1px solid var(--eym-negro);
	transition: all var(--eym-trans);
}

body.eym.eym-woo #respond input#submit:hover,
body.eym.eym-woo a.button:hover,
body.eym.eym-woo button.button:hover,
body.eym.eym-woo input.button:hover,
body.eym.eym-woo #place_order:hover {
	background: var(--eym-oro-osc);
	border-color: var(--eym-oro-osc);
	color: #fff;
}

body.eym.eym-woo .checkout-button,
body.eym.eym-woo #place_order {
	background: linear-gradient(135deg, var(--eym-oro-claro), var(--eym-oro) 45%, var(--eym-oro-fin)) !important;
	color: var(--eym-negro) !important;
	border-color: transparent !important;
	font-size: 13px !important;
	padding: 18px 40px !important;
}

body.eym.eym-woo form .form-row input.input-text,
body.eym.eym-woo form .form-row textarea,
body.eym.eym-woo form .form-row .select2-container .select2-selection--single {
	border: 1px solid var(--eym-linea);
	border-radius: var(--eym-radio);
	padding: 13px 15px;
	font-family: var(--eym-sans);
	font-size: 15px;
	height: auto;
	line-height: 1.5;
}

body.eym.eym-woo form .form-row label {
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eym-texto);
	margin-bottom: 7px;
}

body.eym.eym-woo .woocommerce-message,
body.eym.eym-woo .woocommerce-info,
body.eym.eym-woo .woocommerce-error {
	border-top-color: var(--eym-oro);
	background: var(--eym-marfil);
	border-radius: 0;
	font-size: 15px;
}

body.eym.eym-woo .woocommerce-message::before,
body.eym.eym-woo .woocommerce-info::before { color: var(--eym-oro-osc); }

/* Ficha de producto: la cabecera grande de OceanWP fuera ------------------
   Se quita por PHP (filtro ocean_display_page_header). Esto es la red de
   seguridad por si el tema cambiara ese filtro: sin ella, el titulo largo
   del producto se monta encima de las migas de pan y ademas sale duplicado. */
body.eym.single-product .page-header,
body.eym.single-product #page-header,
body.eym.single-product .page-header-title {
	display: none !important;
}

/* La ruta de navegacion NO se muestra en las fichas de producto.
   Se quita por PHP; esto es la red de seguridad por si el tema o algun
   plugin la imprimiera por su cuenta. */
body.eym.single-product .woocommerce-breadcrumb,
body.eym.single-product nav.woocommerce-breadcrumb,
body.eym.single-product .site-breadcrumbs,
body.eym.single-product #breadcrumb {
	display: none !important;
}

body.eym.single-product div.product .product_title {
	margin-top: 0;
}

/* Formulario de finalizar compra ------------------------------------------ */

/* Campos que WooCommerce necesita por dentro pero que el cliente no ve
   (el país: la tienda entrega en uno solo). */
body.eym .eym-campo-oculto,
body.eym #billing_country_field.eym-campo-oculto,
body.eym #shipping_country_field.eym-campo-oculto {
	display: none !important;
}

/* --- Estructura en dos columnas -----------------------------------------
   Se usa una rejilla con las posiciones puestas a mano, en lugar de dejar
   que se coloquen solas: WooCommerce y OceanWP maquetan esta pantalla con
   "float" y porcentajes, y si no se anulan los datos salen encajonados en
   una franja estrecha. */
body.eym.woocommerce-checkout form.checkout,
body.eym.woocommerce-checkout form.woocommerce-checkout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(300px, 400px);
	column-gap: 52px;
	row-gap: 0;
	align-items: start;
	max-width: 1180px;
	margin-inline: auto;
}

/* Cualquier otro elemento del formulario (avisos, cupón...) ocupa el ancho. */
body.eym.woocommerce-checkout form.checkout > * {
	grid-column: 1 / -1;
	min-width: 0;
}

body.eym.woocommerce-checkout form.checkout > #customer_details {
	grid-column: 1;
	grid-row: 1 / span 2;
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
}

body.eym.woocommerce-checkout form.checkout > h3#order_review_heading {
	grid-column: 2;
	grid-row: 1;
	width: 100% !important;
	float: none !important;
}

body.eym.woocommerce-checkout form.checkout > #order_review {
	grid-column: 2;
	grid-row: 2;
	width: 100% !important;
	float: none !important;
}

/* Las dos columnas internas de WooCommerce se anulan: ya tenemos rejilla. */
body.eym.eym-woo .col2-set,
body.eym.eym-woo .col2-set .col-1,
body.eym.eym-woo .col2-set .col-2,
body.eym.woocommerce-checkout #customer_details .col-1,
body.eym.woocommerce-checkout #customer_details .col-2 {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	padding: 0 !important;
	margin: 0 !important;
}

/* --- Títulos ------------------------------------------------------------ */
body.eym.woocommerce-checkout h3#order_review_heading,
body.eym.woocommerce-checkout .woocommerce-billing-fields > h3,
body.eym.woocommerce-checkout #customer_details h3 {
	font-family: var(--eym-serif);
	font-size: 21px;
	font-weight: 500;
	letter-spacing: .01em;
	text-transform: none;
	color: var(--eym-texto);
	margin: 0 0 22px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--eym-linea);
}

/* --- Rejilla de campos: nombre/apellido y teléfono/correo van en pareja -- */
body.eym.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
	column-gap: 20px;
}

body.eym.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > .form-row-wide,
body.eym.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_address_1_field,
body.eym.woocommerce-checkout .woocommerce-billing-fields__field-wrapper > #billing_state_field {
	grid-column: 1 / -1;
}

/* Ninguna fila puede llevar float ni ancho en porcentaje: rompe la rejilla
   y es lo que dejaba los campos convertidos en cajitas diminutas. */
body.eym.eym-woo form .form-row,
body.eym.woocommerce-checkout form .form-row,
body.eym.eym-woo form .form-row-first,
body.eym.eym-woo form .form-row-last,
body.eym.eym-woo form .form-row-wide {
	width: 100% !important;
	max-width: 100% !important;
	float: none !important;
	margin: 0 0 20px !important;
	padding: 0 !important;
	display: block;
}

body.eym.eym-woo form .form-row label {
	display: block;
	font-family: var(--eym-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--eym-texto);
	margin-bottom: 9px;
	line-height: 1.4;
}

body.eym.eym-woo form .form-row .required,
body.eym.eym-woo form .form-row abbr.required {
	color: var(--eym-oro-osc);
	text-decoration: none;
	border: 0;
}

body.eym.eym-woo form .form-row input.input-text,
body.eym.eym-woo form .form-row textarea,
body.eym.eym-woo form .form-row select,
body.eym.eym-woo .select2-container .select2-selection--single {
	width: 100% !important;
	box-sizing: border-box;
	font-family: var(--eym-sans);
	font-size: 15px;
	line-height: 1.5;
	color: var(--eym-texto);
	background: var(--eym-blanco);
	border: 1px solid var(--eym-linea);
	border-radius: var(--eym-radio);
	padding: 14px 16px;
	height: auto;
	min-height: 52px;
	transition: border-color var(--eym-trans), box-shadow var(--eym-trans);
}

body.eym.eym-woo form .form-row input.input-text:focus,
body.eym.eym-woo form .form-row textarea:focus,
body.eym.eym-woo form .form-row select:focus {
	border-color: var(--eym-oro);
	box-shadow: 0 0 0 3px rgba(201, 162, 75, .13);
	outline: none;
}

/* El desplegable de departamento usa Select2: hay que igualarlo a mano. */
body.eym.eym-woo .select2-container--default .select2-selection--single {
	display: flex;
	align-items: center;
}

body.eym.eym-woo .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.5;
	padding: 0;
	color: var(--eym-texto);
}

body.eym.eym-woo .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: 50px;
	right: 12px;
}

body.eym.eym-woo form .form-row .description,
body.eym.eym-woo form .form-row small {
	display: block;
	margin-top: 7px;
	font-size: 12.5px;
	line-height: 1.5;
	color: var(--eym-texto-2);
	background: none;
	border: 0;
	padding: 0;
	position: static;
}

/* --- Resumen del pedido ------------------------------------------------- */
body.eym.woocommerce-checkout #order_review {
	background: var(--eym-marfil);
	border: 1px solid var(--eym-linea);
	padding: 26px 24px;
	position: sticky;
	top: 108px;
}

body.eym.woocommerce-checkout #order_review table.shop_table {
	border: 0;
	margin: 0 0 6px;
	background: transparent;
}

body.eym.woocommerce-checkout #order_review table.shop_table th,
body.eym.woocommerce-checkout #order_review table.shop_table td {
	background: transparent;
	border: 0;
	border-bottom: 1px solid var(--eym-linea);
	padding: 14px 0;
	font-size: 14.5px;
	color: var(--eym-texto-2);
	vertical-align: top;
}

body.eym.woocommerce-checkout #order_review table.shop_table thead th {
	font-family: var(--eym-sans);
	font-size: 11px;
	letter-spacing: .16em;
	text-transform: uppercase;
	color: var(--eym-texto);
	padding-bottom: 10px;
}

body.eym.woocommerce-checkout #order_review table.shop_table td.product-name {
	font-family: var(--eym-serif);
	font-size: 15.5px;
	color: var(--eym-texto);
	line-height: 1.45;
	padding-right: 14px;
}

body.eym.woocommerce-checkout #order_review table.shop_table .product-quantity {
	color: var(--eym-texto-2);
	font-family: var(--eym-sans);
	font-size: 13px;
}

body.eym.woocommerce-checkout #order_review table.shop_table td.product-total,
body.eym.woocommerce-checkout #order_review table.shop_table th {
	text-align: right;
	white-space: nowrap;
}

body.eym.woocommerce-checkout #order_review .order-total th,
body.eym.woocommerce-checkout #order_review .order-total td {
	border-bottom: 0;
	padding-top: 18px;
	font-size: 17px;
	color: var(--eym-texto);
}

body.eym.woocommerce-checkout #order_review .order-total .amount {
	font-family: var(--eym-sans);
	font-size: 22px;
	font-weight: 500;
	color: var(--eym-oro-osc);
}

/* El importe siempre en el dorado de la marca, nunca en el verde o el azul
   que traen WooCommerce y el tema por defecto. */
body.eym.eym-woo .woocommerce-Price-amount,
body.eym.eym-woo table.shop_table .amount,
body.eym.woocommerce-checkout #order_review .amount {
	color: var(--eym-oro-osc);
	font-family: var(--eym-sans);
	font-weight: 500;
}

body.eym.woocommerce-checkout #order_review .order-total .includes_tax,
body.eym.woocommerce-checkout #order_review .woocommerce-shipping-methods {
	font-size: 13.5px;
}

body.eym.woocommerce-checkout #order_review ul#shipping_method {
	margin: 0;
	padding: 0;
	list-style: none;
	text-align: right;
}

body.eym.woocommerce-checkout #order_review ul#shipping_method li {
	margin: 0 0 6px;
	color: var(--eym-texto-2);
	font-size: 14px;
}

/* --- Formas de pago ----------------------------------------------------- */
body.eym.woocommerce-checkout #payment {
	background: transparent;
	border-radius: 0;
	padding: 4px 0 0;
}

body.eym.woocommerce-checkout #payment ul.payment_methods {
	border: 0;
	padding: 18px 0 0;
	margin: 0 0 18px;
	border-top: 1px solid var(--eym-linea);
}

body.eym.woocommerce-checkout #payment ul.payment_methods li {
	border: 1px solid var(--eym-linea);
	background: var(--eym-blanco);
	padding: 15px 16px;
	margin: 0 0 10px;
	list-style: none;
	transition: border-color var(--eym-trans);
}

body.eym.woocommerce-checkout #payment ul.payment_methods li:hover,
body.eym.woocommerce-checkout #payment ul.payment_methods li.eym-elegido {
	border-color: var(--eym-oro);
}

body.eym.woocommerce-checkout #payment ul.payment_methods li label {
	display: inline;
	font-family: var(--eym-sans);
	font-size: 14.5px;
	font-weight: 500;
	letter-spacing: 0;
	text-transform: none;
	color: var(--eym-texto);
	cursor: pointer;
	margin: 0;
}

body.eym.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
	accent-color: var(--eym-oro-osc);
	margin-right: 9px;
	transform: translateY(1px);
}

body.eym.woocommerce-checkout #payment div.payment_box {
	background: var(--eym-marfil);
	border: 0;
	border-left: 3px solid var(--eym-oro);
	border-radius: 0;
	margin: 12px 0 0;
	padding: 14px 16px;
	font-size: 13.5px;
	line-height: 1.7;
	color: var(--eym-texto-2);
}

body.eym.woocommerce-checkout #payment div.payment_box::before {
	display: none;
}

body.eym.woocommerce-checkout .woocommerce-privacy-policy-text p {
	font-size: 12.5px;
	line-height: 1.65;
	color: var(--eym-texto-2);
	margin: 0 0 18px;
}

/* --- Botón de confirmar ------------------------------------------------- */
body.eym.eym-woo #place_order,
body.eym.woocommerce-checkout #place_order,
body.eym.woocommerce-checkout button#place_order {
	display: block;
	width: 100%;
	background: linear-gradient(135deg, var(--eym-oro-claro), var(--eym-oro) 45%, var(--eym-oro-fin)) !important;
	color: var(--eym-negro) !important;
	font-family: var(--eym-sans) !important;
	font-size: 13px !important;
	font-weight: 600 !important;
	letter-spacing: .16em !important;
	text-transform: uppercase !important;
	padding: 19px 24px !important;
	border: 0 !important;
	border-radius: var(--eym-radio) !important;
	box-shadow: 0 12px 30px -16px rgba(133, 101, 32, .85);
	transition: all var(--eym-trans);
	float: none;
}

body.eym.woocommerce-checkout #place_order:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 40px -14px rgba(133, 101, 32, .95);
}

.eym-nota-pago {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	margin: 16px 0 0;
	font-size: 12.5px;
	line-height: 1.6;
	color: var(--eym-texto-2);
}

.eym-nota-pago svg { color: var(--eym-oro); flex: none; margin-top: 2px; }

/* --- Avisos de la parte superior del pago ------------------------------- */
body.eym.woocommerce-checkout .woocommerce-form-login-toggle,
body.eym.woocommerce-checkout .woocommerce-form-coupon-toggle {
	margin-bottom: 22px;
}

/* --- Adaptación a pantallas pequeñas ------------------------------------ */
@media (max-width: 980px) {
	body.eym.woocommerce-checkout form.checkout,
	body.eym.woocommerce-checkout form.woocommerce-checkout {
		grid-template-columns: minmax(0, 1fr);
		row-gap: 30px;
	}

	body.eym.woocommerce-checkout form.checkout > #customer_details,
	body.eym.woocommerce-checkout form.checkout > h3#order_review_heading,
	body.eym.woocommerce-checkout form.checkout > #order_review {
		grid-column: 1;
		grid-row: auto;
	}

	body.eym.woocommerce-checkout #order_review { position: static; }
}

@media (max-width: 600px) {
	body.eym.woocommerce-checkout .woocommerce-billing-fields__field-wrapper {
		grid-template-columns: 1fr;
	}

	body.eym.woocommerce-checkout #order_review { padding: 20px 18px; }

	body.eym.eym-woo form .form-row input.input-text,
	body.eym.eym-woo form .form-row select { min-height: 48px; padding: 12px 14px; }
}

/* Mi cuenta -------------------------------------------------------------- */
body.eym.woocommerce-account .woocommerce-MyAccount-navigation ul {
	list-style: none;
	margin: 0;
	padding: 0;
	border: 1px solid var(--eym-linea);
}

body.eym.woocommerce-account .woocommerce-MyAccount-navigation li {
	border-bottom: 1px solid var(--eym-linea);
	margin: 0;
}

body.eym.woocommerce-account .woocommerce-MyAccount-navigation li:last-child { border-bottom: 0; }

body.eym.woocommerce-account .woocommerce-MyAccount-navigation li a {
	display: block;
	padding: 15px 20px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--eym-texto);
	transition: all var(--eym-trans);
}

body.eym.woocommerce-account .woocommerce-MyAccount-navigation li a:hover,
body.eym.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	background: var(--eym-marfil);
	color: var(--eym-oro-osc);
	padding-left: 26px;
}

body.eym.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a {
	border-left: 3px solid var(--eym-oro);
}

body.eym.woocommerce-account form.login,
body.eym.woocommerce-account form.register,
body.eym.eym-woo .col2-set .col-1 form.login,
body.eym.eym-woo .col2-set .col-2 form.register {
	border: 1px solid var(--eym-linea);
	border-radius: 0;
	padding: 34px 30px;
	background: var(--eym-blanco);
	box-shadow: var(--eym-sombra);
}

body.eym.woocommerce-account h2 {
	font-family: var(--eym-serif);
	font-size: 26px;
	margin-bottom: 18px;
}

/* -------------------------------------------------------------------------
   25. PIE DE PÁGINA
   ---------------------------------------------------------------------- */
body.eym #footer,
body.eym #footer-widgets {
	background: var(--eym-negro);
	color: #a8a199;
}

body.eym #footer-widgets {
	padding: 76px 0 56px;
	border-top: 3px solid var(--eym-oro);
}

body.eym #footer-widgets .footer-box { padding-bottom: 26px; }

body.eym #footer-widgets .widget-title {
	font-family: var(--eym-sans);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: .2em;
	text-transform: uppercase;
	color: var(--eym-oro-claro);
	margin-bottom: 22px;
	padding-bottom: 0;
	border: 0;
}

body.eym #footer-widgets a { color: #a8a199; transition: color var(--eym-trans), padding-left var(--eym-trans); }
body.eym #footer-widgets a:hover { color: var(--eym-oro-claro); }

.eym-pie-logo {
	display: block;
	width: 118px;
	height: auto;
	margin-bottom: 24px;
	border-radius: 50%;
}

.eym-pie-lema {
	font-size: 14.5px;
	line-height: 1.75;
	color: #948d84;
	margin: 0 0 22px;
	max-width: 300px;
}

.eym-pie-lista { list-style: none; margin: 0; padding: 0; }

.eym-pie-lista li { margin: 0 0 11px; }

.eym-pie-lista a {
	font-size: 14.5px;
	display: inline-block;
}

.eym-pie-lista a:hover { padding-left: 5px; }

.eym-pie-contacto { list-style: none; margin: 0; padding: 0; }

.eym-pie-contacto li {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin: 0 0 14px;
	font-size: 14.5px;
	line-height: 1.6;
	color: #948d84;
}

.eym-pie-contacto svg { color: var(--eym-oro); flex: none; margin-top: 3px; }

.eym-redes { display: flex; gap: 10px; }

.eym-redes .eym-red {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border: 1px solid rgba(255, 255, 255, .18);
	color: #a8a199 !important;
	transition: all var(--eym-trans);
}

.eym-redes .eym-red:hover {
	border-color: var(--eym-oro);
	color: var(--eym-oro-claro) !important;
	background: rgba(201, 162, 75, .10);
}

body.eym #footer-bottom {
	background: var(--eym-negro);
	border-top: 1px solid rgba(255, 255, 255, .09);
	padding: 24px 0;
	color: #8d867d;
	font-size: 13px;
	text-align: center;
}

body.eym #footer-bottom a { color: #a8a199; }
body.eym #footer-bottom a:hover { color: var(--eym-oro-claro); }

/* -------------------------------------------------------------------------
   26. BOTÓN FLOTANTE DE WHATSAPP
   ---------------------------------------------------------------------- */
.eym-wa {
	position: fixed;
	right: 22px;
	bottom: 22px;
	z-index: 9990;
	display: inline-flex;
	align-items: center;
	gap: 0;
	background: #075e54;
	color: #fff !important;
	border-radius: 40px;
	padding: 15px;
	box-shadow: 0 14px 32px -8px rgba(7, 94, 84, .60);
	transition: all var(--eym-trans);
	overflow: hidden;
	max-width: 56px;
}

.eym-wa:hover {
	max-width: 220px;
	gap: 10px;
	padding-right: 24px;
	background: #044b43;
}

.eym-wa__txt {
	white-space: nowrap;
	font-size: 13.5px;
	font-weight: 500;
	letter-spacing: .06em;
	opacity: 0;
	transition: opacity var(--eym-trans);
}

.eym-wa:hover .eym-wa__txt { opacity: 1; }

.eym-wa svg { flex: none; }

/* -------------------------------------------------------------------------
   27. ADAPTACION A PANTALLAS
   -------------------------------------------------------------------------
   Numero de columnas por tamano de pantalla:

     Pantalla            Productos     Categorias
     -----------------------------------------------
     Mas de 1180 px          4             5
     1024 - 1180 px          4             4
     820 - 1023 px           3             3
     681 - 819 px            2             3
     421 - 680 px            2             2
     Hasta 420 px            2             2

   Para cambiar cualquiera de esos numeros solo hay que tocar el valor de
   --eym-cols (productos) o grid-template-columns (categorias).
   ---------------------------------------------------------------------- */

@media (max-width: 1180px) {
	.eym-cats--5 { grid-template-columns: repeat(4, 1fr); }
	.eym-hero__texto { padding: 72px 40px 72px 28px; }
	.eym-split__texto { padding: 72px 28px 72px 48px; }
	.eym-dos-col { gap: 48px; }
}

@media (max-width: 1024px) {
	body.eym.eym-woo ul.products,
	body.eym.eym-woo ul.products,
	body.eym .eym-productos ul.products { --eym-cols: 3; }

	.eym-cats--5,
	.eym-cats--4 { grid-template-columns: repeat(3, 1fr); }

	.eym-benef { grid-template-columns: repeat(2, 1fr); }
	.eym-benef__i:nth-child(2n) { border-right: 0; }
	.eym-benef__i:nth-child(-n+2) { border-bottom: 1px solid var(--eym-linea); }

	.eym-razones { grid-template-columns: repeat(2, 1fr); }
	.eym-pasos { grid-template-columns: repeat(2, 1fr); gap: 40px 26px; }
	.eym-contacto-grid { grid-template-columns: 1fr; gap: 44px; }
	.eym-seccion { padding: 76px 0; }

	body.eym.eym-woo div.product .woocommerce-product-gallery { max-width: 440px !important; }
}

@media (max-width: 900px) {
	.eym-hero { grid-template-columns: 1fr; }
	.eym-hero__texto { order: 2; justify-content: flex-start; padding: 60px 28px; }
	.eym-hero__texto::after { inset: 18px; }
	.eym-hero__foto { order: 1; min-height: 340px; }
	.eym-hero__foto::before { background: linear-gradient(180deg, rgba(14, 14, 16, .35), transparent 45%); }
	.eym-hero__sello { right: 20px; bottom: 20px; padding: 14px 18px; max-width: 155px; }
	.eym-hero__sello-num { font-size: 25px; }

	.eym-split { grid-template-columns: 1fr; }
	.eym-split__foto { min-height: 320px; }
	.eym-split__texto { padding: 62px 28px; }

	.eym-dos-col { grid-template-columns: 1fr; gap: 44px; }
	.eym-dos-col__foto { order: -1; padding: 0; }
	.eym-dos-col__marco { display: none; }

	.eym-tarjetas-3 { grid-template-columns: 1fr; }
	.eym-testis { grid-template-columns: 1fr; }
	.eym-cifras__grid { grid-template-columns: repeat(2, 1fr); gap: 34px 20px; }
	.eym-cifra:nth-child(odd)::before { display: none; }
	.eym-contacto-cards { grid-template-columns: 1fr; margin-top: -38px; }

	/* La galeria del producto pasa a ocupar el ancho disponible. */
	body.eym.eym-woo div.product .woocommerce-product-gallery {
		max-width: 100% !important;
		float: none !important;
		width: 100% !important;
	}
	body.eym.eym-woo div.product .summary,
	body.eym.eym-woo div.product .entry-summary {
		float: none !important;
		width: 100% !important;
		max-width: 100%;
	}
}

@media (max-width: 820px) {
	body.eym.eym-woo ul.products,
	body.eym.eym-woo ul.products,
	body.eym .eym-productos ul.products { --eym-cols: 2; }
}

@media (max-width: 680px) {
	.eym-wrap { padding: 0 20px; }
	.eym-seccion { padding: 62px 0; }
	.eym-cabecera { margin-bottom: 38px; }

	.eym-cats--5,
	.eym-cats--4,
	.eym-cats--3 { grid-template-columns: repeat(2, 1fr); gap: 18px 14px; }

	.eym-cat__nombre { font-size: 15px; }
	.eym-cat__num { font-size: 10.5px; letter-spacing: .1em; }

	/* Tarjetas de producto compactas pero igual de uniformes. */
	body.eym ul.products li.product .woocommerce-loop-product__title,
	body.eym ul.products li.product h2,
	body.eym ul.products li.product h3 {
		font-size: 14.5px !important;
		padding: 14px 12px 6px !important;
		min-height: calc(2.8em + 20px);
	}

	body.eym ul.products li.product .price { font-size: 15px !important; padding: 0 12px !important; }

	body.eym ul.products li.product .button,
	body.eym.eym-woo ul.products li.product a.button {
		margin: auto 12px 14px !important;
		padding: 11px 8px !important;
		font-size: 10.5px !important;
		letter-spacing: .08em !important;
	}

	body.eym ul.products li.product .added_to_cart { margin: 0 12px 12px !important; font-size: 10px !important; }

	.eym-benef { grid-template-columns: 1fr; }
	.eym-benef__i { border-right: 0; border-bottom: 1px solid var(--eym-linea); }
	.eym-benef__i:last-child { border-bottom: 0; }
	.eym-benef__i:nth-child(-n+2) { border-bottom: 1px solid var(--eym-linea); }

	.eym-razones { grid-template-columns: 1fr; gap: 34px; }
	.eym-pasos { grid-template-columns: 1fr; gap: 34px; }
	.eym-form-fila { grid-template-columns: 1fr; gap: 0; }

	.eym-encab { padding: 66px 0 58px; }
	.eym-cta { padding: 68px 20px; }

	.eym-hero__botones .eym-btn,
	.eym-cta__botones .eym-btn { width: 100%; }

	.eym-wa { right: 16px; bottom: 16px; }
	.eym-faq__p { font-size: 16.5px; padding: 20px 2px; }

	/* Zonas tactiles comodas en el pie: los enlaces de lista se quedaban
	   en 25 px de alto y el minimo recomendado para el dedo es ~44 px. */
	.eym-pie-lista a,
	.eym-pie-contacto a {
		display: inline-block;
		padding: 9px 0;
	}

	.eym-pie-lista li { margin-bottom: 2px; }

	.eym-cinta__int { font-size: 11.5px; padding: 9px 20px; }

	/* Tabla del carrito legible en movil. */
	body.eym.eym-woo table.shop_table th,
	body.eym.eym-woo table.shop_table td { padding: 12px 10px; font-size: 14px; }
}

@media (max-width: 420px) {
	.eym-cifras__grid { grid-template-columns: 1fr; }
	.eym-cifra::before { display: none !important; }

	body.eym ul.products li.product .woocommerce-loop-product__title,
	body.eym ul.products li.product h2,
	body.eym ul.products li.product h3 { font-size: 13.5px !important; }

	body.eym ul.products li.product .price { font-size: 14px !important; }

	body.eym.eym-woo ul.products,
	body.eym.eym-woo ul.products,
	body.eym .eym-productos ul.products { gap: 18px 12px; }
}

/* -------------------------------------------------------------------------
   28. PREFERENCIAS DE ACCESIBILIDAD
   ---------------------------------------------------------------------- */
@media (prefers-reduced-motion: reduce) {
	body.eym *,
	body.eym *::before,
	body.eym *::after {
		animation-duration: .01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: .01ms !important;
		scroll-behavior: auto !important;
	}
}

/* Impresión --------------------------------------------------------------- */
@media print {
	.eym-wa,
	.eym-cinta,
	.eym-cta,
	body.eym #footer-widgets { display: none !important; }
}
