/* ==========================================================
   Nenhu · estilos de marca
   ========================================================== */

/* Fraunces en versión "suave" (eje SOFT). No afecta a Figtree ni Caveat. */
body { font-variation-settings: 'SOFT' 100; -webkit-font-smoothing: antialiased; }

:root {
	--n-noche: var(--wp--preset--color--noche);
	--n-cielo: var(--wp--preset--color--cielo);
	--n-niebla: var(--wp--preset--color--niebla);
	--n-crema: var(--wp--preset--color--crema);
	--n-fondo: var(--wp--preset--color--fondo);
	--n-coral: var(--wp--preset--color--coral);
	--n-rojo: var(--wp--preset--color--rojo);
	--n-radius: 16px;
}

/* Cursivas de los títulos en coral cuando se usa el estilo "acento" */
.is-style-acento em, h1 em, h2 em { color: var(--n-coral); font-style: italic; }
.has-noche-background-color h1 em, .has-noche-background-color h2 em { color: var(--n-cielo); }

/* ---------- Cabecera ---------- */
.nenhu-aviso { font-size: 0.8125rem; font-weight: 600; letter-spacing: 0.08em; text-transform: uppercase; text-align: center; padding: 0.6rem 1rem; margin: 0; }
.nenhu-aviso .sep { color: var(--n-coral); margin: 0 1rem; }
.nenhu-barra { padding-top: 0.9rem; padding-bottom: 0.9rem; }
.nenhu-barra .wp-block-navigation a { text-decoration: none; }
.nenhu-wordmark, .nenhu-wordmark a { font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-weight: 900; letter-spacing: -0.03em; text-decoration: none; color: var(--n-noche); line-height: 1; }
.nenhu-feston { height: 16px; margin-top: 0 !important; background: radial-gradient(circle at 12px 0, var(--n-niebla) 11px, transparent 12px) 0 0 / 24px 16px repeat-x; position: relative; z-index: 1; margin-bottom: 0 !important; }
.nenhu-feston-noche { height: 16px; background: radial-gradient(circle at 12px 16px, var(--n-noche) 11px, transparent 12px) 0 0 / 24px 16px repeat-x; margin-bottom: 0 !important; }
.wc-block-mini-cart__badge { background: var(--n-rojo) !important; color: #fff !important; }

/* ---------- Decoración ---------- */
.is-style-damero, .nenhu-damero { background: repeating-conic-gradient(var(--n-noche) 0 25%, var(--n-cielo) 0 50%) 0 0 / 40px 40px !important; min-height: 40px; }
.is-style-rayas { background: repeating-linear-gradient(90deg, var(--n-cielo) 0 22px, var(--n-niebla) 22px 44px) !important; }
.is-style-cuadricula { background-color: var(--n-crema) !important; background-image: linear-gradient(#DCE8F5 1px, transparent 1px), linear-gradient(90deg, #DCE8F5 1px, transparent 1px) !important; background-size: 36px 36px !important; }
.is-style-nota { padding: 1.75rem !important; transform: rotate(-1.5deg); }
.is-style-nota:nth-child(2n) { transform: rotate(1.2deg); }
.is-style-tarjeta { border: 1px solid var(--n-noche); border-radius: 4px; padding: 2rem !important; background: var(--n-crema); }

.is-style-sello img, .nenhu-sello { background: radial-gradient(circle, transparent 5px, #fff 5.5px) -6px -6px / 12px 12px; padding: 7px; box-sizing: border-box; filter: drop-shadow(0 18px 30px rgba(27, 42, 74, .18)); }
.is-style-sello img { outline: 0; }
.is-style-pegatina img { transform: rotate(-8deg); }
.is-style-polaroid img { background: #fff; padding: 12px 12px 44px; box-shadow: 0 12px 26px rgba(27, 42, 74, .16); transform: rotate(-4deg); }

.is-style-etiqueta { font-size: 0.8125rem !important; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; }
.is-style-manuscrito { font-family: var(--wp--preset--font-family--caveat); font-weight: 700; font-size: 1.75rem !important; line-height: 1.1; transform: rotate(-3deg); }
.is-style-chip { display: inline-block; padding: 0.55rem 1.1rem; border-radius: 999px; border: 1.5px solid currentColor; font-weight: 600; font-size: 0.9375rem; margin: 0 0.35rem 0.5rem 0 !important; }
.is-style-chip a { text-decoration: none; }

/* Cinta en movimiento */
.nenhu-cinta { overflow: hidden; background: var(--n-cielo); padding: 0.9rem 0; }
.nenhu-cinta__pista { display: flex; gap: 2.25rem; width: max-content; font-family: var(--wp--preset--font-family--fraunces); font-style: italic; font-size: 1.75rem; line-height: 1; animation: nenhu-cinta 38s linear infinite; }
.nenhu-cinta__pista span:nth-child(2n) { color: var(--n-coral); }
@keyframes nenhu-cinta { to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .nenhu-cinta__pista { animation: none; } }

/* Hero */
.nenhu-hero-visual { position: relative; }
.nenhu-precio { position: absolute; right: 4%; top: 0; width: 124px; height: 124px; border-radius: 50%; background: var(--n-coral); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; transform: rotate(12deg); box-shadow: 0 0 0 6px var(--n-fondo), 0 0 0 8px var(--n-coral); }
.nenhu-precio small { font-size: 0.75rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; }
.nenhu-precio strong { font-family: var(--wp--preset--font-family--fraunces); font-weight: 400; font-size: 2.4rem; line-height: 1; }
.nenhu-confianza { font-size: 0.875rem; font-weight: 600; }
.nenhu-confianza .estrellas { color: var(--n-coral); letter-spacing: 1px; }

/* ---------- Productos (WooCommerce) ---------- */
.woocommerce ul.products li.product, .wc-block-grid__product { text-align: left; }
.woocommerce ul.products li.product a img, .wc-block-components-product-image img { border-radius: var(--n-radius); background: #fff; aspect-ratio: 4 / 5; object-fit: cover; margin-bottom: 0.75rem !important; }
.woocommerce ul.products li.product .woocommerce-loop-product__title, .wc-block-components-product-name { font-family: var(--wp--preset--font-family--fraunces) !important; font-weight: 400 !important; font-size: 1.5rem !important; line-height: 1.1 !important; color: var(--n-noche); padding: 0 !important; }
.woocommerce ul.products li.product .price, .wc-block-components-product-price { color: var(--n-noche) !important; font-weight: 600; font-size: 0.9375rem !important; }
.woocommerce span.onsale { background: var(--n-coral); border-radius: 999px; min-height: 0; min-width: 0; padding: 0.35rem 0.7rem; line-height: 1; font-size: 0.6875rem; letter-spacing: 0.12em; text-transform: uppercase; }
.woocommerce a.button, .woocommerce button.button, .wc-block-components-button:not(.is-link) { border-radius: 999px !important; background: var(--n-rojo) !important; color: #fff !important; font-weight: 700 !important; }
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--n-noche) !important; }
.woocommerce ul.products li.product .button { display: none; } /* en listados se entra a la ficha para personalizar */

/* ---------- Secciones ---------- */
.nenhu-seccion { padding-top: var(--wp--preset--spacing--60) !important; padding-bottom: var(--wp--preset--spacing--60) !important; }
.nenhu-numero { font-family: var(--wp--preset--font-family--fraunces); font-size: 3.5rem !important; line-height: 0.9; margin: 0 !important; }
.nenhu-insignia { width: 116px; height: 116px; border-radius: 50%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; font-size: 0.75rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; transform: rotate(-8deg); }
.nenhu-insignia strong { font-family: var(--wp--preset--font-family--fraunces); font-size: 2.1rem; font-weight: 400; letter-spacing: 0; text-transform: none; line-height: 1; }
.nenhu-forma { border-radius: 20px; padding: 2.75rem !important; position: relative; }
.nenhu-forma .nenhu-insignia { position: absolute; right: 2rem; top: 2rem; }
.nenhu-opinion { transform: rotate(-1deg); }
.nenhu-opinion:nth-child(2) { transform: rotate(1deg); margin-top: 1rem !important; }
.nenhu-opinion .estrellas { color: var(--n-coral); letter-spacing: 2px; }

/* Blog (últimas entradas) */
.wp-block-latest-posts.is-grid li { margin-bottom: 2rem; }
.wp-block-latest-posts__featured-image img { border-radius: var(--n-radius); aspect-ratio: 4 / 3; object-fit: cover; width: 100%; }
.wp-block-latest-posts__post-title { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.75rem; line-height: 1.15; text-decoration: none; display: block; margin-top: 0.5rem; }

/* Preguntas frecuentes */
.wp-block-details summary { font-weight: 700; font-size: 1.125rem; cursor: pointer; list-style: none; display: flex; justify-content: space-between; }
.wp-block-details summary::after { content: '+'; }
.wp-block-details[open] summary::after { content: '−'; }
.wp-block-details summary::-webkit-details-marker { display: none; }
.wp-block-details:last-of-type { border-bottom: 1.5px solid var(--n-noche); }

/* ---------- Pie ---------- */
.nenhu-pie { color: var(--n-niebla); }
.nenhu-pie a { color: var(--n-niebla); text-decoration: none; }
.nenhu-pie a:hover { color: var(--n-cielo); }
.nenhu-pie .nenhu-wordmark { color: var(--n-cielo); font-size: 4rem; }
.nenhu-pie .is-style-etiqueta { color: var(--n-cielo); }
.nenhu-pie .wp-block-social-links .wp-social-link { border: 1.5px solid var(--n-cielo); color: var(--n-cielo); background: transparent !important; }
.nenhu-legal { border-top: 1px solid var(--n-tinta-suave, #34466B); padding-top: 1.25rem; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; }

/* ---------- Accesibilidad ---------- */
:where(a, button, input, select, textarea, summary):focus-visible { outline: 2px solid var(--n-rojo); outline-offset: 3px; }

/* ---------- Móvil ---------- */
@media (max-width: 781px) {
	.nenhu-aviso { font-size: 0.6875rem; }
	.nenhu-aviso .sep, .nenhu-aviso .extra { display: none; }
	.nenhu-precio { width: 88px; height: 88px; }
	.nenhu-precio strong { font-size: 1.7rem; }
	.nenhu-cinta__pista { font-size: 1.3rem; }
	.nenhu-forma { padding: 1.75rem !important; }
	.nenhu-forma .nenhu-insignia { width: 84px; height: 84px; right: 1rem; top: 1rem; }
	.nenhu-forma .nenhu-insignia strong { font-size: 1.5rem; }
	.nenhu-pie .nenhu-wordmark { font-size: 3rem; }
	input, select, textarea { font-size: 16px !important; } /* evita el zoom del iPhone */
}

/* ---------- Estructura ---------- */
.nenhu-cabecera > *, .nenhu-main > *, footer.wp-block-template-part > * { margin-block-start: 0; }
.wp-site-blocks > * + * { margin-block-start: 0; }
.nenhu-main > .wp-block-post-content > .alignfull:first-child { margin-top: 0; }
.nenhu-barra { padding-left: clamp(1rem, 4vw, 3.5rem) !important; padding-right: clamp(1rem, 4vw, 3.5rem) !important; }
.nenhu-barra .nenhu-wordmark { font-size: clamp(2rem, 3vw, 2.75rem); }
.nenhu-pie { padding-top: 4rem !important; padding-bottom: 2rem !important; }
.nenhu-claim { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.375rem; line-height: 1.25; color: var(--n-crema); }
.nenhu-panel { background: var(--n-crema); border-radius: 24px; padding: clamp(1.75rem, 4vw, 3.5rem) !important; box-shadow: 0 20px 40px rgba(27, 42, 74, .12); }
.nenhu-cabecera-seccion { display: flex; justify-content: space-between; align-items: flex-end; gap: 1.5rem; flex-wrap: wrap; }
.nenhu-mas { font-weight: 700; border-bottom: 1.5px solid currentColor; text-decoration: none; }
.has-noche-background-color .is-style-etiqueta { color: var(--n-cielo); }
.has-noche-background-color .is-style-nota { color: var(--n-noche); }

/* ---------- v1.0.1 ---------- */
.nenhu-wordmark, .nenhu-wordmark a { text-transform: lowercase; }
.wp-block-spacer.nenhu-feston, .wp-block-spacer.nenhu-feston-noche { margin-top: 0 !important; }
.wp-block-spacer.nenhu-damero { margin-top: 0 !important; margin-bottom: 0 !important; }
/* Buscador de la cabecera: solo icono, sin botón rojo */
.nenhu-barra .wp-block-search__button { background: transparent !important; color: var(--n-noche) !important; border: 0 !important; padding: 0.5rem !important; min-height: 44px; min-width: 44px; box-shadow: none !important; }
.nenhu-barra .wp-block-search__button svg { width: 24px; height: 24px; fill: currentColor; }
.nenhu-barra .wp-block-search__inside-wrapper { border: 0 !important; }
/* Menú en una sola línea */
.nenhu-barra .wp-block-navigation__container { flex-wrap: nowrap; gap: 1.75rem; }
.nenhu-barra .wp-block-navigation-item__content { white-space: nowrap; }
@media (min-width: 600px) and (max-width: 1180px) {
	.nenhu-barra .wp-block-navigation__container { gap: 1rem; }
	.nenhu-barra .wp-block-navigation { font-size: 0.72rem; letter-spacing: 0.06em; }
	.nenhu-barra .nenhu-wordmark { font-size: 2rem; }
}
div.nenhu-feston-noche { height: 16px; }
div.nenhu-damero { height: 40px; }

/* Opiniones dinámicas */
.nenhu-opiniones { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 2rem; align-items: start; }
.nenhu-opiniones .nenhu-opinion p { margin: 0 0 1rem; }
.nenhu-opiniones .nenhu-opinion p:last-child { margin-bottom: 0; }
.nenhu-opiniones .nenhu-opinion a { color: inherit; }
.nenhu-opiniones .nenhu-opinion .has-x-large-font-size { font-size: clamp(1.15rem, 1.6vw, 1.35rem) !important; line-height: 1.35; }

/* Precios dinámicos: el € más pequeño en los sellos de precio */
.nenhu-precio strong .nenhu-euro, .nenhu-insignia strong .nenhu-euro { font-size: 0.6em; vertical-align: 0.35em; }

/* ---------- Hecho por Nenhu ---------- */
.nenhu-rejilla { gap: 1.75rem !important; }
.nenhu-rejilla > .is-style-nota:nth-child(3n) { transform: rotate(-0.6deg); }
.wp-block-gallery.nenhu-galeria { gap: 2rem !important; }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image { flex-direction: column; background: #fff; padding: 10px 10px 0; box-shadow: 0 14px 28px rgba(27, 42, 74, .14); transform: rotate(-2deg); }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image:nth-child(2n) { transform: rotate(1.6deg); }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image:nth-child(3n) { transform: rotate(-0.8deg); }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image img { aspect-ratio: 4 / 5; object-fit: cover; height: auto; }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image figcaption { position: static; background: none; color: var(--n-noche); font-family: var(--wp--preset--font-family--caveat); font-size: 1.35rem; text-align: center; padding: 0.4rem 0 0.7rem; max-height: none; overflow: visible; text-shadow: none; }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image::before { display: none; }
.nenhu-comparativa table { border-collapse: separate; border-spacing: 0; background: var(--n-crema); border: 1px solid var(--n-noche); border-radius: 6px; overflow: hidden; }
.nenhu-comparativa th, .nenhu-comparativa td { border: 0; border-bottom: 1px solid rgba(27, 42, 74, .15); padding: 0.9rem 1.1rem; text-align: left; vertical-align: top; }
.nenhu-comparativa tbody tr:last-child td { border-bottom: 0; }
.nenhu-comparativa thead th { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.25rem; font-weight: 500; }
.nenhu-comparativa thead th:last-child, .nenhu-comparativa td:last-child { background: var(--n-noche); color: var(--n-crema); }
.nenhu-comparativa td:first-child { font-weight: 700; }
@media (max-width: 700px) { .nenhu-comparativa th, .nenhu-comparativa td { padding: 0.7rem; font-size: 0.875rem; } }

/* Galería en carrusel (Hecho por Nenhu) */
.wp-block-gallery.nenhu-galeria.has-nested-images { flex-wrap: nowrap !important; overflow-x: auto; overflow-y: hidden; scroll-snap-type: x mandatory; scroll-padding-left: 0.75rem; padding: 1.5rem 0.75rem 2.25rem !important; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.wp-block-gallery.nenhu-galeria.has-nested-images::-webkit-scrollbar { display: none; }
.wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image:not(#individual-image) { flex: 0 0 clamp(230px, 27vw, 310px) !important; width: auto !important; scroll-snap-align: start; }
.nenhu-carrusel-nav { display: flex; justify-content: center; gap: 0.75rem; margin-top: 0.5rem !important; }
.nenhu-carrusel-nav[hidden] { display: none; }
.nenhu-carrusel-btn { width: 48px; height: 48px; border-radius: 50%; border: 1px solid var(--n-noche); background: var(--n-crema); color: var(--n-noche); font-size: 1.25rem; cursor: pointer; transition: background .2s, color .2s; }
.nenhu-carrusel-btn:hover:not(:disabled) { background: var(--n-noche); color: var(--n-crema); }
.nenhu-carrusel-btn:disabled { opacity: .3; cursor: default; }
@media (max-width: 700px) { .wp-block-gallery.nenhu-galeria.has-nested-images figure.wp-block-image:not(#individual-image) { flex-basis: 72vw !important; } }

/* ---------- Ficha de producto: ¿Quién lo diseña? ---------- */
.nenhu-modos { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin: 0 0 1.5rem; }
.nenhu-modos-titulo { grid-column: 1 / -1; margin: 0; font-weight: 700; font-size: 0.875rem; letter-spacing: 0.08em; text-transform: uppercase; }
.nenhu-modo { display: flex; flex-direction: column; gap: 0.4rem; text-align: left; padding: 1rem 1.1rem; border: 1.5px solid rgba(27, 42, 74, .25); border-radius: 10px; background: var(--n-crema); color: var(--n-noche); font: inherit; cursor: pointer; transition: border-color .15s, box-shadow .15s, background .15s; }
.nenhu-modo:hover { border-color: var(--n-noche); }
.nenhu-modo.is-activo { border-color: var(--n-noche); box-shadow: 0 0 0 2px var(--n-noche); background: var(--n-niebla); }
.nenhu-modo-nenhu.is-activo { background: var(--wp--preset--color--rosa); }
.nenhu-modo-cabecera { display: flex; justify-content: space-between; align-items: baseline; gap: 0.5rem; }
.nenhu-modo-nombre { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.2rem; line-height: 1.2; }
.nenhu-modo-precio { font-weight: 700; white-space: nowrap; }
.nenhu-modo-texto { font-size: 0.875rem; line-height: 1.45; }
.nenhu-modo-plazo { font-size: 0.8rem; font-weight: 700; color: var(--n-tinta-suave, #34466B); }
.nenhu-modos-mas { grid-column: 1 / -1; font-size: 0.875rem; color: inherit; }
.variations tr.nenhu-modo-oculto { display: none; }
.nenhu-garantias { list-style: none; margin: 1.5rem 0 0; padding: 1rem 1.1rem; border-top: 1px solid rgba(27, 42, 74, .15); font-size: 0.875rem; display: grid; gap: 0.45rem; }
.nenhu-garantias li::before { content: "✦"; color: var(--n-coral); margin-right: 0.5rem; }
.nenhu-garantias a { color: inherit; }
@media (max-width: 600px) { .nenhu-modos { grid-template-columns: 1fr; } }

/* Cabecera por encima del contenido (los submenús ya no quedan tapados) */
.nenhu-cabecera { position: relative; z-index: 50; }
.nenhu-barra { position: relative; z-index: 3; }
.nenhu-barra .wp-block-navigation__submenu-container { z-index: 60 !important; }

/* Portada: escaparate de productos */
.nenhu-escaparate { position: relative; width: 100%; max-width: 440px; margin: 0 auto; padding: 24px 0 0; }
.nenhu-escaparate__pista { display: grid; }
.nenhu-escaparate__item { grid-area: 1 / 1; display: block; color: var(--n-noche); text-decoration: none; opacity: 0; visibility: hidden; transform: rotate(3deg) translateY(8px); transition: opacity .6s ease, transform .6s ease, visibility 0s linear .6s; }
.nenhu-escaparate__item.is-activo { opacity: 1; visibility: visible; transform: rotate(2deg); transition: opacity .6s ease, transform .6s ease, visibility 0s; }
.nenhu-escaparate__foto { display: block; aspect-ratio: 4 / 5; background: radial-gradient(circle, transparent 5px, #fff 5.5px) -6px -6px / 12px 12px; padding: 7px; box-sizing: border-box; filter: drop-shadow(0 18px 30px rgba(27, 42, 74, .18)); }
.nenhu-escaparate__foto img { width: 100%; height: 100%; object-fit: cover; display: block; background: #fff; }
.nenhu-escaparate__nombre { position: absolute; left: -14px; bottom: 34px; max-width: 80%; background: var(--n-crema); border: 1.5px solid var(--n-noche); border-radius: 4px; padding: 0.5rem 0.9rem; font-family: var(--wp--preset--font-family--fraunces); font-size: 1.35rem; line-height: 1.15; transform: rotate(-4deg); box-shadow: 4px 4px 0 var(--n-noche); }
.nenhu-escaparate__item:hover .nenhu-escaparate__nombre, .nenhu-escaparate__item:focus-visible .nenhu-escaparate__nombre { background: var(--n-cielo); }
.nenhu-escaparate .nenhu-precio { position: absolute; right: -18px; top: -20px; }
.nenhu-escaparate__puntos { display: flex; justify-content: center; gap: 0.5rem; margin-top: 1.75rem; }
.nenhu-escaparate__punto { width: 10px; height: 10px; padding: 0; border-radius: 50%; border: 1.5px solid var(--n-noche); background: transparent; cursor: pointer; }
.nenhu-escaparate__punto.is-activo { background: var(--n-noche); }
@media (max-width: 780px) {
	.nenhu-escaparate { max-width: 340px; padding-top: 20px; }
	.nenhu-escaparate__nombre { font-size: 1.1rem; left: -6px; }
	.nenhu-escaparate .nenhu-precio { right: -6px; }
}
@media (prefers-reduced-motion: reduce) { .nenhu-escaparate__item { transition: none; } }


/* Ficha de producto: sin SKU, categoría ni etiquetas */
.single-product .product_meta, .single-product .wp-block-woocommerce-product-meta { display: none !important; }

/* Cabecera: logo centrado (menú a la izquierda, iconos a la derecha).
   En móvil (menú hamburguesa) y en pantallas muy estrechas también queda centrado. */
@media (min-width: 900px), (max-width: 599px) {
	.nenhu-barra { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; column-gap: 1.5rem; }
	.nenhu-barra > .wp-block-navigation { justify-self: start; }
	.nenhu-barra > .nenhu-wordmark { justify-self: center; text-align: center; margin: 0 !important; }
	.nenhu-barra > .wp-block-group { justify-self: end; }
}

/* ---------- Tienda ---------- */
.nenhu-tienda { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.nenhu-tienda-cabecera { text-align: center; max-width: 760px; margin: 0 auto var(--wp--preset--spacing--40); }
.nenhu-tienda-cabecera h1 { margin: 0.25rem 0 0.75rem; }
.nenhu-tienda-intro { color: var(--n-tinta-suave, #34466B); font-size: 1.125rem; margin: 0; }
.nenhu-filtros { display: flex; flex-direction: column; align-items: center; gap: 0.75rem; margin: 0 auto var(--wp--preset--spacing--50); padding: 1.25rem 1rem; border-top: 1px dashed rgba(27, 42, 74, .35); border-bottom: 1px dashed rgba(27, 42, 74, .35); }
.nenhu-filtros__grupo { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: 0.5rem; }
.nenhu-filtros__titulo { font-weight: 700; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; margin-right: 0.35rem; min-width: 6.5rem; text-align: right; }
.nenhu-filtro { display: inline-block; padding: 0.4rem 0.95rem; border: 1.5px solid var(--n-noche); border-radius: 999px; background: var(--n-crema); color: var(--n-noche); text-decoration: none; font-weight: 600; font-size: 0.875rem; line-height: 1.2; transition: background .15s, color .15s; }
.nenhu-filtro:hover { background: var(--n-niebla); }
.nenhu-filtro.is-activo { background: var(--n-noche); color: var(--n-crema); }
.nenhu-filtro.is-activo::after { content: " ×"; }
.nenhu-filtros__limpiar { font-size: 0.875rem; color: var(--n-coral); }
.nenhu-sin-resultados { text-align: center; font-size: 1.125rem; padding: 2rem 0; }
.nenhu-tienda .woocommerce-result-count, .nenhu-tienda .woocommerce-ordering, .nenhu-tienda .woocommerce-products-header { display: none; }
.nenhu-tienda ul.products li.product { text-align: center; }
.woocommerce ul.products li.product .price .nenhu-desde, .nenhu-desde { font-weight: 400; font-size: 0.85em; margin-right: 0.15em; }
@media (max-width: 600px) {
	.nenhu-filtros__titulo { width: 100%; min-width: 0; text-align: center; margin: 0.25rem 0 0; }
	.nenhu-filtro { white-space: nowrap; }
}

/* ---------- Carrito y pago ---------- */
.nenhu-pago { padding-top: var(--wp--preset--spacing--50); padding-bottom: var(--wp--preset--spacing--60); }
.nenhu-pago .nenhu-tienda-cabecera { margin-bottom: var(--wp--preset--spacing--40); }
.nenhu-pago .wp-block-woocommerce-cart, .nenhu-pago .wp-block-woocommerce-checkout { margin-top: 0; }
/* Resumen del pedido como tarjeta */
.wc-block-components-sidebar .wp-block-woocommerce-cart-order-summary-block,
.wc-block-components-sidebar .wp-block-woocommerce-checkout-order-summary-block { background: var(--n-crema); border: 1px solid var(--n-noche); border-radius: 8px; padding: 1.25rem 1.25rem 0.5rem; }
.wc-block-cart__totals-title, .wc-block-components-checkout-step__title, .wc-block-components-title { font-family: var(--wp--preset--font-family--fraunces) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; font-size: 1.35rem !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value { font-size: 1.25rem; font-weight: 700; }
.wc-block-cart-items .wc-block-components-product-name { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.15rem; text-decoration: none; color: var(--n-noche); }
.wc-block-components-product-details, .wc-block-components-product-metadata { font-size: 0.875rem; color: var(--n-tinta-suave, #34466B); }
.wc-block-cart-item__image img { border-radius: 6px; }
/* Campos */
.wc-block-components-text-input input, .wc-block-components-textarea, .wc-blocks-components-select__select, .wc-block-components-combobox .wc-block-components-combobox-control input { border-radius: 8px !important; border-color: rgba(27, 42, 74, .4) !important; background: #fff !important; }
.wc-block-components-text-input input:focus, .wc-block-components-textarea:focus { border-color: var(--n-noche) !important; box-shadow: 0 0 0 1px var(--n-noche) !important; }
.wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--n-noche); border-color: var(--n-noche); }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { width: 100%; min-height: 56px; font-size: 1.05rem !important; }
.wc-block-components-radio-control__option--checked-option-highlighted, .wc-block-components-radio-control-accordion-option--checked-option-highlighted { box-shadow: inset 0 0 0 2px var(--n-noche) !important; border-radius: 8px; }
/* Garantías en fila bajo el carrito y el pago */
.nenhu-garantias-fila { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem 1.75rem; border-top: 1px dashed rgba(27, 42, 74, .35); margin-top: var(--wp--preset--spacing--50); padding-top: 1.25rem; }
/* Cabecera y pie de pago, sin distracciones */
.nenhu-barra-pago { display: grid !important; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
.nenhu-barra-pago .nenhu-volver { justify-self: start; margin: 0; font-size: 0.875rem; }
.nenhu-barra-pago .nenhu-volver a { color: var(--n-noche); }
.nenhu-barra-pago .nenhu-wordmark { justify-self: center; margin: 0 !important; }
.nenhu-barra-pago .nenhu-pago-seguro { justify-self: end; margin: 0; font-size: 0.875rem; font-weight: 700; }
.nenhu-pie-pago { padding: 1.5rem 1rem 2rem; border-top: 1px solid rgba(27, 42, 74, .15); }
.nenhu-pie-pago a { color: inherit; }
@media (max-width: 600px) { .nenhu-barra-pago .nenhu-volver a { font-size: 0; } .nenhu-barra-pago .nenhu-volver a::before { content: "←"; font-size: 1.25rem; } }

/* Sobre Nenhu: historia en columna estrecha para leer cómodo */
.nenhu-historia h2 { margin-top: 0.25rem; }
.nenhu-historia .is-style-etiqueta:not(:first-child) { margin-top: var(--wp--preset--spacing--50); }

/* ---------- Ficha de producto: galería ---------- */
/* Foto principal */
.woocommerce-product-gallery { position: relative; }
.woocommerce-product-gallery .flex-viewport, .woocommerce-product-gallery > .woocommerce-product-gallery__wrapper { border-radius: 12px; overflow: hidden; background: #fff; }
.woocommerce-product-gallery__image img { display: block; width: 100%; height: auto; }
/* Miniaturas: una sola fila deslizable, con aire entre ellas */
.woocommerce-product-gallery .flex-control-thumbs { display: flex !important; flex-wrap: nowrap; gap: 0.75rem; margin: 1rem 0 0 !important; padding: 0.25rem 0.1rem 0.5rem !important; list-style: none; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: thin; }
.woocommerce-product-gallery .flex-control-thumbs li { flex: 0 0 84px !important; width: 84px !important; margin: 0 !important; float: none !important; scroll-snap-align: start; }
.woocommerce-product-gallery .flex-control-thumbs li img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 8px; border: 2px solid transparent; opacity: 0.55; cursor: pointer; transition: opacity .15s, border-color .15s; background: #fff; }
.woocommerce-product-gallery .flex-control-thumbs li img:hover { opacity: 0.9; }
.woocommerce-product-gallery .flex-control-thumbs li img.flex-active { opacity: 1; border-color: var(--n-noche); }
/* Flechas sobre la foto principal */
.woocommerce-product-gallery .flex-direction-nav { list-style: none; margin: 0; padding: 0; }
.woocommerce-product-gallery .flex-direction-nav a { position: absolute; top: 0; z-index: 5; width: 44px; height: 44px; margin-top: calc(var(--nenhu-galeria-alto, 50%) - 22px); display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(251, 249, 246, .92); border: 1px solid rgba(27, 42, 74, .25); color: var(--n-noche); font-size: 1.2rem; text-decoration: none; box-shadow: 0 4px 12px rgba(27, 42, 74, .12); transition: background .15s, opacity .15s; }
.woocommerce-product-gallery .flex-direction-nav a:hover { background: var(--n-noche); color: var(--n-crema); }
.woocommerce-product-gallery .flex-direction-nav .flex-prev { left: 12px; }
.woocommerce-product-gallery .flex-direction-nav .flex-next { right: 12px; }
.woocommerce-product-gallery .flex-direction-nav .flex-disabled { opacity: 0; pointer-events: none; }
/* Lupa de zoom discreta */
.woocommerce-product-gallery__trigger { top: 12px !important; right: 12px !important; border-radius: 50%; background: rgba(251, 249, 246, .92) !important; }
@media (max-width: 600px) {
	.woocommerce-product-gallery .flex-control-thumbs li { flex-basis: 64px !important; width: 64px !important; }
	.woocommerce-product-gallery .flex-direction-nav a { width: 38px; height: 38px; }
}

/* ---------- Ficha de producto: estructura ---------- */
.nenhu-ficha { padding-top: var(--wp--preset--spacing--40); padding-bottom: var(--wp--preset--spacing--60); }
.nenhu-ficha .woocommerce-breadcrumb { font-size: 0.875rem; margin-bottom: 1.5rem; }
.nenhu-ficha .woocommerce-breadcrumb a { color: inherit; }
.nenhu-ficha div.product { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 2rem clamp(2rem, 5vw, 4.5rem); align-items: start; }
.nenhu-ficha div.product > * { grid-column: 1 / -1; }
.nenhu-ficha div.product > .woocommerce-product-gallery { grid-column: 1; width: 100% !important; float: none !important; margin: 0 !important; }
.nenhu-ficha div.product > .summary { grid-column: 2; width: 100% !important; float: none !important; margin: 0 !important; }
.nenhu-ficha div.product > .onsale { display: none; }
.nenhu-ficha .product_title { font-family: var(--wp--preset--font-family--fraunces); font-weight: 400; font-size: clamp(2rem, 3.4vw, 2.75rem); line-height: 1.1; margin: 0 0 0.5rem; }
.nenhu-ficha .summary > .price { font-size: 1.5rem !important; color: var(--n-noche) !important; font-weight: 700; margin: 0 0 1rem; }
.nenhu-ficha .woocommerce-product-details__short-description { color: var(--n-tinta-suave, #34466B); margin-bottom: 1.5rem; }
@media (max-width: 860px) {
	.nenhu-ficha div.product { grid-template-columns: 1fr; }
	.nenhu-ficha div.product > .woocommerce-product-gallery, .nenhu-ficha div.product > .summary { grid-column: 1; }
}

/* ---------- Ficha de producto: opciones en desplegables ---------- */
.nenhu-ficha table.variations, .nenhu-ficha table.variations tbody { display: block; width: 100%; border: 0; margin: 0 0 1rem; }
.nenhu-ficha table.variations tr { display: block; margin-bottom: 1rem; }
.nenhu-ficha table.variations tr.nenhu-modo-oculto { display: none; }
.nenhu-ficha table.variations th, .nenhu-ficha table.variations td { display: block; padding: 0 !important; border: 0; text-align: left; background: none; }
.nenhu-ficha table.variations th.label label { display: block; margin-bottom: 0.4rem; font-weight: 700; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--n-noche); }
.nenhu-ficha table.variations select { width: 100%; max-width: 420px; min-height: 50px; padding: 0.7rem 2.75rem 0.7rem 1rem; border: 1.5px solid rgba(27, 42, 74, .45); border-radius: 10px; background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='9' viewBox='0 0 14 9'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%231B2A4A' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 1rem center; -webkit-appearance: none; appearance: none; font: inherit; font-size: 1rem; color: var(--n-noche); cursor: pointer; }
.nenhu-ficha table.variations select:hover { border-color: var(--n-noche); }
.nenhu-ficha table.variations select:focus { outline: none; border-color: var(--n-noche); box-shadow: 0 0 0 2px var(--n-noche); }
.nenhu-ficha .reset_variations { display: inline-block; margin-top: 0.25rem; font-size: 0.8rem; color: var(--n-tinta-suave, #34466B); }
.nenhu-ficha .woocommerce-variation-price .price { font-size: 1.5rem; font-weight: 700; color: var(--n-noche); }
.nenhu-ficha form.cart .quantity { display: none; }
.nenhu-ficha form.cart .single_add_to_cart_button { width: 100%; max-width: 420px; min-height: 56px; font-size: 1.05rem !important; }
.nenhu-ficha form.cart .single_add_to_cart_button.disabled { opacity: 0.45; }
/* Pestañas de descripción y opiniones */
.nenhu-ficha .woocommerce-tabs { margin-top: var(--wp--preset--spacing--50); }
.nenhu-ficha .woocommerce-tabs ul.tabs { display: flex; gap: 1.5rem; padding: 0 !important; margin: 0 0 1.5rem !important; border-bottom: 1px solid rgba(27, 42, 74, .2); list-style: none; }
.nenhu-ficha .woocommerce-tabs ul.tabs::before, .nenhu-ficha .woocommerce-tabs ul.tabs li::before, .nenhu-ficha .woocommerce-tabs ul.tabs li::after { display: none !important; }
.nenhu-ficha .woocommerce-tabs ul.tabs li { background: none !important; border: 0 !important; margin: 0 !important; padding: 0 !important; }
.nenhu-ficha .woocommerce-tabs ul.tabs li a { display: block; padding: 0.75rem 0 !important; font-weight: 700; color: var(--n-tinta-suave, #34466B) !important; text-decoration: none; border-bottom: 2px solid transparent; }
.nenhu-ficha .woocommerce-tabs ul.tabs li.active a { color: var(--n-noche) !important; border-bottom-color: var(--n-noche); }
.nenhu-ficha .related > h2, .nenhu-ficha .upsells > h2 { font-family: var(--wp--preset--font-family--fraunces); font-weight: 400; }

/* Desplegables de la ficha: altura automática (el texto no se corta) y nombre siempre visible */
.nenhu-ficha table.variations select,
.single-product table.variations select { height: auto !important; min-height: 52px !important; line-height: 1.4 !important; padding: 0.8rem 2.75rem 0.8rem 1rem !important; background-color: #fff !important; box-sizing: border-box; }
.single-product table.variations th.label,
.single-product table.variations th.label label { display: block !important; visibility: visible !important; opacity: 1 !important; position: static !important; width: auto !important; height: auto !important; clip: auto !important; }
.nenhu-etiqueta-opcion { display: block; margin-bottom: 0.4rem; font-weight: 700; font-size: 0.8rem; letter-spacing: 0.08em; text-transform: uppercase; color: var(--n-noche); }

/* ---------- Tienda: tarjetas de producto ---------- */
.woocommerce ul.products li.product a img, .wc-block-components-product-image img { border-radius: 4px !important; image-rendering: auto; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: clamp(1.15rem, 1.6vw, 1.4rem) !important; line-height: 1.2 !important; margin: 0.25rem 0 0.35rem !important; padding: 0 !important; }
.woocommerce ul.products li.product .price { display: block; margin: 0 !important; }
.woocommerce ul.products li.product .star-rating { display: none !important; }
.nenhu-loop-valoracion { margin-top: 0.3rem; font-size: 0.8rem; line-height: 1; color: var(--n-tinta-suave, #34466B); }
.nenhu-loop-valoracion .estrellas { color: var(--n-coral); letter-spacing: 1px; font-size: 0.85rem; }
.nenhu-tienda ul.products li.product .nenhu-loop-valoracion { text-align: center; }

/* ==========================================================
   v1.3 · Portada más simple y enlaces que siempre funcionan
   ========================================================== */

/* Círculos de precio: el número se adapta y nunca toca el borde */
.nenhu-precio, .nenhu-insignia { box-sizing: border-box; padding: 0 12px; text-align: center; white-space: nowrap; }
.nenhu-precio strong, .nenhu-insignia strong { display: block; max-width: 100%; }
.nenhu-cifra--larga { font-size: 0.74em; letter-spacing: -0.01em; }
.nenhu-precio small { margin-bottom: 0.2rem; }

/* ¿Para quién es? (portada y buscador) */
.nenhu-para-quien { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 0.6rem 0.9rem; margin: var(--wp--preset--spacing--50) 0 0; padding: 1.25rem 0 0; border-top: 1px dashed rgba(27, 42, 74, .35); }
.nenhu-para-quien__titulo { font-weight: 700; font-size: 0.875rem; letter-spacing: 0.08em; text-transform: uppercase; }
.nenhu-para-quien__chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; }
.nenhu-chip { display: inline-block; padding: 0.55rem 1.15rem; border: 1.5px solid var(--n-noche); border-radius: 999px; background: var(--n-crema); color: var(--n-noche); font-weight: 600; font-size: 0.9375rem; line-height: 1.2; text-decoration: none; white-space: nowrap; transition: background .15s, color .15s, transform .15s; }
.nenhu-chip:hover, .nenhu-chip:focus-visible { background: var(--n-noche); color: var(--n-crema); transform: translateY(-1px); }
.nenhu-buscador .nenhu-para-quien { border-top: 0; margin-top: 1rem; padding-top: 0; }
.nenhu-buscador .nenhu-para-quien + .nenhu-para-quien { margin-top: 1rem; }
.nenhu-aviso-admin { margin: 0.75rem auto 0; max-width: 760px; padding: 0.6rem 0.9rem; border-radius: 8px; background: #fff4d6; color: #5a4300; font-size: 0.8125rem; text-align: center; }
@media (max-width: 700px) {
	/* En móvil, una sola fila que se desliza con el dedo */
	.nenhu-hero .nenhu-para-quien { flex-direction: column; gap: 0.6rem; margin-left: calc(-1 * var(--wp--style--root--padding-left, 1rem)); margin-right: calc(-1 * var(--wp--style--root--padding-right, 1rem)); }
	.nenhu-hero .nenhu-para-quien__chips { flex-wrap: nowrap; justify-content: flex-start; overflow-x: auto; max-width: 100%; padding: 0 1rem 0.35rem; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
	.nenhu-hero .nenhu-para-quien__chips::-webkit-scrollbar { display: none; }
}

/* Botón con aspecto de enlace (acción secundaria) */
.wp-block-button.is-style-enlace .wp-block-button__link { background: transparent !important; color: inherit !important; padding-left: 0.5rem; padding-right: 0.5rem; text-decoration: underline; text-underline-offset: 0.3em; text-decoration-thickness: 1.5px; }
.wp-block-button.is-style-enlace .wp-block-button__link:hover { text-decoration-color: var(--n-coral); }

/* Así de fácil: 3 pasos */
.nenhu-pasos__lista { list-style: none; margin: var(--wp--preset--spacing--50) 0 0; padding: 0; display: grid; grid-template-columns: 1fr 1.7fr 1fr; gap: 1.25rem; counter-reset: none; }
.nenhu-paso { position: relative; background: var(--n-crema); color: var(--n-noche); border-radius: 20px; padding: 1.75rem 1.5rem 1.6rem; }
.nenhu-paso__num { display: inline-flex; align-items: center; justify-content: center; width: 2.6rem; height: 2.6rem; border-radius: 50%; background: var(--n-cielo); font-family: var(--wp--preset--font-family--fraunces); font-size: 1.5rem; line-height: 1; margin-bottom: 0.9rem; }
.nenhu-paso:nth-child(2) .nenhu-paso__num { background: var(--n-coral); color: #fff; }
.nenhu-paso__titulo { font-family: var(--wp--preset--font-family--fraunces); font-weight: 400; font-size: 1.5rem; line-height: 1.15; margin: 0 0 0.5rem; color: var(--n-noche); }
.nenhu-paso p { margin: 0; font-size: 0.9375rem; line-height: 1.5; }
.nenhu-paso__opciones { display: grid; grid-template-columns: 1fr 1fr; gap: 0.75rem; margin-top: 0.4rem; }
.nenhu-opcion { display: flex; flex-direction: column; gap: 0.35rem; border-radius: 14px; padding: 1rem 1.05rem; background: var(--n-niebla); }
.nenhu-opcion--nenhu { background: var(--n-noche); color: var(--n-crema); }
.nenhu-opcion__nombre { font-weight: 700; font-size: 1rem; }
.nenhu-opcion__texto { font-size: 0.875rem; line-height: 1.45; opacity: .9; flex: 1; }
.nenhu-opcion__precio { font-size: 0.8125rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; margin-top: 0.35rem; }
.nenhu-opcion__precio .nenhu-cifra, .nenhu-opcion__precio .nenhu-euro { font-family: var(--wp--preset--font-family--fraunces); font-size: 1.35rem; letter-spacing: 0; text-transform: none; font-weight: 400; }
.nenhu-opcion__precio .nenhu-cifra--larga { font-size: 1.35rem; }
.nenhu-opcion--nenhu .nenhu-opcion__precio { color: var(--n-cielo); }
.nenhu-pasos .wp-block-buttons { margin-top: var(--wp--preset--spacing--50); }
@media (max-width: 960px) {
	.nenhu-pasos__lista { grid-template-columns: 1fr; max-width: 560px; margin-left: auto; margin-right: auto; }
}
@media (max-width: 480px) {
	.nenhu-paso__opciones { grid-template-columns: 1fr; }
}

/* Compra con tranquilidad */
.nenhu-tranquilidad { list-style: none; margin: var(--wp--preset--spacing--50) 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.5rem; }
.nenhu-tranquilidad li { display: flex; flex-direction: column; gap: 0.35rem; font-size: 0.9375rem; line-height: 1.5; }
.nenhu-tranquilidad strong { font-family: var(--wp--preset--font-family--fraunces); font-weight: 400; font-size: 1.3rem; line-height: 1.2; }
.nenhu-tranquilidad__icono { display: inline-flex; align-items: center; justify-content: center; width: 2.75rem; height: 2.75rem; border-radius: 50%; background: var(--n-crema); border: 1.5px solid var(--n-noche); font-size: 1.15rem; margin-bottom: 0.4rem; }
.nenhu-tranquilidad a { color: inherit; font-weight: 600; }
@media (max-width: 960px) { .nenhu-tranquilidad { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .nenhu-tranquilidad { grid-template-columns: 1fr; gap: 1.25rem; } .nenhu-tranquilidad li { display: grid; grid-template-columns: 2.75rem 1fr; column-gap: 0.9rem; } .nenhu-tranquilidad__icono { grid-row: span 2; margin: 0; } }

/* Llamada final */
.nenhu-cta-final { text-align: center; }
.nenhu-cta-final h2 { margin-top: 0; }

/* ==========================================================
   v1.3.2 · Ficha de producto 100% responsive (nada más ancho que la pantalla)
   ========================================================== */
@media (max-width: 860px) {
	/* La columna única se ajusta a la pantalla, no al contenido más ancho */
	.nenhu-ficha div.product { grid-template-columns: minmax(0, 1fr); }
}
.nenhu-ficha div.product > *, .nenhu-ficha .summary > *, .nenhu-ficha form.cart, .nenhu-ficha .woocommerce-tabs, .nenhu-ficha .woocommerce-Tabs-panel { min-width: 0; max-width: 100%; }
.nenhu-ficha img { max-width: 100%; height: auto; }
/* Desplegables: WooCommerce les pone margen y ancho mínimo que los saca de la pantalla */
.woocommerce .nenhu-ficha div.product form.cart .variations select, .nenhu-ficha table.variations select { margin-right: 0 !important; min-width: 0 !important; max-width: 100% !important; }
.nenhu-ficha table.variations, .nenhu-ficha table.variations tbody, .nenhu-ficha table.variations tr, .nenhu-ficha table.variations td { max-width: 100%; }
.nenhu-ficha form.cart .single_add_to_cart_button { max-width: 100%; }
/* Pestañas: si no caben, se deslizan en horizontal */
.nenhu-ficha .woocommerce-tabs ul.tabs { overflow-x: auto; scrollbar-width: none; -webkit-overflow-scrolling: touch; }
.nenhu-ficha .woocommerce-tabs ul.tabs::-webkit-scrollbar { display: none; }
.nenhu-ficha .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
.nenhu-ficha .woocommerce-tabs ul.tabs li a { white-space: nowrap; }
/* Descripción: tablas (guía de tallas) deslizables y textos/enlaces largos que parten línea */
.nenhu-ficha .woocommerce-Tabs-panel { overflow-wrap: anywhere; }
.nenhu-ficha .woocommerce-Tabs-panel table, .nenhu-ficha .woocommerce-product-details__short-description table { display: block; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-collapse: collapse; }
.nenhu-ficha .woocommerce-Tabs-panel table th, .nenhu-ficha .woocommerce-Tabs-panel table td { white-space: nowrap; padding: 0.5rem 0.75rem; }
.nenhu-ficha .woocommerce-Tabs-panel iframe, .nenhu-ficha .woocommerce-Tabs-panel video { max-width: 100%; }
.nenhu-ficha .nenhu-modo, .nenhu-ficha .nenhu-modo-texto { min-width: 0; overflow-wrap: anywhere; }
/* Galería: el carrusel nunca más ancho que su hueco */
.nenhu-ficha .woocommerce-product-gallery { max-width: 100%; min-width: 0; overflow: hidden; }
.nenhu-ficha .woocommerce-product-gallery .flex-control-thumbs { max-width: 100%; }
/* Relacionados: 2 por fila en móvil */
@media (max-width: 600px) {
	.nenhu-ficha .related ul.products, .nenhu-ficha .upsells ul.products { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
	.nenhu-ficha .related ul.products li.product, .nenhu-ficha .upsells ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; }
	.nenhu-ficha .related ul.products::before, .nenhu-ficha .related ul.products::after { display: none; }
}
@media (max-width: 600px) {
	.nenhu-ficha .related > h2, .nenhu-ficha .upsells > h2 { font-size: 2rem; margin-bottom: 1rem; }
	.nenhu-ficha .related ul.products li.product .woocommerce-loop-product__title, .nenhu-ficha .upsells ul.products li.product .woocommerce-loop-product__title { font-size: 1.15rem !important; }
}

/* ==========================================================
   v1.3.3 · Cabecera móvil, ficha sin cantidad y protecciones en cualquier plantilla de producto
   ========================================================== */
/* Cabecera móvil: logo centrado y los iconos (buscar, carrito) caben a su derecha */
@media (max-width: 599px) {
	.nenhu-barra { column-gap: 0.5rem; padding-left: 0.75rem !important; padding-right: 0.75rem !important; }
	.nenhu-barra > .wp-block-group { gap: 0 !important; flex-wrap: nowrap; min-width: 0; }
	.nenhu-barra .nenhu-wordmark { font-size: 1.9rem !important; }
	.nenhu-barra .wp-block-search__button { min-width: 40px; min-height: 40px; padding: 0.4rem !important; }
	.nenhu-barra .wc-block-mini-cart__button { padding: 0.4rem !important; min-width: 40px; }
}
.nenhu-barra .wp-block-woocommerce-customer-account { display: none !important; } /* sin icono de perfil aunque siga en una cabecera guardada */

/* Ficha: sin selector de cantidad (cada regalo es único) y botón con aire */
.single-product form.cart .quantity, .single-product .wp-block-add-to-cart-form .quantity { display: none !important; }
.single-product form.cart .single_add_to_cart_button { margin-top: 1rem !important; margin-left: 0 !important; width: 100%; max-width: 420px; min-height: 56px; float: none !important; }
.single-product .single_variation_wrap .woocommerce-variation-price { margin: 0.5rem 0 0; }
.single-product .woocommerce-variation-add-to-cart { display: block !important; }

/* Las protecciones de ancho valen aunque la ficha no use la plantilla del tema */
.single-product div.product, .single-product div.product .summary, .single-product div.product form.cart { min-width: 0; max-width: 100%; }
.single-product div.product img { max-width: 100%; height: auto; }
.woocommerce.single-product div.product form.cart .variations select { margin-right: 0 !important; min-width: 0 !important; max-width: 100% !important; }
.single-product .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; scrollbar-width: none; }
.single-product .woocommerce-tabs ul.tabs li { flex: 0 0 auto; }
.single-product .woocommerce-Tabs-panel { overflow-wrap: anywhere; }
.single-product .woocommerce-Tabs-panel table { display: block; max-width: 100%; overflow-x: auto; }
@media (max-width: 860px) {
	.single-product div.product .woocommerce-product-gallery, .single-product div.product .summary { width: 100% !important; float: none !important; }
}

/* ==========================================================
   v1.4 · Ayuda y pie
   ========================================================== */
/* Ayuda */
.nenhu-ayuda-cabecera h1 { margin-top: 0.5rem; }
.nenhu-ayuda-nav { display: flex; flex-wrap: wrap; justify-content: center; gap: 0.5rem; margin-top: 1.5rem; }
.nenhu-ayuda { padding-top: var(--wp--preset--spacing--50) !important; }
.nenhu-ayuda-bloque { scroll-margin-top: 1.5rem; margin-bottom: var(--wp--preset--spacing--50) !important; }
.nenhu-ayuda-bloque h2 { font-size: clamp(2rem, 5vw, 2.75rem); margin: 0.25rem 0 1rem; }
.nenhu-ayuda-bloque .is-style-etiqueta { margin: 0; color: var(--n-coral); }
.nenhu-ayuda .wp-block-details { margin: 0 !important; }
.nenhu-ayuda .wp-block-details:last-of-type { border-bottom: 1.5px solid var(--n-noche); }
.nenhu-ayuda .wp-block-details p { margin: 0.75rem 0 0.25rem; }
.nenhu-ayuda-navidad { margin: 0 0 1.5rem; padding: 1.25rem 1.5rem; border-radius: 16px; background: var(--n-noche); color: var(--n-crema); }
.nenhu-ayuda-navidad__titulo { margin: 0 0 0.5rem; font-family: var(--wp--preset--font-family--fraunces); font-size: 1.4rem; color: var(--n-cielo); }
.nenhu-ayuda-navidad ul { margin: 0; padding-left: 1.1rem; }
.nenhu-ayuda-navidad li { margin: 0.2rem 0; }
.nenhu-ayuda-navidad__nota { margin: 0.75rem 0 0; font-size: 0.8125rem; opacity: 0.8; }
.nenhu-ayuda-contacto { border-radius: 20px; padding: clamp(1.5rem, 4vw, 2.5rem) !important; }
.nenhu-ayuda-contacto h2 { margin-top: 0; }

/* Pie */
.nenhu-pie-garantias { list-style: none; margin: 0 0 3rem; padding: 0 0 1.5rem; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 0.75rem 1.5rem; border-bottom: 1px solid rgba(169, 203, 234, .25); font-size: 0.875rem; font-weight: 600; color: var(--n-crema); }
.nenhu-pie-garantias li::before { content: "✦"; color: var(--n-coral); margin-right: 0.5rem; }
.nenhu-pie .nenhu-pie-columnas p { line-height: 2; }
.nenhu-pie .nenhu-pie-redes { margin-top: 1.25rem; }
.nenhu-legal { gap: 0.5rem 1.5rem; }
.nenhu-legal a[href^="mailto:"] { text-transform: none; letter-spacing: 0.02em; }
@media (max-width: 781px) {
	.nenhu-pie-garantias { flex-direction: column; margin-bottom: 2rem; }
	.nenhu-pie .nenhu-pie-columnas { display: grid !important; grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; }
	.nenhu-pie .nenhu-pie-columnas > .wp-block-column:first-child { grid-column: 1 / -1; }
	.nenhu-legal { flex-direction: column; }
}
.nenhu-pie .nenhu-pie-texto { font-size: 0.875rem; line-height: 1.6; color: var(--n-niebla); opacity: 0.85; max-width: 40ch; }
.nenhu-pie .nenhu-pie-texto strong { font-weight: 600; }

/* ==========================================================
   v1.6 · Páginas legales: lectura cómoda
   ========================================================== */
.nenhu-textolegal-cabecera h1 { font-size: clamp(2.5rem, 7vw, 4rem); margin: 0.4rem 0 0.75rem; }
.nenhu-textolegal-fecha { font-size: 0.8125rem; font-weight: 600; color: var(--n-coral); margin: 0 !important; }
.nenhu-textolegal-intro { font-size: 1.125rem; color: var(--wp--preset--color--tinta-suave, #34466B); }
.nenhu-textolegal { padding-top: var(--wp--preset--spacing--50) !important; }
.nenhu-textolegal h2 { font-size: clamp(1.5rem, 3.5vw, 1.9rem); margin: 2.5rem 0 0.75rem; scroll-margin-top: 1.5rem; }
.nenhu-textolegal h2:first-child { margin-top: 0; }
.nenhu-textolegal p, .nenhu-textolegal li { line-height: 1.7; }
.nenhu-textolegal ul { padding-left: 1.2rem; }
.nenhu-textolegal li { margin: 0.35rem 0; }
.nenhu-textolegal a { text-underline-offset: 0.2em; }
.nenhu-tabla-legal { margin: 1rem 0 1.5rem; overflow-x: auto; }
.nenhu-tabla-legal table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.nenhu-tabla-legal th { text-align: left; background: var(--n-niebla); font-weight: 700; }
.nenhu-tabla-legal th, .nenhu-tabla-legal td { padding: 0.7rem 0.85rem; border: 1px solid rgba(27, 42, 74, .18); vertical-align: top; }
.nenhu-tabla-legal td:first-child { overflow-wrap: anywhere; }
.nenhu-textolegal-otros { margin-top: 3rem !important; padding-top: 1.25rem; border-top: 1px dashed rgba(27, 42, 74, .35); font-size: 0.875rem; }
.nenhu-legal-falta { background: #fff4d6; color: #5a4300; padding: 0 0.3rem; border-radius: 4px; }
@media (max-width: 600px) { .nenhu-tabla-legal table { font-size: 0.8125rem; } .nenhu-tabla-legal th, .nenhu-tabla-legal td { padding: 0.55rem 0.6rem; } }
