/*
 * Rediseño v2 (Claude Design, 2026-09-26): capa de estilo sobre el HTML del tema. Parte 1 de handoff/estilos.css tal
 * cual, más los ajustes que pide la comparación de estilos calculados (herramientas/comparar-estilos.py) al final.
 * Se carga la última en todas las páginas (functions.php), así que gana a las hojas anteriores del tema.
 */

:root {
	/* Variables del tema: mismos nombres y valores */
	--burdeos: #52042f;
	--amarillo: #f9be3a;
	--terciario: #eecf77;
	--rosa: #ea5f7f;
	--texto: #444444;
	--enfasis: #2e2e2e;
	--rosa-texto: #e2234f;
	--rosa-claro: #fae0e6;
	--crema: #fce9c1;
	--gris-claro: #f3f3f2;
	--fondo: #fdfdfd;
	--cuerpo: #333333;
	--letra: "Outfit", sans-serif;
	--rotulo: "Niconne", cursive;

	/* Nuevas del rediseño */
	--burdeos-oscuro: #31021c;       /* fondo de la caja de cata y velos: #52042f al 60 % sobre negro */
	--amarillo-texto: #bd8b00;       /* ya existe en el tema: amarillo con 3:1 sobre blanco (números, etiquetas) */
	--gris-texto: #757575;           /* ya existe en el tema: 4,6:1 sobre blanco */
	--borde: #e8e3df;                /* borde de tarjetas y cajas */
	--borde-suave: #efe9e4;          /* separadores internos */
	--borde-control: #d9d3cf;        /* campos, píldoras sin elegir */
	--fondo-calido: #fdfaf6;         /* hover de filas, caja de índice */
	--error: #a30c0c;
	--ok: #0a5e2c;

	--espacio-2xs: 4px;
	--espacio-xs: 8px;
	--espacio-s: 12px;
	--espacio-m: 16px;
	--espacio-l: 24px;
	--espacio-xl: 40px;
	--espacio-2xl: 64px;
	--espacio-seccion: 80px;         /* 36 px en móvil, 56 px en tableta (ver media queries) */

	--titulo-xl: 60px;               /* h1 de portada */
	--titulo-l: 44px;                /* h1 de páginas interiores */
	--titulo-m: 40px;                /* h2 de sección */
	--titulo-s: 28px;                /* h2 de bloque */
	--titulo-xs: 22px;               /* nombre de producto en tarjeta */
	--texto-l: 18px;
	--texto-m: 16px;
	--texto-s: 14px;
	--texto-xs: 13px;
	--antetitulo: 13px;              /* etiqueta en mayúsculas sobre los h2 */

	--radio-boton: 3px;
	--radio-pastilla: 999px;
	--sombra-panel: 0 8px 16px rgba(0, 0, 0, .08);   /* solo menús y paneles que flotan */
	--objetivo-min: 44px;            /* alto mínimo de botones y enlaces sueltos */
	--ancho-max: 1280px;
	--ancho-lectura: 760px;
}

@media (max-width: 1024px) {
	:root { --espacio-seccion: 56px; --titulo-xl: 44px; --titulo-l: 36px; --titulo-m: 34px; --titulo-s: 26px; }
}
@media (max-width: 767px) {
	:root { --espacio-seccion: 36px; --titulo-xl: 34px; --titulo-l: 28px; --titulo-m: 26px; --titulo-s: 22px; --titulo-xs: 17px; --texto-l: 16px; }
}

