/**
 * Haitzarte · haitzarte.css
 *
 * Lo que theme.json no alcanza: marcas de sendero, curvas de nivel, postes de la portada,
 * tarjetas de producto, ficha, tablas con desplazamiento, foco visible en todo (también en el
 * carrito y el checkout de WooCommerce), pie oscuro y ajustes del móvil.
 *
 * Colores siempre con las variables de theme.json (--wp--preset--color--*).
 * Índice:
 *   1. Base, márgenes y accesibilidad
 *   2. Aviso de demostración, barra superior, cabecera y menú
 *   3. Elementos del sistema: curvas, perfil, etiquetas, botones, campos, tablas
 *   4. Portada
 *   5. Catálogo y tarjetas de producto
 *   6. Marcas de sendero
 *   7. Ficha de producto
 *   8. Carrito, checkout y pedido recibido
 *   9. Páginas, ayuda, blog y 404
 *  10. Pie
 *  11. Movimiento reducido
 */

/* ===================================================================
 * 1. Base, márgenes y accesibilidad
 * ================================================================ */

/* Márgenes laterales: 16 px en el móvil y 32 px desde 768 px (DISENO.md). */
:root {
	--hz-margen: 16px;
	--hz-radio-tarjeta: 6px;
	--hz-radio: 2px;
	--hz-transicion: 160ms ease;
}
@media (min-width: 768px) {
	:root { --hz-margen: 32px; }
}

html { scroll-padding-top: 1rem; }
body { -webkit-font-smoothing: antialiased; }
img { max-width: 100%; height: auto; }

/* Foco visible siempre: contorno de 2 px en tinta con 2 px de separación. */
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible,
.wp-element-button:focus-visible,
.wc-block-components-button:focus-visible,
.wc-block-components-text-input input:focus-visible,
.wc-block-components-radio-control__input:focus-visible,
.wc-block-components-checkbox__input:focus-visible {
	outline: 2px solid var(--wp--preset--color--tinta) !important;
	outline-offset: 2px !important;
	box-shadow: none !important;
}
/* Sobre fondos oscuros (pie, bosque, aviso), el contorno pasa a papel. */
.has-tinta-background-color :focus-visible,
.has-bosque-background-color :focus-visible,
.hz-pie :focus-visible {
	outline-color: var(--wp--preset--color--papel) !important;
}

/* Texto solo para lectores de pantalla. */
.screen-reader-text {
	border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
	height: 1px; margin: -1px; overflow: hidden; padding: 0;
	position: absolute !important; width: 1px; word-wrap: normal !important;
}

/* Lo que solo se ve en escritorio (p. ej., dos frases de la barra superior). */
@media (max-width: 767px) {
	.hz-solo-escritorio { display: none; }
}

/* Dato pendiente de config.php: bien visible en la web local. */
.hz-pendiente {
	background: var(--wp--preset--color--baliza);
	color: var(--wp--preset--color--tinta);
	font-family: var(--wp--preset--font-family--mono);
	font-size: 0.875em;
	padding: 0 0.25em;
	border-radius: var(--hz-radio);
}

/* ===================================================================
 * 2. Aviso de demostración, barra superior, cabecera y menú
 * ================================================================ */

/* El aviso de tienda de WooCommerce, arriba del todo, sin cerrar (demo.php). */
.woocommerce-store-notice.hz-aviso-demo,
p.demo_store.hz-aviso-demo {
	position: static !important;
	box-sizing: border-box !important;
	width: 100% !important;
	display: block !important;
	margin: 0 !important;
	padding: 0.5rem var(--hz-margen) !important;
	background: var(--wp--preset--color--tinta) !important;
	color: var(--wp--preset--color--blanco) !important;
	font-family: var(--wp--preset--font-family--texto);
	font-size: var(--wp--preset--font-size--s) !important;
	line-height: 1.4;
	text-align: center;
	box-shadow: none !important;
}

.hz-barra-superior { padding-block: 0.375rem; }
.hz-barra-superior p { margin: 0; }

.hz-cabecera { padding-block: var(--wp--preset--spacing--40); border-bottom: 1px solid var(--wp--preset--color--linea); }
.hz-cabecera__fila { gap: var(--wp--preset--spacing--40) !important; }
.hz-logo { margin: 0 !important; }
.hz-logo img { display: block; height: auto; }
.hz-buscador { flex: 1 1 18rem; max-width: 34rem; }
.hz-buscador input { min-height: 44px; }
.hz-cabecera__acciones { gap: var(--wp--preset--spacing--40) !important; }
.hz-cabecera__acciones a, .hz-cabecera__acciones button { color: var(--wp--preset--color--tinta); text-decoration: none; }

/* En el móvil, el buscador baja a su propia fila y se ve siempre (DISENO.md). */
@media (max-width: 767px) {
	.hz-logo img { width: 140px !important; }
	.hz-buscador { order: 3; flex-basis: 100%; max-width: none; }
	.wc-block-customer-account__account-label { display: none; }
}

/* Menú de categorías. */
.hz-menu { margin-top: var(--wp--preset--spacing--30); }
.hz-menu a { text-decoration: none; }
.hz-menu .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--senal); }
.hz-menu .hz-menu-ofertas > a,
.hz-menu .hz-menu-ofertas .wp-block-navigation-item__content { color: var(--wp--preset--color--senal); }

/* Panel de subcategorías: sencillo, sobre blanco con borde. */
.hz-menu .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--blanco) !important;
	border: 1px solid var(--wp--preset--color--tinta) !important;
	border-radius: var(--hz-radio-tarjeta);
	padding: var(--wp--preset--spacing--20) 0 !important;
	min-width: 15rem !important;
	font-family: var(--wp--preset--font-family--texto);
	font-weight: 400;
	font-size: var(--wp--preset--font-size--m);
}
.hz-menu .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 1rem !important; }

/* Panel lateral del móvil: acordeón (las subcategorías se abren con su botón). */
.wp-block-navigation__responsive-container.is-menu-open {
	padding: var(--wp--preset--spacing--50) var(--hz-margen) !important;
	background: var(--wp--preset--color--papel) !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	padding-left: var(--wp--preset--spacing--40) !important;
	background: transparent !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle[aria-expanded="false"] ~ .wp-block-navigation__submenu-container {
	display: none !important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle {
	display: inline-flex !important;
	min-width: 44px;
	min-height: 44px;
	align-items: center;
	justify-content: center;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-submenu__toggle svg { display: block !important; }
.wp-block-navigation__responsive-container-open,
.wp-block-navigation__responsive-container-close { min-width: 44px; min-height: 44px; }

/* ===================================================================
 * 3. Elementos del sistema
 * ================================================================ */

/* Curvas de nivel (SVG generado por código, assets/svg/). */
.hz-curvas { background-image: url("../svg/curvas.svg"); background-size: 600px 400px; background-repeat: repeat; }
.hz-curvas-claras { background-image: url("../svg/curvas-claras.svg"); background-size: 600px 400px; background-repeat: repeat; }

/* Perfil de altimetría como separador, con una cota en mono. */
.hz-perfil {
	height: 84px;
	background: url("../svg/perfil.svg") left bottom / 100% 60px no-repeat;
	margin-block: var(--wp--preset--spacing--60) !important;
}
.hz-perfil__cota {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	color: var(--wp--preset--color--tinta-suave);
	text-align: right;
	margin: 0 !important;
}

/* Etiqueta pequeña de sección en mayúsculas («MENDI DENDA · BILBAO DESDE 2009»). */
.hz-etiqueta, .hz-etiqueta a {
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-decoration: none;
	margin-bottom: var(--wp--preset--spacing--20) !important;
}

/* Botones: 48 px de alto mínimo, sin píldoras. */
.wp-element-button, .wp-block-button__link, .wc-block-components-button:not(.is-link) {
	min-height: 48px;
	border-radius: var(--hz-radio) !important;
	transition: background-color var(--hz-transicion), border-color var(--hz-transicion), color var(--hz-transicion);
}
.wp-block-button__link { display: inline-flex; align-items: center; justify-content: center; }
/* Secundario: borde de 1,5 px en tinta y fondo transparente. */
.is-style-outline > .wp-block-button__link,
.wp-block-button.is-style-outline .wp-element-button {
	background: transparent !important;
	color: var(--wp--preset--color--tinta) !important;
	border: 1.5px solid var(--wp--preset--color--tinta) !important;
}
.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--tinta) !important; color: var(--wp--preset--color--blanco) !important; }
.wp-block-button.is-style-outline.hz-boton-claro > .wp-block-button__link { color: var(--wp--preset--color--blanco) !important; border-color: var(--wp--preset--color--blanco) !important; }
.wp-block-button.is-style-outline.hz-boton-claro > .wp-block-button__link:hover { background: var(--wp--preset--color--blanco) !important; color: var(--wp--preset--color--bosque) !important; }
.hz-boton-pequeno .wp-block-button__link { min-height: 40px; padding: 0.5rem 1rem; font-size: var(--wp--preset--font-size--s); }

/* Campos de formulario: borde tinta suave (5,2:1), radio de 2 px, 44 px de alto. */
input[type="text"], input[type="email"], input[type="tel"], input[type="search"], input[type="number"],
input[type="password"], input[type="url"], select, textarea {
	border: 1px solid var(--wp--preset--color--tinta-suave);
	border-radius: var(--hz-radio);
	background: var(--wp--preset--color--blanco);
	color: var(--wp--preset--color--tinta);
	min-height: 44px;
	padding: 0.5rem 0.75rem;
	font: inherit;
}

/* Tablas: borde de línea, cabecera en tinta suave y desplazamiento dentro de la tabla en el móvil. */
.wp-block-table { overflow-x: auto; -webkit-overflow-scrolling: touch; }
.wp-block-table table { border-collapse: collapse; width: 100%; background: var(--wp--preset--color--blanco); }
.wp-block-table th, .wp-block-table td { border: 1px solid var(--wp--preset--color--linea); padding: 0.5rem 0.75rem; text-align: left; vertical-align: top; }
.wp-block-table thead th { background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--blanco); font-weight: 600; }
@media (max-width: 767px) {
	.wp-block-table table { min-width: 36rem; }
	/* Primera columna fija al desplazar la tabla. */
	.wp-block-table th:first-child, .wp-block-table td:first-child { position: sticky; left: 0; background: var(--wp--preset--color--blanco); z-index: 1; }
	.wp-block-table thead th:first-child { background: var(--wp--preset--color--tinta); }
}
.hz-tabla-tallas table { min-width: 0; }