/* ===================== Base ===================== */
*, *::before, *::after { box-sizing: border-box; }
body { margin: 0; background: var(--fondo); color: var(--cuerpo); font: 400 var(--texto-m)/1.5 var(--letra); }
img { display: block; max-width: 100%; height: auto; }
a { color: var(--rosa-texto); text-decoration: none; }
a:hover { color: var(--burdeos); text-decoration: underline; }
:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.contenedor { width: 100%; max-width: var(--ancho-max); margin-inline: auto; padding-inline: var(--espacio-xl); }
@media (max-width: 1024px) { .contenedor { padding-inline: var(--espacio-l); } }
@media (max-width: 767px) { .contenedor { padding-inline: var(--espacio-m); } }
.icono { width: 1em; height: 1em; fill: currentColor; flex: none; }
.boton-deseos .icono { width: 18px; height: 18px; }
.oculto { position: absolute !important; width: 1px; height: 1px; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Antetítulo: la etiqueta en mayúsculas que va sobre los titulares */
.antetitulo { margin: 0; color: var(--rosa-texto); font: 600 var(--antetitulo)/1.3 var(--letra); letter-spacing: .14em; text-transform: uppercase; }

/* Botones: el rosa sigue siendo el de acción; texto blanco de 19 px en negrita (texto grande, 3:1) */
.boton { display: inline-flex; align-items: center; justify-content: center; gap: var(--espacio-xs); min-height: 52px; padding: 0 28px; border: 0; border-radius: var(--radio-boton); font: 700 19px/1 var(--letra); text-decoration: none; text-transform: uppercase; cursor: pointer; transition: background-color .15s; }
.boton:hover { text-decoration: none; }
.boton--rosa { background: var(--rosa); color: #fff; }
.boton--rosa:hover { background: var(--burdeos); color: #fff; }
.boton--amarillo { background: var(--amarillo); color: var(--burdeos); font-weight: 800; }
.boton--amarillo:hover { background: #fff; color: var(--burdeos); }
.boton--burdeos { background: var(--burdeos); color: #fff; font-size: var(--texto-m); font-weight: 600; }
.boton--burdeos:hover { background: var(--burdeos-oscuro); color: #fff; }
.boton--borde { background: #fff; border: 1.5px solid var(--burdeos); color: var(--burdeos); font-size: var(--texto-m); font-weight: 600; }
.boton--borde:hover { background: var(--fondo-calido); color: var(--burdeos); }
.boton:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 3px; }
@media (max-width: 767px) { .boton--bloque-movil { width: 100%; } }

input[type="text"], input[type="email"], input[type="search"], input[type="tel"], input[type="password"], input[type="number"], select, textarea {
	width: 100%; min-height: 50px; padding: 0 14px; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); background: #fff; color: var(--enfasis); font: 300 var(--texto-m) var(--letra);
}
textarea { padding: var(--espacio-s) 14px; line-height: 1.5; }
input:focus, select:focus, textarea:focus { border-color: var(--burdeos); outline: 2px solid var(--burdeos); outline-offset: 0; }
::placeholder { color: var(--gris-texto); opacity: 1; }
input[type="checkbox"], input[type="radio"] { width: 20px; height: 20px; accent-color: var(--burdeos); }

/* ===================== Cabecera ===================== */
.cabecera { position: relative; z-index: 20; }
.cabecera__aviso { display: flex; align-items: center; justify-content: center; min-height: 32px; margin: 0; padding: var(--espacio-2xs) var(--espacio-s); background: var(--rosa); color: var(--burdeos); font: 600 var(--texto-xs)/1.3 var(--letra); letter-spacing: .02em; text-align: center; text-transform: uppercase; }
.cabecera__barra { background: #fff; border-bottom: 1px solid var(--borde-suave); }
.cabecera__fila { display: flex; align-items: center; gap: var(--espacio-l); min-height: 84px; }
.cabecera__logo img { width: auto; height: 56px; }
.cabecera__menu { display: none; }
.navegacion { flex: 1; }
.navegacion__lista { display: flex; justify-content: center; gap: var(--espacio-2xs); margin: 0; padding: 0; list-style: none; }
.navegacion__item { position: relative; display: flex; align-items: center; }
.navegacion__enlace, .desplegable__boton { display: flex; align-items: center; gap: 4px; min-height: var(--objetivo-min); padding: 10px 14px; border: 0; background: none; color: var(--rosa-texto); font: 500 var(--texto-m)/24px var(--letra); text-transform: uppercase; cursor: pointer; }
.navegacion__item--cafe .navegacion__enlace, .navegacion__item--esencias .navegacion__enlace { padding-right: 0; }
.desplegable__boton { padding-left: 4px; }
.navegacion__enlace:hover, .desplegable__boton:hover { color: var(--burdeos); text-decoration: none; }
.navegacion__enlace[aria-current="page"] { color: var(--burdeos); box-shadow: inset 0 -2px 0 var(--amarillo); }
.desplegable__boton .icono { width: 12px; height: 16px; transition: transform .2s; }
.desplegable__boton[aria-expanded="true"] .icono { transform: rotate(180deg); }

/* Mega menú: abierto con .abierto (lo pone cabecera.js). Mismo contenido, en tarjeta blanca con borde y sombra suave */
.desplegable__panel { position: absolute; top: calc(100% + 8px); left: 0; z-index: 30; display: grid; grid-template-columns: 1fr 1.2fr 1fr; gap: var(--espacio-l); width: 720px; padding: var(--espacio-l); background: #fff; border: 1px solid var(--borde); box-shadow: var(--sombra-panel); }
.desplegable__panel:not(.abierto) { display: none; }
.desplegable__terminos { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--enfasis); }
.desplegable__terminos a { display: flex; align-items: center; min-height: var(--objetivo-min); border-bottom: 1px solid var(--borde-suave); color: var(--rosa-texto); font: 600 var(--texto-s)/1.2 var(--letra); letter-spacing: .04em; text-transform: uppercase; }
.desplegable__terminos a:hover { color: var(--burdeos); background: var(--fondo-calido); text-decoration: none; }
.desplegable__texto p { margin: 0; color: var(--texto); font: 300 var(--texto-s)/1.45 var(--letra); }
.desplegable__texto .desplegable__titulo { margin-bottom: var(--espacio-xs); color: var(--enfasis); font: 600 var(--texto-m)/1.25 var(--letra); text-transform: uppercase; }
.desplegable__imagen { width: 100%; height: 100%; min-height: 140px; object-fit: cover; }

.cabecera__iconos { display: flex; align-items: center; gap: var(--espacio-2xs); margin-left: auto; }
.cabecera__icono { display: inline-flex; align-items: center; justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); padding: 0; border: 0; border-radius: 50%; background: none; color: var(--rosa); cursor: pointer; }
.cabecera__icono:hover { background: var(--rosa-claro); color: var(--burdeos); }
.cabecera__icono .icono { width: 20px; height: 20px; }
.cabecera__carrito { position: relative; display: inline-flex; align-items: center; min-height: 36px; margin: 0 var(--espacio-s) 0 6px; padding: 6px 14px; border: 0; border-radius: 5px; background: var(--rosa); color: var(--burdeos); font: 600 var(--texto-s)/20px var(--letra); cursor: pointer; }
.cabecera__carrito:hover { background: var(--burdeos); color: #fff; }
.cabecera__carrito-cantidad { position: absolute; top: -6px; right: -10px; min-width: 18px; height: 18px; padding: 0 4px; border-radius: 9px; background: var(--burdeos); color: #fff; font: 600 11px/18px var(--letra); text-align: center; }
.cabecera__carrito .tax_label { display: none; }

.buscador { padding: var(--espacio-s) 0 var(--espacio-m); background: #fff; border-bottom: 1px solid var(--borde-suave); }
.buscador:not(.abierto) { display: none; }
.buscador__formulario { max-width: 560px; margin: 0 auto; padding-inline: var(--espacio-m); }

/* Tableta y móvil: una fila (logo · buscar · carrito · menú). Cuenta y deseos pasan al menú desplegable */
@media (max-width: 1024px) {
	.cabecera__fila { gap: var(--espacio-xs); min-height: 64px; }
	.cabecera__logo { margin-right: auto; }
	.cabecera__logo img { height: 50px; }
	.cabecera__menu { order: 3; display: inline-flex; align-items: center; justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); padding: 0; border: 0; background: none; color: #201f24; cursor: pointer; }
	.cabecera__menu .icono { width: 20px; height: 20px; }
	.cabecera__menu[aria-expanded="true"] .icono--menu, .cabecera__menu[aria-expanded="false"] .icono--cerrar { display: none; }
	.cabecera__iconos { order: 2; margin-left: 0; }
	.cabecera__icono[href*="mi-cuenta"], .cabecera__icono[href*="lista-deseos"] { display: none; } /* CAMBIA ESTRUCTURA: pasan al menú (ver CAMBIOS.md) */
	.navegacion { position: absolute; top: 100%; left: 0; right: 0; z-index: 25; padding: var(--espacio-xs) var(--espacio-m) var(--espacio-m); background: #fff; border-bottom: 1px solid var(--borde-suave); box-shadow: var(--sombra-panel); }
	.navegacion:not(.abierto) { display: none; }
	.navegacion__lista { flex-direction: column; gap: 0; }
	.navegacion__item { flex-wrap: wrap; border-bottom: 1px solid var(--borde-suave); }
	.navegacion__enlace { flex: 1; min-height: 52px; padding-inline: 0; font-size: 17px; }
	.desplegable__boton { width: var(--objetivo-min); justify-content: center; }
	.desplegable__panel { position: static; flex-basis: 100%; width: 100%; grid-template-columns: 1fr; padding: 0 0 var(--espacio-s); border: 0; box-shadow: none; }
	.desplegable__texto, .desplegable__imagen { display: none; }
	.desplegable__terminos { border-top: 0; }
	.desplegable__terminos a { padding-left: var(--espacio-m); }
}
@media (max-width: 767px) { .cabecera__logo img { height: 44px; } }

/* Mini-carrito (<dialog>): mismo comportamiento, estilo de la v2 */
.mini-carrito { position: fixed; inset: 0 0 0 auto; width: min(380px, 92vw); max-width: none; height: 100%; max-height: none; margin: 0; padding: 0; border: 0; background: #fff; }
.mini-carrito::backdrop { background: rgba(49, 2, 28, .45); }
.mini-carrito__dentro { min-height: 100%; padding: 64px var(--espacio-l) var(--espacio-l); }
.mini-carrito__cerrar { position: absolute; top: 12px; right: 12px; display: inline-flex; align-items: center; justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); border: 0; border-radius: 50%; background: none; color: var(--burdeos); cursor: pointer; }
.mini-carrito__cerrar:hover { background: var(--rosa-claro); }
.mini-carrito .woocommerce-mini-cart { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--enfasis); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item { position: relative; min-height: 96px; margin: 0; padding: var(--espacio-s) 40px var(--espacio-s) 80px; border-bottom: 1px solid var(--borde-suave); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item img { position: absolute; top: var(--espacio-s); left: 0; width: 64px; height: 72px; object-fit: contain; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item > a:not(.remove) { display: block; color: var(--enfasis); font: 600 var(--texto-m)/1.2 var(--letra); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item .quantity { display: block; margin-top: 6px; color: var(--burdeos); font: 600 var(--texto-s)/1.2 var(--letra); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item a.remove { position: absolute; top: 50%; right: 0; display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--borde-control); border-radius: 50%; color: var(--burdeos) !important; transform: translateY(-50%); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item a.remove:hover { background: var(--burdeos); color: #fff !important; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__total { display: flex; justify-content: space-between; margin: 0; padding: var(--espacio-m) 0; font: 400 var(--texto-m)/1.3 var(--letra); }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__total strong { font-weight: 600; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons { display: grid; gap: var(--espacio-xs); margin: 0; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button { display: flex; align-items: center; justify-content: center; min-height: 52px; border-radius: var(--radio-boton); font: 700 19px/1 var(--letra); text-transform: uppercase; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button:not(.checkout) { order: 2; background: #fff; border: 1.5px solid var(--burdeos); color: var(--burdeos); font-size: var(--texto-m); font-weight: 600; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons .checkout { order: 1; background: var(--rosa); color: #fff; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons .checkout:hover { background: var(--burdeos); }
.mini-carrito .tax_label { display: none; }

/* ===================== Portada ===================== */
/* Hero con vídeo: se queda el vídeo a sangre y el velo; más alto, texto con más jerarquía */
.hero { position: relative; display: flex; align-items: center; min-height: 520px; color: #fff; }
.hero .video-fondo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(-90deg, rgba(0, 0, 0, .22) 40%, #000 100%); }
.hero__texto { position: relative; z-index: 1; display: flex; flex-direction: column; align-items: flex-start; gap: var(--espacio-s); padding-block: var(--espacio-xl); }
.hero__titulo { margin: 0; font: 600 var(--titulo-xl)/1.02 var(--letra); letter-spacing: -.02em; text-transform: uppercase; }
.hero__lema { margin: 0; color: var(--rosa); font: 400 34px/1.1 var(--letra); }
.hero__entradilla { margin: 0 0 var(--espacio-xs); max-width: 520px; font: 300 20px/1.4 var(--letra); }
.hero__boton:focus-visible { outline-color: #fff; box-shadow: 0 0 0 2px #000; }
.video-fondo__pausa { width: var(--objetivo-min); height: var(--objetivo-min); }
@media (max-width: 767px) {
	.hero { min-height: 440px; }
	.hero__lema { font-size: 26px; }
	.hero__entradilla { font-size: 17px; }
	.hero__boton { width: 100%; }
}

/* Selección de cafés: tarjetas sin sombra, con borde, fondo gris claro */
.seleccion { padding-block: var(--espacio-seccion); background: var(--gris-claro); }
.seleccion__titulo { margin: 0 0 var(--espacio-xl); color: var(--enfasis); font: 600 var(--titulo-m)/1.05 var(--letra); letter-spacing: -.01em; text-align: center; text-transform: uppercase; }
.seleccion__tarjetas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espacio-l); }
.tarjeta-tipo { display: grid; grid-template-columns: 40% 1fr; gap: var(--espacio-m); align-items: center; padding: var(--espacio-m); background: #fff; border: 1px solid var(--borde); color: var(--enfasis); transition: border-color .15s; }
.tarjeta-tipo:hover { border-color: var(--burdeos); text-decoration: none; color: var(--enfasis); }
.tarjeta-tipo__imagen { width: 100%; height: auto; }
.tarjeta-tipo__textos { display: flex; flex-direction: column; gap: var(--espacio-xs); }
.tarjeta-tipo__marca { color: var(--amarillo); font: 400 34px/1 var(--rotulo); } /* rótulo: exento de contraste, como el logo */
.tarjeta-tipo__nombre { font: 600 var(--titulo-xs)/1.1 var(--letra); }
.tarjeta-tipo__texto { color: var(--texto); font: 300 var(--texto-s)/1.4 var(--letra); }
.seleccion__todos { display: flex; align-items: center; width: max-content; min-height: var(--objetivo-min); margin: var(--espacio-l) auto 0; color: var(--rosa-texto); font: 600 var(--texto-m)/1 var(--letra); text-decoration: underline; text-underline-offset: 4px; text-transform: uppercase; }
@media (max-width: 1024px) { .seleccion__tarjetas { grid-template-columns: 1fr; } .tarjeta-tipo { grid-template-columns: 120px 1fr; } }

/* Bloques 50/50 de foto y color: se quedan; más aire y botón a 52 px */
.bloque-5050 { display: grid; grid-template-columns: 1fr 1fr; min-height: 480px; }
.bloque-5050__texto { display: flex; align-items: center; justify-content: center; padding: var(--espacio-2xl) var(--espacio-xl); }
.bloque-5050--rosa .bloque-5050__texto { background: var(--rosa-claro); }
.bloque-5050--crema .bloque-5050__texto { background: var(--crema); }
.bloque-5050__dentro { max-width: 520px; }
.bloque-5050__titulo { margin: 0 0 var(--espacio-s); color: var(--enfasis); font: 600 var(--titulo-s)/1.1 var(--letra); text-transform: uppercase; }
.bloque-5050__subtitulo { margin: 0 0 var(--espacio-m); color: var(--burdeos); font: 500 var(--texto-m)/1.35 var(--letra); letter-spacing: .04em; text-transform: uppercase; }
.bloque-5050__dentro p:not(.bloque-5050__subtitulo) { margin: 0 0 var(--espacio-l); color: #252525; font: 300 var(--texto-l)/1.6 var(--letra); }
.bloque-5050__foto { position: relative; min-height: 280px; overflow: hidden; }
.bloque-5050__foto > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 767px) {
	.bloque-5050 { grid-template-columns: 1fr; min-height: 0; }
	.bloque-5050__texto { padding: var(--espacio-xl) var(--espacio-m); }
	.bloque-5050__boton { width: 100%; }
	.bloque-5050--centrado-movil .bloque-5050__texto { text-align: center; }
}

/* Blog de portada: titulares del blog en rosa (se quedan), tarjetas con borde */
.blog-portada { padding-block: var(--espacio-seccion); }
.blog-portada__titulo { margin: 0; color: var(--enfasis); font: 600 var(--titulo-m)/1.05 var(--letra); text-align: center; text-transform: uppercase; }
.blog-portada__entradilla { max-width: 680px; margin: var(--espacio-m) auto var(--espacio-xl); padding-inline: var(--espacio-m); color: var(--texto); font: 300 var(--texto-m)/1.55 var(--letra); text-align: center; }
.entradas { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espacio-l); }
.tarjeta-entrada { position: relative; display: flex; flex-direction: column; background: #fff; border: 1px solid var(--borde); }
.tarjeta-entrada__imagen img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }
.tarjeta-entrada__insignia { position: absolute; top: var(--espacio-s); left: var(--espacio-s); padding: 6px 10px; background: var(--crema); color: var(--burdeos); font: 700 11px/1 var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.tarjeta-entrada__texto { flex: 1; padding: var(--espacio-l) var(--espacio-l) 0; }
.tarjeta-entrada__titulo { margin: 0 0 var(--espacio-s); font: 600 var(--titulo-xs)/1.15 var(--letra); text-transform: uppercase; }
.tarjeta-entrada__titulo a { color: var(--rosa); }  /* 22 px en negrita: texto grande */
.tarjeta-entrada__extracto { margin: 0 0 var(--espacio-xs); color: var(--gris-texto); font: 300 var(--texto-m)/1.35 var(--letra); }
.tarjeta-entrada__leer { display: inline-flex; align-items: center; min-height: var(--objetivo-min); color: var(--rosa-texto); font: 600 var(--texto-s)/1 var(--letra); text-transform: uppercase; }
.tarjeta-entrada__fecha { margin: 0; padding: var(--espacio-s) var(--espacio-l); border-top: 1px solid var(--borde-suave); color: var(--gris-texto); font: 300 var(--texto-s)/1 var(--letra); }
@media (max-width: 1024px) { .entradas { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .entradas { grid-template-columns: 1fr; } }

.banda-rosa { display: flex; align-items: center; justify-content: center; min-height: 120px; margin: 0; padding: var(--espacio-xl) var(--espacio-m); background: var(--rosa); color: #fff; font: 900 42px/1.1 var(--letra); text-align: center; text-transform: uppercase; }
@media (max-width: 767px) { .banda-rosa { font-size: 30px; } }
.banda-foto { position: relative; display: flex; align-items: center; justify-content: center; min-height: 320px; padding: var(--espacio-xl) var(--espacio-m); color: #fff; text-align: center; }
.banda-foto > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.banda-foto::after { content: ""; position: absolute; inset: 0; background: rgba(49, 2, 28, .55); }
.banda-foto__texto { position: relative; z-index: 1; margin: 0; font: 600 34px/1.2 var(--letra); text-transform: uppercase; }
@media (max-width: 767px) { .banda-foto__texto { font-size: 24px; } }

/* Boletín: se queda la acuarela; fondo rosa claro, campos en fila en escritorio */
.boletin { background: var(--rosa-claro); }
.boletin__dentro { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espacio-xl); align-items: center; padding-block: var(--espacio-xl); }
.boletin__titulo { margin: 0 0 var(--espacio-s); color: var(--burdeos); font: 600 var(--titulo-s)/1.1 var(--letra); text-transform: uppercase; }
.boletin__texto > p { margin: 0 0 var(--espacio-l); color: #353535; font: 300 var(--texto-m)/1.5 var(--letra); }
.boletin__formulario { display: grid; gap: var(--espacio-s); }
.boletin__formulario input { border-color: #e0c9cf; }
.boletin__formulario button { min-height: 50px; padding: 0 var(--espacio-l); border: 0; border-radius: var(--radio-boton); background: var(--burdeos); color: #fff; font: 600 var(--texto-m)/1.1 var(--letra); cursor: pointer; }
.boletin__formulario button:hover { background: var(--burdeos-oscuro); }
.boletin__imagen { width: 100%; height: auto; mix-blend-mode: multiply; }
.formulario__privacidad { margin: 0; color: #353535; font: 300 var(--texto-s)/1.4 var(--letra); }
.formulario__privacidad a { color: var(--burdeos); text-decoration: underline; }
@media (max-width: 767px) { .boletin__dentro { grid-template-columns: 1fr; gap: var(--espacio-m); } .boletin__imagen { max-width: 320px; margin-inline: auto; } }

/* ===================== Encabezados de página ===================== */
.banda-titulo { display: flex; align-items: flex-end; padding: var(--espacio-xl) 0; background: var(--burdeos); }
.banda-titulo__texto { width: 100%; max-width: var(--ancho-max); margin: 0 auto; padding-inline: var(--espacio-xl); color: #fff; font: 600 var(--titulo-l)/1.05 var(--letra); letter-spacing: -.02em; text-align: left; text-transform: uppercase; }
@media (max-width: 767px) { .banda-titulo { padding: var(--espacio-l) 0; } .banda-titulo__texto { padding-inline: var(--espacio-m); } }
.cabecera-archivo { position: relative; display: flex; align-items: flex-end; min-height: 280px; background-color: var(--burdeos); color: #fff; }
.cabecera-archivo > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.cabecera-archivo::after { content: ""; position: absolute; inset: 0; background: linear-gradient(0deg, rgba(49, 2, 28, .85), rgba(49, 2, 28, .2)); }
.cabecera-archivo__texto { position: relative; z-index: 1; padding-block: var(--espacio-xl); }
.cabecera-archivo__titulo { margin: 0; font: 600 var(--titulo-l)/1.02 var(--letra); text-transform: uppercase; }
.cabecera-archivo__subtitulo { margin: var(--espacio-xs) 0 0; color: var(--amarillo); font: 600 var(--texto-s)/1.3 var(--letra); letter-spacing: .1em; text-transform: uppercase; }
@media (max-width: 767px) { .cabecera-archivo { min-height: 200px; } }

/* ===================== Tienda y archivos ===================== */
.tienda { display: grid; grid-template-columns: 250px 1fr; gap: var(--espacio-l); align-items: start; padding-block: var(--espacio-xl) var(--espacio-seccion); }
.filtros { display: flex; flex-direction: column; gap: var(--espacio-m); padding: var(--espacio-m) 18px; background: #fff; border: 1px solid var(--borde); }
.filtros__grupo { margin: 0; padding: 14px 0 0; border: 0; border-top: 1px solid var(--borde-suave); }
.filtros__grupo:first-child { padding-top: 0; border-top: 0; }
.filtros__titulo { margin-bottom: var(--espacio-xs); padding: 0; color: var(--burdeos); font: 600 var(--texto-xs)/1.2 var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.filtros__opcion { display: flex; align-items: center; gap: 10px; min-height: 36px; color: var(--enfasis); font: 400 15px/1.2 var(--letra); cursor: pointer; }
.filtros__opcion:hover { color: var(--burdeos); }
.filtros__cuenta { color: var(--gris-texto); font-size: var(--texto-xs); }
.rejilla { display: grid; gap: 18px; margin: 0; padding: 0; list-style: none; }
.rejilla--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.rejilla--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rejilla__celda { display: flex; }
@media (max-width: 1024px) { .tienda { grid-template-columns: 220px 1fr; } .rejilla--3, .rejilla--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 767px) { .tienda { grid-template-columns: 1fr; gap: var(--espacio-s); } .rejilla { gap: var(--espacio-xs); } }

/* Tarjeta de producto: sin sombra, borde fino, precio en burdeos, botón a todo el ancho */
.tarjeta { position: relative; display: flex; flex-direction: column; gap: 6px; width: 100%; padding: 0 0 var(--espacio-m); background: #fff; border: 1px solid var(--borde); transition: border-color .15s; }
.tarjeta:hover { border-color: var(--burdeos); }
.tarjeta__imagen { display: flex; justify-content: center; padding: var(--espacio-m) var(--espacio-m) 0; }
.tarjeta__imagen img { width: 100%; height: 250px; object-fit: contain; }
.tarjeta__titulo { margin: var(--espacio-xs) var(--espacio-m) 0; font: 600 var(--titulo-xs)/1.1 var(--letra); text-transform: uppercase; }
.tarjeta__titulo a { color: var(--enfasis); }
.tarjeta__lineas { margin: 0 var(--espacio-m); padding: 0; list-style: none; color: var(--gris-texto); font: 500 11px/1.5 var(--letra); letter-spacing: .06em; text-transform: uppercase; }
.tarjeta__precio { margin: var(--espacio-2xs) var(--espacio-m) 0; color: var(--burdeos); font: 700 20px/1 var(--letra); }
.tarjeta__precio small, .tarjeta__precio .desde { color: var(--gris-texto); font: 300 var(--texto-xs)/1 var(--letra); }
.tarjeta__agotado { margin: 0 var(--espacio-m); color: var(--error); font: 600 var(--texto-s)/1 var(--letra); }
.tarjeta__acciones { display: flex; gap: var(--espacio-xs); margin: auto var(--espacio-m) 0; padding-top: var(--espacio-xs); }
.tarjeta__acciones .button, .tarjeta__acciones .boton { flex: 1; min-height: 46px; padding: 0 var(--espacio-s); font-size: 17px; }
.tarjeta__acciones .boton-deseos { flex: none; width: 46px; }
@media (max-width: 767px) {
	.tarjeta__imagen { padding: var(--espacio-xs) 6px 0; }
	.tarjeta__imagen img { height: 150px; }
	.tarjeta__titulo, .tarjeta__lineas, .tarjeta__precio, .tarjeta__acciones { margin-inline: 10px; }
	.tarjeta__acciones .button, .tarjeta__acciones .boton { font-size: 15px; }
}

/* Botón de deseos (corazón) */
.boton-deseos { display: inline-flex; align-items: center; justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); border: 1px solid var(--borde); border-radius: 50%; background: #fff; color: var(--rosa); cursor: pointer; }
.boton-deseos:hover, .boton-deseos[aria-pressed="true"] { border-color: var(--rosa); color: var(--rosa-texto); }

/* ===================== Ficha de producto ===================== */
/* Traducida a las clases del tema: su .ficha (rejilla de galería y compra) es .ficha__producto, su .ficha__compra
   (columna) es .ficha__resumen y su compra rápida, .ficha__compra-rapida. .ficha sigue siendo el envoltorio de la
   página, del que cuelgan las reglas de WooCommerce de ficha.css (galería, variaciones). */
.ficha__producto { display: grid; grid-template-columns: 1.05fr 1fr; gap: var(--espacio-2xl); align-items: start; padding-block: var(--espacio-l) var(--espacio-2xl); }
.ficha__galeria { display: flex; flex-direction: column; gap: 10px; }
.ficha__galeria .woocommerce-product-gallery__image { padding: var(--espacio-xl); background: #fff; border: 1px solid var(--borde); }
.ficha__galeria .woocommerce-product-gallery__image img { width: 100%; height: 560px; object-fit: contain; }
.ficha__galeria .flex-control-thumbs { display: flex; gap: var(--espacio-xs); margin: 0; padding: 0; list-style: none; }
.ficha__galeria .flex-control-thumbs img { width: 76px; height: 76px; object-fit: cover; border: 2px solid var(--borde); cursor: pointer; }
.ficha__galeria .flex-control-thumbs img.flex-active { border-color: var(--burdeos); }
.ficha__resumen { display: flex; flex-direction: column; gap: 18px; }
.ficha__marca { color: var(--amarillo); font: 400 48px/1 var(--rotulo); }
.ficha__numero { color: var(--amarillo-texto); font: 700 28px/1 var(--letra); }
.ficha__titulo, .product_title { margin: 0; color: var(--enfasis); font: 600 64px/1 var(--letra); letter-spacing: -.02em; text-transform: uppercase; }
.ficha__cta { margin: 0; color: var(--texto); font: 300 var(--texto-l)/1.45 var(--letra); }
.ficha__resumen .price { margin: 0; color: var(--burdeos); font: 700 40px/1 var(--letra); }
.ficha__resumen .price .woocommerce-price-suffix, .ficha__impuestos { color: var(--gris-texto); font: 300 var(--texto-s)/1 var(--letra); }
/* Píldoras de variación (radios de ficha.js): más grandes, dos columnas, la elegida en burdeos */
.ficha__opciones { display: flex; flex-direction: column; gap: var(--espacio-m); }
.ficha__grupo-titulo { margin: 0 0 var(--espacio-xs); color: var(--enfasis); font: 600 var(--texto-s)/1 var(--letra); letter-spacing: .06em; text-transform: uppercase; }
.ficha__pildoras { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--espacio-xs); }
.ficha__pildora { position: relative; }
.ficha__pildora input { position: absolute; opacity: 0; }
.ficha__pildora span { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 var(--espacio-m); border: 1.5px solid var(--borde-control); border-radius: var(--radio-boton); background: #fff; color: var(--burdeos); font: 600 17px/1 var(--letra); cursor: pointer; }
.ficha__pildora span:hover { border-color: var(--burdeos); }
.ficha__pildora input:checked + span { border-color: var(--burdeos); background: var(--burdeos); color: #fff; }
.ficha__pildora input:focus-visible + span { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.ficha__compra-rapida { display: flex; flex-direction: column; gap: var(--espacio-s); }
.ficha__compra-titulo { margin: 0; color: var(--enfasis); font: 600 var(--texto-s)/1 var(--letra); letter-spacing: .06em; text-transform: uppercase; }
.ficha__compra-rapida form.cart:not(.variations_form) { display: grid; grid-template-columns: 132px 1fr; gap: var(--espacio-xs); } /* en un variable, la rejilla va en .woocommerce-variation-add-to-cart (abajo) */
.ficha__compra-rapida .quantity input.qty { height: 52px; text-align: center; font-weight: 600; }
.ficha__compra-rapida .single_add_to_cart_button { min-height: 52px; border: 0; border-radius: var(--radio-boton); background: var(--rosa); color: #fff; font: 700 19px/1 var(--letra); cursor: pointer; }
.ficha__compra-rapida .single_add_to_cart_button:hover { background: var(--burdeos); }
.ficha__dudas { color: var(--rosa-texto); font: 500 15px/1.3 var(--letra); text-decoration: underline; text-underline-offset: 3px; }
.ficha__seccion { padding-block: var(--espacio-seccion); }
.ficha__seccion--burdeos { background: var(--burdeos); color: #fff; }
.ficha__seccion--gris { background: var(--gris-claro); }
.ficha__h2 { margin: 0 0 var(--espacio-m); color: inherit; font: 600 var(--titulo-s)/1.1 var(--letra); text-transform: uppercase; }
.ficha__texto { margin: 0; color: inherit; font: 300 17px/1.55 var(--letra); }
.ficha__seccion--burdeos .ficha__texto { color: var(--crema); }
.ficha__info { margin: 0; border-top: 2px solid var(--enfasis); }
.ficha__info > div { display: grid; grid-template-columns: 130px 1fr; gap: var(--espacio-s); padding: var(--espacio-s) 0; border-bottom: 1px solid var(--borde-suave); }
.ficha__info dt { color: var(--burdeos); font: 600 var(--texto-xs)/1.3 var(--letra); letter-spacing: .06em; text-transform: uppercase; }
.ficha__info dd { margin: 0; color: var(--enfasis); font: 400 15px/1.3 var(--letra); }
.ficha__tip { padding: 20px; background: var(--crema); }
.ficha__cata { padding: 28px; background: var(--burdeos-oscuro); color: #fff; }
@media (max-width: 1024px) { .ficha__producto { grid-template-columns: 1fr; gap: var(--espacio-l); } .ficha__galeria .woocommerce-product-gallery__image img { height: 460px; } .ficha__titulo, .product_title { font-size: 52px; } }
@media (max-width: 767px) {
	.ficha__producto { gap: var(--espacio-m); padding-top: var(--espacio-s); }
	.ficha__galeria .woocommerce-product-gallery__image { padding: 10px; }
	.ficha__galeria .woocommerce-product-gallery__image img { height: 240px; }
	.ficha__galeria .flex-control-thumbs img { width: 48px; height: 48px; }
	.ficha__titulo, .product_title { font-size: 36px; }
	.ficha__resumen { gap: var(--espacio-s); }
	.ficha__resumen .price { font-size: 30px; }
	.ficha__cata { padding: 20px var(--espacio-m); }
}

/* ===================== Carrito y checkout (WooCommerce clásico, sin copiar plantillas) ===================== */
.compra__heroe { padding: var(--espacio-xl) 0; background: var(--burdeos); color: #fff; }
.compra__titulo { margin: 0; color: inherit; font: 600 var(--titulo-l)/1.05 var(--letra); letter-spacing: -.02em; text-transform: uppercase; }
.compra__contenido { padding-block: var(--espacio-xl) var(--espacio-seccion); background: var(--gris-claro); }
.woocommerce-cart .woocommerce:has(> .woocommerce-cart-form) { display: grid; grid-template-columns: 1.6fr 1fr; gap: 28px; align-items: start; } /* vacío (sin formulario), una columna */
.woocommerce-cart .woocommerce-notices-wrapper { grid-column: 1 / -1; }
.woocommerce-cart-form { background: #fff; border: 1px solid var(--borde); }
.woocommerce table.shop_table { width: 100%; margin: 0; border: 0; border-collapse: collapse; }
.woocommerce table.shop_table th { padding: var(--espacio-s) 18px; border-bottom: 2px solid var(--enfasis); color: var(--enfasis); font: 600 var(--texto-xs)/1 var(--letra); letter-spacing: .08em; text-align: left; text-transform: uppercase; }
.woocommerce table.shop_table td { padding: var(--espacio-m) 18px; border-top: 1px solid var(--borde-suave); vertical-align: middle; }
.woocommerce table.shop_table td.product-thumbnail img { width: 96px; height: 120px; object-fit: contain; }
.woocommerce table.shop_table td.product-name a { color: var(--enfasis); font: 600 20px/1.15 var(--letra); }
.woocommerce table.shop_table td.product-name .variation { color: var(--gris-texto); font: 300 var(--texto-s)/1.3 var(--letra); }
.woocommerce table.shop_table td.product-price, .woocommerce table.shop_table td.product-subtotal { color: var(--burdeos); font: 700 var(--texto-l)/1 var(--letra); }
.woocommerce table.shop_table .quantity input.qty { width: 80px; min-height: 44px; text-align: center; font-weight: 600; }
.woocommerce a.remove { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border: 1px solid var(--borde-control); border-radius: 50%; color: var(--burdeos) !important; font-size: 18px; }
.woocommerce a.remove:hover { background: var(--burdeos); color: #fff !important; }
.woocommerce table.shop_table td.actions { padding: var(--espacio-m) 18px; background: var(--fondo-calido); }
.woocommerce .coupon { display: flex; gap: var(--espacio-xs); }
.woocommerce .coupon .input-text { width: 220px; min-height: 44px; }
.woocommerce button.button, .woocommerce a.button { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 18px; border: 1.5px solid var(--burdeos); border-radius: var(--radio-boton); background: #fff; color: var(--burdeos); font: 600 var(--texto-s)/1 var(--letra); cursor: pointer; }
.woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--fondo-calido); color: var(--burdeos); }
.woocommerce button.button:disabled { opacity: .45; }
.cart-collaterals .cart_totals { width: 100%; float: none; padding: 22px; background: #fff; border: 1px solid var(--borde); }
.cart_totals h2 { margin: 0 0 var(--espacio-s); color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); }
.cart_totals table.shop_table th, .cart_totals table.shop_table td { padding: 10px 0; border: 0; font: 400 var(--texto-m)/1.3 var(--letra); text-transform: none; letter-spacing: 0; }
.cart_totals .order-total th, .cart_totals .order-total td { padding-top: var(--espacio-m); border-top: 2px solid var(--enfasis); color: var(--burdeos); font-size: 24px; font-weight: 700; }
.woocommerce-shipping-destination, .woocommerce-shipping-calculator a { color: var(--gris-texto); font: 300 var(--texto-xs)/1.3 var(--letra); }
.wc-proceed-to-checkout a.checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; border: 0; border-radius: var(--radio-boton); background: var(--rosa); color: #fff; font: 700 20px/1 var(--letra); text-transform: uppercase; }
.wc-proceed-to-checkout a.checkout-button:hover { background: var(--burdeos); color: #fff; }
/* Avisos de WooCommerce */
.woocommerce-message, .woocommerce-info, .woocommerce-error { margin: 0 0 var(--espacio-m); padding: 14px 18px; border: 0; border-left: 4px solid var(--burdeos); background: var(--crema); color: var(--burdeos); font: 400 15px/1.4 var(--letra); list-style: none; }
.woocommerce-error { border-left-color: var(--error); background: #fbe9e9; color: var(--error); }
.woocommerce-message a, .woocommerce-info a { color: var(--burdeos); text-decoration: underline; }
/* Checkout clásico */
.woocommerce-checkout form.checkout { display: grid; grid-template-columns: 1.4fr 1fr; gap: 28px; align-items: start; }
.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review { padding: 24px; background: #fff; border: 1px solid var(--borde); }
.woocommerce-checkout #customer_details .col-1, .woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; }
.woocommerce-checkout h3, #order_review_heading { margin: 0 0 var(--espacio-m); color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); }
.woocommerce form .form-row { margin: 0 0 14px; padding: 0; }
.woocommerce form .form-row label { display: block; margin-bottom: 6px; color: var(--enfasis); font: 500 var(--texto-s)/1.2 var(--letra); }
.woocommerce form .form-row .required { color: var(--rosa-texto); text-decoration: none; }
.woocommerce form .form-row.woocommerce-invalid input { border-color: var(--error); }
.woocommerce-checkout #payment { background: var(--fondo-calido); border-radius: 0; }
.woocommerce-checkout #payment ul.payment_methods { padding: var(--espacio-m); border-bottom: 1px solid var(--borde-suave); }
.woocommerce-checkout #payment div.payment_box { background: #fff; color: var(--texto); font: 300 var(--texto-s)/1.4 var(--letra); }
.woocommerce-checkout #place_order { width: 100%; min-height: 54px; border: 0; background: var(--rosa); color: #fff; font: 700 20px/1 var(--letra); text-transform: uppercase; }
.woocommerce-checkout #place_order:hover { background: var(--burdeos); }
@media (max-width: 1024px) { .woocommerce-cart .woocommerce:has(> .woocommerce-cart-form), .woocommerce-checkout form.checkout { grid-template-columns: 1fr; } }
@media (max-width: 767px) {
	.woocommerce table.shop_table_responsive tr { display: grid; grid-template-columns: 72px 1fr; gap: 4px 12px; padding: var(--espacio-s); border-top: 1px solid var(--borde-suave); }
	.woocommerce table.shop_table_responsive td { padding: 0; border: 0; }
	.woocommerce .coupon { flex-direction: column; }
	.woocommerce .coupon .input-text { width: 100%; }
	.woocommerce-checkout #customer_details, .woocommerce-checkout #order_review, .cart-collaterals .cart_totals { padding: 18px 14px; }
}

/* ===================== Mi cuenta ===================== */
.woocommerce-account .u-columns { display: grid; grid-template-columns: 1fr 1fr; gap: 28px; }
.woocommerce-account .u-column1, .woocommerce-account .u-column2 { width: 100%; float: none; }
.woocommerce-account h2 { margin: 0 0 var(--espacio-s); color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); }
.woocommerce form.login, .woocommerce form.register { margin: 0; padding: 28px; background: #fff; border: 1px solid var(--borde); border-radius: 0; }
.woocommerce form.login .button, .woocommerce form.register .button { width: 100%; min-height: 54px; border: 0; background: var(--rosa); color: #fff; font: 700 20px/1 var(--letra); }
.woocommerce form.login .button:hover, .woocommerce form.register .button:hover { background: var(--burdeos); }
.woocommerce-LostPassword a { color: var(--rosa-texto); text-decoration: underline; }
.woocommerce-privacy-policy-text p { color: var(--texto); font: 300 var(--texto-s)/1.45 var(--letra); } /* antes rosa: no llegaba a 4,5:1 */
.woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--enfasis); }
.woocommerce-MyAccount-navigation a { display: flex; align-items: center; min-height: 48px; padding-left: var(--espacio-s); border-bottom: 1px solid var(--borde-suave); border-left: 3px solid transparent; color: var(--texto); }
.woocommerce-MyAccount-navigation .is-active a { border-left-color: var(--burdeos); background: var(--fondo-calido); color: var(--burdeos); font-weight: 600; }
@media (max-width: 767px) { .woocommerce-account .u-columns { grid-template-columns: 1fr; } .woocommerce form.login, .woocommerce form.register { padding: 20px var(--espacio-m); } }

/* ===================== Páginas de texto (legales, Maestros, Valores) ===================== */
.pagina { max-width: var(--ancho-lectura); padding-block: var(--espacio-xl) var(--espacio-seccion); }
.pagina__titulo { margin: 0 0 var(--espacio-l); color: var(--enfasis); font: 600 var(--titulo-l)/1.05 var(--letra); text-transform: uppercase; }
.pagina__contenido { color: #353535; font: 300 17px/1.7 var(--letra); }
.pagina__contenido h2 { margin: var(--espacio-xl) 0 var(--espacio-s); color: var(--enfasis); font: 600 24px/1.2 var(--letra); }
.pagina__contenido h3 { margin: var(--espacio-l) 0 var(--espacio-xs); color: var(--burdeos); font: 600 var(--texto-l)/1.3 var(--letra); }
.pagina__contenido a { color: var(--burdeos); text-decoration: underline; text-underline-offset: 3px; }
.pagina__contenido strong { color: var(--enfasis); font-weight: 600; }
.pagina__contenido ul, .pagina__contenido ol { padding-left: 22px; }
.pagina__contenido table { width: 100%; border-collapse: collapse; font-size: 15px; }
.pagina__contenido th, .pagina__contenido td { padding: 10px; border-bottom: 1px solid var(--borde-suave); text-align: left; }
@media (max-width: 767px) { .pagina__contenido { font-size: var(--texto-m); } .pagina__contenido h2 { font-size: 21px; } }

/* Contacto: el formulario amarillo pasa a blanco con campos grandes; el texto y los campos no cambian */
.contacto__intro { max-width: var(--ancho-lectura); padding-block: var(--espacio-xl) 0; color: var(--texto); font: 300 var(--texto-l)/1.55 var(--letra); }
.contacto { padding-block: var(--espacio-xl) var(--espacio-seccion); }
.contacto > * { max-width: 720px; margin-inline: auto; padding-inline: var(--espacio-m); }
.contacto__titulo { margin: 0 auto var(--espacio-xs); color: var(--enfasis); font: 600 var(--titulo-m)/1.05 var(--letra); text-transform: uppercase; }
.contacto__texto { margin: 0 auto var(--espacio-l); color: var(--texto); font: 300 17px/1.5 var(--letra); }
.contacto__formulario { display: grid; gap: var(--espacio-m); }
.contacto__casilla { display: flex; align-items: flex-start; gap: 10px; color: #353535; font: 300 var(--texto-s)/1.45 var(--letra); }
.contacto__casilla a { color: var(--burdeos); text-decoration: underline; }
.contacto__formulario button { justify-self: start; min-height: 52px; padding: 0 36px; border: 0; border-radius: var(--radio-boton); background: var(--rosa); color: #fff; font: 700 19px/1 var(--letra); cursor: pointer; }
.contacto__formulario button:hover { background: var(--burdeos); }
@media (max-width: 767px) { .contacto__formulario button { justify-self: stretch; } }

/* Tostadero: el acordeón de etapas (details) con el estilo de lista numerada */
.tostadero__titulo { margin: 0 0 var(--espacio-xl); color: var(--enfasis); font: 600 var(--titulo-m)/1.05 var(--letra); text-transform: uppercase; }
.tostadero details { border-bottom: 1px solid var(--borde-suave); }
.tostadero details:first-of-type { border-top: 2px solid var(--enfasis); }
.tostadero summary { display: flex; align-items: center; min-height: 64px; color: var(--texto); font: 400 19px/1.2 var(--letra); cursor: pointer; list-style: none; }
.tostadero summary::-webkit-details-marker { display: none; }
.tostadero summary::after { content: "+"; margin-left: auto; color: var(--amarillo-texto); font: 400 26px/1 var(--letra); }
.tostadero details[open] summary { color: var(--burdeos); font-weight: 600; }
.tostadero details[open] summary::after { content: "–"; }
.tostadero details > div { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espacio-l); padding: 0 0 var(--espacio-l); color: #353535; font: 300 var(--texto-m)/1.55 var(--letra); }
.tostadero details img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 767px) { .tostadero details > div { grid-template-columns: 1fr; } }

/* ===================== Pie ===================== */
/* Capa de estilo sobre el pie actual (.pie): alinea columnas y títulos */
.pie { background: var(--burdeos); color: #fff; }
.pie :focus-visible { outline-color: #fff; }
.pie__marca { padding-block: var(--espacio-xl) var(--espacio-l); border-bottom: 1px solid rgba(255, 255, 255, .18); }
.pie__logo { width: 170px; height: auto; }
.pie__columnas { display: grid; grid-template-columns: repeat(4, 1fr); gap: 32px; padding-block: 32px var(--espacio-xl); }
.pie__titulo { margin: 0 0 var(--espacio-xs); color: var(--amarillo); font: 600 12px/1.2 var(--letra); letter-spacing: .12em; text-transform: uppercase; }
.pie__enlaces { margin: 0; padding: 0; list-style: none; }
.pie__enlaces a, .pie__enlaces button { display: flex; align-items: center; min-height: 36px; padding: 0; border: 0; background: none; color: #fff; font: 300 var(--texto-s)/1.3 var(--letra); text-transform: none; cursor: pointer; }
.pie__enlaces a:hover { color: var(--amarillo); }
.pie__contacto p { margin: 0 0 6px; font: 300 var(--texto-s)/1.4 var(--letra); }
.pie__iconos { display: flex; gap: 10px; margin: 0 0 var(--espacio-m); padding: 0; list-style: none; }
.pie__iconos a { display: inline-flex; align-items: center; justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; color: #fff; }
.pie__iconos a:hover { border-color: var(--amarillo); color: var(--amarillo); }
@media (max-width: 1024px) { .pie__columnas { grid-template-columns: 1fr 1fr; } }
@media (max-width: 767px) { .pie__columnas { grid-template-columns: 1fr; gap: var(--espacio-l); } .pie__marca { text-align: left; } .pie__iconos { justify-content: flex-start; } }

/* ===================== Banner de cookies ===================== */
.consentimiento { position: fixed; left: var(--espacio-m); right: var(--espacio-m); bottom: var(--espacio-m); z-index: 50; max-width: 960px; margin: 0 auto; background: #fff; border: 1px solid var(--borde); box-shadow: var(--sombra-panel); }
.consentimiento[hidden] { display: none; }
.consentimiento__dentro { display: grid; grid-template-columns: 1fr auto; gap: var(--espacio-l); align-items: center; padding: 20px var(--espacio-l); }
.consentimiento__titulo { margin: 0 0 4px; color: var(--enfasis); font: 600 var(--texto-l)/1.2 var(--letra); }
.consentimiento__texto p { margin: 0; color: var(--texto); font: 300 var(--texto-s)/1.45 var(--letra); }
.consentimiento__texto a { color: var(--burdeos); text-decoration: underline; }
.consentimiento__botones { display: flex; gap: var(--espacio-xs); flex-wrap: wrap; }
.consentimiento__botones .boton { min-height: 46px; padding: 0 18px; font-size: 19px; }
.consentimiento__configurar { background: #fff; border: 1.5px solid var(--burdeos); color: var(--burdeos); font-size: var(--texto-m) !important; font-weight: 600; text-transform: none; }
.consentimiento-ajustes { width: min(560px, 92vw); padding: 0; border: 0; }
.consentimiento-ajustes::backdrop { background: rgba(49, 2, 28, .45); }
.consentimiento-ajustes__dentro { position: relative; display: flex; flex-direction: column; gap: var(--espacio-m); padding: 28px; }
.consentimiento-ajustes__titulo { margin: 0; color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); }
.consentimiento-ajustes__cerrar { position: absolute; top: 12px; right: 12px; width: var(--objetivo-min); height: var(--objetivo-min); border: 0; border-radius: 50%; background: none; color: var(--burdeos); cursor: pointer; }
.consentimiento-finalidad { padding: 14px 0; border-top: 1px solid var(--borde-suave); }
.consentimiento-finalidad__nombre { display: flex; align-items: center; gap: 10px; margin: 0 0 4px; color: var(--enfasis); font: 600 var(--texto-m)/1.3 var(--letra); }
.consentimiento-finalidad__fija { color: var(--ok); font: 500 var(--texto-xs)/1 var(--letra); }
.consentimiento-finalidad__texto { margin: 0; color: var(--texto); font: 300 var(--texto-s)/1.45 var(--letra); }
.consentimiento-ajustes__botones { display: flex; gap: var(--espacio-xs); flex-wrap: wrap; }
@media (max-width: 767px) {
	.consentimiento { left: 0; right: 0; bottom: 0; }
	.consentimiento__dentro { grid-template-columns: 1fr; gap: var(--espacio-s); padding: var(--espacio-m); }
	.consentimiento__botones .boton { flex: 1 1 100%; }
}


/* ===================== Ficha · novedades del rediseño v2 (bloque PROPUESTA) ===================== */
/* Barra de envío gratis (ficha y carrito) */
.barra-envio { display: flex; flex-direction: column; gap: var(--espacio-xs); padding: 14px var(--espacio-m); background: var(--crema); }
.barra-envio__texto { margin: 0; color: var(--burdeos); font: 400 15px/1.35 var(--letra); }
.barra-envio__pista { height: 6px; overflow: hidden; border-radius: 3px; background: #fff; }
.barra-envio__relleno { height: 100%; border-radius: 3px; background: var(--burdeos); transition: width .3s; }
/* Caja de puntaje de cata en barras (sustituye al radar de Chart.js) */
.cata { display: flex; flex-direction: column; gap: 9px; }
.cata__fila { display: grid; grid-template-columns: 110px 1fr 34px; gap: 10px; align-items: center; }
.cata__nombre { color: var(--crema); font: 400 var(--texto-s)/1 var(--letra); }
.cata__pista { height: 8px; overflow: hidden; border-radius: 4px; background: rgba(255, 255, 255, .14); }
.cata__valor { height: 100%; border-radius: 4px; background: var(--amarillo); }
.cata__numero { font: 600 var(--texto-s)/1 var(--letra); text-align: right; }
.ficha__estrecho { max-width: 900px; }
.ficha__dos-columnas { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 380px), 1fr)); gap: var(--espacio-2xl); align-items: start; }
.ficha__lateral { display: flex; flex-direction: column; gap: 20px; }
.ficha__mas-foto { width: 100%; height: auto; margin-top: var(--espacio-l); }
.ficha__cata-titulo { color: var(--amarillo); font-size: var(--antetitulo); letter-spacing: .14em; }
.ficha__cata-titulo .ficha__total { color: #fff; font-size: 28px; letter-spacing: 0; }
.ficha__tip-titulo { color: var(--burdeos); font-size: var(--antetitulo); letter-spacing: .14em; }
.cata { margin: 0; }
.cata dd { margin: 0; }
.ficha__opiniones { background: #fff; }
/* Píldoras: la caja la pinta el <span> (como en la referencia), no la etiqueta de ficha.css. */
.ficha .pildora.ficha__pildora, .ficha .pildora.ficha__pildora:has(.pildora__radio:checked) { display: block; min-height: 0; padding: 0; border: 0; background: none; }
.ficha .ficha__pildora > span { display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 0 var(--espacio-m); border: 1.5px solid var(--borde-control); border-radius: var(--radio-boton); background: #fff; color: var(--burdeos); font: 600 17px/1 var(--letra); cursor: pointer; }
.ficha .ficha__pildora > span:hover { border-color: var(--burdeos); }
.ficha .pildora__radio:checked + span, .ficha .pildora--fija.ficha__pildora > span { border-color: var(--burdeos); background: var(--burdeos); color: #fff; }
.ficha .pildora__radio:focus-visible + span { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.ficha .pildora__radio:disabled + span { border-color: var(--borde-control); color: var(--gris-texto); text-decoration: line-through; cursor: not-allowed; }
.ficha .pildora.ficha__pildora:has(.pildora__radio:focus-visible) { outline: 0; }
.ficha .ficha__opciones .pildoras:not([hidden]) { display: block; margin: 0; } /* sin :not([hidden]), sin JavaScript se veían las píldoras junto a los <select> */
.ficha .ficha__grupos { display: flex; flex-direction: column; gap: var(--espacio-m); }
.ficha .ficha__opciones { align-items: stretch; gap: 0; }
.ficha .ficha__compra-rapida form.cart.variations_form { display: block; }
/* Compra rápida: cantidad y botón en rejilla de 132 px y el resto; el título a todo el ancho. */
.ficha .ficha__compra-rapida form.cart:not(.variations_form), .ficha .ficha__compra-rapida .woocommerce-variation-add-to-cart { display: grid; grid-template-columns: 132px 1fr; gap: var(--espacio-xs); align-items: stretch; }
.ficha .ficha__compra-rapida .ficha__compra-titulo { grid-column: 1 / -1; margin: 0 0 var(--espacio-xs); font: 600 var(--texto-s)/1 var(--letra); letter-spacing: .06em; }
.ficha .ficha__compra-rapida form.cart .qty { width: 100%; height: 52px; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); font-weight: 600; }
.ficha .ficha__compra.ficha__compra-rapida button.single_add_to_cart_button.button.alt,
.ficha .ficha__compra.ficha__compra-rapida button.single_add_to_cart_button.button.alt:hover { min-height: 52px; padding: 0 var(--espacio-m); background: var(--rosa); color: #fff; font: 700 19px/1 var(--letra); }
.ficha .ficha__compra.ficha__compra-rapida button.single_add_to_cart_button.button.alt:hover { background: var(--burdeos); }
.ficha .ficha__compra.ficha__compra-rapida button.single_add_to_cart_button.button.alt.disabled,
.ficha .ficha__compra.ficha__compra-rapida button.single_add_to_cart_button.button.alt.disabled:hover { background: var(--rosa); color: #fff; opacity: .55; }
/* La cata: el relleno es un <span>, que necesita bloque para tomar el ancho. */
.cata__valor { display: block; }
/* Relacionadas: título a la izquierda y «VER TODOS» a su derecha, como la cabecera de sección de la referencia. */
.ficha .ficha__relacionados-titulo { margin: 4px 0 0; text-align: left; font: 600 var(--titulo-m)/1.05 var(--letra); color: var(--enfasis); }
.seccion__cabecera .landing-seccion__ver { margin: 0; }
.seccion__cabecera .landing-seccion__ver a { display: inline-flex; align-items: center; min-height: var(--objetivo-min); color: var(--rosa-texto); font: 600 var(--texto-m)/1 var(--letra); letter-spacing: 0; text-decoration: underline; text-underline-offset: 4px; }

/* ===================== Ajustes medidos (comparar-estilos.py a 1440 px, 11 páginas) =====================
   Reglas del tema anterior que la capa nueva no pisaba (rellenos de 10 px, sombras, espaciado de letras…), con el
   valor de la referencia. «body .x.x.x»: el tema usa selectores de hasta tres clases (paginas.css:218) y, con una
   sola, ganaba aunque esta hoja cargue la última. Lo que dependía del primer elemento de cada clase (secciones de la
   ficha, precio, fondos alternos de los 50/50) va a mano más abajo. */
body .boletin__imagen.boletin__imagen.boletin__imagen { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; }
body .boletin__texto.boletin__texto.boletin__texto { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; }
body .cabecera.cabecera.cabecera { min-height: 0px; }
body .cabecera-archivo__subtitulo.cabecera-archivo__subtitulo.cabecera-archivo__subtitulo { min-height: 0px; }
body .cabecera-archivo__titulo.cabecera-archivo__titulo.cabecera-archivo__titulo { min-height: 0px; }
body .cabecera__barra.cabecera__barra.cabecera__barra { box-shadow: none; }
body .cabecera__carrito.cabecera__carrito.cabecera__carrito { text-transform: none; }
body .cabecera__carrito-cantidad.cabecera__carrito-cantidad.cabecera__carrito-cantidad { text-transform: none; }
body .cabecera__iconos.cabecera__iconos.cabecera__iconos { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; justify-content: normal; }
body .cabecera__logo.cabecera__logo.cabecera__logo { padding-top: 0px; }
body .navegacion__enlace.navegacion__enlace.navegacion__enlace { padding-right: 0px; }
body .pie.pie.pie { min-height: 0px; }
body .pie__enlaces.pie__enlaces.pie__enlaces { font-size: 16px; font-weight: 400; line-height: 24px; }
body .tarjeta.tarjeta.tarjeta { text-align: start; box-shadow: none; align-items: normal; }
body .tarjeta__acciones.tarjeta__acciones.tarjeta__acciones { padding-bottom: 0px; text-align: start; justify-content: normal; align-items: normal; margin-top: 0px; }
body .tarjeta__imagen.tarjeta__imagen.tarjeta__imagen { margin-top: 0px; margin-bottom: 0px; text-align: start; }
body .tarjeta__lineas.tarjeta__lineas.tarjeta__lineas { text-align: start; }
body .tarjeta__precio.tarjeta__precio.tarjeta__precio { text-transform: none; text-align: start; }
body .tarjeta__titulo.tarjeta__titulo.tarjeta__titulo { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; font-size: 22px; line-height: 24.2px; text-align: start; }
body .woocommerce-breadcrumb.woocommerce-breadcrumb.woocommerce-breadcrumb { margin-bottom: 0px; padding-top: 24px; padding-left: 0px; line-height: 21px; letter-spacing: normal; margin-top: 0px; padding-right: 0px; }
body .desde.desde.desde { text-align: start; }
body .banda-titulo.banda-titulo.banda-titulo { min-height: 0px; justify-content: normal; }
body .contacto.contacto.contacto { padding-right: 0px; padding-left: 0px; background-color: rgba(0, 0, 0, 0); flex-direction: row; align-items: normal; }
body .contacto__formulario.contacto__formulario.contacto__formulario { min-height: 0px; }
body .contacto__intro.contacto__intro.contacto__intro { min-height: 0px; }
body .contacto__texto.contacto__texto.contacto__texto { min-height: 0px; letter-spacing: normal; text-align: start; }
body .contacto__titulo.contacto__titulo.contacto__titulo { min-height: 0px; text-align: start; }
body .boletin.boletin.boletin { min-height: 0px; }
body .contenedor.contenedor.contenedor { min-height: 0px; }
body .ficha__galeria.ficha__galeria.ficha__galeria { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; }
body .ficha__impuestos.ficha__impuestos.ficha__impuestos { min-height: 0px; }
body .ficha__marca.ficha__marca.ficha__marca { gap: normal; align-items: normal; }
body .ficha__numero.ficha__numero.ficha__numero { min-height: 0px; }
body .ficha__pildoras.ficha__pildoras.ficha__pildoras { min-height: 0px; }
body .formulario__privacidad.formulario__privacidad.formulario__privacidad { margin-bottom: 0px; }
body .pagina__contenido.pagina__contenido.pagina__contenido { padding-top: 0px; padding-bottom: 0px; line-height: 28.9px; letter-spacing: normal; text-align: start; color: rgb(53, 53, 53); }
body .compra__contenido.compra__contenido.compra__contenido { margin-top: 0px; margin-bottom: 0px; padding-top: 40px; padding-right: 0px; padding-bottom: 80px; padding-left: 0px; }
body .compra__heroe.compra__heroe.compra__heroe { min-height: 0px; flex-direction: row; justify-content: normal; align-items: normal; }
body .compra__titulo.compra__titulo.compra__titulo { min-height: 0px; text-align: start; }
body .form-row.form-row.form-row { margin-bottom: 14px; padding-top: 0px; padding-bottom: 0px; text-align: start; }
body .required.required.required { font-weight: 500; line-height: 16.8px; letter-spacing: normal; text-align: start; }
body .u-columns.u-columns.u-columns { min-height: 0px; margin-top: 0px; }
body .woocommerce.woocommerce.woocommerce { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; gap: normal; }
body .woocommerce-LostPassword.woocommerce-LostPassword.woocommerce-LostPassword { margin-top: 16px; margin-bottom: 16px; font-size: 16px; line-height: 24px; text-align: start; }
body .woocommerce-form.woocommerce-form.woocommerce-form { padding-top: 28px; padding-bottom: 28px; text-align: start; border-top-style: solid; border-radius: 0px; }
body .woocommerce-privacy-policy-text.woocommerce-privacy-policy-text.woocommerce-privacy-policy-text { margin-bottom: 0px; font-size: 16px; line-height: 24px; text-align: start; color: rgb(51, 51, 51); }
body .bloque-5050__dentro.bloque-5050__dentro.bloque-5050__dentro { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; }
body .bloque-5050__texto.bloque-5050__texto.bloque-5050__texto { padding-top: 64px; padding-right: 40px; padding-bottom: 64px; padding-left: 40px; }
body .hero.hero.hero { box-shadow: none; }
body .seleccion__tarjetas.seleccion__tarjetas.seleccion__tarjetas { padding-top: 0px; padding-bottom: 0px; }
body .seleccion__todos.seleccion__todos.seleccion__todos { padding-top: 0px; padding-bottom: 0px; letter-spacing: normal; }
body .tarjeta-entrada.tarjeta-entrada.tarjeta-entrada { box-shadow: none; }
body .tarjeta-entrada__extracto.tarjeta-entrada__extracto.tarjeta-entrada__extracto { letter-spacing: normal; }
body .tarjeta-entrada__fecha.tarjeta-entrada__fecha.tarjeta-entrada__fecha { letter-spacing: normal; }
body .tarjeta-entrada__insignia.tarjeta-entrada__insignia.tarjeta-entrada__insignia { border-radius: 0px; }
body .tarjeta-entrada__leer.tarjeta-entrada__leer.tarjeta-entrada__leer { margin-bottom: 0px; padding-top: 0px; padding-bottom: 0px; letter-spacing: normal; }
body .tarjeta-tipo.tarjeta-tipo.tarjeta-tipo { box-shadow: none; }
body .tarjeta-tipo__marca.tarjeta-tipo__marca.tarjeta-tipo__marca { letter-spacing: normal; }
body .tarjeta-tipo__nombre.tarjeta-tipo__nombre.tarjeta-tipo__nombre { margin-top: 0px; letter-spacing: normal; }
body .tarjeta-tipo__texto.tarjeta-tipo__texto.tarjeta-tipo__texto { letter-spacing: normal; }
body .tarjeta-tipo__textos.tarjeta-tipo__textos.tarjeta-tipo__textos { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; }
body .tostadero__titulo.tostadero__titulo.tostadero__titulo { text-align: start; }
body .cabecera__fila.cabecera__fila.cabecera__fila { min-height: 84px; }
body .bloque-5050__subtitulo.bloque-5050__subtitulo.bloque-5050__subtitulo { margin-bottom: 16px; }
body .bloque-5050__titulo.bloque-5050__titulo.bloque-5050__titulo { margin-bottom: 12px; }

/* ===================== Ajustes a mano ===================== */
/* Márgenes laterales del tema anterior que la referencia no tiene (medidos a 1440 px). */
body .hero__texto.hero__texto { margin-inline: 0; }
body .tarjeta-tipo__nombre.tarjeta-tipo__nombre, body .tarjeta-tipo__texto.tarjeta-tipo__texto { margin-inline: 0; }
/* Archivos de la tienda (medido a 1440 px): cabecera en bloque, líneas de la tarjeta juntas, corazón redondo con borde
   (la clase .boton-deseos de la referencia, añadida al botón de partes/boton-deseos.php) y migas en rosa. */
body .cabecera-archivo__texto.cabecera-archivo__texto { display: block; }
body .tarjeta .tarjeta__lineas li + li { margin-top: 0; }
body .tarjeta .tarjeta__lineas.tarjeta__lineas { padding-block: 0; }
body .tarjeta .deseos__boton.boton-deseos { width: var(--objetivo-min); height: var(--objetivo-min); padding: 0; border: 1px solid var(--borde); border-radius: 50%; background: #fff; color: var(--rosa-texto); }
body .tarjeta .deseos__boton.boton-deseos:hover, body .tarjeta .deseos__boton.boton-deseos[aria-pressed="true"] { border-color: var(--rosa); color: var(--rosa-texto); }
body .woocommerce-breadcrumb.woocommerce-breadcrumb a { color: var(--rosa-texto); }
/* Landing de Café y de Otros: cabecera de sección como la referencia (h2 y subtítulo a la izquierda, «VER TODOS» a la
   derecha) con una rejilla sobre el marcado de siempre: título, subtítulo, rejilla y el enlace, en ese orden. */
body .landing-seccion.landing-seccion { display: grid; grid-template-columns: 1fr auto; column-gap: var(--espacio-m); margin-top: 0; padding-block: var(--espacio-seccion) 0; }
body .landing-seccion .landing-seccion__titulo { grid-column: 1; margin: 4px 0 0; color: var(--enfasis); font: 600 var(--titulo-m)/1.05 var(--letra); letter-spacing: -.01em; text-align: left; }
body .landing-seccion .landing-seccion__subtitulo { grid-column: 1; margin: 6px 0 32px; color: var(--texto); font: 500 var(--texto-s)/1.3 var(--letra); letter-spacing: .06em; word-spacing: normal; text-align: left; }
body .landing-seccion > :not(.landing-seccion__titulo):not(.landing-seccion__subtitulo):not(.landing-seccion__ver) { grid-column: 1 / -1; }
body .landing-seccion .landing-seccion__ver { grid-column: 2; grid-row: 1 / span 2; align-self: end; margin: 0 0 32px; padding: 0; }
body .landing-seccion .landing-seccion__ver a { display: inline-flex; align-items: center; min-height: var(--objetivo-min); color: var(--rosa-texto); font: 600 var(--texto-m)/1 var(--letra); letter-spacing: 0; text-decoration: underline; text-underline-offset: 4px; }
@media (max-width: 767px) { body .landing-seccion .landing-seccion__subtitulo, body .landing-seccion .landing-seccion__ver { margin-bottom: var(--espacio-m); } }
/* Botón de compra de la tarjeta: 17 px (15 en móvil) y 46 px de alto, como la referencia; el tema lo tenía en 19. */
body .tarjeta .tarjeta__acciones .button.button { min-height: 46px; padding: 0 var(--espacio-s); font-size: 17px; }
body .tarjeta .tarjeta__acciones .deseos__boton.boton-deseos { width: 46px; height: 46px; }
@media (max-width: 767px) { body .tarjeta .tarjeta__acciones .button.button { font-size: 15px; } }
/* Páginas de compra (medido a 1440 px): la franja burdeos lisa del rediseño sin el héroe de foto de compra.css, y el
   contenido en su sitio, sin montarse sobre la franja. */
body .compra .compra__heroe.compra__heroe { display: block; min-height: 0; padding: var(--espacio-xl) 0; background: var(--burdeos); text-align: left; }
body .compra .compra__heroe.compra__heroe::before { content: none; }
body .compra .compra__heroe + .compra__contenido.compra__contenido { width: auto; max-width: none; margin: 0; }
body .compra--cuenta .compra__contenido.compra__contenido, body .compra--carrito .compra__contenido.compra__contenido { padding-inline: 0; }
body .compra .compra__titulo.compra__titulo--heroe { color: #fff; text-align: left; }
body .compra .compra__cabecera { padding-block: var(--espacio-xl) var(--espacio-m); }
body .compra .compra__cabecera .compra__titulo { color: var(--enfasis); }
/* Mi cuenta: los pseudoelementos de limpieza de .col2-set cuentan como celdas en la rejilla y desplazaban las cajas; y el
   título de las cajas, solo dentro del contenido (la regla de la referencia alcanzaba también a los h2 del pie). */
.woocommerce-account .u-columns::before, .woocommerce-account .u-columns::after { content: none; }
body.woocommerce-account .pie h2.pie__titulo { margin: 0 0 var(--espacio-xs); color: var(--amarillo); font: 600 12px/1.2 var(--letra); letter-spacing: .12em; text-transform: uppercase; }
/* Mi cuenta sin sesión: el flex de compra.css (pensado para el menú y el contenido con sesión) encogía las dos cajas. */
body .compra--cuenta .woocommerce:has(> .u-columns) { display: block; padding: 0; }
body .compra--cuenta .woocommerce form.login, body .compra--cuenta .woocommerce form.register { border: 1px solid var(--borde); }
body .compra .compra__titulo.compra__titulo { word-spacing: normal; }
body.woocommerce-account .woocommerce .col2-set .u-column1, body.woocommerce-account .woocommerce .col2-set .u-column2 { width: 100%; float: none; }
body .compra--cuenta .u-columns h2 { color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); }
body .compra--cuenta .woocommerce form.register p:not(.form-row), body .compra--cuenta .woocommerce-privacy-policy-text p { color: var(--texto); font: 300 var(--texto-s)/1.45 var(--letra); }
body .compra--cuenta .woocommerce form .input-text.input-text { min-height: 50px; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); background: #fff; }
body .compra--cuenta .woocommerce form .form-row label { color: var(--enfasis); font: 500 var(--texto-s)/1.2 var(--letra); }
body .compra--cuenta .woocommerce-form-login__rememberme { font: 400 var(--texto-s)/1.2 var(--letra); }
body .compra--cuenta .woocommerce-LostPassword a { color: var(--rosa-texto); font: 400 var(--texto-s)/1.3 var(--letra); text-decoration: underline; }
body .compra--cuenta .u-columns .col-1 h2, body .compra--cuenta .u-columns .col-2 h2 { font-weight: 600; }
/* Carrito (medido a 1440 px con un producto): la tabla, los botones y los totales de la referencia sobre las reglas de
   compra.css, que tenían más especificidad. */
body .compra.compra--carrito .woocommerce table.shop_table.cart thead th { padding: 12px 18px; border-bottom: 2px solid var(--enfasis); color: var(--enfasis); font: 600 var(--texto-xs)/1 var(--letra); letter-spacing: .08em; text-align: left; text-transform: uppercase; }
body .compra.compra--carrito .woocommerce table.shop_table.cart td.product-name a { color: var(--enfasis); font: 600 20px/1.15 var(--letra); text-decoration: none; }
body .compra.compra--carrito .woocommerce table.shop_table.cart td.product-price, body .compra.compra--carrito .woocommerce table.shop_table.cart td.product-subtotal { color: var(--burdeos); font: 700 var(--texto-l)/1 var(--letra); }
body .compra.compra--carrito .woocommerce table.shop_table.cart .quantity input.qty { width: 80px; min-height: 44px; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); background: #fff; color: var(--enfasis); font-weight: 600; text-align: center; }
body .compra.compra--carrito .woocommerce a.remove.remove { width: auto; height: auto; min-height: 24px; padding: 0 4px; border: 0; border-radius: 0; background: none; color: var(--rosa-texto) !important; font: 500 var(--texto-s) var(--letra); text-decoration: underline; } /* «Eliminar» con palabra (rediseño v2) */
body .compra.compra--carrito .woocommerce a.remove.remove:hover { background: none; color: var(--burdeos) !important; }
body .compra.compra--carrito .woocommerce button.button.button, body .compra.compra--carrito .woocommerce a.button.button:not(.checkout-button) { min-height: 44px; padding: 0 18px; border: 1.5px solid var(--burdeos); border-radius: var(--radio-boton); background: #fff; color: var(--burdeos); font: 600 var(--texto-s)/1 var(--letra); }
body .compra.compra--carrito .woocommerce .coupon .input-text.input-text { min-height: 44px; padding-inline: 14px; border: 1px solid var(--borde-control); background: #fff; text-align: left; }
body .compra.compra--carrito .cart-collaterals .cart_totals.cart_totals { padding: 22px; border: 1px solid var(--borde); border-radius: 0; background: #fff; }
body .compra.compra--carrito .wc-proceed-to-checkout.wc-proceed-to-checkout { padding-top: 0; }
body .compra.compra--carrito .wc-proceed-to-checkout a.checkout-button.checkout-button { display: flex; align-items: center; justify-content: center; width: 100%; min-height: 54px; padding: 0; border: 0; border-radius: var(--radio-boton); background: var(--rosa); color: #fff; font: 700 20px/1 var(--letra); text-transform: uppercase; }
body .compra.compra--carrito .wc-proceed-to-checkout a.checkout-button.checkout-button:hover { background: var(--burdeos); }
body .compra.compra--carrito .woocommerce-shipping-destination { color: var(--gris-texto); }
body .compra.compra--carrito .cart_totals .includes_tax { color: var(--burdeos); }
body .compra.compra--carrito .cart_totals .barra-envio { margin-bottom: var(--espacio-m); }
body .compra.compra--carrito .woocommerce .cart_totals h2 { margin: 0 0 var(--espacio-s); padding: 0; color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); letter-spacing: 0; }
body .compra.compra--carrito .woocommerce .cart_totals table.shop_table th, body .compra.compra--carrito .woocommerce .cart_totals table.shop_table td { padding: 10px 0; border: 0; color: var(--enfasis); font: 400 var(--texto-m)/1.3 var(--letra); letter-spacing: 0; text-transform: none; }
body .compra.compra--carrito .woocommerce .cart_totals table.shop_table td .woocommerce-Price-amount { color: var(--enfasis); font: 600 var(--texto-m)/1.3 var(--letra); letter-spacing: 0; }
body .compra.compra--carrito .woocommerce .cart_totals .order-total th, body .compra.compra--carrito .woocommerce .cart_totals .order-total td, body .compra.compra--carrito .woocommerce .cart_totals .order-total td .woocommerce-Price-amount { padding-top: var(--espacio-m); border-top: 2px solid var(--enfasis); color: var(--burdeos); font-size: 24px; font-weight: 700; }
body .compra.compra--carrito .woocommerce .cart_totals .order-total td .woocommerce-Price-amount { border: 0; padding: 0; }
body .compra.compra--carrito .woocommerce .cart_totals .shipping-calculator-button { color: var(--rosa-texto); }
/* Checkout clásico: datos a la izquierda en las dos filas y, a la derecha, «Tu pedido» y su resumen. Sin colocar, el
   encabezado ocupaba la segunda columna y el resumen caía a la fila de abajo. */
body.woocommerce-checkout form.checkout.checkout { grid-template-columns: 1.4fr 1fr; grid-template-rows: auto 1fr; column-gap: 28px; row-gap: 0; }
body.woocommerce-checkout form.checkout #customer_details.col2-set { grid-column: 1; grid-row: 1 / span 2; width: 100%; float: none; margin: 0; }
body.woocommerce-checkout form.checkout #order_review_heading { grid-column: 2; grid-row: 1; width: auto; float: none; margin: 0; padding: 24px 24px 0; border: 1px solid var(--borde); border-bottom: 0; background: #fff; }
body.woocommerce-checkout form.checkout #order_review.woocommerce-checkout-review-order { grid-column: 2; grid-row: 2; align-self: start; width: 100%; float: none; border-top: 0; }
@media (max-width: 1024px) {
	body.woocommerce-checkout form.checkout.checkout { grid-template-columns: 1fr; grid-template-rows: none; }
	body.woocommerce-checkout form.checkout #customer_details.col2-set, body.woocommerce-checkout form.checkout #order_review_heading, body.woocommerce-checkout form.checkout #order_review.woocommerce-checkout-review-order { grid-column: 1; grid-row: auto; }
	body.woocommerce-checkout form.checkout #order_review_heading { margin-top: 28px; }
}
body.woocommerce-checkout .woocommerce #payment #place_order.button { width: 100%; min-height: 54px; border: 0; border-radius: var(--radio-boton); background: var(--rosa); color: #fff; font: 700 20px/1 var(--letra); text-transform: uppercase; }
body.woocommerce-checkout .woocommerce #payment #place_order.button:hover { background: var(--burdeos); }
/* Nosotros: introducción y «2025» a la medida de lectura de la referencia (760 px, centradas). */
body .pagina__contenido.pagina__contenido.nosotros__intro, body .pagina__contenido.pagina__contenido.nosotros__hoy { max-width: calc(var(--ancho-lectura) + 2 * var(--espacio-xl)); padding-block: var(--espacio-xl); color: #353535; font: 300 17px/1.7 var(--letra); }
body .pagina__contenido.pagina__contenido.nosotros__intro p, body .pagina__contenido.pagina__contenido.nosotros__hoy p { font: inherit; }
body .nosotros__hitos.nosotros__hitos .bloque-5050__dentro p:not([class]) { font-size: var(--texto-l); line-height: 1.6; }
body .nosotros__hoy .bloque-5050__titulo.bloque-5050__titulo { margin-top: 0; font-size: var(--titulo-s); }
/* Tostadero: el acordeón de la referencia (lista con separadores y «+»/«–» en amarillo oscuro) sobre el marcado de siempre
   (.acordeon__etapa = details, .acordeon__titulo = summary, .acordeon__panel = el contenido). */
body .tostadero__proceso .acordeon__etapa { background: none; border-bottom: 1px solid var(--borde-suave); }
body .tostadero__proceso .acordeon__etapa:first-of-type { border-top: 2px solid var(--enfasis); }
body .tostadero__proceso .acordeon__etapa > .acordeon__titulo { display: flex; align-items: center; min-height: 64px; padding: 0; background: none; color: var(--texto); font: 400 19px/1.2 var(--letra); cursor: pointer; }
body .tostadero__proceso .acordeon__etapa > .acordeon__titulo:hover { background: none; color: var(--burdeos); }
body .tostadero__proceso .acordeon__titulo h3 { font: inherit; text-transform: none; }
body .tostadero__proceso .acordeon__titulo .icono { display: none; }
body .tostadero__proceso .acordeon__titulo::after { content: "+"; margin-left: auto; color: var(--amarillo-texto); font: 400 26px/1 var(--letra); }
body .tostadero__proceso .acordeon__etapa[open] > .acordeon__titulo { background: none; color: var(--burdeos); font-weight: 600; }
body .tostadero__proceso .acordeon__etapa[open] > .acordeon__titulo::after { content: "–"; }
body .tostadero__proceso .acordeon__panel { display: grid; grid-template-columns: 1fr 1fr; gap: var(--espacio-l); padding: 0 0 var(--espacio-l); border: 0; background: none; color: #353535; font: 300 var(--texto-m)/1.55 var(--letra); }
body .tostadero__proceso .acordeon__panel img { width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
@media (max-width: 767px) { body .tostadero__proceso .acordeon__panel { grid-template-columns: 1fr; } }
body .tostadero__alma.bloque-5050 { max-width: none; padding: 0; align-items: stretch; }
body .tostadero__alma .bloque-5050__dentro a { color: var(--burdeos); text-decoration: underline; }
/* Contacto: intro alineada a la izquierda y el formulario en una columna de 720 px bajo su título (sin la franja de
   tres columnas de antes). */
body .contacto__intro.contacto__intro { max-width: calc(var(--ancho-lectura) + 2 * var(--espacio-xl)); min-height: 0; padding-inline: var(--espacio-xl); }
body .contacto__intro.contacto__intro p { color: var(--texto); font: 300 var(--texto-l)/1.55 var(--letra); text-align: left; }
body .contacto.contacto { display: block; max-width: calc(720px + 2 * var(--espacio-xl)); margin-inline: auto; padding: var(--espacio-xl) var(--espacio-xl) var(--espacio-seccion); background: none; }
body .contacto.contacto .contacto__titulo, body .contacto.contacto .contacto__texto { width: auto; max-width: none; text-align: left; }
body .contacto.contacto .contacto__formulario, body .contacto.contacto .formulario__aviso { width: 100%; max-width: none; }
body .contacto.contacto .formulario__privacidad { color: var(--texto); }
body .tostadero__alma.bloque-5050 .bloque-5050__foto > img { position: absolute; inset: 0; width: 100%; max-width: none; height: 100%; margin: 0; object-fit: cover; }

/* ===================== Ajustes medidos a 390 px (comparar-estilos.py, 11 páginas) =====================
   Sobre todo alineación a la izquierda: el tema anterior centraba en móvil casi todos los textos. */
@media (max-width: 767px) {
	body .boletin__formulario.boletin__formulario.boletin__formulario { text-align: start; }
	body .boletin__texto.boletin__texto.boletin__texto { text-align: start; }
	body .boletin__titulo.boletin__titulo.boletin__titulo { text-align: start; }
	body .cabecera-archivo__subtitulo.cabecera-archivo__subtitulo.cabecera-archivo__subtitulo { text-align: start; }
	body .cabecera-archivo__texto.cabecera-archivo__texto.cabecera-archivo__texto { text-align: start; }
	body .cabecera-archivo__titulo.cabecera-archivo__titulo.cabecera-archivo__titulo { text-align: start; }
	body .cabecera__fila.cabecera__fila.cabecera__fila { min-height: 64px; padding-top: 0px; padding-bottom: 0px; }
	body .cabecera__menu.cabecera__menu.cabecera__menu { margin-top: 0px; }
	body .formulario__privacidad.formulario__privacidad.formulario__privacidad { text-align: start; }
	body .pie__columna.pie__columna.pie__columna { text-align: start; }
	body .pie__columnas.pie__columnas.pie__columnas { text-align: start; }
	body .pie__enlaces.pie__enlaces.pie__enlaces { text-align: start; }
	body .pie__iconos.pie__iconos.pie__iconos { text-align: start; }
	body .pie__titulo.pie__titulo.pie__titulo { text-align: start; }
	body .tarjeta__titulo.tarjeta__titulo.tarjeta__titulo { font-size: 17px; line-height: 18.7px; }
	body .tarjeta__acciones.tarjeta__acciones.tarjeta__acciones { margin-top: 16.5px; }
	body .contacto__intro.contacto__intro.contacto__intro { padding-right: 16px; padding-left: 16px; }
	body .contacto__texto.contacto__texto.contacto__texto { text-align: start; }
	body .contacto__titulo.contacto__titulo.contacto__titulo { text-align: start; }
	body .barra-envio.barra-envio.barra-envio { text-align: start; }
	body .barra-envio__pista.barra-envio__pista.barra-envio__pista { text-align: start; }
	body .barra-envio__relleno.barra-envio__relleno.barra-envio__relleno { text-align: start; }
	body .barra-envio__texto.barra-envio__texto.barra-envio__texto { text-align: start; }
	body .ficha__compra.ficha__compra.ficha__compra { text-align: start; }
	body .ficha__compra-titulo.ficha__compra-titulo.ficha__compra-titulo { margin-bottom: 0px; text-align: start; }
	body .ficha__cta.ficha__cta.ficha__cta { text-align: start; }
	body .ficha__dudas.ficha__dudas.ficha__dudas { text-align: start; }
	body .ficha__h2.ficha__h2.ficha__h2 { margin-top: 0px; letter-spacing: normal; text-align: start; }
	body .ficha__impuestos.ficha__impuestos.ficha__impuestos { text-align: start; }
	body .ficha__marca.ficha__marca.ficha__marca { min-height: 0px; text-align: start; }
	body .ficha__numero.ficha__numero.ficha__numero { text-align: start; }
	body .ficha__opciones.ficha__opciones.ficha__opciones { text-align: start; gap: 16px; justify-content: normal; align-items: normal; }
	body .ficha__pildoras.ficha__pildoras.ficha__pildoras { text-align: start; }
	body .ficha__seccion.ficha__seccion.ficha__seccion { margin-top: 0px; text-align: start; }
	body .ficha__texto.ficha__texto.ficha__texto { text-align: start; }
	body .quantity.quantity.quantity { text-align: start; }
	body .seccion__cabecera.seccion__cabecera.seccion__cabecera { margin-bottom: 16px; gap: 16px; justify-content: space-between; align-items: flex-end; }
	body .seccion__titulo.seccion__titulo.seccion__titulo { text-align: start; }
	body .compra__contenido.compra__contenido.compra__contenido { padding-bottom: 36px; }
	body .compra__heroe.compra__heroe.compra__heroe { text-align: start; }
	body .compra__titulo.compra__titulo.compra__titulo { padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; text-align: start; }
	body .contenedor.contenedor.contenedor { text-align: start; }
	body .woocommerce-form.woocommerce-form.woocommerce-form { padding-top: 20px; padding-right: 16px; padding-bottom: 20px; padding-left: 16px; }
	body .bloque-5050__texto.bloque-5050__texto.bloque-5050__texto { padding-top: 40px; padding-right: 16px; padding-bottom: 40px; padding-left: 16px; }
	body .tarjeta-tipo.tarjeta-tipo.tarjeta-tipo { text-align: start; flex-direction: row; }
	body .tarjeta-tipo__imagen.tarjeta-tipo__imagen.tarjeta-tipo__imagen { text-align: start; }
	body .tarjeta-tipo__marca.tarjeta-tipo__marca.tarjeta-tipo__marca { text-align: start; }
	body .tarjeta-tipo__nombre.tarjeta-tipo__nombre.tarjeta-tipo__nombre { text-align: start; }
	body .tarjeta-tipo__texto.tarjeta-tipo__texto.tarjeta-tipo__texto { text-align: start; }
	body .tarjeta-tipo__textos.tarjeta-tipo__textos.tarjeta-tipo__textos { text-align: start; }
	body .rejilla.rejilla.rejilla { min-height: 0px; }
	body .bloque-5050.bloque-5050.bloque-5050 { align-items: normal; }
	body .bloque-5050__titulo.bloque-5050__titulo.bloque-5050__titulo { font-size: 22px; font-weight: 600; line-height: 24.2px; color: rgb(46, 46, 46); }
}
/* Ficha en móvil: sin el centrado de ficha.css (la referencia alinea a la izquierda), el logo de la marca a su tamaño junto
   al número y la foto de la galería a 240 px de alto. */
@media (max-width: 767px) {
	body .ficha .ficha__resumen.ficha__resumen { padding: 0; text-align: left; }
	body .ficha .ficha__marca.ficha__marca { flex-wrap: nowrap; justify-content: flex-start; }
	body .ficha .ficha__marca .ficha__logo { width: 150px; max-width: 45vw; }
	body .ficha div.product .ficha__galeria .woocommerce-product-gallery__image img { height: 240px; object-fit: contain; }
	body .ficha .deseos--texto { align-self: flex-start; }
}
@media (max-width: 767px) { body .ficha .ficha__precio.ficha__precio { justify-content: flex-start; margin: 0; } }
/* Cuenta y deseos en el menú desplegable, solo en tableta y móvil (header.php). */
.navegacion__item--movil { display: none; }
@media (max-width: 1024px) { body .navegacion__item.navegacion__item--movil { display: flex; } }
/* Objetivos táctiles de al menos 24 px (WCAG 2.5.8, spec D10): la línea más baja del rediseño los dejaba en 18-21 px en las
   migas, el enlace de dudas de la ficha, «¿Olvidaste la contraseña?» y los títulos de las entradas en móvil. */
body .woocommerce-breadcrumb.woocommerce-breadcrumb a { display: inline-block; min-height: 24px; line-height: 24px; }
body .ficha .ficha__dudas { display: inline-block; min-height: 24px; line-height: 24px; }
body .compra--cuenta .woocommerce-LostPassword a { display: inline-block; min-height: 24px; line-height: 24px; }
body .tarjeta-entrada__titulo a { display: inline-block; min-height: 24px; }
.ficha__opiniones--sin .woocommerce-noreviews { display: none; }
body .contacto .contacto__formulario button:focus-visible, body .contacto .contacto__formulario button:focus { background: var(--burdeos); color: #fff; }
body .compra.compra--carrito .woocommerce table.shop_table.cart td.product-name a { display: inline-block; min-height: 24px; line-height: 1.2; } /* objetivo táctil de 24 px (D10) */
body.woocommerce-cart .compra .woocommerce.woocommerce { column-gap: 28px; }

/* ===================== Pie v2 (bloque PROPUESTA) ===================== */
.pie-v2 { background: var(--burdeos); color: #fff; }
.pie-v2__dentro { display: flex; flex-direction: column; gap: 32px; padding-block: 48px 28px; }
.pie-v2__arriba { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding-bottom: var(--espacio-l); border-bottom: 1px solid rgba(255, 255, 255, .18); }
.pie-v2__columnas { display: grid; grid-template-columns: 1fr 1.4fr 1.2fr; gap: 32px; }
.pie-v2__titulo { margin: 0 0 6px; color: var(--amarillo); font: 600 12px/1.2 var(--letra); letter-spacing: .12em; text-transform: uppercase; }
.pie-v2__redes { display: flex; gap: 10px; }
.pie-v2__redes a { justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; }
.pie-v2__abajo { display: flex; align-items: center; justify-content: space-between; gap: var(--espacio-s); padding-top: var(--espacio-l); border-top: 1px solid rgba(255, 255, 255, .18); color: var(--crema); font: 300 var(--texto-xs)/1.3 var(--letra); }
.pie-v2__pagos { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pie-v2__pago { padding: 6px 10px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 3px; color: #fff; font: 600 12px/1 var(--letra); }
.pie-v2 details { border-bottom: 1px solid rgba(255, 255, 255, .18); }
.pie-v2 summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; cursor: pointer; list-style: none; }
.pie-v2 summary::after { content: "+"; color: var(--amarillo); font: 400 22px/1 var(--letra); }
.pie-v2 details[open] summary::after { content: "–"; }
.pie-v2__movil { display: none; }
@media (max-width: 1024px) { .pie-v2__columnas { grid-template-columns: 1fr 1.5fr 1.3fr; } }
@media (max-width: 767px) {
	.pie-v2__dentro { gap: var(--espacio-xs); padding-block: 32px 22px; }
	.pie-v2__arriba { grid-template-columns: 1fr; padding-bottom: 20px; }
	.pie-v2__columnas { display: none; }
	.pie-v2__movil { display: flex; flex-direction: column; }
	.pie-v2__abajo { flex-direction: column; align-items: flex-start; border-top: 0; }
}

/* Sobre el marcado del tema: listas sin viñetas, títulos h2 y el botón de «Configurar cookies» como un enlace más. */
.pie-v2 ul { margin: 0; padding: 0; list-style: none; }
.pie-v2 h2.pie-v2__titulo { margin: 0 0 6px; }
.pie-v2__logo { width: 170px; height: auto; }
.pie-v2__redes .icono { width: 18px; height: 18px; }
.pie-v2 [data-consentimiento-abrir] { display: flex; align-items: center; min-height: 36px; padding: 0; border: 0; background: none; color: #fff; font: 300 var(--texto-s)/1.3 var(--letra); cursor: pointer; }
.pie-v2 [data-consentimiento-abrir]:hover { color: var(--amarillo); }
.pie-v2__canal { flex-direction: column; align-items: flex-start !important; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); }
.pie-v2__canal span:last-child { font: 400 16px var(--letra); }
.pie-v2 details .pie-v2__lista { padding-bottom: var(--espacio-s); }
.pie-v2 summary .pie-v2__titulo { margin: 0; }
.pie-v2__pagos-titulo { margin-right: 4px; }
.pie-v2__pago { justify-content: center; min-width: 44px; min-height: 32px !important; }
.pie-v2__pago .icono { width: 26px; height: 18px; }
.pie-v2__abajo p { margin: 0; }
.pie-v2 :focus-visible { outline: 2px solid #fff; outline-offset: 2px; } /* blanco sobre el burdeos del pie (CAMBIOS.md: «blanco sobre fondos oscuros») */

/* ============================================================================
 * NOVEDADES del rediseño (bloque PROPUESTA de handoff/estilos.css, desde la línea 550)
 * ============================================================================ */

/* Seccion genérica con cabecera de antetítulo + h2 */
.seccion { padding-block: var(--espacio-seccion); }
.seccion--gris { background: var(--gris-claro); }
.seccion--burdeos { background: var(--burdeos); color: #fff; }
.seccion--crema { background: var(--crema); }
.seccion__cabecera { display: flex; align-items: flex-end; justify-content: space-between; gap: var(--espacio-m); flex-wrap: wrap; margin-bottom: 32px; }
.seccion__titulo { margin: 4px 0 0; color: var(--enfasis); font: 600 var(--titulo-m)/1.05 var(--letra); letter-spacing: -.01em; text-transform: uppercase; }
.seccion--burdeos .seccion__titulo { color: #fff; }
.seccion--burdeos .antetitulo { color: var(--amarillo); }
.seccion__enlace { display: inline-flex; align-items: center; min-height: var(--objetivo-min); color: var(--rosa-texto); font: 600 var(--texto-m)/1 var(--letra); text-decoration: underline; text-underline-offset: 4px; }
.seccion--burdeos .seccion__enlace { color: var(--amarillo); }
@media (max-width: 767px) { .seccion__cabecera { margin-bottom: var(--espacio-m); } }

/* ---- Legales v2 (partes/pagina-legal.php) ----
 * Del handoff, con dos cambios: los estilos en línea de la cabecera pasan a clases, y el <select> que cambiaba de
 * página en móvil es un <details> con el mismo menú (.legal__desplegable). */
.legal__cabecera { padding-block: 36px; }
.legal__titulo.seccion__titulo { text-transform: none; }
.legal__fecha { margin: 8px 0 0; color: var(--crema); font-size: 14px; }
.legal__seccion.seccion { padding-block: 48px 88px; }
.legal { display: grid; grid-template-columns: 280px 1fr; gap: var(--espacio-2xl); align-items: start; }
.legal__lateral { position: sticky; top: var(--espacio-m); display: flex; flex-direction: column; gap: 18px; }
.legal__menu { display: flex; flex-direction: column; border-top: 2px solid var(--enfasis); }
.legal__menu a { display: flex; align-items: center; min-height: 48px; padding: 10px 0 10px var(--espacio-s); border-bottom: 1px solid var(--borde-suave); border-left: 3px solid transparent; color: var(--texto); font: 400 15px/1.3 var(--letra); }
.legal__menu a[aria-current="page"] { border-left-color: var(--burdeos); background: var(--fondo-calido); color: var(--burdeos); font-weight: 600; }
.legal__dudas { display: flex; flex-direction: column; gap: 6px; padding: var(--espacio-m); background: var(--crema); color: #353535; font: 300 var(--texto-s)/1.45 var(--letra); }
.legal__dudas b { color: var(--burdeos); font-weight: 600; }
.legal__dudas a { color: var(--burdeos); font-weight: 600; text-decoration: underline; }
.legal__texto { max-width: var(--ancho-lectura); }
.indice { padding: var(--espacio-m) 18px; border: 1px solid var(--borde); background: var(--fondo-calido); }
.indice p { margin: 0 0 10px; color: var(--enfasis); font: 600 var(--texto-xs) var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.indice ol { display: grid; grid-template-columns: 1fr 1fr; gap: 6px 24px; margin: 0; padding-left: 20px; font-size: 15px; }
.legal__acciones [hidden] { display: none; } /* .boton pone display y taparía el hidden del botón de imprimir */
.legal__acciones { display: flex; gap: var(--espacio-m); flex-wrap: wrap; margin-top: var(--espacio-l); padding-top: 18px; border-top: 1px solid var(--borde-suave); }
@media (max-width: 1024px) { .legal { grid-template-columns: 230px 1fr; gap: 32px; } }
.legal__texto.pagina { padding-block: 0; }
.indice a, .legal__dudas a { display: inline-block; padding-block: 3px; } /* objetivo táctil de 24 px */
.indice a { color: var(--burdeos); text-decoration: underline; text-underline-offset: 3px; }
.legal__texto > .pagina__contenido { margin-top: var(--espacio-l); }
.legal__desplegable { display: none; }
.legal__desplegable summary::after { content: "▾"; font-size: 16px; }
.legal__desplegable[open] summary::after { content: "▴"; }
.legal__desplegable .legal__menu { border-top: 0; }
.legal__desplegable summary { display: flex; align-items: center; justify-content: space-between; min-height: 48px; padding-inline: var(--espacio-s); border-top: 2px solid var(--enfasis); border-bottom: 1px solid var(--borde-suave); color: var(--burdeos); font: 600 var(--texto-xs) var(--letra); letter-spacing: .06em; text-transform: uppercase; cursor: pointer; }
@media (max-width: 1024px) { .legal { grid-template-columns: 230px 1fr; gap: 32px; } }
@media (max-width: 767px) {
	.legal { grid-template-columns: 1fr; gap: var(--espacio-l); }
	.legal__lateral { position: static; }
	.legal__menu:not(.legal__menu--movil) { display: none; }
	.legal__desplegable { display: block; }
	.indice ol { grid-template-columns: 1fr; }
}
@media print { .cabecera, .pie, .pie-v2, .legal__lateral, .legal__acciones, .boletin, .consentimiento { display: none; } .legal { display: block; } }

/* ---- Tostadero v2 (page-nuestro-tostadero.php) ----
 * Del handoff, con las fotos como <img> (son contenido, llevan alt) en vez de fondos, y los estilos en línea en
 * clases. Sin JavaScript la lista de pestañas y el regulador van ocultos ([hidden]) y se ven las cinco etapas. */
.tost-hero { position: relative; display: flex; align-items: flex-end; min-height: 640px; background: center / cover; color: #fff; }
.tost-hero::before { content: ""; position: absolute; inset: 0; background: rgba(49, 2, 28, .72); }
.tost-hero__dentro { position: relative; display: flex; flex-direction: column; gap: 26px; padding-block: 80px 40px; }
.tost-hero__titulo { margin: 0; font: 600 72px/1 var(--letra); text-transform: uppercase; }
.tost-hero__cita { margin: 0; max-width: 880px; color: var(--crema); font: 300 28px/1.35 var(--letra); }
.saltos { display: grid; grid-template-columns: repeat(5, 1fr); gap: 1px; background: rgba(255, 255, 255, .22); border: 1px solid rgba(255, 255, 255, .22); }
.saltos a { display: flex; flex-direction: column; gap: 4px; min-height: 76px; padding: var(--espacio-s) 14px; background: rgba(49, 2, 28, .55); color: #fff; }
.saltos a:hover { background: var(--amarillo); color: var(--burdeos); text-decoration: none; }
.saltos b { color: var(--amarillo); font: 700 22px var(--letra); }
.saltos a:hover b { color: var(--burdeos); }
.etapas { display: grid; grid-template-columns: 360px 1fr; gap: 48px; align-items: start; }
.etapas__lista { margin: 0; padding: 0; list-style: none; border-top: 2px solid var(--enfasis); }
.etapas__lista li { border-bottom: 1px solid #e6dfda; }
.etapas__lista button { display: grid; grid-template-columns: 56px 1fr; align-items: center; gap: var(--espacio-s); width: 100%; min-height: 72px; padding: var(--espacio-s) 0; border: 0; background: none; color: var(--texto); font: 400 19px/1.2 var(--letra); text-align: left; cursor: pointer; }
.etapas__lista b { color: var(--borde-control); font: 700 30px var(--letra); }
.etapas__lista [aria-selected="true"] { color: var(--burdeos); font-weight: 600; }
.etapas__lista [aria-selected="true"] b { color: var(--amarillo-texto); }
.etapa { display: grid; grid-template-columns: .85fr 1.15fr; background: var(--fondo-calido); border: 1px solid var(--borde-suave); }
.etapa__foto { position: relative; min-height: 380px; background: center / cover; }
.etapa__foto span { position: absolute; left: var(--espacio-m); bottom: var(--espacio-m); padding: 6px 12px; background: var(--burdeos); color: #fff; font: 600 var(--texto-xs) var(--letra); letter-spacing: .08em; }
.etapa__texto { display: flex; flex-direction: column; gap: 14px; padding: 32px; }
.etapa__texto h3 { margin: 0; color: var(--burdeos); font: 600 28px/1.15 var(--letra); }
.etapa__texto p { margin: 0; color: #353535; font: 300 var(--texto-m)/1.5 var(--letra); }
.tueste { display: grid; grid-template-columns: 1fr 1.15fr; gap: var(--espacio-2xl); align-items: center; }
.tueste__caja { display: flex; flex-direction: column; gap: 18px; padding: 32px; background: var(--burdeos-oscuro); }
.tueste__cabeza { display: flex; justify-content: space-between; align-items: baseline; gap: var(--espacio-s); }
.tueste__temp { font: 700 60px/1 var(--letra); }
.tueste__fase { padding: 6px 12px; border: 1px solid var(--amarillo); color: var(--amarillo); font: 600 var(--texto-xs) var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.tueste__regulador { width: 100%; min-height: var(--objetivo-min); accent-color: var(--amarillo); }
.tueste__marcas { display: flex; justify-content: space-between; color: var(--crema); font: 300 12px var(--letra); }
.tueste__texto { margin: 0; min-height: 52px; font: 300 17px/1.5 var(--letra); }
@media (max-width: 1024px) { .etapas { grid-template-columns: 260px 1fr; gap: var(--espacio-l); } .etapa, .tueste { grid-template-columns: 1fr; } .etapa__foto { min-height: 0; aspect-ratio: 16 / 10; } .tost-hero__titulo { font-size: 56px; } .tost-hero__cita { font-size: 24px; } }
@media (max-width: 767px) { .tost-hero { min-height: 560px; } .tost-hero__titulo { font-size: 40px; } .tost-hero__cita { font-size: 19px; } .saltos a { min-height: 58px; } .saltos span { display: none; } .etapas { grid-template-columns: 1fr; } .etapas__lista { display: flex; gap: 6px; overflow-x: auto; border: 0; } .etapas__lista li { border: 0; } .etapas__lista button { display: flex; min-height: var(--objetivo-min); padding: 0 14px; border: 1.5px solid var(--borde-control); border-radius: var(--radio-pastilla); font-size: var(--texto-s); white-space: nowrap; } .etapas__lista b { font-size: var(--texto-s); } .etapa__texto { padding: 18px var(--espacio-m); } .tueste__caja { padding: 20px var(--espacio-m); } .tueste__temp { font-size: 44px; } }

/* ---- Propuesta · Lista de deseos ---- */
.anadir-todo { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 14px; }
.tost-hero { overflow: hidden; }
.tost-hero::before { z-index: 1; } /* el velo, sobre la foto (que va después en el DOM) */
.tost-hero__dentro { z-index: 2; }
.etapa[hidden] { display: none; } /* .etapa pone display: grid y taparía el hidden de las pestañas */
.tost-hero__foto { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.tost-hero__antetitulo.antetitulo { color: var(--amarillo); }
body .tostadero__titulo.seccion__titulo { margin-bottom: 40px; text-transform: none; }
.etapas__lista[hidden] { display: none; }
.etapas__paneles { display: flex; flex-direction: column; gap: var(--espacio-m); }
.etapas:has(.etapas__lista[hidden]) { grid-template-columns: 1fr; }
.etapa__foto img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.etapa__foto span { z-index: 1; }
.etapa__texto ul { margin: 0; padding-left: 20px; color: #353535; font: 300 var(--texto-m)/1.5 var(--letra); }
.etapa__texto strong { font-weight: 600; }
.tueste__titulo.seccion__titulo { text-transform: none; }
.tueste__intro { color: var(--crema); }
@media (max-width: 767px) { .saltos span { display: block; position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } } /* el handoff los quitaba con display: none y el acceso se quedaba en «01» para el lector de pantalla */

/* ---- Lista de deseos v2 (page-mi-lista-deseos.php) ----
 * Piezas comunes de la propuesta (caja, rótulo) y los estilos en línea del handoff pasados a clases. */
.caja { background: #fff; border: 1px solid var(--borde); }
.caja--pad { padding: 18px; }
.caja__titulo { margin: 0 0 var(--espacio-s); color: var(--enfasis); font: 600 17px/1.2 var(--letra); }
.rotulo { margin: 0; color: var(--amarillo); font: 400 44px/1 var(--rotulo); }
.lista-deseos__cabecera { padding-block: 36px; }
.lista-deseos__cabecera > .contenedor { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 12px; }
.lista-deseos__h1.seccion__titulo { text-transform: none; }
.lista-deseos__cuenta { margin: 0; color: var(--crema); }
.lista-deseos__cuerpo { padding-block: 32px 56px; }
.lista-deseos.contenedor { display: flex; flex-direction: column; gap: 18px; }
.lista-deseos__nota { margin: 0; color: var(--gris-texto); font-size: 14px; }
.lista-deseos__nota a { color: var(--burdeos); text-decoration: underline; }
.lista-deseos__vacia { display: flex; flex-direction: column; align-items: flex-start; gap: 12px; }
.lista-deseos__vacia .seccion__titulo { font-size: var(--titulo-s); text-transform: none; }
.lista-deseos__vacia p:not([class]) { margin: 0; }
.lista-deseos__sugerencias.seccion { padding-block: 40px 64px; }
.lista-deseos__sugerencias .caja__titulo { font-size: 26px; }
.lista-deseos__titulo.caja { margin: 0; color: var(--burdeos); font: 600 17px/1.2 var(--letra); }
body .rejilla--4 .tarjeta .tarjeta__acciones .button.button { padding-inline: 8px; font-size: 14px; } /* a 4 columnas, «Seleccionar opciones» a 17 px partía en dos líneas */

/* ---- Carrito vacío v2 (woocommerce/cart/cart-empty.php) ---- */
.vacio { display: grid; grid-template-columns: 1fr 1.2fr; gap: 28px; align-items: center; }
.vacio > div:first-child { display: flex; flex-direction: column; align-items: flex-start; gap: var(--espacio-s); }
.rotulo { margin: 0; color: var(--amarillo); font: 400 44px/1 var(--rotulo); }
.accesos { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--espacio-xs); }
.acceso { display: flex; flex-direction: column; gap: 6px; padding: var(--espacio-s); border: 1.5px solid var(--borde-suave); color: var(--enfasis); }
.acceso:hover { border-color: var(--burdeos); text-decoration: none; color: var(--enfasis); }
.acceso img { width: 100%; height: 120px; object-fit: contain; }
.acceso span { font: 600 var(--texto-m)/1.1 var(--letra); }
.acceso small { color: var(--burdeos); font: 600 var(--texto-xs) var(--letra); }
.vacio .seccion__titulo { text-transform: none; }
.vacio p:not([class]) { margin: 0; }
.acceso:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.carrito-vacio__vendidos { margin-top: 28px; }
.carrito-vacio__vendidos .caja__titulo { font-size: 26px; }
@media (max-width: 1024px) { .vacio { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .acceso img { height: 80px; } }

/* ---- Mi cuenta v2 (inc/compra.php y assets/js/cuenta.js) ----
 * Del handoff, sobre el marcado de WooCommerce (#customer_login con sus dos columnas) en vez del suyo. */
.cuenta { display: grid; grid-template-columns: 1.25fr 1fr; gap: 28px; align-items: start; max-width: 1100px; }
.pestanas-caja { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid var(--borde); }
.pestanas-caja button { min-height: 56px; border: 0; border-bottom: 3px solid transparent; background: #fff; color: var(--gris-texto); font: 600 17px var(--letra); cursor: pointer; }
.pestanas-caja [aria-selected="true"] { border-bottom-color: var(--burdeos); color: var(--burdeos); }
.ventajas { display: flex; flex-direction: column; gap: var(--espacio-m); padding: 28px; background: var(--burdeos); color: #fff; }
.ventajas .rotulo { font-size: 38px; }
.ventaja { display: flex; flex-direction: column; gap: 2px; padding-left: var(--espacio-s); border-left: 3px solid var(--amarillo); }
.ventaja span { color: var(--crema); font: 300 var(--texto-s)/1.4 var(--letra); }
.ventajas__nota { margin: 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .2); color: var(--crema); font: 300 var(--texto-s)/1.45 var(--letra); }
.ventajas__nota a { color: #fff; text-decoration: underline; }
@media (max-width: 1024px) { .cuenta { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .cuenta__form, .ventajas { padding: 20px var(--espacio-m); } }
body.woocommerce-account .cuenta__caja #customer_login.col2-set { display: block; }
body.woocommerce-account .cuenta__caja #customer_login > div { width: auto; float: none; padding: 28px; }
body.woocommerce-account .cuenta__caja #customer_login > div + div:not([hidden]) { border-top: 1px solid var(--borde); } /* sin JavaScript, uno debajo del otro */
body.woocommerce-account .cuenta__caja #customer_login > [hidden] { display: none; }
.pestanas-caja button:focus-visible { outline: 2px solid var(--burdeos); outline-offset: -4px; }
body.woocommerce-account .cuenta__caja form.login, body.woocommerce-account .cuenta__caja form.register { margin: 0; padding: 0; border: 0; } /* la caja ya es la caja */
body.woocommerce-account .cuenta__caja .rememberme, body.woocommerce-account .cuenta__caja .woocommerce-form-login__rememberme { font-size: 15px; }
body.woocommerce-account .cuenta__caja .button { text-transform: uppercase; }
.cuenta { margin-inline: auto; }

/* ---- Tienda v2 (taxonomy-product_cat-cafe.php) ---- */
.barra-tienda { position: sticky; top: 0; z-index: 4; background: #fff; border-bottom: 1px solid var(--borde-suave); }
.barra-tienda__dentro { display: flex; align-items: center; gap: var(--espacio-m); padding-block: var(--espacio-s); }
.pestanas { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.pestanas button, .pestanas a { flex: none; display: inline-flex; align-items: center; gap: 8px; min-height: var(--objetivo-min); padding: 0 var(--espacio-m); border: 1.5px solid var(--borde-control); border-radius: var(--radio-pastilla); background: #fff; color: var(--burdeos); font: 600 15px/1 var(--letra); cursor: pointer; }
.pestanas span { font-weight: 400; font-size: var(--texto-xs); opacity: .75; }
.pestanas [aria-selected="true"], .pestanas [aria-current="page"] { border-color: var(--burdeos); background: var(--burdeos); color: #fff; }
.grupo { display: flex; flex-direction: column; gap: 14px; }
.grupo__cabecera { display: flex; align-items: baseline; justify-content: space-between; flex-wrap: wrap; gap: var(--espacio-s); padding-bottom: 10px; border-bottom: 2px solid var(--enfasis); }
.grupo__cabecera h2 { margin: 0; color: var(--enfasis); font: 600 var(--titulo-s)/1.1 var(--letra); text-transform: uppercase; }
.grupo__cabecera p { margin: 0; color: var(--texto); font: 300 15px/1.35 var(--letra); }
.pestanas a { text-decoration: none; }
.pestanas a:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.tienda-v2__cabecera { padding-block: 40px; }
.tienda-v2__titulo.seccion__titulo { text-transform: none; }
.tienda-v2__resumen { margin: 10px 0 0; color: var(--crema); }
.tienda-v2__grupos { padding-block: 40px 72px; }
.tienda-v2__grupos .contenedor { display: flex; flex-direction: column; gap: 48px; }
.grupo { scroll-margin-top: 80px; }
@media (max-width: 767px) { .barra-tienda__dentro { flex-wrap: wrap; } .pestanas { flex: 1 1 100%; } }

/* ---- Archivos v2 (archive-product.php, partes/cabecera-archivo.php y partes/filtros.php) ---- */
.pestanas--oscuras a { background: transparent; border-color: rgba(255, 255, 255, .5); color: #fff; }
.pestanas--oscuras a[aria-current="page"] { background: var(--amarillo); border-color: var(--amarillo); color: var(--burdeos); }
.insignia { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--burdeos); color: #fff; font: 600 12px/20px var(--letra); }
.resultados { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.resultados p { margin: 0; color: var(--texto); }
.chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px; }
.chip { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 12px; border: 0; border-radius: var(--radio-pastilla); background: var(--burdeos); color: #fff; font: 500 var(--texto-s) var(--letra); cursor: pointer; }
.filtros__limpiar { min-height: 32px; border: 0; background: none; color: var(--rosa-texto); font: 500 var(--texto-s) var(--letra); text-decoration: underline; cursor: pointer; }
.cabecera-archivo .pestanas { margin-top: 14px; }
.chip { text-decoration: none; }
.chip:hover { color: #fff; background: var(--enfasis); }
.chips .filtros__limpiar { display: inline-flex; align-items: center; min-height: 36px; }
.resultados { justify-content: space-between; flex-wrap: wrap; }
.resultados .woocommerce-ordering { margin: 0 0 0 auto; }
.resultados .orderby { width: auto; min-height: var(--objetivo-min); }
body .filtros__abrir.filtros__abrir { display: none; } /* .boton le pone display */
@media (max-width: 767px) {
	body .filtros__abrir.filtros__abrir:not([hidden]) { display: inline-flex; gap: 8px; min-height: var(--objetivo-min); }
	.filtros--plegable:not(.abierto) { display: none; }
	.filtros--plegable { margin-top: var(--espacio-s); }
}

/* ---- Carrito v2 (inc/compra.php, partes/pagina-compra.php y assets/js/carrito.js) ----
 * Del handoff; la cantidad envuelve al campo de WooCommerce (no a un <span>), y el resumen es .cart-collaterals. */
.pasos { display: flex; gap: 6px; margin: 0; padding: 0; list-style: none; font: 500 var(--texto-xs)/1 var(--letra); }
.pasos li { padding: 8px 12px; border: 1px solid rgba(255, 255, 255, .4); color: var(--crema); }
.pasos [aria-current="step"] { border-color: var(--amarillo); background: var(--amarillo); color: var(--burdeos); }
.cantidad { display: grid; grid-template-columns: 40px 36px 40px; align-items: center; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); }
.cantidad button { height: 40px; border: 0; background: none; color: var(--burdeos); font: 500 20px/1 var(--letra); cursor: pointer; }
.cantidad span { text-align: center; font-weight: 600; }
.sugerencias { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; }
.sugerencia { display: grid; grid-template-columns: 52px 1fr; gap: 10px; align-items: center; padding: var(--espacio-xs); border: 1px solid var(--borde-suave); background: #fff; }
.sugerencia img { width: 52px; height: 76px; object-fit: contain; }
.sugerencia > div { display: flex; flex-direction: column; gap: 4px; }
.sugerencia strong { color: var(--burdeos); font-size: var(--texto-s); }
.boton-mini { align-self: flex-start; min-height: 36px; padding: 0 12px; border: 1.5px solid var(--rosa); border-radius: var(--radio-boton); background: #fff; color: var(--rosa-texto); font: 600 var(--texto-s) var(--letra); cursor: pointer; }
.boton-mini:hover { background: var(--rosa-claro); }
.resumen__garantias { display: flex; flex-direction: column; gap: var(--espacio-xs); padding-top: var(--espacio-s); border-top: 1px solid var(--borde-suave); }
.resumen__garantias p { margin: 0; padding-left: 10px; border-left: 3px solid var(--amarillo); color: var(--texto); font: 300 var(--texto-s)/1.35 var(--letra); }
.resumen__garantias b { color: var(--burdeos); }
.compra__heroe .contenedor { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; }
.cantidad { display: inline-grid; }
body .compra.compra--carrito .woocommerce table.shop_table.cart .cantidad input.qty { width: 36px; min-height: 40px; padding: 0; border: 0; background: none; text-align: center; font-weight: 600; -moz-appearance: textfield; } /* dentro de − y + (carrito.js) */
.cantidad input.qty::-webkit-inner-spin-button, .cantidad input.qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
.cantidad button:focus-visible { outline: 2px solid var(--burdeos); outline-offset: -2px; }
.sugerencia a { padding-block: 4px; color: var(--enfasis); font: 600 15px/1.15 var(--letra); text-decoration: none; } /* 24 px de objetivo */
.carrito__sugerencias { margin-top: 18px; }
.boton-mini:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }
body.woocommerce-cart .cart-collaterals { position: sticky; top: var(--espacio-m); }
.resumen__garantias { margin-top: 18px; }
@media (max-width: 1024px) { body.woocommerce-cart .cart-collaterals { position: static; } }
@media (max-width: 767px) { .sugerencias { grid-template-columns: 1fr; } }
body.woocommerce-cart table.cart .product-remove.product-remove { width: 76px; white-space: nowrap; } /* «Eliminar» con palabra (rediseño v2) no cabía en la columna de la ×

/* ---- Contacto v2 (page-contacto.php) ---- */
.contacto-v2__cab { display: grid; grid-template-columns: 1.2fr 1fr; gap: 56px; align-items: end; }
.canales { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.canal { display: flex; flex-direction: column; gap: 4px; padding: 18px 20px; background: #fff; color: var(--burdeos); }
.canal:hover { background: var(--crema); text-decoration: none; color: var(--burdeos); }
.canal small { color: var(--gris-texto); font: 600 12px var(--letra); letter-spacing: .1em; text-transform: uppercase; }
.canal b { font: 600 22px/1.1 var(--letra); overflow-wrap: anywhere; }
.canal span { color: var(--rosa-texto); font: 500 var(--texto-s) var(--letra); }
.canal--ancho { grid-column: 1 / -1; }
.contacto-v2 { display: grid; grid-template-columns: 1.4fr 1fr; gap: var(--espacio-2xl); align-items: start; }
.contacto-v2__lado { display: flex; flex-direction: column; gap: 14px; }
.rapidas { display: flex; flex-direction: column; border-top: 2px solid var(--enfasis); }
.rapidas p { margin: 14px 0 4px; font: 600 var(--texto-xs) var(--letra); letter-spacing: .1em; text-transform: uppercase; }
.rapidas a { display: flex; flex-direction: column; gap: 2px; padding: var(--espacio-s) 0; border-bottom: 1px solid var(--borde-suave); color: var(--enfasis); }
.rapidas a span { color: var(--texto); font: 300 var(--texto-s) var(--letra); }
.contacto-v2__cabecera { padding-block: 56px; }
.contacto-v2__titulo.seccion__titulo { text-transform: none; }
.contacto-v2__intro { margin: 12px 0 0; color: var(--crema); }
.canal { text-decoration: none; }
.canal:focus-visible, .rapidas a:focus-visible { outline: 2px solid var(--amarillo); outline-offset: 2px; }
.contacto-v2.contenedor { padding-block: 64px 88px; }
body .contacto-v2 .contacto.contacto { max-width: none; margin: 0; padding: 0; }
.rapidas a { text-decoration: none; }
.rapidas a:hover { color: var(--burdeos); }
@media (max-width: 1024px) { .contacto-v2__cab, .contacto-v2 { grid-template-columns: 1fr; gap: 32px; } }
@media (max-width: 767px) { .canal b { font-size: 18px; } .contacto-v2.contenedor { padding-block: 36px 56px; } }

/* ---- Nosotros v2 (page-nosotros.php) ---- */
.nosotros-v2__cab { display: grid; grid-template-columns: 1fr 1.25fr; gap: var(--espacio-2xl); }
.nosotros-v2__intro p { margin: 0; color: var(--crema); font: 300 17px/1.6 var(--letra); }
.nosotros-v2__intro strong { color: #fff; }
.cifras { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--espacio-l); margin-top: 40px; padding-top: 28px; border-top: 1px solid rgba(255, 255, 255, .18); }
.cifras div { display: flex; flex-direction: column; gap: 4px; }
.cifras b { color: var(--amarillo); font: 700 30px/1 var(--letra); }
.cifras span { color: var(--crema); font: 300 var(--texto-s)/1.35 var(--letra); }
.linea-tiempo { position: relative; display: flex; flex-direction: column; gap: 72px; margin: 0; padding: 0 0 0 48px; list-style: none; }
.linea-tiempo::before { content: ""; position: absolute; top: 8px; bottom: 8px; left: 7px; width: 2px; background: var(--amarillo); }
.hito { position: relative; display: grid; grid-template-columns: 1fr 1.1fr; gap: 56px; align-items: start; }
.hito::before { content: ""; position: absolute; left: -48px; top: 10px; width: 16px; height: 16px; border: 3px solid var(--amarillo); border-radius: 50%; background: var(--burdeos); }
.hito__anio { color: var(--amarillo-texto); font: 700 72px/1 var(--letra); letter-spacing: -.03em; }
.hito h3 { margin: 10px 0; color: var(--burdeos); font: 600 19px/1.15 var(--letra); text-transform: uppercase; }
.hito p { margin: 0; color: #353535; font: 300 17px/1.6 var(--letra); }
.hito figure { margin: 0; }
.hito img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
.hito figcaption { margin-top: var(--espacio-xs); color: var(--gris-texto); font: 300 var(--texto-xs) var(--letra); }
@media (max-width: 1024px) { .nosotros-v2__cab, .hito { grid-template-columns: 1fr; gap: 20px; } .cifras { grid-template-columns: 1fr 1fr; } .hito__anio { font-size: 60px; } }
@media (max-width: 767px) { .linea-tiempo { gap: 40px; padding-left: 32px; } .hito::before { left: -32px; } .hito__anio { font-size: 44px; } .cifras b { font-size: 24px; } }
.nosotros-v2__cabecera { padding-block: 64px 48px; }
.nosotros-v2__intro p + p { margin-top: 14px; }
.nosotros-v2__titulo.seccion__titulo { margin-bottom: 48px; text-transform: none; }
.hito__anio { display: block; }
.hito p + p { margin-top: 12px; }

/* ---- Portadas v2 y v3 para el A/B (partes/portada-v2.php, partes/portada-v3.php y sus partes) ----
 * Del handoff (bloque PROPUESTA), con los estilos en línea pasados a clases y las fotos como <img>. */

/* Hero de tienda v2: texto sobre burdeos + foto del tambor a sangre + tarjeta de producto destacado */
.hero-tienda { display: grid; grid-template-columns: 1fr 1fr; background: var(--burdeos); color: #fff; }
.hero-tienda__texto { display: flex; flex-direction: column; justify-content: center; gap: 20px; padding: var(--espacio-2xl) 56px var(--espacio-2xl) var(--espacio-xl); }
.hero-tienda__titulo { margin: 0; font: 600 var(--titulo-xl)/1.02 var(--letra); letter-spacing: -.02em; text-transform: uppercase; }
.hero-tienda__entradilla { margin: 0; max-width: 520px; color: var(--crema); font: 300 20px/1.45 var(--letra); }
.hero-tienda__foto { position: relative; min-height: 600px; background: center / cover no-repeat; }
.hero-tienda .antetitulo { color: var(--amarillo); }
.formatos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espacio-xs); max-width: 480px; }
.formatos__opcion { display: flex; flex-direction: column; justify-content: center; min-height: 66px; padding: 10px 14px; border: 1px solid rgba(255, 255, 255, .55); border-radius: 4px; color: #fff; }
.formatos__opcion:hover { background: #fff; color: var(--burdeos); text-decoration: none; }
.formatos__nombre { font: 600 19px/1.1 var(--letra); }
.formatos__detalle { margin-top: 4px; font: 300 var(--texto-xs)/1.2 var(--letra); }
.destacado { position: absolute; left: 24px; bottom: 24px; display: flex; align-items: center; gap: 14px; width: 300px; padding: 12px 16px 12px 12px; background: #fff; color: var(--enfasis); }
@media (max-width: 1024px) { .hero-tienda__foto { min-height: 520px; } .destacado { left: 16px; right: 16px; bottom: 16px; width: auto; } }
@media (max-width: 767px) { .hero-tienda { grid-template-columns: 1fr; } .hero-tienda__texto { padding: 26px var(--espacio-m) 28px; gap: 14px; } .hero-tienda__foto, .hero-tienda__entradilla, .hero-tienda__cta { display: none; } }

/* Franja de condiciones (envío, plazo, pago, devoluciones) */
.condiciones { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--espacio-m) var(--espacio-l); padding-block: 22px; }
.condiciones__item { display: flex; flex-direction: column; gap: 2px; padding-left: 14px; border-left: 3px solid var(--amarillo); }
.condiciones__titulo { color: var(--burdeos); font: 600 var(--texto-m)/1.2 var(--letra); }
.condiciones__detalle { color: var(--texto); font: 300 15px/1.3 var(--letra); }
@media (max-width: 1024px) { .condiciones { grid-template-columns: 1fr 1fr; } }

/* Tarjeta de compra: formato grano/molido + añadir al carrito en listados */
.tarjeta-compra { display: flex; flex-direction: column; background: #fff; border: 1px solid var(--borde); }
.tarjeta-compra__imagen { position: relative; display: flex; justify-content: center; padding: var(--espacio-m) var(--espacio-m) 0; }
.tarjeta-compra__imagen img { width: 100%; height: 300px; object-fit: contain; }
.tarjeta-compra__numero { position: absolute; top: 10px; left: 10px; display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 50%; background: var(--amarillo); color: var(--burdeos); font: 700 var(--texto-s)/1 var(--letra); }
.tarjeta-compra__cuerpo { display: flex; flex: 1; flex-direction: column; gap: 10px; padding: 18px 20px 20px; }
.tarjeta-compra__nombre { margin: 0; color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); text-transform: uppercase; }
.tarjeta-compra__notas { flex: 1; margin: 0; color: var(--texto); font: 300 15px/1.35 var(--letra); }
.tarjeta-compra__precio { margin: 0; display: flex; align-items: baseline; gap: var(--espacio-xs); color: var(--burdeos); font: 700 21px/1 var(--letra); }
.tarjeta-compra__precio small { color: var(--gris-texto); font: 300 var(--texto-s)/1 var(--letra); }
.segmentado { display: grid; grid-template-columns: 1fr 1fr; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); overflow: hidden; }
.segmentado label { position: relative; }
.segmentado input { position: absolute; opacity: 0; }
.segmentado span { display: flex; align-items: center; justify-content: center; min-height: var(--objetivo-min); background: #fff; color: var(--burdeos); font: 500 15px/1 var(--letra); cursor: pointer; }
.segmentado label + label span { border-left: 1px solid var(--borde-control); }
.segmentado input:checked + span { background: var(--burdeos); color: #fff; }
.segmentado input:focus-visible + span { outline: 2px solid var(--burdeos); outline-offset: -3px; }
.tarjeta-compra .boton { min-height: 48px; font-size: 19px; text-transform: none; }
.rejilla-compra { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--espacio-l); }
@media (max-width: 1024px) { .rejilla-compra { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; } .tarjeta-compra__imagen img { height: 280px; } }
@media (max-width: 767px) {
	.rejilla-compra { gap: 10px; }
	.tarjeta-compra__imagen { padding: var(--espacio-xs) 4px 0; }
	.tarjeta-compra__imagen img { height: 160px; }
	.tarjeta-compra__numero { width: 30px; height: 30px; font-size: 12px; }
	.tarjeta-compra__cuerpo { gap: var(--espacio-xs); padding: 10px; }
	.tarjeta-compra__notas { font-size: var(--texto-xs); }
	.tarjeta-compra__precio { font-size: 17px; }
	.segmentado span { font-size: var(--texto-s); }
}

/* Orígenes sobre burdeos (v2) */
.origenes { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--espacio-l); }
.origen { display: flex; flex-direction: column; gap: var(--espacio-m); color: #fff; }
.origen:hover { color: #fff; text-decoration: none; }
.origen__foto { aspect-ratio: 4 / 5; overflow: hidden; background: var(--burdeos-oscuro); }
.origen__foto img { width: 100%; height: 100%; object-fit: cover; transform: scale(1.16); }
.origen__pais { margin: 0; font: 600 26px/1.05 var(--letra); text-transform: uppercase; }
.origen__ficha { margin: 0; color: var(--crema); font: 500 var(--texto-xs)/1.3 var(--letra); letter-spacing: .06em; text-transform: uppercase; }
.origen__notas { margin: 0; font: 300 15px/1.4 var(--letra); }
.origen__precio { margin: 0; color: var(--amarillo); font: 600 17px/1 var(--letra); }
@media (max-width: 1024px) { .origenes { grid-template-columns: repeat(2, minmax(0, 1fr)); } .origen__foto { aspect-ratio: 4 / 3; } }
@media (max-width: 767px) { .origenes { grid-template-columns: 1fr; gap: 10px; } .origen { flex-direction: row; gap: 14px; } .origen__foto { flex: none; width: 104px; aspect-ratio: 1 / 1.2; } .origen__pais { font-size: 21px; } }

/* Selector por método (v3) */
.metodos { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--espacio-xs); }
.metodos button { display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 3px; min-height: 68px; padding: 10px 14px; border: 1.5px solid var(--borde-control); border-radius: 4px; background: #fff; color: var(--burdeos); text-align: left; cursor: pointer; }
.metodos button[aria-selected="true"] { border-color: var(--burdeos); background: var(--burdeos); color: #fff; }
.metodos__nombre { font: 600 18px/1.1 var(--letra); }
.metodos__detalle { font: 300 var(--texto-xs)/1.2 var(--letra); }
.recomendados { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.recomendado { display: flex; flex-direction: column; gap: var(--espacio-s); padding: var(--espacio-s); background: var(--fondo-calido); border: 1px solid var(--borde-suave); }
.recomendado img { width: 100%; height: 230px; object-fit: contain; background: #fff; }
.recomendado__tipo { color: var(--amarillo-texto); font: 700 12px/1 var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.recomendado__nombre { margin: 0; color: var(--enfasis); font: 600 20px/1.1 var(--letra); text-transform: uppercase; }
@media (max-width: 1024px) { .metodos { grid-template-columns: repeat(4, minmax(0, 1fr)); } .recomendado img { height: 200px; } }
@media (max-width: 767px) { .metodos { grid-template-columns: repeat(2, minmax(0, 1fr)); } .metodos button { min-height: 58px; } .recomendados { grid-template-columns: 1fr; gap: var(--espacio-xs); } .recomendado { flex-direction: row; } .recomendado img { flex: none; width: 84px; height: 118px; } }

/* Lista numerada de blends (v3) */
.lista-blends { display: grid; grid-template-columns: 1fr 1fr; column-gap: 48px; border-top: 2px solid var(--enfasis); }
.lista-blends__fila { display: grid; grid-template-columns: 56px 92px 1fr; gap: 20px; align-items: center; padding: 20px 0; border-bottom: 1px solid #e6dfda; }
.lista-blends__numero { color: var(--amarillo-texto); font: 700 40px/1 var(--letra); letter-spacing: -.03em; }
.lista-blends__fila img { width: 100%; height: 146px; object-fit: cover; }
@media (max-width: 1024px) { .lista-blends { grid-template-columns: 1fr; } }
@media (max-width: 767px) { .lista-blends__fila { grid-template-columns: 34px 64px 1fr; gap: 10px; padding: 14px 0; } .lista-blends__numero { font-size: 24px; } .lista-blends__fila img { height: 100px; } }

.hero-tienda__foto { overflow: hidden; }
.hero-tienda__foto > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.hero-tienda__rotulo.antetitulo { color: #fff; letter-spacing: .04em; }
.hero-tienda__cta { align-self: flex-start; }
.formatos__opcion, .destacado { text-decoration: none; }
.formatos__opcion:focus-visible, .destacado:focus-visible { outline: 2px solid var(--amarillo); outline-offset: 2px; }
.destacado img { width: 64px; height: 100px; object-fit: cover; }
.destacado__texto { display: flex; flex-direction: column; gap: 2px; }
.destacado__numero { color: var(--amarillo-texto); font: 700 12px/1 var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.destacado__nombre { font: 600 19px/1.15 var(--letra); }
.destacado__notas { color: var(--texto); font: 300 14px/1.3 var(--letra); }
.destacado__precio { margin-top: 4px; color: var(--burdeos); font: 600 17px/1 var(--letra); }
.condiciones-franja--blanca { background: #fff; border-bottom: 1px solid var(--borde-suave); }
.condiciones-franja--crema { background: var(--crema); }
p.condiciones__item { margin: 0; }
a.condiciones__item { text-decoration: none; }
a.condiciones__item:hover .condiciones__detalle { text-decoration: underline; }
.portada-v2__titulo.seccion__titulo { text-transform: none; }
.portada-v2__origenes-texto { max-width: 680px; }
.portada-v2__entradilla { margin: 6px 0 0; color: var(--crema); font: 300 17px/1.45 var(--letra); }
.tarjeta-compra__imagen img { height: 300px; }
.tarjeta-compra__nombre a, .recomendado__nombre a, .lista-blends h3 a { display: inline-block; min-height: 24px; padding-block: 3px; color: inherit; text-decoration: none; } /* 24 px de objetivo, también con el nombre a 16 px de la tienda en móvil */
.tarjeta-compra__precio .woocommerce-Price-amount { color: inherit; }
.compra-rapida { display: flex; flex-direction: column; gap: 10px; margin: 0; }
.compra-rapida .boton { min-height: 48px; font-size: 19px; text-transform: none; }
.origen__foto { display: block; }
.origen__texto { display: flex; flex-direction: column; gap: 6px; }
.origen__ficha, .origen__notas, .origen__precio { display: block; }
.origenes--claros .origen { background: #fff; color: var(--enfasis); }
.origenes--claros .origen:hover { color: var(--enfasis); }
.origenes--claros .origen__texto { padding: 0 var(--espacio-m) var(--espacio-m); }
.origenes--claros .origen__pais { font-size: 20px; }
.origenes--claros .origen__ficha { color: var(--gris-texto); }
.origenes--claros .origen__notas { color: var(--texto); }
.origenes--claros .origen__precio { color: var(--rosa-texto); }
.origen__altura { color: var(--burdeos); font: 700 34px/1 var(--letra); }
.portada-v3__hero.seccion { padding-block: 56px; }
.portada-v3__hero-dentro { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 420px), 1fr)); gap: 56px; align-items: start; }
.portada-v3__intro { display: flex; flex-direction: column; gap: 12px; }
.portada-v3__intro .rotulo { font-size: 56px; }
.portada-v3__titulo.hero__titulo { color: var(--enfasis); text-transform: none; }
.portada-v3__entradilla { margin: 0; max-width: 440px; color: var(--texto); font: 300 18px/1.45 var(--letra); }
.metodos[hidden] { display: none; }
.metodos button:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.portada-v3__recomendaciones { display: flex; flex-direction: column; gap: 28px; }
.portada-v3__para.antetitulo { margin: 0 0 12px; color: var(--gris-texto); }
.recomendados-panel[hidden] { display: none; }
.recomendado > img { width: 100%; height: 230px; object-fit: contain; background: #fff; }
.recomendado__cuerpo { display: flex; flex: 1; flex-direction: column; gap: 6px; }
.recomendado__notas { flex: 1; margin: 0; color: var(--texto); font: 300 14px/1.35 var(--letra); }
.recomendado .tarjeta-compra__precio { font-size: 19px; }
.recomendado .compra-rapida .boton { min-height: 46px; font-size: 17px; }
.portada-v3__nota { margin: 0; max-width: 520px; color: var(--texto); font: 300 17px/1.45 var(--letra); }
.portada-v3__burdeos.seccion__titulo { color: var(--burdeos); }
.lista-blends__fila > img { width: 100%; height: 146px; object-fit: cover; }
.lista-blends__cuerpo { display: flex; flex-direction: column; gap: 6px; min-width: 0; }
.lista-blends__cabeza { display: flex; align-items: baseline; justify-content: space-between; gap: 10px; }
.lista-blends h3 { margin: 0; color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); }
.lista-blends__precio { color: var(--burdeos); font: 700 20px/1 var(--letra); }
.lista-blends__cuerpo > p { margin: 0; color: var(--texto); font: 300 15px/1.35 var(--letra); }
.lista-blends .compra-rapida { flex-direction: row; flex-wrap: wrap; gap: 8px; margin-top: 4px; }
.lista-blends .compra-rapida .segmentado { flex: 1; min-width: 150px; }
.lista-blends .compra-rapida .boton { flex: 1; min-width: 120px; min-height: 44px; font-size: 17px; }
.portada-v3__tostadero.banda-foto { min-height: 460px; align-items: flex-end; justify-content: flex-start; text-align: left; }
.portada-v3__tostadero-dentro { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 24px; }
.portada-v3__tostadero .rotulo { margin: 0 0 8px; }
.portada-v3__tostadero-titulo { margin: 0; color: #fff; font: 600 var(--titulo-m)/1.05 var(--letra); }
.portada-v3__botones { display: flex; flex-wrap: wrap; gap: 12px; }
.boton--borde-blanco { border: 1.5px solid #fff; background: transparent; color: #fff; }
.boton--borde-blanco:hover { background: #fff; color: var(--burdeos); }
@media (max-width: 767px) { .portada-v3__intro .rotulo { font-size: 40px; } .recomendado > img { width: 96px; height: 120px; } }

/* Contacto v2: la columna del tostadero (foto y dirección) */
.contacto-v2__lado > img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; }
.caja-crema { display: flex; flex-direction: column; gap: 6px; padding: 20px; background: var(--crema); }
.contacto-v2__tostadero.antetitulo { margin: 0; color: var(--burdeos); }
.caja-crema address { color: var(--texto); font: 300 var(--texto-s)/1.45 var(--letra); font-style: normal; }
.caja-crema a { display: inline-flex; align-items: center; min-height: 24px; color: var(--burdeos); font-weight: 600; text-decoration: underline; }
.portada-v2__desde.antetitulo { color: var(--burdeos); }

/* ---- Mini-carrito v2 (inc/mini-carrito.php) ----
 * Del handoff; la cabecera y la barra van dentro de .widget_shopping_cart_content (el fragmento de WooCommerce), así que
 * el hueco entre ellas lo pone ese contenedor. */
.mini-carrito__dentro { display: flex; flex-direction: column; gap: var(--espacio-m); height: 100%; min-height: 100%; padding: 20px var(--espacio-l) var(--espacio-l); }
.mini-carrito__cerrar { top: 14px; right: 14px; }
.mini-carrito__cerrar .icono { width: 16px; height: 16px; }
.mini-carrito__cabeza { display: flex; align-items: baseline; gap: 10px; min-height: var(--objetivo-min); padding-right: 52px; }
.mini-carrito__titulo { margin: 0; color: var(--enfasis); font: 600 var(--titulo-xs)/1.1 var(--letra); text-transform: uppercase; }
.mini-carrito__cuenta { color: var(--gris-texto); font: 300 var(--texto-s)/1 var(--letra); }
.mini-carrito .barra-envio { padding: 12px 14px; }
.mini-carrito .barra-envio__texto { font-size: var(--texto-s); }
.mini-carrito .widget_shopping_cart_content { display: flex; flex: 1; flex-direction: column; min-height: 0; }
.mini-carrito .woocommerce-mini-cart { flex: 1; overflow-y: auto; border-top: 2px solid var(--enfasis); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item { min-height: 112px; padding: 14px 44px 14px 84px; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item img { top: 14px; width: 68px; height: 84px; padding: 4px; background: var(--fondo-calido); border: 1px solid var(--borde-suave); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item > a:not(.remove) { font: 600 var(--texto-m)/1.2 var(--letra); text-transform: none; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item .variation { margin: 4px 0 0; color: var(--amarillo-texto); font: 700 11px/1 var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item .variation dt { display: none; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item .variation dd { margin: 0; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item .quantity { margin-top: 8px; color: var(--texto); font: 300 var(--texto-s)/1.2 var(--letra); }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item .quantity .amount { color: var(--burdeos); font-weight: 700; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item a.remove { top: 14px; width: 32px; height: 32px; border: 0; background: none; transform: none; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item a.remove .icono { width: 12px; height: 12px; }
.mini-carrito .woocommerce-mini-cart .woocommerce-mini-cart-item a.remove:hover { background: var(--rosa-claro); color: var(--burdeos) !important; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__total { padding: var(--espacio-m) 0 0; border-top: 2px solid var(--enfasis); font: 600 18px/1.2 var(--letra); }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__total strong { font-weight: 600; text-transform: none; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__total .amount { color: var(--burdeos); font-size: 24px; font-weight: 700; }
.mini-carrito__nota { margin: 4px 0 var(--espacio-m); color: var(--gris-texto); font: 300 var(--texto-xs)/1.3 var(--letra); }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons { display: flex; flex-direction: column; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons .checkout { min-height: 54px; font-size: 20px; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons .button:not(.checkout) { min-height: 48px; text-transform: none; }
.mini-carrito .woocommerce-mini-cart__empty-message { margin: 0; padding-top: var(--espacio-m); border-top: 2px solid var(--enfasis); color: var(--amarillo); font: 400 38px/1.05 var(--rotulo); }
.mini-carrito__vacio { display: flex; flex-direction: column; gap: 14px; margin-top: var(--espacio-s); }
.mini-carrito__vacio > p { margin: 0; color: var(--texto); font: 300 15px/1.45 var(--letra); }
.mini-carrito__accesos { display: flex; flex-direction: column; border-top: 1px solid var(--borde-suave); }
.mini-carrito__accesos a { display: grid; grid-template-columns: 56px 1fr; gap: var(--espacio-s); align-items: center; min-height: 80px; padding: var(--espacio-xs) 0; border-bottom: 1px solid var(--borde-suave); color: var(--enfasis); }
.mini-carrito__accesos a:hover { background: var(--fondo-calido); text-decoration: none; color: var(--burdeos); }
.mini-carrito__accesos img { width: 56px; height: 64px; object-fit: contain; }
.mini-carrito__accesos span { display: flex; flex-direction: column; gap: 3px; }
.mini-carrito__accesos b { font: 600 17px/1.1 var(--letra); text-transform: uppercase; }
.mini-carrito__accesos small { color: var(--burdeos); font: 600 var(--texto-xs)/1 var(--letra); }
@media (max-width: 767px) { .mini-carrito { width: 100vw; } .mini-carrito__dentro { padding: 16px var(--espacio-m) var(--espacio-m); } }
.mini-carrito .widget_shopping_cart_content { gap: var(--espacio-m); }
.mini-carrito .woocommerce-mini-cart__total { margin-top: auto; }
.mini-carrito .woocommerce-mini-cart__buttons .button:focus-visible, .mini-carrito__accesos a:focus-visible { outline: 2px solid var(--burdeos); outline-offset: 2px; }
.mini-carrito__accesos a { text-decoration: none; }
/* Lo que la capa de estilo anterior del mini-carrito seguía imponiendo con más especificidad */
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__empty-message { text-align: start; text-transform: none; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__total { border-bottom: 0; }
.mini-carrito .widget_shopping_cart_content .woocommerce-mini-cart__buttons { align-items: stretch; gap: var(--espacio-xs); }

/* Paquete de Claude Design del 2026-09-27 11:27 (handoff-tienda/, «Desde el paquete anterior»): tienda con tarjetas
   compactas, franja de condiciones sobre el boletín, boletín en horizontal y pie v2 con los pagos en texto. Reglas
   copiadas tal cual de su estilos.css (las de estos componentes), al final para que manden sobre las anteriores; se
   quitaron arriba «.pie-v2 a» y su :hover, que el paquete retira y que, por especificidad, pisarían .pie-v2__canal. */
.orden { display: flex; align-items: center; gap: var(--espacio-xs); margin-left: auto; color: var(--texto); font: 400 var(--texto-s)/1 var(--letra); }
.orden select { width: auto; min-height: var(--objetivo-min); }
.rejilla-compra--4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
@media (max-width: 1024px) {
	.rejilla-compra--4 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
	.orden > span { display: none; }
	.rejilla-compra--4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.tienda-v2__cabecera { padding-block: 40px; }
.tienda-v2__cabecera .contenedor { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); column-gap: var(--espacio-xl); row-gap: var(--espacio-xs); align-items: center; }
.tienda-v2__cabecera .antetitulo { grid-column: 1 / -1; }
.tienda-v2__titulo { margin: 0; font-size: var(--titulo-l); text-transform: none; }
.tienda-v2__resumen { margin: 0; color: var(--crema); font: 400 15px/1.6 var(--letra); }
.barra-tienda .orden { margin: 0 0 0 auto; }
.orden label { display: flex; align-items: center; gap: var(--espacio-xs); }
.tienda-v2__grupos { padding-block: 40px 72px; }
.tienda-v2__grupos > .contenedor { display: flex; flex-direction: column; gap: 48px; }
.tienda-v2__grupos .grupo__cabecera h2 { text-transform: none; }
.tienda-v2__grupos .tarjeta-compra { position: relative; }
.tienda-v2__grupos .tarjeta-compra__imagen { padding: 12px 12px 0; }
.tienda-v2__grupos .tarjeta-compra__imagen img { height: 200px; }
.tienda-v2__grupos .tarjeta-compra__numero { top: 8px; left: 8px; width: auto; height: auto; padding: 5px 8px; border-radius: 0; background: var(--crema); color: var(--burdeos); font: 700 11px/1 var(--letra); letter-spacing: .08em; text-transform: uppercase; }
.tienda-v2__grupos .tarjeta-compra__cuerpo { gap: 6px; padding: 12px 14px 14px; }
.tienda-v2__grupos .tarjeta-compra__nombre { font-size: 19px; text-transform: none; }
.tienda-v2__grupos .tarjeta-compra__nombre a { color: var(--enfasis); }
.tienda-v2__grupos .tarjeta-compra__notas { font-size: var(--texto-s); }
.tienda-v2__grupos .tarjeta-compra__precio { font-size: 19px; }
.tienda-v2__grupos .compra-rapida { display: flex; flex-direction: column; gap: 6px; margin-top: 4px; }
.tienda-v2__grupos .segmentado span { min-height: 40px; font-size: var(--texto-s); }
.tienda-v2__grupos .compra-rapida .boton { min-height: 44px; font-size: 18px; text-transform: none; }
.tienda-v2__grupos .tarjeta__agotado { display: flex; align-items: center; justify-content: center; min-height: 44px; margin: auto 0 0; border: 1px solid var(--borde); color: var(--error); font: 600 var(--texto-s)/1 var(--letra); }
.tarjeta-compra > .deseos { position: absolute; top: 4px; right: 4px; z-index: 1; margin: 0; }
.tarjeta-compra .boton-deseos { width: var(--objetivo-min); height: var(--objetivo-min); padding: 0; border: 0; border-radius: 0; background: none; color: var(--rosa-texto); }
.tarjeta-compra .boton-deseos .icono { width: 20px; height: 20px; }
.tarjeta-compra .boton-deseos:hover, .tarjeta-compra .boton-deseos[aria-pressed="true"] { border: 0; background: none; color: var(--burdeos); }
.tarjeta-compra .boton-deseos:focus-visible { outline: 2px solid var(--burdeos); outline-offset: -4px; }
.condiciones-pie { background: #fff; border-top: 1px solid var(--borde-suave); }
.condiciones-pie .condiciones { padding-block: 28px; }
.condiciones__item { display: flex; flex-direction: column; gap: 2px; padding-left: 14px; border-left: 3px solid var(--amarillo); margin: 0; }
.boletin { background: var(--rosa-claro); }
.boletin__dentro { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 48px; align-items: center; padding-block: 56px; }
.boletin__texto { display: flex; flex-direction: column; gap: 10px; }
.boletin__titulo { margin: 0; color: var(--burdeos); font: 600 var(--titulo-s)/1.1 var(--letra); }
.boletin__texto p { margin: 0; color: #353535; font: 300 var(--texto-m)/1.5 var(--letra); }
.boletin__formulario { display: grid; grid-template-columns: 1fr 1fr auto; gap: 10px; }
.boletin__formulario input { min-height: 48px; border-color: #e0c9cf; }
.boletin__formulario button { min-height: 48px; padding: 0 20px; border: 0; border-radius: var(--radio-boton); background: var(--burdeos); color: #fff; font: 600 var(--texto-m)/1.1 var(--letra); cursor: pointer; }
.boletin__formulario button:hover { background: var(--burdeos-oscuro); }
.formulario__privacidad { grid-column: 1 / -1; margin: 0; color: #353535; font: 300 var(--texto-s)/1.4 var(--letra); }
.formulario__privacidad a { color: var(--burdeos); text-decoration: underline; }
.pie-v2 { background: var(--burdeos); color: #fff; }
.pie-v2 :focus-visible { outline-color: #fff; }
.pie-v2__dentro { display: flex; flex-direction: column; gap: 32px; padding-block: 48px 28px; }
.pie-v2__arriba { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; padding-bottom: var(--espacio-l); border-bottom: 1px solid rgba(255, 255, 255, .18); }
.pie-v2__logo { width: 170px; height: auto; }
.pie-v2__redes, .pie-v2__lista, .pie-v2__pagos { margin: 0; padding: 0; list-style: none; }
.pie-v2__redes { display: flex; gap: 10px; justify-self: end; }
.pie-v2__redes a { display: inline-flex; align-items: center; justify-content: center; width: var(--objetivo-min); height: var(--objetivo-min); border: 1px solid rgba(255, 255, 255, .3); border-radius: 50%; color: #fff; }
.pie-v2__redes a:hover { border-color: var(--amarillo); color: var(--amarillo); }
.pie-v2__redes .icono { width: 18px; height: 18px; }
.pie-v2__columnas { display: grid; grid-template-columns: 1fr 1.4fr 1.2fr; gap: 32px; }
.pie-v2__titulo { margin: 0 0 6px; color: var(--amarillo); font: 600 12px/1.2 var(--letra); letter-spacing: .12em; text-transform: uppercase; }
.pie-v2__lista a, .pie-v2__lista button { display: flex; align-items: center; min-height: 36px; padding: 0; border: 0; background: none; color: #fff; font: 300 var(--texto-s)/1.3 var(--letra); text-align: left; cursor: pointer; }
.pie-v2__lista a:hover, .pie-v2__lista button:hover { color: var(--amarillo); text-decoration: underline; }
.pie-v2__movil { display: none; flex-direction: column; }
.pie-v2__canal { display: flex; flex-direction: column; gap: 3px; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .18); color: #fff; font: 400 var(--texto-m)/1.3 var(--letra); }
.pie-v2__canal:hover { color: var(--amarillo); text-decoration: none; }
.pie-v2 details { border-bottom: 1px solid rgba(255, 255, 255, .18); }
.pie-v2 summary { display: flex; align-items: center; justify-content: space-between; min-height: 52px; cursor: pointer; list-style: none; }
.pie-v2 summary::-webkit-details-marker { display: none; }
.pie-v2 summary .pie-v2__titulo { margin: 0; }
.pie-v2 summary::after { content: "+"; color: var(--amarillo); font: 400 22px/1 var(--letra); }
.pie-v2 details[open] summary::after { content: "–"; }
.pie-v2 details .pie-v2__lista { padding-bottom: var(--espacio-s); }
.pie-v2__abajo { display: flex; align-items: center; justify-content: space-between; gap: var(--espacio-s); padding-top: var(--espacio-l); border-top: 1px solid rgba(255, 255, 255, .18); }
.pie-v2__pagos { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.pie-v2__pagos-titulo, .pie-v2__copy { margin: 0; color: var(--crema); font: 300 var(--texto-xs)/1.3 var(--letra); }
.pie-v2__pago { display: inline-flex; align-items: center; min-height: 32px; padding: 0 10px; border: 1px solid rgba(255, 255, 255, .3); border-radius: 3px; color: #fff; font: 600 12px/1 var(--letra); }
.pie-v2__pago:hover { border-color: var(--amarillo); color: var(--amarillo); text-decoration: none; }
@media (max-width: 1024px) {
	.tienda-v2__grupos .tarjeta-compra__imagen img { height: 180px; }
	.boletin__dentro { grid-template-columns: minmax(0, 1fr); gap: 20px; padding-block: 44px; }
	.boletin__formulario { grid-template-columns: 1fr 1fr; }
	.boletin__formulario button { grid-column: 1 / -1; }
	.pie-v2__columnas { grid-template-columns: 1fr 1.5fr 1.3fr; }
}
@media (max-width: 767px) {
	.tienda-v2__cabecera { padding-block: 24px 22px; }
	.tienda-v2__cabecera .contenedor { grid-template-columns: minmax(0, 1fr); }
	.barra-tienda .orden { margin-left: 0; }
	.orden label > span { display: none; }
	.tienda-v2__grupos { padding-block: 18px 40px; }
	.tienda-v2__grupos > .contenedor { gap: 32px; }
	.tienda-v2__grupos .tarjeta-compra__imagen { padding: 8px 6px 0; }
	.tienda-v2__grupos .tarjeta-compra__imagen img { height: 130px; }
	.tienda-v2__grupos .tarjeta-compra__numero { top: 6px; left: 6px; padding: 4px 6px; font-size: 10px; }
	.tienda-v2__grupos .tarjeta-compra__cuerpo { padding: 10px; }
	.tienda-v2__grupos .tarjeta-compra__nombre { font-size: 16px; }
	.tienda-v2__grupos .tarjeta-compra__notas { font-size: 12px; }
	.tienda-v2__grupos .tarjeta-compra__precio { font-size: 17px; }
	.tienda-v2__grupos .compra-rapida .boton { font-size: 16px; }
	.condiciones-pie .condiciones { padding-block: 20px; gap: 14px 12px; }
	.boletin__dentro { padding-block: 36px; }
	.boletin__formulario { grid-template-columns: 1fr; }
	.pie-v2__dentro { gap: var(--espacio-xs); padding-block: 32px 22px; }
	.pie-v2__arriba { grid-template-columns: 1fr; padding-bottom: 20px; }
	.pie-v2__redes { justify-self: start; }
	.pie-v2__logo { width: 150px; }
	.pie-v2__columnas { display: none; }
	.pie-v2__movil { display: flex; }
	.pie-v2__abajo { flex-direction: column; align-items: flex-start; padding-top: 20px; border-top: 0; }
}
/* Lo que las reglas anteriores del tema (componentes.css, tienda.css) seguían imponiendo sobre las del paquete: el
   select de «Ordenar» con el estilo de campo del paquete (su regla global de select, acotada aquí a la tienda para no
   tocar el orden de los listados), y el titular y el botón del boletín sin mayúsculas ni espaciado negativo. */
.barra-tienda .orden select { height: auto; padding: 0 14px; border: 1px solid var(--borde-control); border-radius: var(--radio-boton); background: #fff; color: var(--enfasis); font: 300 var(--texto-m) var(--letra); }
.boletin__titulo { text-transform: none; }
.boletin__formulario button { letter-spacing: normal; }