/* Iconos de trazo. */
.hz-icono { width: 24px; height: 24px; flex: none; }

/* ===================================================================
 * 4. Portada
 * ================================================================ */

.hz-portada__cabecera { padding-block: var(--wp--preset--spacing--70); }
.hz-portada__cabecera h1 { margin-block: var(--wp--preset--spacing--30) !important; max-width: 14ch; }
.hz-portada__imagen img, .hz-portada__sin-foto { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: var(--hz-radio-tarjeta); }
@media (max-width: 781px) {
	.hz-portada__imagen img, .hz-portada__sin-foto { aspect-ratio: 4 / 5; }
}
.hz-seccion { padding-block: var(--wp--preset--spacing--70); }

/* Postes de señalización: flecha de madera estilizada en bosque. 4 × 2 en escritorio, 2 × 4 en móvil. */
.hz-postes {
	list-style: none; margin: 0 auto; padding: 0;
	display: grid; grid-template-columns: repeat(2, 1fr); gap: var(--wp--preset--spacing--40);
	max-width: var(--wp--style--global--wide-size);
}
@media (min-width: 900px) { .hz-postes { grid-template-columns: repeat(4, 1fr); } }
.hz-poste a {
	display: flex; flex-direction: column; justify-content: center; gap: 0.125rem;
	min-height: 5.5rem;
	padding: 0.75rem 2.75rem 0.75rem 1rem;
	background: var(--wp--preset--color--bosque);
	color: var(--wp--preset--color--blanco);
	text-decoration: none;
	clip-path: polygon(0 0, calc(100% - 1.75rem) 0, 100% 50%, calc(100% - 1.75rem) 100%, 0 100%);
	transition: background-color var(--hz-transicion);
}
.hz-poste a:hover { background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--blanco); }
.hz-poste a:focus-visible { outline-offset: -4px !important; outline-color: var(--wp--preset--color--papel) !important; }
.hz-poste__nombre { font-family: var(--wp--preset--font-family--titular); font-weight: 700; font-size: var(--wp--preset--font-size--xl); line-height: 1.1; }
.hz-poste__numero { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--xs); }

/* Tarjetas del blog y de guías. */
.hz-tarjetas-blog {
	list-style: none; margin: 0 auto; padding: 0;
	display: grid; gap: var(--wp--preset--spacing--50);
	grid-template-columns: repeat(auto-fill, minmax(16rem, 1fr));
	max-width: var(--wp--style--global--wide-size);
}
.hz-tarjeta-blog { background: var(--wp--preset--color--blanco); border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); overflow: hidden; transition: border-color var(--hz-transicion); }
.hz-tarjeta-blog:hover { border-color: var(--wp--preset--color--tinta); }
.hz-tarjeta-blog a { text-decoration: none; display: block; }
.hz-tarjeta-blog img { width: 100%; aspect-ratio: 3 / 2; object-fit: cover; display: block; }
.hz-tarjeta-blog__titulo { display: block; padding: 1rem 1rem 0; font-family: var(--wp--preset--font-family--titular); font-weight: 700; font-size: var(--wp--preset--font-size--xl); line-height: 1.15; }
.hz-tarjeta-blog p { padding: 0.5rem 1rem 1rem; margin: 0; color: var(--wp--preset--color--tinta-suave); font-size: var(--wp--preset--font-size--s); }

/* Bloque de la tienda de Bilbao (bosque, texto blanco). */
.hz-tienda-fisica a { color: var(--wp--preset--color--blanco); }
.hz-lista-servicios { padding-left: 1.25rem; }
.hz-plano img { border-radius: var(--hz-radio-tarjeta); }

/* Por qué comprar aquí. */
.hz-por-que__fila .wp-block-column { border-top: 2px solid var(--wp--preset--color--tinta); padding-top: var(--wp--preset--spacing--40); }
.hz-icono-grande { margin-bottom: 0 !important; }

/* ===================================================================
 * 5. Catálogo y tarjetas de producto
 * ================================================================ */

.hz-cabecera-pagina { padding-block: var(--wp--preset--spacing--60) var(--wp--preset--spacing--50); margin-bottom: var(--wp--preset--spacing--50); border-bottom: 1px solid var(--wp--preset--color--linea); }
.hz-cabecera-pagina h1 { margin: 0; }
.hz-cabecera-pagina__texto { max-width: 68ch; color: var(--wp--preset--color--tinta-suave); }

.hz-catalogo { gap: var(--wp--preset--spacing--60) !important; }
.hz-catalogo__barra { margin-bottom: var(--wp--preset--spacing--40); }
.hz-catalogo__filtros h3 { font-family: var(--wp--preset--font-family--texto); font-weight: 600; margin-bottom: 0.5rem; }
.hz-catalogo__filtros .wp-block-woocommerce-product-filter-attribute,
.hz-catalogo__filtros .wp-block-woocommerce-product-filter-taxonomy,
.hz-catalogo__filtros .wp-block-woocommerce-product-filter-price,
.hz-catalogo__filtros .wp-block-woocommerce-product-filter-status { border-top: 1px solid var(--wp--preset--color--linea); padding-top: var(--wp--preset--spacing--30); }
/* En el móvil la columna de filtros solo enseña el botón «Filtrar» (el panel lo abre WooCommerce). */
@media (max-width: 781px) {
	.hz-catalogo__filtros { flex-basis: auto !important; }
}

/* Rejilla: se deja la separación de WooCommerce, que entra en su cálculo de columnas. */
.wc-block-product-template { row-gap: var(--wp--preset--spacing--50); }

/* Tarjeta de producto: blanco, borde de línea que pasa a tinta al pasar el ratón. */
.hz-tarjeta {
	height: 100%;
	background: var(--wp--preset--color--blanco);
	border: 1px solid var(--wp--preset--color--linea);
	border-radius: var(--hz-radio-tarjeta);
	padding: var(--wp--preset--spacing--30) var(--wp--preset--spacing--30) var(--wp--preset--spacing--40);
	gap: 0.375rem !important;
	transition: border-color var(--hz-transicion);
}
.hz-tarjeta:hover, .hz-tarjeta:focus-within { border-color: var(--wp--preset--color--tinta); }
.hz-tarjeta__imagen { margin: 0 0 0.25rem !important; width: 100%; }
.hz-tarjeta__imagen img { aspect-ratio: 1; object-fit: contain; background: var(--wp--preset--color--blanco); width: 100%; }
.hz-tarjeta__nombre { font-family: var(--wp--preset--font-family--texto) !important; font-weight: 600 !important; font-size: var(--wp--preset--font-size--m) !important; line-height: 1.3 !important; letter-spacing: 0 !important; margin: 0 !important; }
.hz-tarjeta__nombre a { text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hz-tarjeta__nombre a:hover { text-decoration: underline; }
.hz-tarjeta__precio { margin-top: auto !important; }
.hz-tarjeta .wc-block-components-product-rating { margin: 0 !important; }
.hz-tarjeta__boton .wp-block-button__link { min-height: 44px; width: 100%; }

/* Marca del producto en mono pequeña. */
.hz-marca-producto, .hz-marca-producto a {
	font-family: var(--wp--preset--font-family--mono);
	font-size: var(--wp--preset--font-size--xs);
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--tinta-suave);
	text-decoration: none;
	margin: 0 !important;
}
.hz-marca-producto a:hover { color: var(--wp--preset--color--senal); text-decoration: underline; }

/* Precios: rebajado en señal y el anterior tachado en tinta suave; sufijo «IVA incluido» pequeño. */
.wc-block-components-product-price ins, .price ins { color: var(--wp--preset--color--senal); text-decoration: none; }
.wc-block-components-product-price del, .price del { color: var(--wp--preset--color--tinta-suave); }
.woocommerce-price-suffix { font-size: 0.75em; font-weight: 400; color: var(--wp--preset--color--tinta-suave); }
.hz-sin-precio { font-weight: 400; font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--tinta-suave); }

/* Paginación numerada. */
.hz-paginacion { margin-top: var(--wp--preset--spacing--60) !important; gap: 0.5rem; }
.hz-paginacion a, .hz-paginacion span { min-width: 44px; min-height: 44px; display: inline-flex; align-items: center; justify-content: center; }
.hz-paginacion .current { background: var(--wp--preset--color--tinta); color: var(--wp--preset--color--blanco); border-radius: var(--hz-radio); }

/* ===================================================================
 * 6. Marcas de sendero: dos franjas como las pintadas en los árboles, siempre con texto
 * ================================================================ */

.hz-marcas { list-style: none; display: flex; flex-wrap: wrap; gap: 0.375rem; margin: 0 !important; padding: 0; }
.hz-marca {
	display: inline-flex; align-items: center; gap: 0.375rem;
	font-size: var(--wp--preset--font-size--xs);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--wp--preset--color--tinta);
	line-height: 1;
}
.hz-marca__franjas {
	width: 20px; height: 14px; flex: none;
	border: 1px solid var(--wp--preset--color--tinta);
	border-radius: 1px;
	background: linear-gradient(var(--wp--preset--color--blanco) 0 50%, var(--hz-franja) 50% 100%);
}
.hz-marca--rebaja { --hz-franja: var(--wp--preset--color--senal); }
.hz-marca--ultimas { --hz-franja: var(--wp--preset--color--baliza); }
.hz-marca--novedad { --hz-franja: var(--wp--preset--color--exito); }
.hz-marca--bajo-pedido { --hz-franja: var(--wp--preset--color--lago); }

/* ===================================================================
 * 7. Ficha de producto
 * ================================================================ */

.hz-ficha { padding-bottom: var(--wp--preset--spacing--80); }
.hz-ficha__columnas { margin-top: var(--wp--preset--spacing--40); }
/* La información se queda fija al desplazar mientras haya espacio (solo escritorio). */
@media (min-width: 782px) {
	.hz-ficha__fija { position: sticky; top: var(--wp--preset--spacing--40); }
}
.hz-ficha__fija > * { margin: 0 !important; }
.hz-ficha__fija h1 { margin: 0 !important; }
.hz-ficha__galeria .woocommerce-product-gallery { width: 100% !important; float: none !important; background: var(--wp--preset--color--blanco); border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); padding: var(--wp--preset--spacing--30); }
.hz-ficha__galeria .flex-control-thumbs { display: flex; gap: 0.5rem; list-style: none; padding: 0; margin: 0.75rem 0 0; }
.hz-ficha__galeria .flex-control-thumbs li { width: 72px; }
.hz-fin-rebaja { color: var(--wp--preset--color--senal); font-weight: 600; font-size: var(--wp--preset--font-size--s); }
.hz-ficha__resumen ul { padding-left: 1.25rem; }

/* Selectores de variación como botones (chips de WooCommerce) con nuestro estilo. */
.wc-block-add-to-cart-with-options-variation-selector-attribute-name,
.wp-block-woocommerce-add-to-cart-with-options-variation-selector-attribute-name { font-weight: 600; }
.wc-block-product-filter-chips__item,
.wp-block-woocommerce-add-to-cart-with-options .wc-block-product-filter-chips button {
	min-height: 44px; min-width: 44px;
	border: 1px solid var(--wp--preset--color--tinta-suave) !important;
	border-radius: var(--hz-radio) !important;
	background: var(--wp--preset--color--blanco) !important;
	color: var(--wp--preset--color--tinta) !important;
	font-family: var(--wp--preset--font-family--mono);
}
.wc-block-product-filter-chips__item[aria-checked="true"],
.wc-block-product-filter-chips__item.is-selected {
	background: var(--wp--preset--color--tinta) !important;
	color: var(--wp--preset--color--blanco) !important;
	border-color: var(--wp--preset--color--tinta) !important;
}
.wc-block-product-filter-chips__item[aria-disabled="true"], .wc-block-product-filter-chips__item:disabled {
	text-decoration: line-through; opacity: 0.6;
}

/* Bloque de envío en lago suave. */
.hz-aviso-envio {
	display: flex; gap: 0.75rem; align-items: flex-start;
	background: var(--wp--preset--color--lago-suave);
	border-left: 3px solid var(--wp--preset--color--lago);
	padding: 0.75rem 1rem;
	font-size: var(--wp--preset--font-size--s);
	color: var(--wp--preset--color--tinta);
}
.hz-aviso-envio p { margin: 0 0 0.25rem; }
.hz-aviso-envio p:last-child { margin: 0; }
.hz-aviso-envio .hz-icono { color: var(--wp--preset--color--lago); }

/* Aviso armonizado de la garantía. */
.hz-garantia-ue { display: flex; gap: 0.75rem; align-items: center; font-size: var(--wp--preset--font-size--s); }
.hz-garantia-ue p { margin: 0; }
.hz-garantia-ue__imagen { width: 240px !important; max-width: 240px !important; height: auto !important; display: block; } /* Reducido: el completo está en «Garantías». */
.hz-garantia-ue--texto { border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); padding: 0.75rem 1rem; background: var(--wp--preset--color--blanco); }

/* Guía de tallas en panel desplegable. */
.hz-guia-tallas summary {
	cursor: pointer;
	font-weight: 600;
	text-decoration: underline;
	min-height: 44px; display: inline-flex; align-items: center;
}
.hz-guia-tallas__panel { margin-top: 0.5rem; padding: 1rem; background: var(--wp--preset--color--blanco); border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); }
.hz-guia-tallas__panel table { font-size: var(--wp--preset--font-size--s); }
.hz-nota-tallas { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--tinta-suave); margin: 0.5rem 0 0; }

/* Acordeón de detalles (Descripción, Ficha técnica, Envío y devoluciones, Opiniones). */
.hz-ficha__detalles { margin-top: var(--wp--preset--spacing--80) !important; }
.hz-ficha__detalles .wp-block-accordion-item { border-top: 1px solid var(--wp--preset--color--tinta); }
.hz-ficha__detalles .wp-block-accordion-item:last-child { border-bottom: 1px solid var(--wp--preset--color--tinta); }
.hz-ficha__detalles .wp-block-accordion-heading { margin: 0; font-size: var(--wp--preset--font-size--2-xl); }
.hz-ficha__detalles .wp-block-accordion-heading__toggle { width: 100%; min-height: 56px; padding: 0.75rem 0; background: none; border: 0; color: inherit; font: inherit; display: flex; justify-content: space-between; align-items: center; cursor: pointer; }
.hz-ficha__detalles .wp-block-accordion-panel { padding-bottom: var(--wp--preset--spacing--50); max-width: 68ch; }

/* Ficha técnica como leyenda de mapa: nombre en Source Sans 600, valor en IBM Plex Mono. */
.hz-ficha-tecnica table, .wp-block-woocommerce-product-specifications table { border-collapse: collapse; width: 100%; background: var(--wp--preset--color--blanco); }
.hz-ficha-tecnica th, .wp-block-woocommerce-product-specifications th { font-family: var(--wp--preset--font-family--texto); font-weight: 600; text-align: left; padding: 0.5rem 0.75rem; width: 38%; border-bottom: 1px solid var(--wp--preset--color--linea); vertical-align: top; }
.hz-ficha-tecnica td, .wp-block-woocommerce-product-specifications td { font-family: var(--wp--preset--font-family--mono); font-size: var(--wp--preset--font-size--s); padding: 0.5rem 0.75rem; border-bottom: 1px solid var(--wp--preset--color--linea); }
.hz-ficha-tecnica td p { margin: 0; }

.hz-excepcion { margin-top: var(--wp--preset--spacing--40); padding: 0.75rem 1rem; background: var(--wp--preset--color--lago-suave); border-left: 3px solid var(--wp--preset--color--lago); }

.hz-coleccion-ficha { margin-top: var(--wp--preset--spacing--80) !important; }

/* SKU y datos técnicos en mono. */
.wp-block-woocommerce-product-sku, .wc-block-components-product-sku { font-family: var(--wp--preset--font-family--mono); }

/* ===================================================================
 * 8. Carrito, checkout y pedido recibido
 * ================================================================ */

.hz-carrito, .hz-checkout { padding-bottom: var(--wp--preset--spacing--80); }
.hz-carrito__garantia, .hz-checkout__garantia { margin-top: var(--wp--preset--spacing--50); }
.hz-cabecera--checkout { border-bottom: 1px solid var(--wp--preset--color--linea); }
.wc-block-components-text-input input, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select {
	border-color: var(--wp--preset--color--tinta-suave) !important;
	border-radius: var(--hz-radio) !important;
}
.wc-block-components-notice-banner { border-radius: var(--hz-radio-tarjeta); }
.wc-block-components-notice-banner.is-error { border-color: var(--wp--preset--color--error); }
.wc-block-components-notice-banner.is-success { border-color: var(--wp--preset--color--exito); }
.hz-pago-demo { margin: 0; font-size: var(--wp--preset--font-size--s); }

/* Pedido recibido: número de pedido destacado en mono. */
.hz-pedido-recibido .wc-block-order-confirmation-summary-list-item__value { font-family: var(--wp--preset--font-family--mono); }
.hz-pedido-recibido .wc-block-order-confirmation-summary-list-item:first-child .wc-block-order-confirmation-summary-list-item__value {
	font-size: var(--wp--preset--font-size--2-xl);
	color: var(--wp--preset--color--senal);
}
.hz-pedido-recibido .wc-bacs-bank-details { background: var(--wp--preset--color--blanco); padding: 1rem; border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); }

/* ===================================================================
 * 9. Páginas, ayuda, blog y 404
 * ================================================================ */

/* Columna de lectura de 68 caracteres. */
.hz-lectura > *:not(.alignwide):not(.alignfull):not(.wp-block-table):not(figure) { max-width: 68ch; }
.hz-pagina { padding-bottom: var(--wp--preset--spacing--80); }
.hz-lectura h2 { margin-top: var(--wp--preset--spacing--70); }

/* Ayuda y legales: índice lateral fijo en escritorio; en el móvil va arriba. */
.hz-ayuda__columnas { gap: var(--wp--preset--spacing--70) !important; }
@media (min-width: 782px) {
	.hz-ayuda__indice .hz-indice { position: sticky; top: var(--wp--preset--spacing--40); }
}
.hz-indice { font-size: var(--wp--preset--font-size--s); border-left: 2px solid var(--wp--preset--color--tinta); padding-left: var(--wp--preset--spacing--40); }
.hz-indice__titulo { font-weight: 600; margin: 0 0 0.5rem; }
.hz-indice ol { margin: 0; padding-left: 1.1rem; }
.hz-indice li { margin-bottom: 0.375rem; }
.hz-indice a { text-decoration: none; }
.hz-indice a:hover { text-decoration: underline; }

/* Preguntas frecuentes con el bloque de detalles. */
.wp-block-details { border-bottom: 1px solid var(--wp--preset--color--linea); padding-block: 0.5rem; }
.wp-block-details summary { cursor: pointer; font-weight: 600; min-height: 44px; display: flex; align-items: center; }

/* Blog. */
.hz-tarjeta-entrada { background: var(--wp--preset--color--blanco); border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); overflow: hidden; height: 100%; gap: 0.5rem !important; padding-bottom: var(--wp--preset--spacing--40); }
.hz-tarjeta-entrada > *:not(.wp-block-post-featured-image) { padding-inline: var(--wp--preset--spacing--40); margin: 0 !important; }
.hz-tarjeta-entrada .wp-block-post-title a { text-decoration: none; }
.hz-mono-suave { font-family: var(--wp--preset--font-family--mono); color: var(--wp--preset--color--tinta-suave); }
.hz-entrada { padding-bottom: var(--wp--preset--spacing--80); }
.hz-entrada__imagen img { border-radius: var(--hz-radio-tarjeta); }
.hz-meta-entrada { font-size: var(--wp--preset--font-size--s); color: var(--wp--preset--color--tinta-suave); }
.hz-meta-entrada__autoria { color: var(--wp--preset--color--tinta); font-weight: 600; }
.hz-productos-entrada { margin-top: var(--wp--preset--spacing--70); }
.hz-tarjetas-producto { list-style: none; padding: 0; display: grid; gap: var(--wp--preset--spacing--40); grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.hz-tarjeta-producto { background: var(--wp--preset--color--blanco); border: 1px solid var(--wp--preset--color--linea); border-radius: var(--hz-radio-tarjeta); padding: 0.75rem; display: flex; flex-direction: column; gap: 0.25rem; }
.hz-tarjeta-producto a { text-decoration: none; display: flex; flex-direction: column; gap: 0.25rem; }
.hz-tarjeta-producto img { aspect-ratio: 1; object-fit: contain; width: 100%; }
.hz-tarjeta-producto__nombre { font-weight: 600; }

/* Resultados de búsqueda en páginas. */
.hz-busqueda-paginas { margin-top: var(--wp--preset--spacing--70); }
.hz-busqueda-paginas ul { list-style: none; padding: 0; }
.hz-busqueda-paginas li { border-top: 1px solid var(--wp--preset--color--linea); padding-block: 0.75rem; }
.hz-busqueda-paginas li p { margin: 0.25rem 0 0; color: var(--wp--preset--color--tinta-suave); }

/* 404 con el perfil «cortado». */
.hz-404 { padding-block: var(--wp--preset--spacing--80); }
.hz-404__perfil { height: 90px; background: url("../svg/perfil-cortado.svg") center / 100% 70px no-repeat; }

/* ===================================================================
 * 10. Pie
 * ================================================================ */

.hz-pie a { color: var(--wp--preset--color--papel); text-decoration: none; }
.hz-pie a:hover { text-decoration: underline; color: var(--wp--preset--color--blanco); }
.hz-pie__titulo { font-size: var(--wp--preset--font-size--l) !important; font-weight: 600; letter-spacing: 0.04em; text-transform: uppercase; margin-bottom: 0.5rem; }
.hz-lista-limpia { list-style: none; padding: 0; margin: 0; }
.hz-lista-limpia li { margin-bottom: 0.375rem; }
.hz-pie__separador { border: 0; height: 1px; width: 100%; max-width: var(--wp--style--global--wide-size) !important; margin-block: var(--wp--preset--spacing--60) !important; opacity: 1; }
.hz-coordenadas { font-family: var(--wp--preset--font-family--mono); opacity: 0.85; }
.hz-aviso-demo-pie { opacity: 0.9; }
.hz-pie__enlaces-legales a { text-decoration: underline; }

/* ===================================================================
 * 11. Movimiento reducido: sin transiciones
 * ================================================================ */
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; animation: none !important; scroll-behavior: auto !important; }
}

/* Campo de tarjeta regalo de PW Gift Cards en el resumen del checkout: que no se salga. */
#pwgc-redeem-gift-card-number, .pwgc-apply-gift-card-button { box-sizing: border-box !important; width: 100% !important; max-width: 100% !important; }
#pwgc-redeem-gift-card-number { border: 1px solid var(--wp--preset--color--tinta-suave); border-radius: var(--hz-radio); }
.pwgc-apply-gift-card-button { min-height: 44px; border-radius: var(--hz-radio); }

/* Equipo de «Quiénes somos»: iniciales en un círculo (sin retratos generados). */
.hz-equipo { list-style: none; padding: 0; display: grid; gap: var(--wp--preset--spacing--50); grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr)); }
.hz-equipo__persona { display: flex; flex-direction: column; gap: 0.25rem; }
.hz-equipo__iniciales { width: 72px; height: 72px; border-radius: 50%; background: var(--wp--preset--color--bosque); color: var(--wp--preset--color--blanco); display: flex; align-items: center; justify-content: center; font-family: var(--wp--preset--font-family--titular); font-weight: 700; font-size: var(--wp--preset--font-size--2-xl); margin-bottom: 0.5rem; }
.hz-equipo__nombre { font-weight: 600; }
.hz-equipo__papel { color: var(--wp--preset--color--tinta-suave); font-size: var(--wp--preset--font-size--s); }
.hz-imagen img { border-radius: var(--hz-radio-tarjeta); }
/* Aviso oficial de garantía a tamaño completo en «Garantías». */
.hz-aviso-garantia-completo img { max-width: 100%; width: 903px; height: auto; border: 1px solid var(--wp--preset--color--linea); }

/* Accesibilidad (F8): el panel del minicarrito cerrado no se puede enfocar ni se lee. */
.wc-block-mini-cart__drawer[aria-hidden="true"],
.wc-block-components-drawer__screen-overlay--is-hidden { visibility: hidden; }

/* Botón de añadir desactivado (sin talla elegida): contraste suficiente, sin opacidad. */
.wc-block-components-product-button__button.disabled,
.wc-block-components-product-button__button:disabled,
.wc-block-components-product-button__button[aria-disabled="true"],
.wp-block-woocommerce-add-to-cart-with-options .wp-element-button.disabled {
	opacity: 1 !important;
	background: var(--wp--preset--color--tinta-suave) !important;
	color: var(--wp--preset--color--blanco) !important;
	cursor: not-allowed;
}

/*
 * Foco visible en el deslizador de precio de los filtros (F8, prueba con teclado): los dos
 * controles son <input type="range"> superpuestos y sin contorno. Al enfocarlos con el
 * teclado, contorno de 2 px alrededor del deslizador y anillo en el tirador que se mueve.
 * Con !important porque WooCommerce les pone «outline: none !important».
 */
.wc-block-product-filter-price-slider__range input[type="range"]:focus-visible {
	outline: 2px solid var(--wp--preset--color--tinta) !important;
	outline-offset: 2px !important;
}
.wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-webkit-slider-thumb {
	box-shadow: 0 0 0 2px var(--wp--preset--color--blanco), 0 0 0 4px var(--wp--preset--color--tinta);
}
.wc-block-product-filter-price-slider__range input[type="range"]:focus-visible::-moz-range-thumb {
	box-shadow: 0 0 0 2px var(--wp--preset--color--blanco), 0 0 0 4px var(--wp--preset--color--tinta);
}
