/*
 * Beber Salud · CSS del tema con el sistema de diseño V2 1.1 (03/11/2026).
 * Sin colores fijos: todo sale de theme.json (--wp--preset--* y --wp--custom--*) a través de los alias --bs-*,
 * con los mismos nombres de rol que el sistema V2 (tokens.css). Para cambiar el diseño se toca theme.json.
 */

/* ---------- Alias de rol (sistema V2) ---------- */
:root {
	--bs-bg: var(--wp--preset--color--fondo);
	--bs-bg-alt: var(--wp--preset--color--fondo-alterno);
	--bs-surface: var(--wp--preset--color--superficie);
	--bs-fg: var(--wp--preset--color--texto);
	--bs-fg-muted: var(--wp--preset--color--texto-secundario);
	--bs-line: var(--wp--preset--color--linea);
	--bs-line-strong: var(--wp--preset--color--linea-fuerte);
	--bs-field-border: var(--wp--preset--color--linea-campo);
	--bs-placeholder: var(--wp--preset--color--placeholder);
	--bs-accent: var(--wp--preset--color--acento);
	--bs-accent-hover: var(--wp--preset--color--acento-hover);
	--bs-accent-soft: var(--wp--preset--color--tinte);
	--bs-accent-on-tint: var(--wp--preset--color--acento-sobre-tinte);
	--bs-dark: var(--wp--preset--color--oscuro);
	--bs-on-dark: var(--wp--preset--color--sobre-oscuro);
	--bs-success: var(--wp--preset--color--exito);
	--bs-error: var(--wp--preset--color--error);
	--bs-whatsapp: var(--wp--preset--color--whatsapp);
	--bs-on-whatsapp: var(--wp--preset--color--sobre-whatsapp);
	--bs-focus-color: var(--wp--preset--color--acento);
	--bs-focus-width: var(--wp--custom--foco--ancho);
	--bs-focus-offset: var(--wp--custom--foco--separacion);
	--bs-r-0: var(--wp--custom--radio--nulo);
	--bs-r-xs: var(--wp--custom--radio--campo);
	--bs-r-sm: var(--wp--custom--radio--base);
	--bs-r-md: var(--wp--custom--radio--medio);
	--bs-r-pill: var(--wp--custom--radio--pildora);
	--bs-margin: var(--wp--custom--margen-lateral);
	--bs-gutter: var(--wp--custom--reticula--medianil);
	--bs-container: var(--wp--style--global--wide-size, 1320px);
	--bs-container-text: var(--wp--style--global--content-size, 760px);
	--bs-control: var(--wp--custom--alto-control);
	--bs-nav-h: var(--wp--custom--alto-cabecera);
	--bs-ease: var(--wp--custom--movimiento--curva);
	--bs-t-fast: var(--wp--custom--movimiento--rapido);
	--bs-font: var(--wp--preset--font-family--texto);
	--bs-s2: var(--wp--preset--spacing--2);
	--bs-s3: var(--wp--preset--spacing--3);
	--bs-s4: var(--wp--preset--spacing--4);
	--bs-s5: 20px; /* faltaba: varias reglas del sistema lo usan */
	--bs-s6: var(--wp--preset--spacing--6);
	--bs-s8: var(--wp--preset--spacing--8);
	--bs-s10: var(--wp--preset--spacing--10);
	--bs-s12: var(--wp--preset--spacing--12);
	--bs-s16: var(--wp--preset--spacing--16);
	--bs-s24: var(--wp--preset--spacing--24);
	--bs-small: var(--wp--preset--font-size--pequeno);
	--bs-caption: var(--wp--preset--font-size--leyenda);
}
[data-surface="dark"], .bs-oscuro {
	--bs-bg: var(--wp--preset--color--oscuro);
	--bs-fg: var(--wp--preset--color--sobre-oscuro);
	--bs-fg-muted: var(--wp--preset--color--secundario-sobre-oscuro);
	--bs-accent: var(--wp--preset--color--acento-sobre-oscuro);
	--bs-focus-color: var(--wp--preset--color--acento-sobre-oscuro);
	background: var(--wp--custom--degradado-oscuro);
	color: var(--bs-fg);
}

/* Respaldo con métricas parecidas a Familjen Grotesk: evita saltos de línea (CLS) mientras carga. */
@font-face { font-family: "Familjen Fallback"; src: local("Arial"); size-adjust: 96%; ascent-override: 95%; descent-override: 25%; line-gap-override: 0%; }

/* ---------- Base ---------- */
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; font-feature-settings: "kern", "liga", "calt"; }
:where(h1, h2, h3, h4, h5) { text-wrap: balance; }
img, video { max-width: 100%; height: auto; }
.wp-site-blocks > * + * { margin-block-start: 0; }

/* ---------- Accesibilidad ---------- */
.bs-saltar {
	position: absolute; left: 16px; top: -100px; z-index: 100000;
	padding: 14px 20px; border-radius: var(--bs-r-sm);
	background: var(--bs-dark); color: var(--bs-on-dark); font: 600 var(--bs-small)/1 var(--bs-font); text-decoration: none;
}
.bs-saltar:focus { top: 12px; }
:where(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
	outline: var(--bs-focus-width) solid var(--bs-focus-color); outline-offset: var(--bs-focus-offset);
}
:where(input:not([type="checkbox"]):not([type="radio"]):not([type="submit"]):not([type="button"]), select, textarea) {
	min-height: var(--bs-control); padding: 0 14px; box-sizing: border-box;
	border: 1px solid var(--bs-field-border); border-radius: var(--bs-r-xs);
	background: var(--bs-surface); color: var(--bs-fg); font: inherit; font-size: 16px;
}
textarea { padding-block: 12px; }
:where(input, textarea)::placeholder { color: var(--bs-placeholder); opacity: 1; }
:where(input, select, textarea):focus-visible { border-color: var(--bs-accent); outline-offset: 0; }
input[type="checkbox"], input[type="radio"] { width: 18px; height: 18px; accent-color: var(--bs-accent); }
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; scroll-behavior: auto !important; }
}

/* ---------- Componentes del sistema V2 ---------- */
.bs-eyebrow, .wp-block-post-terms.bs-eyebrow {
	display: flex; align-items: center; gap: var(--bs-s3); margin: 0;
	font-size: 12px; line-height: 1; letter-spacing: .14em; font-weight: 600; text-transform: uppercase; color: var(--bs-accent);
}
.bs-eyebrow::before { content: ""; width: 28px; height: 1px; background: currentColor; }
.bs-eyebrow a { color: inherit; text-decoration: none; }
.bs-lead { font-size: var(--wp--preset--font-size--entradilla); line-height: 1.5; color: var(--bs-fg-muted); }
.bs-muted { color: var(--bs-fg-muted); }
.bs-hl { color: var(--bs-accent); }
.bs-num { font-size: var(--wp--preset--font-size--cifra); line-height: 1; letter-spacing: -.035em; font-weight: 500; color: var(--bs-accent); font-variant-numeric: tabular-nums; }
.wp-element-button, .wp-block-button__link, .bs-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: var(--bs-s2); min-height: var(--bs-control); box-sizing: border-box;
	text-decoration: none; white-space: nowrap; cursor: pointer;
	transition: background var(--bs-t-fast) var(--bs-ease), border-color var(--bs-t-fast) var(--bs-ease), color var(--bs-t-fast) var(--bs-ease);
}
.is-style-outline .wp-block-button__link, .bs-btn--outline { background: transparent; border-color: var(--bs-fg); color: var(--bs-fg); }
.is-style-outline .wp-block-button__link:hover, .bs-btn--outline:hover { background: var(--bs-fg); color: var(--bs-bg); }
.bs-btn--whatsapp { background: var(--bs-whatsapp); color: var(--bs-on-whatsapp); }
.bs-chip { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; border: 1px solid var(--bs-fg); border-radius: var(--bs-r-pill); font-size: 14px; font-weight: 500; color: var(--bs-fg); text-decoration: none; }
.bs-chip--soft { border-color: transparent; background: var(--bs-accent-soft); color: var(--bs-accent-on-tint); }

/* Lista con líneas (sustituye a las tarjetas) */
.bs-lista-lineas { border-top: 1px solid var(--bs-line); }
.bs-lista-lineas > * { padding-block: var(--bs-s6); border-bottom: 1px solid var(--bs-line); margin: 0 !important; }

/* Tarjetas planas, pegadas con línea de 1 px */
.bs-rejilla-lineas { gap: 1px !important; background: var(--bs-line); border: 1px solid var(--bs-line); }
.bs-rejilla-lineas > * { background: var(--bs-bg); }

/* Tabla y ficha de datos */
:where(.wp-block-post-content, .woocommerce-Tabs-panel, .bs-prosa) table, .wp-block-table table {
	width: 100%; border-collapse: collapse; font-size: var(--bs-small); border: 0;
}
:where(.wp-block-post-content, .woocommerce-Tabs-panel, .bs-prosa) :where(th, td), .wp-block-table :where(th, td) {
	text-align: left; vertical-align: top; padding: var(--bs-s3) var(--bs-s4) var(--bs-s3) 0; border: 0; border-bottom: 1px solid var(--bs-line);
}
:where(.wp-block-post-content, .woocommerce-Tabs-panel, .bs-prosa) th, .wp-block-table thead th {
	font-size: var(--bs-caption); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bs-fg-muted);
}
.wp-block-table { overflow-x: auto; }

/* Desplegables (FAQ, antiguas pestañas y toggles) */
details { border-bottom: 1px solid var(--bs-line); padding-block: var(--bs-s4); }
:where(.bs-vc-desplegables, .wp-block-post-content) > details:first-child, .bs-vc-desplegables details:first-child { border-top: 1px solid var(--bs-line); }
summary { cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--bs-s4); font-size: var(--wp--preset--font-size--h-5); font-weight: 600; line-height: 1.3; min-height: 24px; }
summary::-webkit-details-marker { display: none; }
summary::after { content: "+"; color: var(--bs-accent); font-weight: 400; font-size: 1.4em; line-height: .8; }
details[open] > summary::after { content: "−"; }
details > :not(summary) { margin-top: var(--bs-s3); color: var(--bs-fg-muted); }

blockquote { margin: var(--bs-s8) 0; padding-left: var(--bs-s6); border-left: 2px solid var(--bs-accent); }
blockquote cite { display: block; margin-top: var(--bs-s2); font-style: normal; font-size: var(--bs-small); color: var(--bs-fg-muted); }

/* ---------- Contenido convertido de WPBakery (capa de compatibilidad) ---------- */
.bs-vc-fila { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 280px), 1fr)); gap: var(--bs-s8); margin-block: var(--bs-s8); }
.bs-vc-fila--interior { margin-block: var(--bs-s4); }
.bs-vc-col > * + * { margin-top: var(--bs-s4); }
.bs-vc-col img { border-radius: var(--bs-r-0); }
.bs-vc-lista { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.4fr); gap: var(--bs-s6); padding-block: var(--bs-s4); border-bottom: 1px solid var(--bs-line); }
.bs-vc-lista span:first-child { font-weight: 600; }
.bs-vc-lista span + span { color: var(--bs-fg-muted); }
.bs-vc-galeria { display: grid; grid-template-columns: repeat(auto-fill, minmax(160px, 1fr)); gap: var(--bs-s2); }
@media (max-width: 899.98px) { .bs-vc-lista { grid-template-columns: 1fr; gap: var(--bs-s2); } }

/* ---------- Cabecera ---------- */
.bs-cabecera { position: sticky; top: 0; z-index: 9990; background: var(--bs-bg); border-bottom: 1px solid var(--bs-line); }
.bs-cabecera__barra { display: flex; align-items: center; gap: var(--bs-s10); max-width: var(--bs-container); min-height: var(--bs-nav-h); margin-inline: auto; padding-inline: var(--bs-margin); box-sizing: border-box; }
.bs-cabecera__logo { display: inline-flex; flex: none; }
.bs-cabecera__logo img { display: block; width: auto; height: 30px; }
.bs-cabecera #bm-desk { flex: 1; }
.bs-cabecera .slide-out-widget-area-toggle { display: none; margin-left: auto; }
.bs-cabecera .slide-out-widget-area-toggle a { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; color: var(--bs-fg); }
.bs-hamburguesa, .bs-hamburguesa::before, .bs-hamburguesa::after { display: block; width: 22px; height: 2px; background: currentColor; content: ""; position: relative; }
.bs-hamburguesa::before { position: absolute; top: -7px; }
.bs-hamburguesa::after { position: absolute; top: 7px; }
@media (max-width: 999px) {
	.bs-cabecera #bm-desk { display: none; }
	.bs-cabecera .slide-out-widget-area-toggle { display: block; }
	.bs-cabecera__barra { min-height: 64px; }
	.bs-cabecera__logo img { height: 26px; }
}

/* ---------- Pie V2: franja del asesor con formulario, cuatro columnas y barra legal ---------- */
#footer-outer { background: var(--bs-bg); color: var(--bs-fg); }
.bs-pie-asesor { padding: var(--bs-s24) var(--bs-margin); }
.bs-pie-asesor__in { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--bs-s16); align-items: center; max-width: var(--bs-container); margin-inline: auto; }
.bs-pie-asesor h2 { margin: var(--bs-s6) 0 var(--bs-s4); color: var(--bs-fg); font-size: var(--wp--preset--font-size--h-2); }
.bs-pie-asesor .bs-lead { max-width: 44ch; margin: 0; }
.bs-pie-asesor__tel { margin: var(--bs-s6) 0 0; color: var(--bs-fg-muted); }
.bs-pie-asesor__tel a { color: var(--bs-fg); font-weight: 600; text-decoration: none; }
.bs-form-card {
	--bs-bg: var(--wp--preset--color--superficie); --bs-fg: var(--wp--preset--color--texto); --bs-fg-muted: var(--wp--preset--color--texto-secundario);
	--bs-accent: var(--wp--preset--color--acento); --bs-focus-color: var(--wp--preset--color--acento);
	background: var(--bs-bg); color: var(--bs-fg); padding: var(--bs-s10); border-radius: var(--bs-r-sm);
}
.bs-form-note { margin: var(--bs-s4) 0 0; font-size: var(--bs-caption); color: var(--bs-fg-muted); }
/* Quform 1 (leads) con el aspecto de los campos V2; manda sobre quform.css. */
.bs-pie__form .quform-default-submit { display: none !important; }
.bs-pie__form .quform-child-elements { display: grid; gap: var(--bs-s4); }
.bs-pie__form :is(.quform-element, .quform-spacer, .quform-inner, .quform-input, .quform-label) { width: auto !important; float: none !important; margin: 0 !important; padding: 0 !important; }
.bs-pie__form .quform-label-text { display: block; margin: 0 0 var(--bs-s2); font-size: var(--bs-caption); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-pie__form input.quform-field-text { width: 100% !important; height: var(--bs-control) !important; padding: 0 14px !important; border: 1px solid var(--bs-field-border) !important; border-radius: var(--bs-r-xs) !important; background: var(--bs-bg) !important; color: var(--bs-fg) !important; font: inherit; font-size: 16px !important; box-shadow: none !important; }
.bs-pie__form input.quform-field-text:focus-visible { border-color: var(--bs-accent) !important; outline: var(--bs-focus-width) solid var(--bs-accent); outline-offset: 0; }
.bs-pie__form :is(.quform-option, .af-meta-consent label) { display: flex; gap: var(--bs-s3); align-items: flex-start; }
.bs-pie__form .af-meta-consent { margin: 0; }
.bs-pie__form :is(.quform-option-text, .af-meta-consent span) { font-size: var(--bs-small); line-height: 1.45; color: var(--bs-fg-muted); }
.bs-pie__form .quform-option-text a { color: var(--bs-accent); }
.bs-pie__form .quform-option-text strong { font-weight: 500; }
.bs-pie__form :is(.quform-option, .af-meta-consent) input { flex: none; margin: 2px 0 0; }
.bs-pie__form button.quform-submit { width: 100%; height: var(--bs-control); margin-top: var(--bs-s2); padding: 0 22px; border: 0; border-radius: var(--bs-r-sm); background: var(--bs-accent); color: var(--wp--preset--color--superficie); font: 600 var(--bs-small)/1 var(--bs-font); letter-spacing: -.005em; text-transform: none; cursor: pointer; }
.bs-pie__form button.quform-submit:hover { background: var(--bs-accent-hover); }
.bs-pie__form .quform-button-text { text-transform: none; }

.bs-footer { max-width: var(--bs-container); margin-inline: auto; padding: var(--bs-s16) var(--bs-margin) var(--bs-s10); box-sizing: border-box; font-size: var(--bs-small); }
.bs-footer__grid { display: grid; grid-template-columns: 1.5fr repeat(5, minmax(0, 1fr)); gap: var(--bs-s10) var(--bs-s8); }
@media (max-width: 1199.98px) { .bs-footer__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } .bs-footer__marca { grid-column: 1 / -1; } .bs-footer__marca p { max-width: 60ch; } }
.bs-footer__t { margin: 0 0 var(--bs-s4); font-size: var(--wp--preset--font-size--h-5); font-weight: 600; letter-spacing: 0; line-height: 1.3; color: var(--bs-fg); }
.bs-footer ul { margin: 0; padding: 0; list-style: none; }
.bs-footer li + li { margin-top: var(--bs-s2); }
.bs-footer a { color: var(--bs-fg); text-decoration: none; }
.bs-footer a:hover { color: var(--bs-accent); }
.bs-footer li a { display: inline-block; min-height: 24px; padding-block: 2px; }
.bs-footer__marca img { display: block; width: auto; height: 28px; }
.bs-footer__marca p { max-width: 34ch; margin: var(--bs-s4) 0; color: var(--bs-fg-muted); }
.bs-footer__contacto a { font-weight: 600; }
.bs-footer__redes { display: flex; gap: var(--bs-s3); margin: var(--bs-s6) 0 0; }
.bs-footer__redes a { display: inline-grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--bs-line-strong); border-radius: 50%; }
.bs-footer__nota { margin: var(--bs-s6) 0 0; font-size: var(--bs-caption); color: var(--bs-fg-muted); }
.bs-footer__nota b { color: var(--bs-fg); font-weight: 600; }
.bs-footer__legal { display: flex; flex-wrap: wrap; justify-content: space-between; gap: var(--bs-s2) var(--bs-s6); margin-top: var(--bs-s12); padding-top: var(--bs-s6); border-top: 1px solid var(--bs-line); font-size: var(--bs-caption); color: var(--bs-fg-muted); }
.bs-footer__legal p { margin: 0; }
.bs-footer__legal a { color: inherit; text-decoration: underline; text-underline-offset: .14em; }
.bs-footer__legal .bs-credit { margin-left: var(--bs-s4); }
.container { width: 100%; max-width: var(--bs-container); margin-inline: auto; padding-inline: var(--bs-margin); box-sizing: border-box; }
@media (max-width: 899.98px) {
	.bs-pie-asesor { padding-block: var(--bs-s16); }
	.bs-pie-asesor__in { grid-template-columns: 1fr; gap: var(--bs-s8); }
	.bs-form-card { padding: var(--bs-s6); }
	.bs-footer__grid { grid-template-columns: 1fr 1fr; gap: var(--bs-s8) var(--bs-s6); }
	.bs-footer__marca { grid-column: 1 / -1; }
	.bs-footer li + li { margin-top: 0; }
	.bs-footer li a, .bs-footer__contacto a { display: flex; align-items: center; min-height: 44px; padding-block: 0; } /* dedo: 44 px por enlace */
	.bs-footer__legal .bs-credit { display: block; margin: var(--bs-s2) 0 0; }
}

/* ---------- Blog: entrada ---------- */
.bs-entrada__cabecera { padding-top: var(--bs-s16); padding-bottom: var(--bs-s8); }
.bs-entrada__cabecera .wp-block-post-title { margin-top: var(--bs-s6); }
.bs-meta { color: var(--bs-fg-muted); font-size: var(--bs-small); gap: var(--bs-s2) var(--bs-s4); }
.bs-meta > * + *::before { content: "·"; margin-right: var(--bs-s4); color: var(--bs-line-strong); }
.bs-entrada .wp-block-post-featured-image img { border-radius: var(--bs-r-0); }
.bs-prosa > * + *, .wp-block-post-content > * + * { margin-block-start: var(--bs-s4); }
.wp-block-post-content :where(h2) { margin-block-start: var(--bs-s12); }
.wp-block-post-content :where(h3) { margin-block-start: var(--bs-s8); }
.wp-block-post-content :where(ul, ol) { padding-left: 1.2em; }
.wp-block-post-content :where(li + li) { margin-top: var(--bs-s2); }
.wp-block-post-content :where(p, li) a { text-underline-offset: .14em; text-decoration-thickness: 1px; }

/* Llamada al asesor (sección oscura) */
.bs-cta-asesor { padding: var(--bs-s16) var(--bs-margin); }
.bs-cta-asesor .wp-block-heading { color: var(--bs-fg); }
.bs-cta-asesor p { color: var(--bs-fg-muted); }

/* Relacionados: lista con líneas, sin cajas */
.bs-relacionados .wp-block-post-template { border-top: 1px solid var(--bs-line); }
.bs-relacionados .wp-block-post { padding-block: var(--bs-s6); border-bottom: 1px solid var(--bs-line); }
.bs-relacionados .wp-block-post-title a, .bs-archivo .wp-block-post-title a { color: var(--bs-fg); text-decoration: none; }
.bs-relacionados .wp-block-post-title a:hover, .bs-archivo .wp-block-post-title a:hover { color: var(--bs-accent); }

/* Archivo del blog */
.bs-archivo .wp-block-post { padding-bottom: var(--bs-s6); }
.bs-archivo .wp-block-post-featured-image img { border-radius: var(--bs-r-0); }

/* ---------- WooCommerce (plantillas clásicas dentro del tema de bloques) ---------- */
.woocommerce .woocommerce-breadcrumb { font-size: var(--bs-caption); color: var(--bs-fg-muted); margin: 0 0 var(--bs-s8); }
.woocommerce .woocommerce-breadcrumb a { color: inherit; }
.woocommerce div.product { display: grid; grid-template-columns: minmax(0, 1fr); row-gap: var(--bs-s12); }
/* Foto y compra van juntas en .bs-ficha-top (inc/woo.php): así la foto fija se para al acabar la compra y nunca tapa la ficha técnica. */
.woocommerce div.product .bs-ficha-top { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--bs-s16); align-items: start; }
.woocommerce div.product .bs-ficha-top > .woocommerce-product-gallery, .woocommerce div.product .bs-ficha-top > .summary { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce div.product .woocommerce-product-gallery { background: none; }
.woocommerce div.product .woocommerce-product-gallery img { border-radius: var(--bs-r-0); }
.woocommerce div.product .product_title { font-size: var(--wp--preset--font-size--h-2); line-height: 1.08; letter-spacing: -.025em; font-weight: 500; margin: 0 0 var(--bs-s4); }
.woocommerce div.product p.price, .woocommerce div.product span.price { color: var(--bs-fg); font-size: 34px; letter-spacing: -.03em; font-weight: 500; margin: var(--bs-s4) 0; }
.woocommerce div.product .woocommerce-product-details__short-description { color: var(--bs-fg-muted); }
.bs-sp-cuotas .summary:not(:has(#woocommerce-scalapay-gateway-widget)) p.price { margin-bottom: calc(var(--bs-s4) + 98px); }
.bs-sp-cuotas #woocommerce-scalapay-gateway-widget { min-height: 74px; }
.woocommerce div.product form.cart { display: flex; flex-wrap: wrap; gap: var(--bs-s3); align-items: stretch; margin: var(--bs-s6) 0; padding-top: var(--bs-s6); border-top: 1px solid var(--bs-line); }
.woocommerce div.product form.cart .quantity input { width: 80px; text-align: center; }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; min-height: var(--bs-control); }
.woocommerce .product_meta { font-size: var(--bs-caption); color: var(--bs-fg-muted); border-top: 1px solid var(--bs-line); padding-top: var(--bs-s4); }
.woocommerce .product_meta a { color: inherit; }
.woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; gap: var(--bs-s8); padding: 0; margin: 0 0 var(--bs-s8); border-bottom: 1px solid var(--bs-line); list-style: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::before, .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; }
.woocommerce div.product .woocommerce-tabs ul.tabs li { background: none; border: 0; margin: 0; padding: 0; border-radius: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a { display: block; padding: var(--bs-s4) 0; color: var(--bs-fg-muted); font-weight: 600; text-decoration: none; border-bottom: 2px solid transparent; }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: var(--bs-fg); border-color: var(--bs-accent); }
.woocommerce div.product .woocommerce-tabs .panel { max-width: var(--bs-container-text); }
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child { display: none; }
.woocommerce span.onsale { background: var(--bs-accent); color: var(--bs-on-dark); border-radius: var(--bs-r-pill); min-height: 0; min-width: 0; padding: 4px 12px; line-height: 1.4; font-size: var(--bs-caption); font-weight: 600; }
.woocommerce .button, .woocommerce button.button, .woocommerce a.button { background: var(--bs-accent); color: var(--bs-on-dark); border-radius: var(--bs-r-sm); font-weight: 600; padding: 16px 22px; line-height: 1; }
.woocommerce .button:hover, .woocommerce button.button:hover, .woocommerce a.button:hover { background: var(--bs-accent-hover); color: var(--bs-on-dark); }
.woocommerce button.button.alt, .woocommerce a.button.alt { background: var(--bs-accent); }
.woocommerce button.button.alt:hover { background: var(--bs-accent-hover); }

/* Listados de productos: patrón .bs-cards (imagen, nombre, línea, precio y «Ver ficha»), separados por una línea arriba */
.woocommerce .woocommerce-products-header__title { font-size: var(--wp--preset--font-size--h-1); line-height: 1.02; letter-spacing: -.03em; font-weight: 500; margin: 0 0 var(--bs-s4); }
.woocommerce .term-description, .woocommerce .page-description { max-width: var(--bs-container-text); color: var(--bs-fg-muted); font-size: var(--wp--preset--font-size--entradilla); line-height: 1.5; }
.woocommerce .woocommerce-ordering { float: none; display: flex; justify-content: flex-end; margin: var(--bs-s8) 0 0; }
.woocommerce .woocommerce-ordering select { width: auto; min-width: 240px; height: var(--bs-control); padding: 0 40px 0 14px; border: 1px solid var(--bs-field-border); border-radius: var(--bs-r-xs); background-color: var(--bs-surface); color: var(--bs-fg); font: inherit; font-size: var(--bs-small); }
.woocommerce ul.products { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bs-s12) var(--bs-gutter); margin: var(--bs-s8) 0 !important; padding: 0; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none !important; }
.woocommerce ul.products li.product { width: auto !important; float: none !important; margin: 0 !important; padding: var(--bs-s6) 0 0 !important; border-top: 1px solid var(--bs-line); background: none; }
.woocommerce ul.products li.product > a { display: flex; flex-direction: column; height: 100%; color: var(--bs-fg); text-decoration: none; }
.woocommerce ul.products li.product a img { width: 100%; margin: 0 0 var(--bs-s4) !important; aspect-ratio: 1; object-fit: contain; background: var(--bs-bg-alt); border-radius: var(--bs-r-0); }
.woocommerce ul.products li.product .woocommerce-loop-product__title { margin: 0; padding: 0 !important; font-size: var(--wp--preset--font-size--h-5) !important; font-weight: 600; line-height: 1.3; }
.woocommerce ul.products li.product .price { display: block; margin: var(--bs-s3) 0 0 !important; color: var(--bs-fg) !important; font-size: var(--wp--preset--font-size--base) !important; font-weight: 500; }
.woocommerce ul.products li.product .price del { color: var(--bs-fg-muted); font-weight: 400; }
.woocommerce ul.products li.product > a:hover .woocommerce-loop-product__title { color: var(--bs-accent); }
.woocommerce ul.products li.product .onsale { position: absolute; margin: var(--bs-s3); }
.woocommerce nav.woocommerce-pagination ul { border: 0; }
@media (max-width: 1099.98px) { .woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 899.98px) {
	.woocommerce div.product .bs-ficha-top { grid-template-columns: 1fr; row-gap: var(--bs-s8); }
	.woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--bs-s8) var(--bs-s4); }
	.woocommerce .woocommerce-ordering { justify-content: stretch; }
	.woocommerce .woocommerce-ordering select { width: 100%; min-width: 0; }
}

/* Enlaces pequeños del pie (firma y legales): objetivo táctil de 24 px como mínimo (WCAG 2.2, 2.5.8). */
#copyright a { display: inline-block; min-height: 24px; padding-block: 3px; box-sizing: border-box; }

/* Antetítulo de la entrada: solo la primera categoría, en una línea (con varias se partía en el móvil). */
.wp-block-post-terms.bs-eyebrow { flex-wrap: nowrap; white-space: nowrap; overflow: hidden; }
.wp-block-post-terms.bs-eyebrow a ~ a, .wp-block-post-terms.bs-eyebrow .wp-block-post-terms__separator { display: none; }

/* ---------- Cabecera V2 (.bs-nav): menú en caja normal, teléfono del asesor y «Pedir asesoramiento» ----------
   El megamenú lo pinta 0-bs-landing con su propio CSS (Barlow, mayúsculas, píldoras): aquí se pisa con los tokens V2. */
.bs-cabecera__barra { gap: var(--bs-s8); }
#header-outer .bm { font-family: var(--bs-font); color: var(--bs-fg); }
#header-outer .bm-bar { gap: 0; }
#header-outer .bm-trigger { white-space: nowrap; height: 44px; padding: 0 14px; border-radius: var(--bs-r-sm); background: transparent !important; color: var(--bs-fg); font: 500 var(--bs-small)/1 var(--bs-font); letter-spacing: 0; text-transform: none; }
#header-outer .bm-trigger svg { display: none; }
#header-outer .bm-trigger:hover, #header-outer .bm-trigger[aria-expanded="true"] { color: var(--bs-accent); }
#header-outer .bm-trigger[aria-expanded="true"] { box-shadow: inset 0 -2px 0 var(--bs-accent); border-radius: 0; }
#header-outer #bm-desk .bm-bar > li:has(> .bm-cta) { display: none !important; }
#header-outer :is(.bm .bm-btn, .bm-quick a) { border-radius: var(--bs-r-sm); font: 600 var(--bs-small)/1 var(--bs-font); letter-spacing: -.005em; text-transform: none; }
.bm-drawer { font-family: var(--bs-font); }
.bm-drawer :is(.bm-btn, .bm-quick a) { border-radius: var(--bs-r-sm) !important; font: 600 var(--bs-small)/1 var(--bs-font) !important; letter-spacing: -.005em !important; text-transform: none !important; }
.bm-drawer .bm-acc summary { text-transform: none; letter-spacing: 0; font-family: var(--bs-font); }
.bs-nav__tel { flex: none; font-size: var(--bs-small); font-weight: 600; color: var(--bs-fg); text-decoration: none; white-space: nowrap; }
.bs-nav__tel span { color: var(--bs-accent); }
.bs-nav__tel:hover span { color: var(--bs-accent-hover); }
.bs-btn--primary, .bs-nav__cta { flex: none; height: var(--bs-control); padding: 0 22px; border: 1px solid transparent; border-radius: var(--bs-r-sm); background: var(--bs-accent); color: var(--wp--preset--color--superficie); font: 600 var(--bs-small)/1 var(--bs-font); letter-spacing: -.005em; }
.bs-btn--primary:hover { background: var(--bs-accent-hover); color: var(--wp--preset--color--superficie); }
.bs-btn--outline { height: var(--bs-control); padding: 0 22px; border: 1px solid var(--bs-fg); border-radius: var(--bs-r-sm); font: 600 var(--bs-small)/1 var(--bs-font); letter-spacing: -.005em; }
@media (max-width: 1239.98px) { .bs-nav__tel { display: none; } }
@media (max-width: 999px) { #header-outer .bs-nav__cta { display: none; } #header-outer .slide-out-widget-area-toggle { display: block; } } /* con #id: el .bs-btn de las landings (plugin) ganaba y sacaba el menú de la pantalla */

/* ---------- Ficha de producto V2 ---------- */
.woocommerce div.product .bs-ficha-top > .summary { position: sticky; top: calc(var(--bs-nav-h) + var(--bs-s6)); align-self: start; }
.woocommerce div.product .woocommerce-product-details__short-description { font-size: var(--wp--preset--font-size--entradilla); line-height: 1.5; }
.woocommerce div.product .woocommerce-product-details__short-description p { margin: 0; }
.bs-woo-chips { display: flex; flex-wrap: wrap; gap: var(--bs-s2); margin: var(--bs-s4) 0 0; padding: 0; list-style: none; }
.bs-woo-chips li { margin: 0; }
.woocommerce div.product form.cart { align-items: center; }
.woocommerce div.product form.cart .quantity { margin: 0 !important; float: none !important; }
.woocommerce div.product form.cart .quantity input { height: var(--bs-control); min-height: 0; }
.woocommerce div.product form.cart .single_add_to_cart_button { height: var(--bs-control); margin: 0 !important; float: none !important; padding: 0 22px; font: 600 var(--bs-small)/1 var(--bs-font); }
.woocommerce div.product form.cart > :not(.quantity):not(.single_add_to_cart_button):not(.boton-financiar) { flex-basis: 100%; margin: 0; }
.bs-woo-asesor { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bs-s3) var(--bs-s4); margin: 0 0 var(--bs-s8); }
.bs-woo-asesor__tel { font-size: var(--bs-small); color: var(--bs-fg-muted); text-decoration: none; }
.bs-woo-asesor__tel span { color: var(--bs-fg); font-weight: 600; }
.bs-woo-servicio { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-line); }
.bs-woo-servicio li { margin: 0; padding: var(--bs-s4) 0; border-bottom: 1px solid var(--bs-line); }
.bs-woo-servicio b { display: block; font-weight: 600; letter-spacing: -.01em; }
.bs-woo-servicio span { font-size: var(--bs-small); color: var(--bs-fg-muted); }
.woocommerce div.product .woocommerce-tabs .panel { font-size: var(--wp--preset--font-size--base); line-height: 1.55; }
.bs-woo-datos__t { margin: var(--bs-s10) 0 var(--bs-s4); font-size: var(--wp--preset--font-size--h-4); }
.bs-woo-datos { margin: 0; border-top: 1px solid var(--bs-line); }
.bs-woo-datos .bs-kv { display: flex; justify-content: space-between; gap: var(--bs-s6); padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); font-size: var(--bs-small); }
.bs-woo-datos dt { font-weight: 500; }
.bs-woo-datos dd { margin: 0; color: var(--bs-fg-muted); text-align: right; }
@media (max-width: 899.98px) { .woocommerce div.product .bs-ficha-top > .summary { position: static; } }

/* ---------- Blog: menos peso en las negritas y cuerpo de 17 px ---------- */
.wp-block-post-content { font-size: var(--wp--preset--font-size--base); line-height: 1.55; }
.wp-block-post-content :where(strong, b) { font-weight: 600; }
.bs-entrada__cabecera { padding-top: var(--bs-s12); padding-bottom: var(--bs-s6); }

/* ---------- Carrito, checkout y Mi cuenta (bloques de WooCommerce) con el sistema V2 ----------
   Sustituye a tienda.css del plugin (se deja de cargar en inc/compat.php). */
.bs-compra .bs-eyebrow { margin-bottom: var(--bs-s4); }
.bs-compra__t.wp-block-post-title { margin: 0 0 var(--bs-s8); font-size: var(--wp--preset--font-size--h-2); }
.bs-compra :is(.wp-block-woocommerce-cart, .wp-block-woocommerce-checkout) { max-width: none; margin: 0; color: var(--bs-fg); font-family: var(--bs-font); }
.bs-compra .wc-block-components-sidebar-layout { margin: 0; }
.bs-compra :is(.wc-block-components-title, .wc-block-components-checkout-step__title, .wc-block-cart__totals-title, .wc-block-components-checkout-order-summary__title-text, .wc-block-components-order-summary__button-text) {
	font-family: var(--bs-font) !important; font-weight: 500 !important; letter-spacing: -.012em !important; color: var(--bs-fg) !important; text-transform: none !important;
}
.bs-compra .wc-block-components-checkout-step__title { font-size: var(--wp--preset--font-size--h-4) !important; }
.bs-compra .wc-block-cart__totals-title { font-size: var(--bs-caption) !important; font-weight: 600 !important; letter-spacing: .06em !important; text-transform: uppercase !important; color: var(--bs-fg-muted) !important; }
.bs-compra .wc-block-cart-items__header { font-size: var(--bs-caption); font-weight: 600; letter-spacing: .06em; color: var(--bs-fg-muted); }
.bs-compra :is(.wc-block-cart-items, .wc-block-cart-items td, .wc-block-cart-items th) { border-color: var(--bs-line) !important; }
.bs-compra .wc-block-components-product-name { font: 600 var(--wp--preset--font-size--base)/1.3 var(--bs-font) !important; letter-spacing: -.01em; color: var(--bs-fg) !important; text-decoration: none; }
.bs-compra .wc-block-components-product-name:hover { color: var(--bs-accent) !important; }
.bs-compra .wc-block-components-product-metadata, .bs-compra .wc-block-components-product-details { font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-compra .wc-block-cart-item__image img { background: var(--bs-bg-alt); border-radius: var(--bs-r-0); }
.bs-compra .wc-block-components-quantity-selector { border-radius: var(--bs-r-xs); }
.bs-compra .wc-block-components-quantity-selector::after { border-color: var(--bs-field-border) !important; border-radius: var(--bs-r-xs) !important; opacity: 1 !important; }
.bs-compra .wc-block-components-totals-item { font-size: var(--bs-small); }
.bs-compra .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) { font: 500 var(--wp--preset--font-size--h-4)/1.2 var(--bs-font); letter-spacing: -.02em; color: var(--bs-fg); }
.bs-compra :is(.wc-block-components-totals-wrapper, .wc-block-components-panel, .wc-block-components-order-summary-item) { border-color: var(--bs-line) !important; }
.bs-compra :is(.wc-block-components-sidebar .wc-block-components-panel, .wp-block-woocommerce-checkout-order-summary-block) { border-radius: var(--bs-r-0); }
.bs-compra .wp-block-woocommerce-checkout-order-summary-block { border: 1px solid var(--bs-line); }

/* Campos */
.bs-compra :is(.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-block-components-combobox .wc-block-components-combobox-control input, .wc-blocks-components-select__select, .wc-block-components-textarea) {
	border: 1px solid var(--bs-field-border) !important; border-radius: var(--bs-r-xs) !important; background: var(--bs-surface) !important; color: var(--bs-fg) !important; box-shadow: none !important;
}
.bs-compra :is(.wc-block-components-text-input input, .wc-block-components-combobox-control input, .wc-blocks-components-select__select) { min-height: 52px; }
.bs-compra :is(.wc-block-components-text-input label, .wc-blocks-components-select__label, .wc-block-components-combobox-control label) { color: var(--bs-fg-muted) !important; }
.bs-compra :is(.wc-block-components-text-input input, .wc-block-components-text-input textarea, .wc-blocks-components-select__select):focus { border-color: var(--bs-accent) !important; outline: var(--bs-focus-width) solid var(--bs-accent) !important; outline-offset: 0 !important; }
.bs-compra .wc-block-components-validation-error, .bs-compra .has-error label { color: var(--bs-error) !important; }
.bs-compra .has-error :is(input, select, textarea) { border-color: var(--bs-error) !important; }
.bs-compra :is(.wc-block-components-radio-control__option, .wc-block-components-radio-control-accordion-option) { border-radius: var(--bs-r-0) !important; }
.bs-compra .wc-block-components-radio-control--highlight-checked :is(.wc-block-components-radio-control-accordion-option--checked-option-highlighted, label.wc-block-components-radio-control__option--checked-option-highlighted) { box-shadow: inset 0 0 0 2px var(--bs-accent) !important; border-radius: var(--bs-r-sm) !important; }
.bs-compra .wc-block-components-radio-control__input { border-color: var(--bs-field-border) !important; }
.bs-compra .wc-block-components-radio-control__input:checked { border-color: var(--bs-accent) !important; }
.bs-compra .wc-block-components-radio-control__input:checked::before { background: var(--bs-accent) !important; }
.bs-compra .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox] { border-color: var(--bs-field-border) !important; border-radius: var(--bs-r-xs) !important; }
.bs-compra .wc-block-components-checkbox .wc-block-components-checkbox__input[type=checkbox]:checked { background: var(--bs-accent) !important; border-color: var(--bs-accent) !important; }
.bs-compra .wc-block-components-checkbox__mark { fill: var(--wp--preset--color--superficie) !important; }

/* Botones de compra: primario V2, radio 4 px, sin mayúsculas */
.bs-compra :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button) {
	min-height: 56px; border: 0 !important; border-radius: var(--bs-r-sm) !important; background: var(--bs-accent) !important; color: var(--wp--preset--color--superficie) !important;
	font: 600 var(--wp--preset--font-size--base)/1.2 var(--bs-font) !important; letter-spacing: -.005em !important; text-transform: none !important;
}
.bs-compra :is(.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button):hover { background: var(--bs-accent-hover) !important; }
.bs-compra .wc-block-components-checkout-return-to-cart-button { color: var(--bs-fg); font-size: var(--bs-small); }
.bs-compra .wc-block-components-totals-coupon-link, .bs-compra .wc-block-components-panel__button { color: var(--bs-fg) !important; font-size: var(--bs-small); }
.bs-compra .wc-block-components-notice-banner { border-radius: var(--bs-r-sm) !important; font-size: var(--bs-small); }
.bs-compra .wc-block-checkout__terms { font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-compra .wc-block-checkout__terms a, .bs-compra .wc-block-components-checkbox__label a { color: var(--bs-accent); }

/* Bloque de confianza (lo pinta el plugin bajo el botón): lista con líneas, sin caja gris */
.bs-icon { width: 20px; height: 20px; flex: none; fill: none; stroke: var(--bs-accent); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.bs-icon-circle { display: inline-grid; place-items: center; width: 44px; height: 44px; flex: none; border: 1px solid var(--bs-line-strong); border-radius: 50%; background: var(--bs-surface); }
.bs-shop-trust { display: grid; margin: var(--bs-s6) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-line); }
.bs-shop-trust li { display: flex; gap: var(--bs-s3); align-items: center; margin: 0; padding: var(--bs-s3) 0; list-style: none; border-bottom: 1px solid var(--bs-line); font-size: var(--bs-small); line-height: 1.4; color: var(--bs-fg-muted); }
.bs-shop-trust li > a { display: flex; gap: var(--bs-s3); align-items: center; min-height: 24px; color: inherit; text-decoration: none; }
.bs-shop-trust b { font-weight: 600; color: var(--bs-fg); }
.bs-shop-trust a:hover b { color: var(--bs-accent); }

/* Cabecera y pie reducidos del checkout */
.bs-compra-cabecera__seguro { display: inline-flex; gap: var(--bs-s2); align-items: center; margin: 0 auto 0 0; font-size: var(--bs-small); font-weight: 600; color: var(--bs-fg-muted); }
.bs-compra-cabecera__seguro svg { color: var(--wp--preset--color--exito); }
.bs-compra-cabecera .bs-nav__tel { display: inline; }
.bs-compra-pie { border-top: 1px solid var(--bs-line); }
.bs-compra-pie .bs-footer__legal { max-width: var(--bs-container); margin: 0 auto; padding: var(--bs-s6) var(--bs-margin); border: 0; box-sizing: border-box; }
@media (max-width: 599.98px) { .bs-compra-cabecera__seguro { display: none; } .bs-compra-cabecera .bs-nav__tel { margin-left: auto; } }

/* Mi cuenta */
.woocommerce-account .woocommerce-MyAccount-navigation ul { display: grid; gap: 0; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; padding: 0; border-bottom: 1px solid var(--bs-line); }
.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: var(--bs-s3) 0; color: var(--bs-fg); font-weight: 500; text-decoration: none; }
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a, .woocommerce-account .woocommerce-MyAccount-navigation li a:hover { color: var(--bs-accent); }
.bs-acc-cards { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1px; margin: var(--bs-s6) 0 0; padding: 0; list-style: none; background: var(--bs-line); border: 1px solid var(--bs-line); }
.bs-acc-cards li { margin: 0; padding: 0; background: var(--bs-bg); }
.bs-acc-cards a { display: flex; gap: var(--bs-s4); align-items: center; height: 100%; padding: var(--bs-s6); color: var(--bs-fg); text-decoration: none; }
.bs-acc-cards b { display: block; font-weight: 600; }
.bs-acc-cards small { display: block; margin-top: 2px; font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-acc-cards a:hover b { color: var(--bs-accent); }
.woocommerce-account .woocommerce-orders-table th { font-size: var(--bs-caption); font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--bs-fg-muted); }
.woocommerce-account :is(.woocommerce-form-login, .woocommerce-form-register) { padding: var(--bs-s8) !important; border: 1px solid var(--bs-line) !important; border-radius: var(--bs-r-0); }
@media (max-width: 599.98px) { .bs-acc-cards { grid-template-columns: 1fr; } }
.bs-compra.is-layout-constrained > * { max-width: var(--bs-container) !important; }

/* Confirmación del pedido (plantilla de bloques de WooCommerce) */
.wc-block-order-confirmation-status p { font-size: var(--wp--preset--font-size--entradilla); color: var(--bs-fg-muted); }
.wc-block-order-confirmation-summary { border-top: 1px solid var(--bs-line); border-bottom: 1px solid var(--bs-line); border-radius: var(--bs-r-0) !important; padding-block: var(--bs-s4); }
.wc-block-order-confirmation-summary-list-item__key { font-size: var(--bs-caption); font-weight: 600 !important; letter-spacing: .06em; text-transform: uppercase; color: var(--bs-fg-muted); }
.wc-block-order-confirmation-totals__table, .wc-block-order-confirmation-billing-address, .wc-block-order-confirmation-shipping-address { border-color: var(--bs-line) !important; border-radius: var(--bs-r-sm) !important; }
.wc-block-order-confirmation-totals__table :is(td, th) { border-color: var(--bs-line) !important; }
.wc-block-order-confirmation-totals__product a { color: var(--bs-fg); }

.bs-woo-ficha__prosa { max-width: 62ch; }
.bs-woo-ficha__prosa > * { margin: 0; }
.bs-woo-ficha__prosa > * + * { margin-top: var(--bs-s4); }
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap; border: 0; }

/* Sellos del producto (lo que iba en las pegatinas de las fotos): icono, título y una línea */
.bs-seals { margin: var(--bs-s6) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-line); }
.bs-seal { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: var(--bs-s4); align-items: center; margin: 0; padding: var(--bs-s4) 0; border-bottom: 1px solid var(--bs-line); }
.bs-seal .bs-icon { width: 22px; height: 22px; }
.bs-seal b { display: block; font-size: var(--wp--preset--font-size--base); font-weight: 600; letter-spacing: -.01em; line-height: 1.3; }
.bs-seal div > span { display: block; margin-top: 2px; font-size: var(--bs-small); line-height: 1.45; color: var(--bs-fg-muted); }

/* Ficha: la foto se queda fija al bajar (no deja hueco); «Financiar» (popup del plugin) como botón secundario junto a la compra */
.woocommerce div.product .bs-ficha-top > div.images.woocommerce-product-gallery { position: sticky; top: calc(var(--bs-nav-h) + var(--bs-s6)); align-self: start; }
.woocommerce div.product .bs-ficha-top > .summary { position: static; }
.woocommerce div.product form.cart .boton-financiar { flex: none; display: inline-flex; align-items: center; height: var(--bs-control); margin: 0; padding: 0 18px; border: 1px solid var(--bs-fg); border-radius: var(--bs-r-sm); background: transparent; color: var(--bs-fg); font: 600 var(--bs-small)/1 var(--bs-font); text-decoration: none; }
.woocommerce div.product form.cart .boton-financiar:hover { background: var(--bs-fg); color: var(--bs-bg); }
.woocommerce div.product form.cart .boton-financiar strong { font-weight: inherit; }
/* Ficha de datos: la última casilla, si queda sola, ocupa todo el ancho */
@media (max-width: 899.98px) { .woocommerce div.product .bs-ficha-top > div.images.woocommerce-product-gallery { position: static; } }

/* Landings de 0-bs-landing: contraste AA con los tokens V2 (el CSS del plugin daba 3,8–4,4) */
:is(.bs-h2card__tag, .bs-rev-wall__tag) { color: var(--wp--preset--color--acento-sobre-tinte) !important; }
.bs-panel-blue > .bs-eyebrow { color: var(--wp--preset--color--sobre-oscuro) !important; }
.bs-calc__tag.is-good { color: var(--wp--preset--color--exito) !important; background: var(--wp--preset--color--superficie) !important; box-shadow: inset 0 0 0 1px var(--wp--preset--color--exito); }

/* El CSS de las landings (landing.css del plugin) usa también .bs-btn con sus variables y mayúsculas: en la cabecera y el pie manda el V2 */
#header-outer .bs-nav__cta, #footer-outer .bs-btn--primary { height: var(--bs-control); padding: 0 22px; border: 1px solid transparent; border-radius: var(--bs-r-sm); background: var(--bs-accent); color: var(--wp--preset--color--superficie) !important; font: 600 var(--bs-small)/1 var(--bs-font); letter-spacing: -.005em; text-transform: none !important; }
#header-outer .bs-nav__cta:hover { background: var(--bs-accent-hover); }

/* ---------- Landings de 0-bs-landing (.bs-lp) con el sistema V2, solo con este tema ----------
   landing.css del plugin (sistema v1.1) cuelga de variables: aquí se redefinen con los tokens V2 y se quitan las
   mayúsculas y las píldoras de los botones. El plugin no se toca; con Salient la web actual no cambia. */
body.bs-tema .bs-lp {
	--bs-blue-100: var(--wp--preset--color--tinte); --bs-blue-400: var(--wp--preset--color--acento-sobre-oscuro);
	--bs-blue-500: var(--wp--preset--color--acento); --bs-blue-600: var(--wp--preset--color--acento-hover);
	--bs-navy-900: var(--wp--preset--color--texto); --bs-navy-600: var(--wp--preset--color--oscuro-suave);
	--bs-gray-100: var(--wp--preset--color--fondo-alterno); --bs-gray-200: var(--wp--preset--color--linea); --bs-gray-500: var(--wp--preset--color--texto-secundario);
	--bs-muted-dark: var(--wp--preset--color--secundario-sobre-oscuro);
	--font-heading: var(--wp--preset--font-family--titulos); --font-sans: var(--wp--preset--font-family--texto);
	--radius-sm: var(--wp--custom--radio--campo); --radius-md: var(--wp--custom--radio--base); --radius-lg: var(--wp--custom--radio--base); --radius-xl: var(--wp--custom--radio--base);
	--fs-display: var(--wp--preset--font-size--h-1); --fs-h2: var(--wp--preset--font-size--h-2); --fs-statement: var(--wp--preset--font-size--h-2);
	--fs-stat: var(--wp--preset--font-size--cifra); --fs-lead: var(--wp--preset--font-size--entradilla); --fs-body: var(--wp--preset--font-size--base);
	font-size: var(--fs-body); line-height: 1.55; letter-spacing: 0; background: var(--bs-bg);
}
body.bs-tema .bs-lp :is(.bs-display, .bs-h2, .bs-statement) { font-weight: 500; }
body.bs-tema .bs-lp .bs-btn { min-height: var(--bs-control); padding: 0 22px; border-radius: var(--bs-r-sm); font: 600 var(--bs-small)/1 var(--bs-font); letter-spacing: -.005em; text-transform: none !important; }

/* ---------- Sistema V2 1.2 (03/11/2026): radio único de 4 px y secciones separadas por líneas, no por fondos ----------
   radio--campo y radio--medio pasan a 4 px en theme.json; la píldora queda solo para iconos circulares y el flotante. */
.bs-chip, .bs-woo-chips li, .woocommerce ul.products li.product .bs-card__chip { border-radius: var(--bs-r-sm); }
.woocommerce div.product .woocommerce-product-gallery img, .woocommerce ul.products li.product a img, .bs-compra .wc-block-cart-item__image img { border-radius: var(--bs-r-sm); }
.woocommerce span.onsale { border-radius: var(--bs-r-sm); }

/* Cabecera de sección (.bs-sechead): línea marino de 1 px, eyebrow sin su raya */
.bs-relacionados > .bs-eyebrow { margin-bottom: var(--bs-s6); }

/* Landings: el gris perla deja de ser fondo de sección (solo detrás del packshot); las tarjetas grises quedan abiertas */
body.bs-tema .bs-lp { --bs-gray-100: var(--wp--preset--color--fondo); --radius-sm: var(--wp--custom--radio--base); }
/* Línea de rejilla entre secciones claras seguidas (.bs-section--rule del V2): al ancho del contenedor, nunca a sangre */
body.bs-tema .bs-lp { --bs-in-pad: 50px; --bs-sec-pad: 88px; }
@media (max-width: 999px) { body.bs-tema .bs-lp { --bs-in-pad: 28px; } }
@media (max-width: 690px) { body.bs-tema .bs-lp { --bs-in-pad: 23px; --bs-sec-pad: 56px; } }
body.bs-tema .bs-lp .bs-sec + .bs-sec:not(.bs-sec--dark) { padding-top: 0; }
body.bs-tema .bs-lp .bs-sec + .bs-sec:not(.bs-sec--dark) > .bs-in { position: relative; padding-top: var(--bs-sec-pad); }
body.bs-tema .bs-lp .bs-sec + .bs-sec:not(.bs-sec--dark) > .bs-in::before { content: ""; position: absolute; top: 0; left: var(--bs-in-pad); right: var(--bs-in-pad); height: 1px; background: var(--wp--preset--color--linea); }
/* Radio único de 4 px también en las píldoras de las landings (chips, etiquetas, insignias y botones de Quform); las barras se quedan redondeadas */
body.bs-tema .bs-lp :is(.bs-chip, .bs-rbadge, .bs-rev-wall__tag, .bs-calc__tag, .bs-params__n, .bs-h2card__tag, .bs-formcard .quform-button-submit button, .bs-formcard .quform-button-next button, .bs-formcard .quform-button-back button) { border-radius: var(--bs-r-sm) !important; }
body.bs-tema .bs-lp .bs-formcard :is(.quform-button-submit, .quform-button-next, .quform-button-back) button { text-transform: none !important; font-family: var(--bs-font) !important; letter-spacing: -.005em !important; }
body.bs-tema .bs-lp .bs-h2honest .bs-eyebrow { color: var(--wp--preset--color--acento-sobre-tinte) !important; }

/* ── Pepe, 03/11/2026: el azul solo para enlaces y botones ──────────────────────────────
   Titulares en un solo color, antetítulos, cifras e iconos en el color del texto, y una sola esquina de 4 px también en el megamenú. */
body.bs-tema :is(.bs-hl, .bs-lp .bs-hl, .bs-sec--dark .bs-hl, .bs-band .bs-hl) { color: inherit !important; }
body.bs-tema :is(.bs-eyebrow, .bs-lp .bs-eyebrow, .bs-h2honest .bs-eyebrow) { color: var(--bs-fg-muted) !important; }
body.bs-tema :is(.bs-oscuro, .bs-sec--dark, .bs-band) .bs-eyebrow { color: var(--bs-muted-dark) !important; }
body.bs-tema :is(.bs-eyebrow)::before { background: currentColor !important; }
body.bs-tema .bs-num, body.bs-tema summary::after { color: var(--bs-fg) !important; }
body.bs-tema :is(.bs-icon, .bs-lp .bs-icon) { stroke: var(--bs-fg) !important; }
body.bs-tema :is(.bs-oscuro, .bs-sec--dark, .bs-band) .bs-icon { stroke: #fff !important; }
body.bs-tema .bs-btn .bs-icon { stroke: currentColor !important; }
body.bs-tema .bs-lp .bs-icon-circle { border-color: var(--bs-line) !important; }
body.bs-tema .bs-lp .bs-sec--dark .bs-icon-circle { border-color: rgba(255,255,255,.35) !important; }
body.bs-tema .bs-lp .bs-checks li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230A083B' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; }
body.bs-tema .bs-lp :is(.bs-checks--dark, .bs-checks--on-blue) li::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23FFFFFF' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") !important; }
body.bs-tema .bm, body.bs-tema .bm [class*="bm-"], body.bs-tema .bm img { border-radius: var(--bs-r-sm) !important; }
body.bs-tema #header-outer .bm-trigger[aria-expanded="true"] { border-radius: 0 !important; }
body.bs-tema .bm { --bm-blue: var(--bs-accent); }
/* Portada: la franja final «Empieza hoy» repetía el formulario del pie. Queda solo el formulario. */
body.bs-tema .bs-sec:has(> .bs-home-final) { display: none !important; }
/* La cabecera va dentro del envoltorio de la parte de plantilla, que mide lo mismo que ella: el sticky se aplica al envoltorio para que el menú siga a mano al bajar. */
.wp-block-template-part:has(> #header-outer) { position: sticky; top: 0; z-index: 9990; }
body.admin-bar .wp-block-template-part:has(> #header-outer) { top: var(--wp-admin--admin-bar--height, 32px); }
/* Aviso de cookies (Complianz) con la misma esquina de 4 px */
body.bs-tema .cmplz-cookiebanner :is(.cmplz-btn, .cmplz-categories .cmplz-category), body.bs-tema .cmplz-cookiebanner { border-radius: var(--bs-r-sm) !important; }
/* «¿Te llamamos?» compacto (Pepe, 03/11/2026): se repite en muchas páginas, así que ocupa poco. En escritorio, nombre, teléfono y botón en una línea. */
.bs-pie-asesor { padding-block: var(--bs-s12); }
.bs-pie-asesor__in { grid-template-columns: minmax(0, 4fr) minmax(0, 7fr); gap: var(--bs-s10); }
.bs-pie-asesor h2 { margin: var(--bs-s3) 0 var(--bs-s2); font-size: var(--wp--preset--font-size--h-3); }
.bs-pie-asesor .bs-lead { font-size: var(--bs-small); }
.bs-pie-asesor__tel { margin-top: var(--bs-s3); font-size: var(--bs-small); }
.bs-pie__form.bs-form-card { padding: var(--bs-s6); }
.bs-pie__form .bs-form-note { margin: var(--bs-s3) 0 0; font-size: var(--bs-caption); }
@media (min-width: 700px) {
	.bs-pie__form .quform-child-elements { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; align-items: end; gap: var(--bs-s3) var(--bs-s4); }
	.bs-pie__form :is(.quform-element-checkbox, .af-meta-consent) { grid-column: 1 / -1; }
	.bs-pie__form .quform-element-1_3 { grid-column: 1; grid-row: 1; } /* nombre */
	.bs-pie__form .quform-element-1_5 { grid-column: 2; grid-row: 1; } /* teléfono */
	.bs-pie__form .quform-element-submit { grid-column: 3; grid-row: 1; }
	.bs-pie__form :is(.quform-element-checkbox, .af-meta-consent) { grid-row: auto; }
	.bs-pie__form button.quform-submit { width: auto; margin-top: 0; white-space: nowrap; }
}
@media (max-width: 899.98px) { .bs-pie-asesor { padding-block: var(--bs-s10); } .bs-pie-asesor__in { grid-template-columns: 1fr; gap: var(--bs-s6); } }

/* ── Sistema V2 1.3 (03/11/2026): azul solo para actuar, sin cajas que no se pulsan, las gotas del logo ── */
:root { --bs-drop:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 105'%3E%3Cpath d='M69.77,10.89S20.12,52.47,.93,52.47c19.19,0,68.84,41.58,68.84,41.58,8.9,6.13,19.82,10.89,31.67,10.89,29.78,0,53.93-23.49,53.93-52.47S131.22,0,101.44,0c-11.85,0-22.76,4.76-31.67,10.89h0Z'/%3E%3C/svg%3E"); --bs-drops:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 156 222'%3E%3Cpath d='M69.77,10.89S20.12,52.47,.93,52.47c19.19,0,68.84,41.58,68.84,41.58,8.9,6.13,19.82,10.89,31.67,10.89,29.78,0,53.93-23.49,53.93-52.47S131.22,0,101.44,0c-11.85,0-22.76,4.76-31.67,10.89h0Z'/%3E%3Cpath d='M68.84,127.7S19.19,169.29,0,169.29c19.19,0,68.84,41.58,68.84,41.58,8.9,6.13,19.82,10.89,31.67,10.89,29.78,0,53.93-23.49,53.93-52.47s-24.14-52.47-53.93-52.47c-11.85,0-22.76,4.76-31.67,10.89h0Z'/%3E%3C/svg%3E"); --bs-muted-on-dark: var(--wp--preset--color--secundario-sobre-oscuro); }
/* Rasgos: texto con las dos gotas delante, sin caja */
.bs-traits { display: flex; flex-wrap: wrap; gap: var(--bs-s2) var(--bs-s6); margin: 0; padding: 0; list-style: none; font-size: 15px; font-weight: 500; color: var(--bs-fg); }
.bs-traits li, .bs-trait { display: inline-flex; align-items: center; gap: var(--bs-s2); }
.bs-traits li::before, .bs-trait::before { content: ""; flex: none; width: 8px; height: 11px; background: currentColor; opacity: .6; -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; }
body.bs-tema .woocommerce ul.products li.product .bs-card__chip, body.bs-tema .bs-woo-chips li { min-height: 0; padding: 0; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--bs-fg) !important; font-size: var(--bs-small); font-weight: 500; letter-spacing: 0; text-transform: none; }
body.bs-tema .bs-woo-chips li { display: inline-flex; align-items: center; gap: var(--bs-s2); }
body.bs-tema .bs-woo-chips li::before { content: ""; flex: none; width: 8px; height: 11px; background: currentColor; opacity: .6; -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; }
/* Chips: solo filtros que se pulsan */
.bs-chip { border-radius: var(--bs-r-sm); background: none; cursor: pointer; }
.bs-chip[aria-pressed="true"], .bs-chip.is-on { background: var(--bs-fg); color: var(--bs-bg); }
/* Etiqueta = pie de foto, sin caja */
.bs-tag { display: block; font-size: var(--bs-caption); line-height: 1.35; color: var(--bs-fg-muted); }
.bs-tag b { display: block; font-size: 14px; font-weight: 600; color: var(--bs-fg); }
/* Gotas como marca */
.bs-media--mark { position: relative; }
.bs-media--mark::after { content: ""; position: absolute; right: 16px; bottom: 16px; width: 16px; height: 23px; background: #fff; opacity: .8; -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; pointer-events: none; }
.bs-media--mark-dark::after { background: var(--wp--preset--color--oscuro); opacity: .45; }
.bs-watermark { position: relative; overflow: hidden; isolation: isolate; }
.bs-watermark::before { content: ""; position: absolute; z-index: -1; right: -6%; top: 50%; width: min(46vw, 560px); aspect-ratio: 156 / 222; transform: translateY(-50%); background: currentColor; opacity: .05; -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; pointer-events: none; }
.bs-pie-asesor.bs-watermark::before { color: #fff; }
/* Iconos sin círculo, cita con raya marino, datos y números en marino o gris */
body.bs-tema :is(.bs-icon-circle, .bs-lp .bs-icon-circle) { width: 32px; height: 32px; border: 0 !important; border-radius: 0 !important; background: none !important; }
body.bs-tema .wp-block-quote { border-left-color: var(--bs-fg); }
body.bs-tema :is(.bs-kv em, .bs-step__n, .bs-card__n, .bs-sechead__n) { color: var(--bs-fg) !important; }
body.bs-tema .bs-card--tint { background: none !important; box-shadow: inset 0 2px 0 var(--bs-accent); }
body.bs-tema #header-outer .bs-nav__tel span { color: var(--bs-fg); }
/* Landings del plugin: fuera las cajas que no se pulsan */
body.bs-tema .bs-lp .bs-chips:not(.bs-chips--nav) { gap: var(--bs-s2) var(--bs-s6); }
body.bs-tema .bs-lp .bs-chips:not(.bs-chips--nav) .bs-chip, body.bs-tema .bs-lp :is(.bs-rev-wall__tag, .bs-h2card__tag, .bs-calc__tag) { display: inline-flex; align-items: center; gap: var(--bs-s2); height: auto; padding: 0; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--bs-fg) !important; font: 500 15px/1.3 var(--bs-font); letter-spacing: 0; text-transform: none; cursor: default; }
body.bs-tema .bs-lp .bs-chips:not(.bs-chips--nav) .bs-chip::before { content: ""; flex: none; width: 8px; height: 11px; background: currentColor; opacity: .6; -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; }
body.bs-tema .bs-lp .bs-sec--dark .bs-chips:not(.bs-chips--nav) .bs-chip { color: #fff !important; }
body.bs-tema .bs-lp :is(.bs-rev-wall__tag, .bs-h2card__tag, .bs-calc__tag) { font-size: var(--bs-caption); color: var(--bs-fg-muted) !important; }
body.bs-tema .bs-lp .bs-chips--nav .bs-chip { background: none; border: 1px solid var(--bs-fg); color: var(--bs-fg); }
body.bs-tema .bs-lp .bs-badge-round { width: auto; height: auto; border-radius: 0 !important; background: none !important; color: var(--bs-fg) !important; font-weight: 600; }
body.bs-tema .bs-lp .bs-params__n, body.bs-tema .bs-lp .bs-params__g[open] .bs-params__n { background: none !important; color: var(--bs-fg-muted) !important; border-radius: 0 !important; }
body.bs-tema .bs-lp :is(.bs-stat, .bs-num) { color: var(--bs-fg) !important; }
body.bs-tema .bs-lp .bs-sec--dark :is(.bs-stat, .bs-num) { color: #fff !important; }
/* Índice de las landings («Los dos equipos · Con sal o sin sal…»): enlaces de texto en una línea, sin cajas (Pepe, 03/11/2026). */
body.bs-tema .bs-lp .bs-chips--nav { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--bs-s2) 0; margin-bottom: var(--bs-s8); }
body.bs-tema .bs-lp .bs-chips--nav::before { content: "En esta página:"; margin-right: var(--bs-s3); font-size: var(--bs-small); color: var(--bs-fg-muted); }
body.bs-tema .bs-lp .bs-chips--nav .bs-chip { display: inline; height: auto; min-height: 0; padding: 4px 0; border: 0 !important; border-radius: 0 !important; background: none !important; color: var(--bs-accent) !important; font: 500 var(--bs-small)/1.5 var(--bs-font); letter-spacing: 0; text-transform: none; text-decoration: underline; text-underline-offset: .2em; text-decoration-thickness: 1px; }
body.bs-tema .bs-lp .bs-chips--nav .bs-chip:hover { text-decoration-thickness: 2px; }
body.bs-tema .bs-lp .bs-chips--nav .bs-chip + .bs-chip::before { content: "·"; display: inline-block; margin: 0 var(--bs-s3); color: var(--bs-fg-muted); text-decoration: none; }
body.bs-tema .bs-lp .bs-sec--dark .bs-chips--nav .bs-chip { color: #fff !important; }
/* ── Sistema V2 1.3: fotos 4:5, tienda con .bs-pshot y ficha técnica con rejilla abierta ── */
:root { --bs-ratio-photo: 4 / 5; }
.bs-media { aspect-ratio: var(--bs-ratio-photo); overflow: hidden; }
.bs-media img { width: 100%; height: 100%; object-fit: cover; }
.bs-media--wide { aspect-ratio: auto; }
@media (min-width: 900px) { .bs-band--crop { aspect-ratio: 21 / 9; } }
/* Tienda: rejilla .bs-shop (3 · 2 · 2) y tarjeta .bs-pshot */
.woocommerce ul.products { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: var(--bs-s12) var(--bs-s6) !important; }
@media (max-width: 1099.98px) { .woocommerce ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: var(--bs-s10) var(--bs-s4) !important; } }
@media (max-width: 479.98px) { .woocommerce ul.products { gap: var(--bs-s8) var(--bs-s3) !important; } }
.woocommerce ul.products li.product.bs-pshot { padding: 0 !important; border: 0 !important; }
.bs-pshot__frame { position: relative; display: grid; place-items: center; aspect-ratio: 4 / 5; overflow: hidden; background: var(--bs-bg-alt); border-radius: var(--bs-r-sm); }
.woocommerce ul.products li.product .bs-pshot__frame img { position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; margin: 0 !important; aspect-ratio: auto; padding: 16% 18% 18%; object-fit: contain; background: none; mix-blend-mode: multiply; border-radius: 0; box-sizing: border-box; }
@media (max-width: 479.98px) { .woocommerce ul.products li.product .bs-pshot__frame img { padding: 12% 12% 14%; } }
.woocommerce ul.products li.product.bs-pshot .woocommerce-loop-product__title { margin: var(--bs-s4) 0 0; font-size: var(--bs-small) !important; font-weight: 400; line-height: 1.4; color: var(--bs-fg-muted); }
.woocommerce ul.products li.product.bs-pshot .price { margin: var(--bs-s1, 4px) 0 0 !important; font-size: var(--bs-small) !important; font-weight: 600; color: var(--bs-fg) !important; font-variant-numeric: tabular-nums; }
.woocommerce ul.products li.product.bs-pshot .price small { font-weight: 400; color: var(--bs-fg-muted); }
.woocommerce ul.products li.product.bs-pshot > a:hover .woocommerce-loop-product__title { color: var(--bs-fg); }
/* Galería de la ficha: el mismo marco 4:5 gris perla, con aire alrededor del producto */
.woocommerce div.product .woocommerce-product-gallery__image { aspect-ratio: 4 / 5; background: var(--bs-bg-alt); border-radius: var(--bs-r-sm); overflow: hidden; }
.woocommerce div.product .woocommerce-product-gallery__image > a { display: block; height: 100%; }
.woocommerce div.product .woocommerce-product-gallery__image img { width: 100% !important; height: 100% !important; padding: 10% 12% 12%; object-fit: contain; mix-blend-mode: multiply; border-radius: 0 !important; box-sizing: border-box; }
.woocommerce div.product .flex-control-thumbs li img { aspect-ratio: 4 / 5; object-fit: contain; background: var(--bs-bg-alt); }
/* Ficha técnica: rejilla abierta .bs-sheet / .bs-rows */
.bs-woo-ficha { margin-top: var(--bs-s8); }
.bs-woo-ficha__t { margin: var(--bs-s4) 0 var(--bs-s12); font-size: var(--wp--preset--font-size--h-3); }
.bs-sheet { display: grid; gap: 0; }
.bs-sheet__group { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 9fr); column-gap: var(--bs-gutter); }
.bs-sheet__label, .bs-sheet__body { padding: var(--bs-s4) 0 var(--bs-s10); border-top: 1px solid var(--bs-fg); }
.bs-sheet__label { margin: 0; font-size: var(--bs-caption); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-sheet__body { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--bs-s12); align-content: start; border-top-color: var(--bs-line); }
.bs-sheet__body--one { grid-template-columns: 1fr; }
.bs-woo-ficha__prosa { max-width: 68ch; }
.bs-woo-ficha__prosa > * { margin: 0; }
.bs-woo-ficha__prosa > * + * { margin-top: var(--bs-s4); }
.bs-rows { margin: 0; padding: 0; list-style: none; }
.bs-rows > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: var(--bs-s4); padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); font-size: var(--bs-small); line-height: 1.45; }
.bs-rows > li > span:first-child { color: var(--bs-fg); font-weight: 500; }
.bs-rows > li > span + span { color: var(--bs-fg-muted); font-variant-numeric: tabular-nums; }
.bs-rows--ticks > li { grid-template-columns: 1fr auto; align-items: center; }
.bs-rows--ticks .bs-icon { width: 18px; height: 18px; }
.bs-attrs { display: grid; grid-template-columns: repeat(3, 1fr); border-top: 1px solid var(--bs-line); }
.bs-attrs > div { margin-top: var(--bs-s4); padding: var(--bs-s5, 20px) var(--bs-s6) var(--bs-s6); border-left: 1px solid var(--bs-line); }
.bs-attrs > div:first-child { padding-left: 0; border-left: 0; }
.bs-attrs b { display: block; font-size: var(--bs-small); font-weight: 600; }
.bs-attrs span { display: block; margin-top: 2px; font-size: var(--bs-small); color: var(--bs-fg-muted); }
@media (max-width: 899.98px) {
	.bs-sheet__group { grid-template-columns: 1fr; }
	.bs-sheet__label { padding-bottom: var(--bs-s2); }
	.bs-sheet__body { grid-template-columns: 1fr; padding-top: 0; border-top: 0; }
	.bs-attrs { grid-template-columns: 1fr; }
	.bs-attrs > div { margin-top: 0; padding-left: 0; border-top: 1px solid var(--bs-line); border-left: 0; }
}
.bs-relacionados { border-top: 1px solid var(--bs-fg) !important; padding-top: var(--bs-s4) !important; }
.bs-relacionados > .bs-eyebrow::before, .bs-woo-ficha > .bs-eyebrow::before { display: none; }
/* Sin enlace, sin efecto (Pepe, 03/11/2026): las tarjetas de la portada que no llevan a ningún sitio no hacen zoom. Y van en 4:5. */
body.bs-tema .bs-home-cards li:not(:has(a)):hover .bs-home-cards__img img { transform: none; }
/* De momento solo las que ya tienen foto 4:5 (V2); «Di adiós al plástico» cuando lleguen las suyas. */
body.bs-tema .bs-home-cards__img:has(img[src*="/v2-portada/"]) { aspect-ratio: 4 / 5; }
body.bs-tema .bs-home-cards__img img { object-fit: cover; }
/* ── Tarjetas con enlace .bs-post (V2 1.3): foto 4:5 con zoom leve, fecha, título y «Leer artículo» con flecha. Sin enlace, sin flecha ni efecto. ── */
:root { --bs-under-photo: 70%; --bs-flecha: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23000%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.6%2012.1Q11%2012.7%2017.6%2012.1%22%2F%3E%3Cpath%20d%3D%22M13.6%207.8l4.4%204.3-4.4%204.3%22%2F%3E%3C%2Fsvg%3E"); }
@media (max-width: 479.98px) { :root { --bs-under-photo: 88%; } }
.bs-posts-q .wp-block-post-template { gap: var(--bs-s12) var(--bs-gutter) !important; }
@media (min-width: 900px) { .bs-posts-q .wp-block-post-template.is-layout-grid { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; } }
.bs-post .wp-block-post-featured-image { margin: 0 0 var(--bs-s5); overflow: hidden; border-radius: var(--bs-r-sm); }
.bs-post .wp-block-post-featured-image img { transition: transform 1100ms var(--bs-ease-agua, ease); }
.bs-post__date { display: block; margin: 0 0 var(--bs-s2); font-size: var(--bs-caption); color: var(--bs-fg-muted); font-variant-numeric: tabular-nums; }
.bs-post__title { margin: 0; font-weight: 500; line-height: 1.25; letter-spacing: -.01em; }
.bs-post__title a { color: var(--bs-fg) !important; text-decoration: none; }
.bs-more { display: inline-flex; align-items: center; gap: var(--bs-s2); margin-top: var(--bs-s4); font-size: var(--bs-small); font-weight: 600; color: var(--bs-accent); text-decoration: none; }
.bs-more .bs-icon { width: 18px; height: 18px; stroke: currentColor !important; transition: transform var(--bs-dur-base, 280ms) var(--bs-ease-agua, ease); }
.bs-post:hover .bs-post__title a, .bs-post:focus-within .bs-post__title a { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
.bs-post:hover .bs-more .bs-icon { transform: translate3d(4px, 0, 0); }
@media (hover: hover) and (pointer: fine) { .bs-post:hover .wp-block-post-featured-image img { transform: scale(1.03); } }
/* «Guía del agua» de la portada (plugin): mismas tarjetas, foto 4:5 y «Leer artículo» con flecha */
body.bs-tema .bs-home-blog { gap: var(--bs-s12) var(--bs-gutter); }
body.bs-tema .bs-home-blog__img { aspect-ratio: 4 / 5; border-radius: var(--bs-r-sm); margin-bottom: var(--bs-s5); }
body.bs-tema .bs-home-blog__date { font-size: var(--bs-caption) !important; color: var(--bs-fg-muted); }
body.bs-tema .bs-home-blog .bs-card__title { font-weight: 500; letter-spacing: -.01em; }
body.bs-tema .bs-home-blog a:hover .bs-card__title { color: var(--bs-fg); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
body.bs-tema .bs-home-blog a::after { content: "Leer artículo"; display: inline-block; margin-top: var(--bs-s4); padding-right: 26px; font-size: var(--bs-small); font-weight: 600; color: var(--bs-accent); background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23175CFF%22%20stroke-width%3D%221.25%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M4.6%2012.1Q11%2012.7%2017.6%2012.1%22%2F%3E%3Cpath%20d%3D%22M13.6%207.8l4.4%204.3-4.4%204.3%22%2F%3E%3C%2Fsvg%3E") right center / 18px 18px no-repeat; transition: background-position var(--bs-dur-base, 280ms) var(--bs-ease-agua, ease); }
body.bs-tema .bs-home-blog a:hover::after { background-position: right -4px center; }
@media (hover: hover) and (pointer: fine) { body.bs-tema .bs-home-blog a:hover img { transform: scale(1.03); } }
/* Texto bajo una foto: como mucho el 70 % de su ancho */
.bs-post :is(.bs-post__title, .bs-post__date), .woocommerce ul.products li.product.bs-pshot .woocommerce-loop-product__title,
body.bs-tema .bs-lp :is(.bs-home-cards, .bs-h2cards, .bs-home-eq, .bs-home-blog) :is(h3, h4, p, .bs-card__title, .bs-card__text) { max-width: var(--bs-under-photo); }
/* Fotos de escena (no recortadas sobre blanco): llenan el 4:5 a sangre, sin aire ni «multiply» (.bs-pshot--scene, inc/woo.php) */
.woocommerce ul.products li.product.bs-pshot--scene .bs-pshot__frame img { padding: 0 !important; object-fit: cover; mix-blend-mode: normal; }
body.bs-ficha--scene.woocommerce div.product .woocommerce-product-gallery__image img { padding: 0; object-fit: cover; mix-blend-mode: normal; }
/* ── Iconos 32 px con trazo fijo de 1,2 px (V2 1.3); 36 px en sellos y ventajas; 24 px dentro de texto. Ninguno por debajo de 24. ── */
.bs-icon, body.bs-tema .bs-lp .bs-icon { width: 32px; height: 32px; stroke-width: 1.2 !important; }
.bs-icon *, body.bs-tema .bs-lp .bs-icon * { vector-effect: non-scaling-stroke; }
.bs-icon--sm, .bs-more .bs-icon, .bs-btn .bs-icon, body.bs-tema .bs-lp :is(.bs-btn, .bs-trust, .bs-checks) .bs-icon { width: 24px !important; height: 24px !important; }
.bs-seal .bs-icon, .bs-feats .bs-icon { width: 36px; height: 36px; }
body.bs-tema :is(.bs-icon-circle, .bs-lp .bs-icon-circle) { width: 40px; height: 40px; }
.bs-feats { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-line); }
.bs-feats > li { display: grid; grid-template-columns: 52px 1fr; gap: var(--bs-s4); padding: var(--bs-s5, 20px) 0; border-bottom: 1px solid var(--bs-line); }
.bs-feats b { display: block; font-weight: 600; }
.bs-feats span { display: block; max-width: 46ch; margin-top: 2px; font-size: var(--bs-small); color: var(--bs-fg-muted); }

/* ── Cierre «¿Te llamamos?»: formulario sobre el marino, sin caja blanca (aprobado por Pepe, 03/11/2026) ── */
.bs-pie-asesor .bs-pie__form.bs-form-card { padding: 0; border: 0; border-radius: 0; background: none; box-shadow: none; color: #fff; }
.bs-pie-asesor .bs-pie__form .quform-label-text, .bs-pie-asesor .bs-pie__form .bs-form-note, .bs-pie-asesor .bs-pie__form :is(.quform-option-text, .af-meta-consent span) { color: #B9C2E4 !important; }
.bs-pie-asesor .bs-pie__form input.quform-field-text { border: 1px solid rgba(255,255,255,.45) !important; background: rgba(255,255,255,.04) !important; color: #fff !important; }
.bs-pie-asesor .bs-pie__form input.quform-field-text::placeholder { color: #8F98BD; opacity: 1; }
.bs-pie-asesor .bs-pie__form input.quform-field-text:hover { border-color: rgba(255,255,255,.7) !important; }
.bs-pie-asesor .bs-pie__form input.quform-field-text:focus, .bs-pie-asesor .bs-pie__form input.quform-field-text:focus-visible { border-color: #fff !important; outline: 2px solid #6F9BFF; outline-offset: 2px; }
.bs-pie-asesor .bs-pie__form input.quform-field-text:-webkit-autofill { -webkit-text-fill-color: #fff; -webkit-box-shadow: 0 0 0 40px var(--wp--preset--color--oscuro) inset; caret-color: #fff; }
.bs-pie-asesor .bs-pie__form .quform-option-text a { color: #6F9BFF !important; }
.bs-pie-asesor .bs-pie__form :is(.quform-option, .af-meta-consent) input { accent-color: #fff; }
.bs-pie-asesor .bs-pie__form .quform-edit-form, .bs-pie-asesor .bs-pie__form a[href*="quform.forms&sp=edit"] { display: none !important; }

/* ── Entrada del blog (V2 1.3, blocks/articulo): cabecera con foto 4:5, índice, texto con margen, compartir y «Sigue leyendo» ── */
.bs-wrap { max-width: var(--bs-container); margin-inline: auto; padding-inline: var(--bs-margin); box-sizing: border-box; }
.bs-sechead { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: baseline; gap: var(--bs-s4); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); margin-bottom: var(--bs-s10); }
.bs-sechead .bs-eyebrow { margin: 0; }
.bs-sechead .bs-more { margin: 0; }
.post-head { display: grid; grid-template-columns: 3fr 5fr 4fr; column-gap: var(--bs-gutter); align-items: end; padding: var(--bs-s16) 0 var(--bs-s12); }
.post-head__txt { grid-column: 2; }
.post-head .bs-eyebrow { margin: 0 0 20px; }
.post-head h1 { margin: 0; font-size: clamp(34px, 4.4vw, 54px); line-height: 1.04; }
.post-head .bs-lead { margin: 20px 0 0; }
.post-head .bs-media { grid-column: 3; border-radius: var(--bs-r-sm); }
.post-meta { display: flex; gap: var(--bs-s4); margin-top: var(--bs-s6); font-size: var(--bs-small); color: var(--bs-fg-muted); }
@media (max-width: 1099.98px) { .post-head { grid-template-columns: 1fr; row-gap: var(--bs-s8); padding-top: var(--bs-s8); } .post-head > * { grid-column: 1 !important; } }
.bs-article { display: grid; grid-template-columns: 3fr 6fr 3fr; column-gap: var(--bs-gutter); padding-top: var(--bs-s12); border-top: 1px solid var(--bs-line); }
.bs-article__rail { grid-column: 1; grid-row: 1 / span 999; }
.bs-article__body { grid-column: 2 / 4; display: grid; grid-template-columns: 2fr 1fr; column-gap: var(--bs-gutter); align-content: start; }
.bs-article__body > * { grid-column: 1; min-width: 0; }
.bs-article__body > :is(.bs-wide, .bs-pullquote, .bs-compare-wrap, .wp-block-table, figure.wp-block-image.alignwide, .bs-refs-wrap) { grid-column: 1 / -1; }
.bs-article__body > .bs-margin { grid-column: 2; align-self: start; }
.bs-article__body :is(p, li) { font-size: 17px; line-height: 1.65; }
.bs-article__body > p { margin: 0 0 var(--bs-s5); }
.bs-article__body > :is(ul, ol):not(.bs-refs) { margin: 0 0 var(--bs-s5); padding-left: 1.2em; }
.bs-article__body > h2 { margin: var(--bs-s12) 0 var(--bs-s5); font-size: 30px; line-height: 1.15; scroll-margin-top: 110px; }
.bs-article__body > h3 { margin: var(--bs-s8) 0 var(--bs-s3); font-size: 22px; }
.bs-article__body > figure { margin: var(--bs-s8) 0; }
.bs-article__body img { max-width: 100%; height: auto; border-radius: var(--bs-r-sm); }
@media (max-width: 1099.98px) { .bs-article { grid-template-columns: 1fr; padding-top: var(--bs-s6); } .bs-article__rail { grid-row: auto; } .bs-article__body { grid-column: 1; grid-template-columns: 1fr; } .bs-article__body > * { grid-column: 1 !important; } }
/* Índice de lectura */
.bs-toc { --bs-toc-k: 0; position: relative; margin: 0; padding: 0 0 0 var(--bs-s8); list-style: none; }
.bs-toc::before, .bs-toc::after { content: ""; position: absolute; left: 3px; top: .55em; bottom: .55em; width: 1px; background: var(--bs-line-strong); }
.bs-toc::after { background: var(--bs-fg); transform-origin: top; transform: scaleY(var(--bs-toc-k)); transition: transform var(--bs-dur-base, 280ms) var(--bs-ease-agua, ease); }
.bs-toc li { position: relative; display: grid; grid-template-columns: 2.4em 1fr; gap: var(--bs-s3); padding: 0 0 var(--bs-s5); }
.bs-toc li:last-child { padding-bottom: 0; }
.bs-toc li::before { content: ""; position: absolute; left: calc(-1 * var(--bs-s8) + 1px); top: .42em; width: 5px; height: 5px; border-radius: 50%; background: var(--bs-line-strong); transition: background var(--bs-dur-base, 280ms) ease, transform var(--bs-dur-base, 280ms) var(--bs-ease-agua, ease); }
.bs-toc__n { font-size: var(--bs-small); line-height: 1.5; color: var(--bs-fg-muted); font-variant-numeric: tabular-nums; }
.bs-toc a { font-size: var(--bs-small); line-height: 1.5; color: var(--bs-fg-muted); text-decoration: none; }
.bs-toc a:hover { color: var(--bs-fg); }
.bs-toc li:is(.is-read, .is-here)::before { background: var(--bs-fg); }
.bs-toc li.is-here::before { transform: scale(1.5); }
.bs-toc li.is-here :is(a, .bs-toc__n) { font-weight: 600; color: var(--bs-fg); }
.bs-toc-wrap { position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s6)); }
.bs-toc-wrap summary { margin-bottom: var(--bs-s5); list-style: none; font-size: var(--bs-caption); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-toc-wrap summary::-webkit-details-marker { display: none; }
@media (min-width: 1100px) { .bs-toc-wrap summary { pointer-events: none; } }
.bs-readbar { position: fixed; left: 0; top: 0; z-index: 9995; width: 100%; height: 2px; background: var(--bs-fg); transform-origin: left; transform: scaleX(var(--bs-read, 0)); pointer-events: none; }
@media (min-width: 1100px) { .bs-readbar { display: none; } }
@media (max-width: 1099.98px) { .bs-toc-wrap { position: static; } .bs-toc-wrap details > summary { margin: 0; padding: var(--bs-s3) 0; border-top: 1px solid var(--bs-line); border-bottom: 1px solid var(--bs-line); cursor: pointer; } .bs-toc-wrap details[open] > summary { margin-bottom: var(--bs-s5); } }
@media (prefers-reduced-motion: reduce) { .bs-toc::after, .bs-toc li::before { transition: none; } }
/* Piezas del texto */
.bs-summary { margin: 0 0 var(--bs-s10); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); }
.bs-summary > p:first-child { margin: 0 0 var(--bs-s3); font-size: var(--bs-caption); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-summary ul { margin: 0; padding: 0; list-style: none; }
.bs-summary li { display: grid; grid-template-columns: 20px 1fr; gap: var(--bs-s2); padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); font-size: 16px !important; }
.bs-summary li::before { content: ""; width: 9px; height: 13px; margin-top: 6px; background: var(--bs-fg); -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; }
.bs-pullquote { margin: var(--bs-s10) 0; padding: var(--bs-s8) 0; border-top: 1px solid var(--bs-fg); border-bottom: 1px solid var(--bs-line); }
.bs-pullquote p { max-width: 28ch; margin: 0; font-size: clamp(24px, 2.6vw, 32px) !important; font-weight: 500; line-height: 1.25 !important; letter-spacing: -.015em; }
.bs-pullquote cite { display: block; margin-top: var(--bs-s4); font-size: var(--bs-small); font-style: normal; color: var(--bs-fg-muted); }
.bs-callout { display: grid; grid-template-columns: auto 1fr; gap: var(--bs-s4); margin: var(--bs-s4) 0 var(--bs-s8); padding: var(--bs-s6); background: var(--bs-bg-alt); border-radius: var(--bs-r-sm); }
.bs-callout b { display: block; margin-bottom: 4px; }
.bs-callout p { margin: 0; font-size: 16px !important; }
.bs-margin { margin-bottom: var(--bs-s5); padding-top: var(--bs-s3); border-top: 1px solid var(--bs-line); font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-margin b { display: block; margin-bottom: 4px; font-size: 28px; font-weight: 500; line-height: 1.1; letter-spacing: -.02em; color: var(--bs-fg); }
.bs-wide { margin: var(--bs-s8) 0; }
.bs-wide figcaption { max-width: var(--bs-under-photo); margin-top: var(--bs-s3); font-size: var(--bs-caption); color: var(--bs-fg-muted); }
/* Compartir */
.bs-share { display: flex; align-items: center; gap: var(--bs-s4); margin-top: var(--bs-s8); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-line); }
.bs-share > span { margin-right: var(--bs-s2); font-size: var(--bs-caption); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-share :is(a, button) { display: inline-grid; place-items: center; width: 44px; height: 44px; padding: 0; border: 0; border-radius: var(--bs-r-sm); background: none; color: var(--bs-fg); cursor: pointer; }
.bs-share :is(a, button):hover, .bs-share .is-ok { color: var(--bs-accent); }
.bs-share .bs-icon { width: 28px; height: 28px; }
.bs-article__rail .bs-share { margin-top: var(--bs-s10); }
.bs-article__body > .bs-share { grid-column: 1 / -1; }
/* «Sigue leyendo» al ancho de la web */
.bs-readmore { margin-top: var(--bs-s24); }
.bs-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bs-s12) var(--bs-gutter); }
@media (max-width: 899.98px) { .bs-posts { grid-template-columns: 1fr; gap: var(--bs-s10); } }
a.bs-post { display: block; color: inherit; text-decoration: none; }
a.bs-post .bs-media { margin-bottom: var(--bs-s5); border-radius: var(--bs-r-sm); }
a.bs-post .bs-media img { transition: transform 1100ms var(--bs-ease-agua, ease); }
a.bs-post .bs-post__title { display: block; font-size: var(--wp--preset--font-size--h-4); font-weight: 500; line-height: 1.25; letter-spacing: -.01em; color: var(--bs-fg); }
a.bs-post:hover .bs-post__title { text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .15em; }
a.bs-post:hover .bs-more .bs-icon { transform: translate3d(4px, 0, 0); }
a.bs-post:focus-visible { outline: 2px solid var(--bs-accent); outline-offset: 4px; }
@media (hover: hover) and (pointer: fine) { a.bs-post:hover .bs-media img { transform: scale(1.03); } }

/* ── Tablas del contenido: solo rayas horizontales, raya marino bajo la cabecera (.bs-compare aplicado por CSS) ── */
:is(.bs-article__body, .bs-prosa, .entry-content) :is(.bs-compare, .wp-block-table table, table) { width: 100%; border: 0 !important; border-collapse: collapse; border-radius: 0 !important; background: none !important; font-size: 16px; }
:is(.bs-article__body, .bs-prosa, .entry-content) .wp-block-table { margin: var(--bs-s8) 0; overflow-x: auto; }
:is(.bs-article__body, .bs-prosa, .entry-content) :is(table) :is(th, td) { padding: var(--bs-s4) var(--bs-s5) var(--bs-s4) 0 !important; border: 0 !important; border-bottom: 1px solid var(--bs-line) !important; background: none !important; color: var(--bs-fg-muted); text-align: left; vertical-align: top; }
:is(.bs-article__body, .bs-prosa, .entry-content) :is(table) thead :is(th, td) { padding-top: var(--bs-s3) !important; border-bottom: 1px solid var(--bs-fg) !important; font-size: var(--bs-small); font-weight: 600; color: var(--bs-fg) !important; text-transform: none !important; letter-spacing: 0 !important; }
:is(.bs-article__body, .bs-prosa, .entry-content) :is(table) tbody th, :is(.bs-article__body, .bs-prosa, .entry-content) :is(table) tbody td:first-child { font-weight: 600; color: var(--bs-fg); text-transform: none !important; letter-spacing: 0 !important; }
:is(.bs-article__body, .bs-prosa, .entry-content) :is(table) .is-us { padding-left: var(--bs-s5) !important; border-left: 1px solid var(--bs-line) !important; color: var(--bs-fg); }
:is(.bs-article__body, .bs-prosa, .entry-content) :is(table) thead .is-us { box-shadow: inset 0 2px 0 var(--bs-accent); }
/* ── Botones heredados con forma de píldora: todos a 4 px ── */
.wp-block-button__link, .wp-element-button, .wp-block-button .wp-block-button__link[style*="radius"], .entry-content a.button, .entry-content .btn, .bs-article__body a[class*="btn"], .quform-button-submit button, .woocommerce a.button, .woocommerce button.button, .wp-block-button.is-style-pill .wp-block-button__link, :is(.bs-article__body, .entry-content) a[style*="border-radius"] { border-radius: var(--bs-r-sm) !important; }
/* ── Bibliografía (.bs-refs) ── */
.bs-refs { max-width: 72ch; margin: 0; padding: 0; list-style: none; counter-reset: bs-ref; }
.bs-refs > li { display: grid; grid-template-columns: 28px 1fr; gap: var(--bs-s4); padding: var(--bs-s4) 0; counter-increment: bs-ref; font-size: 15px !important; line-height: 1.6; color: var(--bs-fg-muted); }
.bs-refs > li::before { content: counter(bs-ref); display: grid; place-items: center; width: 24px; height: 24px; margin-top: 1px; border-radius: 50%; background: var(--bs-accent-soft); color: var(--bs-accent-on-tint); font-size: 11px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bs-refs :is(i, em) { font-style: italic; }
.bs-refs a { color: inherit; text-decoration: underline; text-decoration-color: var(--bs-line-strong); text-underline-offset: .15em; }
.bs-refs a:hover { color: var(--bs-accent); text-decoration-color: currentColor; }
.bs-refs > li:target { background: linear-gradient(90deg, var(--bs-accent-soft), transparent 60%); }
sup.bs-ref { margin-left: 1px; font-size: .68em; line-height: 0; }
sup.bs-ref a { font-weight: 600; color: var(--bs-accent-on-tint); text-decoration: none; }
/* ── Tarjetas: el 70 % solo bajo foto; sin foto, 60ch y sin relleno lateral extra; la raya azul solo en una destacada ── */
body.bs-tema .bs-lp .bs-card:not(:has(img, .bs-media)) :is(h3, h4, p, .bs-card__title, .bs-card__text) { max-width: 60ch !important; }
/* Entradas hechas con WPBakery: las filas de una sola columna no rompen la rejilla del artículo */
.bs-article__body > .bs-vc-fila:has(> .bs-vc-col:only-child), .bs-article__body > .bs-vc-fila > .bs-vc-col:only-child { display: contents; }
.bs-article__body > .bs-vc-fila > .bs-vc-col:only-child > :is(h2) { margin: var(--bs-s12) 0 var(--bs-s5); font-size: 30px; line-height: 1.15; scroll-margin-top: 110px; }
/* Tablas .bs-comp de las entradas (con su <style> propio): rejilla abierta del sistema por encima */
body.bs-tema .bs-article__body .bs-comp { margin: var(--bs-s8) 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; overflow-x: auto !important; }
body.bs-tema .bs-article__body .bs-comp table { background: none !important; table-layout: auto !important; }
body.bs-tema .bs-article__body .bs-comp :is(th, td) { padding: var(--bs-s4) var(--bs-s5) var(--bs-s4) 0 !important; border: 0 !important; border-bottom: 1px solid var(--bs-line) !important; background: none !important; color: var(--bs-fg-muted) !important; font-family: inherit !important; font-size: 16px !important; }
body.bs-tema .bs-article__body .bs-comp thead th { padding-top: var(--bs-s3) !important; border-bottom: 1px solid var(--bs-fg) !important; font-size: var(--bs-small) !important; font-weight: 600 !important; color: var(--bs-fg) !important; }
body.bs-tema .bs-article__body .bs-comp tbody th { font-weight: 600 !important; color: var(--bs-fg) !important; }
body.bs-tema .bs-article__body .bs-comp .bs-si { padding-left: var(--bs-s5) !important; border-left: 1px solid var(--bs-line) !important; color: var(--bs-fg) !important; }
body.bs-tema .bs-article__body .bs-comp thead th.bs-si { box-shadow: inset 0 2px 0 var(--bs-accent); }
@media (max-width: 767px) { body.bs-tema .bs-article__body .bs-comp tbody tr { margin: 0 0 var(--bs-s4) !important; border: 0 !important; border-top: 1px solid var(--bs-fg) !important; border-radius: 0 !important; background: none !important; } body.bs-tema .bs-article__body .bs-comp .bs-si { padding-left: 0 !important; border-left: 0 !important; } }
/* Ficha sin lupa: la mosca de las gotas en la esquina de la foto principal (V2 1.4, punto 13) */
.woocommerce-product-gallery__trigger, .zoomImg { display: none !important; }
.woocommerce div.product .woocommerce-product-gallery__image:first-child { position: relative; }
.woocommerce div.product .woocommerce-product-gallery__image:first-child::after { content: ""; position: absolute; right: 16px; bottom: 16px; width: 16px; height: 23px; background: var(--wp--preset--color--oscuro); opacity: .35; -webkit-mask: var(--bs-drops) center/contain no-repeat; mask: var(--bs-drops) center/contain no-repeat; pointer-events: none; }
.bs-article__body > .bs-vc-fila > .bs-vc-col:only-child > * { grid-column: 1; min-width: 0; }
.bs-article__body > .bs-vc-fila > .bs-vc-col:only-child > :is(.bs-comp, .bs-compare-wrap, .wp-block-table, .bs-wide, .bs-pullquote, .bs-refs, h2, .bs-share) { grid-column: 1 / -1; }
.bs-article__body > .bs-vc-fila > .bs-vc-col:only-child > .bs-margin { grid-column: 2; align-self: start; }
.bs-article__body .bs-vc-col > p { margin: 0 0 var(--bs-s5); }
.bs-article__body h2 { max-width: 24ch; }
/* ── Formularios en cualquier sección oscura, sin caja (V2 1.4, punto 11): landings .bs-sec--dark y su .bs-formcard ── */
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.bs-form-card, .bs-formcard, .quform-form, .quform-inner, .quform-elements) { padding-left: 0 !important; padding-right: 0 !important; border: 0 !important; border-radius: 0 !important; background: none !important; box-shadow: none !important; color: #fff; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-label, .quform-label label, .quform-label-text, .bs-label) { color: #B9C2E4 !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-field, .bs-input, select) { border: 1px solid rgba(255,255,255,.45) !important; border-radius: var(--bs-r-sm) !important; background: rgba(255,255,255,.04) !important; color: #fff !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-field, .bs-input)::placeholder { color: #8F98BD; opacity: 1; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) select option { color: var(--wp--preset--color--oscuro); }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-field, .bs-input, select):focus { border-color: #fff !important; outline: 2px solid #6F9BFF; outline-offset: 2px; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-option-label, .quform-option-text, .bs-check) { color: #B9C2E4 !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) input[type="checkbox"] { accent-color: #fff; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-option-label a, .quform-option-text a, .bs-check a, .bs-form-note a) { color: #6F9BFF !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) :is(.quform-submit button, .quform-button-submit button, .quform-button-next button, .quform-button-back button) { border-radius: var(--bs-r-sm) !important; text-transform: none !important; letter-spacing: 0 !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) .bs-form-note { color: #B9C2E4 !important; }
.quform-edit-form, .quform-edit-link { display: none !important; }
/* Zona de compra despejada (V2 1.4, punto 16): solo cantidad y «Añadir al carrito», en una fila y a la misma altura. Fuera «Financiar». */
.woocommerce div.product form.cart .boton-financiar { display: none !important; }
.woocommerce div.product form.cart:not(.variations_form), .woocommerce div.product form.cart .woocommerce-variation-add-to-cart { display: flex; flex-wrap: nowrap; align-items: stretch; gap: var(--bs-s3); }
.woocommerce div.product form.cart .quantity { flex: none; margin: 0 !important; }
.woocommerce div.product form.cart .quantity input.qty { width: 72px; height: var(--bs-control); }
.woocommerce div.product form.cart .single_add_to_cart_button { flex: 1; height: var(--bs-control); margin: 0 !important; }
/* Cuestionarios (opciones que se pulsan) sobre fondo oscuro: opción con borde claro y texto blanco; marcada, en blanco */
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) .quform-option-label { border: 1px solid rgba(255,255,255,.45) !important; border-radius: var(--bs-r-sm) !important; background: rgba(255,255,255,.04) !important; color: #fff !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) .quform-option-label :is(.quform-option-text, span) { color: #fff !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) .quform-option-label:hover { border-color: #fff !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) input:checked + .quform-option-label { border-color: #fff !important; background: rgba(255,255,255,.14) !important; }
body.bs-tema :is([data-surface="dark"], .bs-oscuro, .bs-sec--dark) input:focus-visible + .quform-option-label { outline: 2px solid #6F9BFF; outline-offset: 2px; }
/* Aire vertical alrededor de la franja «Equipo en propiedad…» y de «¿No sabes qué agua tienes?» (Pepe, 03/11/2026) */
body.bs-tema .bs-lp .bs-cta-band { margin: var(--bs-s12) 0 0 !important; padding: var(--bs-s8) var(--bs-s10); border-radius: var(--bs-r-sm); }
body.bs-tema .bs-analisis-link { display: flex; align-items: center; gap: var(--bs-s3); margin: var(--bs-s8) 0 0 !important; font-size: var(--bs-small); line-height: 1.5; color: var(--bs-fg); }
body.bs-tema .bs-analisis-link .bs-icon { flex: none; width: 24px !important; height: 24px !important; }
body.bs-tema .bs-analisis-link a { font-weight: 600; color: var(--bs-accent); text-decoration: underline; text-underline-offset: .15em; }
body.bs-tema .bs-lp .bs-cta-band + .bs-analisis-link { margin-top: var(--bs-s8) !important; }
@media (max-width: 690px) { body.bs-tema .bs-lp .bs-cta-band { padding: var(--bs-s6); gap: var(--bs-s5); } body.bs-tema .bs-analisis-link { align-items: flex-start; } }
/* ── Foto + texto (.bs-split, V2 1.4 punto 9): foto 4:5 en 5 columnas, una vacía y el texto en 6; la foto arranca a la altura del antetítulo ── */
@media (min-width: 900px) {
	body.bs-tema .bs-lp .bs-split:has(> .bs-photo) { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); align-items: start !important; }
	body.bs-tema .bs-lp .bs-split:has(> .bs-photo:first-child) > .bs-photo { grid-column: 1 / span 5; grid-row: 1; }
	body.bs-tema .bs-lp .bs-split:has(> .bs-photo:first-child) > :not(.bs-photo) { grid-column: 7 / span 6; grid-row: 1; }
	body.bs-tema .bs-lp .bs-split:has(> .bs-photo:last-child) > .bs-photo { grid-column: 8 / span 5; grid-row: 1; }
	body.bs-tema .bs-lp .bs-split:has(> .bs-photo:last-child) > :not(.bs-photo) { grid-column: 1 / span 6; grid-row: 1; }
	body.bs-tema .bs-lp .bs-split:has(> .bs-photo) > :not(.bs-photo) > .bs-eyebrow:first-child { margin-top: 0 !important; }
}
body.bs-tema .bs-lp .bs-split > .bs-photo { aspect-ratio: 4 / 5; margin: 0; border-radius: var(--bs-r-sm); }
body.bs-tema .bs-lp .bs-split > .bs-photo img { width: 100%; height: 100%; aspect-ratio: auto !important; object-fit: cover; }
@media (max-width: 899.98px) { body.bs-tema .bs-lp .bs-split:has(> .bs-photo) { display: flex; flex-direction: column; gap: var(--bs-s8); } body.bs-tema .bs-lp .bs-split > .bs-photo { order: -1; } }
/* La lista del bloque (misión, objetivo, valores…) como .bs-feats: icono de 36 px, filas con línea fina, sin sangrado */
body.bs-tema .bs-lp .bs-split .bs-rows { margin-top: var(--bs-s8); border-top: 1px solid var(--bs-line); }
body.bs-tema .bs-lp .bs-split .bs-rows > .bs-row { display: grid; grid-template-columns: 52px 1fr; gap: var(--bs-s4); margin: 0; padding: var(--bs-s5, 20px) 0; border: 0; border-bottom: 1px solid var(--bs-line); background: none; }
body.bs-tema .bs-lp .bs-split .bs-rows .bs-icon-circle { width: 36px; height: 36px; }
body.bs-tema .bs-lp .bs-split .bs-rows .bs-icon { width: 36px !important; height: 36px !important; margin-top: -4px; }
body.bs-tema .bs-lp .bs-split .bs-rows .bs-card__title { margin: 0; font-weight: 600; }
body.bs-tema .bs-lp .bs-split .bs-rows :is(.bs-card__text, p + p) { max-width: 46ch; margin: 2px 0 0; font-size: var(--bs-small); color: var(--bs-fg-muted); }
/* La acción principal, en el botón primario azul (no en marino) */
body.bs-tema .bs-lp .bs-sec:not(.bs-sec--dark) .bs-btn--dark { border-color: transparent; background: var(--bs-accent); color: #fff; }
body.bs-tema .bs-lp .bs-sec:not(.bs-sec--dark) .bs-btn--dark:hover { background: var(--bs-accent-hover); }

/* ── Páginas a medida (plantilla «Página a medida»): secciones, foto + texto y equipo con la rejilla del sistema ── */
.bs-a-medida .bs-section { padding-block: var(--bs-s16); }
.bs-a-medida .bs-split { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); align-items: start; }
.bs-a-medida .bs-split > .bs-media { grid-column: 1 / span 5; grid-row: 1; margin: 0; }
.bs-a-medida .bs-split > .bs-split__txt { grid-column: 7 / span 6; grid-row: 1; }
.bs-a-medida .bs-split--rev > .bs-media { grid-column: 8 / span 5; }
.bs-a-medida .bs-split--rev > .bs-split__txt { grid-column: 1 / span 6; }
.bs-a-medida .bs-split--head { padding-block: var(--bs-s16) var(--bs-s12); }
.bs-a-medida .bs-split--head h1 { max-width: 14ch; margin: var(--bs-s5) 0; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.04; }
.bs-a-medida .bs-split__txt > .bs-eyebrow:first-child, .bs-a-medida .bs-split__txt > .bs-sechead:first-child { margin-top: 0; }
.bs-a-medida .bs-split__txt > h2 { margin: 0 0 var(--bs-s8); }
.bs-a-medida figure.bs-media { overflow: hidden; border-radius: var(--bs-r-sm); }
.bs-a-medida figure.bs-media img { width: 100%; height: 100%; aspect-ratio: 4 / 5; object-fit: cover; }
.bs-sechead__n { margin: 0; font-size: var(--bs-small); color: var(--bs-fg-muted); font-variant-numeric: tabular-nums; }
@media (max-width: 899.98px) { .bs-a-medida .bs-split { display: flex; flex-direction: column; gap: var(--bs-s8); } .bs-a-medida .bs-split > .bs-media { order: -1; } .bs-a-medida .bs-section { padding-block: var(--bs-s12); } }
/* Equipo (.bs-team): 4 columnas con verticales finas; retratos 4:5 en blanco y negro; 2 columnas en móvil */
.bs-team { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: var(--bs-s12); border-top: 1px solid var(--bs-line); }
.bs-team > .bs-team__item { position: relative; margin: 0; padding-top: var(--bs-s6); }
.bs-team > .bs-team__item + .bs-team__item::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(var(--bs-s12) / -2); width: 1px; background: var(--bs-line); }
.bs-team .bs-media { margin: 0 0 var(--bs-s4); }
.bs-team__name { margin: 0; font-size: 18px; font-weight: 600; letter-spacing: -.01em; }
.bs-team__role { max-width: var(--bs-under-photo); margin: 2px 0 0; font-size: var(--bs-small); color: var(--bs-fg-muted); }
@media (max-width: 899.98px) { .bs-team { grid-template-columns: 1fr 1fr; column-gap: var(--bs-s6); row-gap: var(--bs-s8); } .bs-team > .bs-team__item + .bs-team__item::before { left: calc(var(--bs-s6) / -2); } .bs-team > .bs-team__item:nth-child(odd)::before { display: none; } }
/* .bs-feats hecho con el bloque Lista */
ul.bs-feats { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-line); }
ul.bs-feats > li { display: grid; grid-template-columns: 52px 1fr; column-gap: var(--bs-s4); padding: var(--bs-s5, 20px) 0; border-bottom: 1px solid var(--bs-line); font-size: var(--bs-small); color: var(--bs-fg-muted); }
ul.bs-feats > li > .bs-icon { grid-row: 1 / span 2; width: 36px; height: 36px; margin-top: -4px; }
ul.bs-feats > li > strong { display: block; font-size: var(--wp--preset--font-size--base); font-weight: 600; color: var(--bs-fg); }
.bs-a-medida .bs-split__txt > :first-child, .bs-a-medida .bs-split > .bs-media { margin-top: 0 !important; }
/* Contactar (página a medida): formulario en 7 columnas y datos en 5, con filas finas */
.bs-a-medida .bs-contacto-top { padding-block: var(--bs-s16) var(--bs-s8); }
.bs-a-medida .bs-contacto-top h1 { max-width: 16ch; margin: var(--bs-s5) 0 0; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.04; }
.bs-a-medida .bs-section--tight { padding-top: 0; }
.bs-a-medida .bs-contacto { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--bs-s16); align-items: start; }
.bs-a-medida .bs-contacto__form { padding: 0; border: 0; background: none; }
.bs-rows--contacto { margin: 0; padding: 0; list-style: none; }
.bs-rows--contacto > li { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--bs-s4); padding: var(--bs-s4) 0; border-bottom: 1px solid var(--bs-line); font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-rows--contacto > li > span { font-weight: 500; color: var(--bs-fg); }
.bs-rows--contacto a { font-weight: 600; color: var(--bs-accent); text-decoration: none; }
.bs-sechead__n:empty { display: none; }
@media (max-width: 899.98px) { .bs-a-medida .bs-contacto { grid-template-columns: 1fr; row-gap: var(--bs-s10); } }
/* Quform sobre fondo claro (Contactar y páginas de contenido): campos con borde fino, sin sombras; botón con radio de 4 px, sin mayúsculas ni icono */
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform :is(input.quform-field, select.quform-field, textarea.quform-field) { height: var(--bs-control); padding: 0 14px; border: 1px solid var(--bs-field-border, var(--bs-line-strong)) !important; border-radius: var(--bs-r-sm) !important; background: var(--bs-bg) !important; box-shadow: none !important; color: var(--bs-fg); font: inherit; font-size: 16px; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform textarea.quform-field { height: auto; min-height: 120px; padding: 12px 14px; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform :is(input.quform-field, select.quform-field, textarea.quform-field):focus-visible { border-color: var(--bs-accent) !important; outline: var(--bs-focus-width, 2px) solid var(--bs-accent); outline-offset: 0; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-label-text { font-size: var(--bs-caption); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-fg-muted); }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-submit { height: var(--bs-control); padding: 0 28px; border: 0; border-radius: var(--bs-r-sm) !important; background: var(--bs-accent) !important; color: #fff !important; font: 600 var(--bs-small)/1 var(--bs-font) !important; letter-spacing: -.005em !important; text-transform: none !important; box-shadow: none !important; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-submit :is(.quform-button-icon, i, svg) { display: none !important; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-button-submit { width: auto !important; }
/* Teléfono general en la cabecera: icono + número, sin «Asesor» (Pepe, 03/11/2026) */
#header-outer .bs-nav__tel { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; }
#header-outer .bs-nav__tel span { font-weight: 600; color: var(--bs-fg); font-variant-numeric: tabular-nums; }
#header-outer .bs-nav__tel .bs-icon { width: 20px !important; height: 20px !important; color: var(--bs-fg); }
#header-outer .bs-nav__tel:hover span { color: var(--bs-accent); }
/* Páginas a medida: texto + formulario (5 + 7), ventajas en dos columnas y lista de distribuidores */
.bs-a-medida .bs-split--form { display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); column-gap: var(--bs-s16); align-items: start; }
.bs-a-medida .bs-split--form > .bs-split__txt { grid-column: 1; }
.bs-a-medida .bs-split--form > .bs-split__form { grid-column: 2; padding: 0; border: 0; background: none; }
.bs-a-medida .bs-recogida__form { max-width: 760px; padding: 0; border: 0; background: none; }
.bs-a-medida .bs-section > .bs-wrap > h2 { max-width: 24ch; margin: 0 0 var(--bs-s10); }
ul.bs-feats.bs-feats--2 { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--bs-s12); border-top: 0; }
ul.bs-feats.bs-feats--2 > li { border-top: 1px solid var(--bs-line); border-bottom: 0; }
ul.bs-feats > li { max-width: none; }
ul.bs-feats.bs-feats--2 > li { line-height: 1.6; }
.bs-rows--dist > li > span:first-child a { font-weight: 600; color: var(--bs-fg); text-decoration: underline; text-decoration-color: var(--bs-line-strong); text-underline-offset: .15em; }
.bs-rows--dist > li > span:first-child a:hover { color: var(--bs-accent); text-decoration-color: currentColor; }
@media (max-width: 899.98px) { .bs-a-medida .bs-split--form, ul.bs-feats.bs-feats--2 { grid-template-columns: 1fr; row-gap: var(--bs-s8); } }
/* Ningún desbordamiento lateral por redondeos (clip no rompe la cabecera fija, a diferencia de hidden) */
html, body { overflow-x: clip; }
/* Formularios de varios pasos (Quform) sobre claro: «Siguiente» y «Atrás» con el sistema */
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform :is(.quform-button-next, .quform-button-back) button { height: var(--bs-control); padding: 0 22px; border: 1px solid var(--bs-fg) !important; border-radius: var(--bs-r-sm) !important; background: none !important; color: var(--bs-fg) !important; font: 600 var(--bs-small)/1 var(--bs-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-button-next button { border-color: transparent !important; background: var(--bs-accent) !important; color: #fff !important; }
body.bs-tema :is(.bs-a-medida, .bs-prosa, .entry-content) .quform :is(.quform-button-next, .quform-button-back) :is(.quform-button-icon, i, svg) { display: none !important; }
body.bs-tema .bs-a-medida .quform .quform-page-title, body.bs-tema .bs-a-medida .quform .quform-group-title { margin: 0 0 var(--bs-s6); font-size: var(--wp--preset--font-size--h-4); font-weight: 600; }

/* ── Todos los formularios sobre fondo claro con un solo estilo (Pepe, 03/11/2026: «todos los formularios de la web tienen que tener el mismo estilo»).
   Selectores con :where() para que las reglas de fondo oscuro (más específicas) manden en las secciones oscuras. ── */
body.bs-tema :where(.quform) :is(input.quform-field, select.quform-field, textarea.quform-field) { height: var(--bs-control); padding: 0 14px; border: 1px solid var(--wp--preset--color--linea-campo) !important; border-radius: var(--bs-r-sm) !important; background: var(--bs-bg) !important; box-shadow: none !important; color: var(--bs-fg); font: inherit; font-size: 16px; }
body.bs-tema :where(.quform) textarea.quform-field { height: auto; min-height: 120px; padding: 12px 14px; }
body.bs-tema :where(.quform) :is(input.quform-field, select.quform-field, textarea.quform-field):focus-visible { border-color: var(--bs-accent) !important; outline: var(--bs-focus-width, 2px) solid var(--bs-accent); outline-offset: 0; }
body.bs-tema :where(.quform) .quform-label-text { font-size: var(--bs-caption); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-fg-muted); }
body.bs-tema :where(.quform) :is(.quform-submit, .quform-button-submit button) { height: var(--bs-control); padding: 0 28px; border: 0; border-radius: var(--bs-r-sm) !important; background: var(--bs-accent) !important; color: #fff !important; font: 600 var(--bs-small)/1 var(--bs-font) !important; letter-spacing: -.005em !important; text-transform: none !important; box-shadow: none !important; }
body.bs-tema :where(.quform) :is(.quform-button-next, .quform-button-back) button { height: var(--bs-control); padding: 0 22px; border: 1px solid var(--bs-fg) !important; border-radius: var(--bs-r-sm) !important; background: none !important; color: var(--bs-fg) !important; font: 600 var(--bs-small)/1 var(--bs-font) !important; text-transform: none !important; letter-spacing: 0 !important; box-shadow: none !important; }
body.bs-tema :where(.quform) .quform-button-next button { border-color: transparent !important; background: var(--bs-accent) !important; color: #fff !important; }
body.bs-tema :where(.quform) :is(.quform-submit, .quform-button-next, .quform-button-back) :is(.quform-button-icon, i, svg) { display: none !important; }
body.bs-tema :where(.quform) :is(.quform-option-text) a { color: var(--bs-accent); }
body.bs-tema :where(.quform) input[type="checkbox"], body.bs-tema :where(.quform) input[type="radio"] { accent-color: var(--bs-accent); }
/* Opciones de cuestionario sobre claro: caja que se pulsa, con borde fino */
body.bs-tema :where(.quform) .quform-options-block .quform-option-label { border: 1px solid var(--bs-line-strong); border-radius: var(--bs-r-sm); background: var(--bs-bg); }
/* Las tarjetas de formulario de las landings sobre claro: sin sombra */
body.bs-tema .bs-lp :is(.bs-sec:not(.bs-sec--dark)) .bs-formcard { box-shadow: none !important; }
/* Formularios propios del plugin (.bs-input, .bs-f, .bs-opt: cambio de filtros) con el mismo estilo claro */
body.bs-tema :where(.bs-lp, .bs-a-medida) :is(input.bs-input, select.bs-input, textarea.bs-input) { height: var(--bs-control); padding: 0 14px; border: 1px solid var(--wp--preset--color--linea-campo); border-radius: var(--bs-r-sm); background-color: var(--bs-bg); box-shadow: none; color: var(--bs-fg); font: 400 16px/1.3 var(--bs-font); }
body.bs-tema :where(.bs-lp, .bs-a-medida) textarea.bs-input { height: auto; min-height: 120px; padding: 12px 14px; }
body.bs-tema :where(.bs-lp, .bs-a-medida) select.bs-input { padding-right: 40px; }
body.bs-tema :where(.bs-lp, .bs-a-medida) .bs-input:focus-visible { border-color: var(--bs-accent); outline: var(--bs-focus-width, 2px) solid var(--bs-accent); outline-offset: 0; }
body.bs-tema :where(.bs-lp) .bs-f__l { display: block; margin: 0 0 var(--bs-s2); font-size: var(--bs-caption); font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--bs-fg-muted); }
body.bs-tema :where(.bs-lp) .bs-opt span { border: 1px solid var(--wp--preset--color--linea-campo); border-radius: var(--bs-r-sm); background: var(--bs-bg); font-size: 16px; }
body.bs-tema :where(.bs-lp) .bs-opt input:checked + span { border-color: var(--bs-fg); background: var(--bs-bg-alt); }
body.bs-tema :where(.bs-lp) .bs-opt input:checked + span::before { border-color: var(--bs-fg); }
body.bs-tema :where(.bs-lp) .bs-check { font-size: var(--bs-small); color: var(--bs-fg-muted); }
body.bs-tema :where(.bs-lp) .bs-check input { accent-color: var(--bs-accent); }
/* El recuadro de opción es solo para respuestas de cuestionario (radio), no para la casilla de privacidad */
body.bs-tema .quform .quform-element-checkbox .quform-option-label { border: 0 !important; background: none !important; padding: 0 !important; }
body.bs-tema .bs-pie__form :is(.quform-option, .af-meta-consent label) { align-items: center; }
/* Las tarjetas de formulario del plugin (.bs-formcard) fuerzan su gris con !important: el borde del sistema por encima, solo en claro */
body.bs-tema .bs-lp .bs-sec:not(.bs-sec--dark) .bs-formcard :is(input[type="text"], input[type="email"], input[type="tel"], select, textarea, .bs-input) { border: 1px solid var(--wp--preset--color--linea-campo) !important; border-radius: var(--bs-r-sm) !important; box-shadow: none !important; }
/* Cabecera y pie alineados con el contenedor (Pepe, 03/11/2026): el margen va por fuera del ancho del contenedor, como en el contenido */
.bs-cabecera__barra, .bs-footer { box-sizing: content-box !important; max-width: var(--bs-container) !important; margin-inline: auto; padding-inline: var(--bs-margin) !important; }
/* «Pedir asesoramiento» en la cabecera: discreto, fondo blanco con borde y texto azul (Pepe, 03/11/2026) */
#header-outer .bs-nav__cta { border: 1px solid var(--bs-accent) !important; background: var(--bs-bg) !important; color: var(--bs-accent) !important; }
#header-outer .bs-nav__cta:hover { background: var(--bs-accent) !important; color: #fff !important; }
@media (max-width: 1199.98px) { #header-outer .bm-trigger { padding: 0 8px !important; } #header-outer .bs-nav__cta { padding: 0 14px !important; } }

/* ── Megamenú (V2 1.4, Pepe 03/11/2026): cristal sin sombras, columnas con verticales finas y Atom Force sin caja oscura ── */
#header-outer .bm-panel { border: 1px solid rgba(10, 8, 59, .08) !important; border-radius: var(--bs-r-sm) !important; background: rgba(255, 255, 255, .97) !important; box-shadow: none !important; }
@supports ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	#header-outer .bm-panel { background: rgba(255, 255, 255, .82) !important; -webkit-backdrop-filter: blur(18px) saturate(1.4); backdrop-filter: blur(18px) saturate(1.4); }
}
#header-outer .bm-panel { width: min(var(--bs-container), calc(100% - 2 * var(--bs-margin))) !important; }
#header-outer .bm .bm-h, #header-outer .bm .bm-eyebrow { font: 600 var(--bs-caption)/1.3 var(--bs-font) !important; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted) !important; }
#header-outer .bm-grid--eq { column-gap: 0 !important; }
#header-outer .bm-grid--eq > * { padding-inline: var(--bs-s8); }
#header-outer .bm-grid--eq > *:first-child { padding-left: 0; }
#header-outer .bm-grid--eq > * + * { border-left: 1px solid var(--bs-line); }
#header-outer .bm-item { border-radius: var(--bs-r-sm) !important; }
#header-outer .bm-item:hover { background: var(--bs-bg-alt) !important; }
#header-outer .bm .bm-item img { width: 44px !important; height: 55px !important; border-radius: var(--bs-r-sm) !important; object-fit: contain; background: var(--bs-bg-alt) !important; mix-blend-mode: multiply; }
#header-outer .bm-more { color: var(--bs-accent) !important; font-weight: 600; }
#header-outer .bm-foot { border-top-color: var(--bs-line) !important; }
/* Atom Force: su propia columna, raya azul arriba, foto de estudio 4:5 y dos enlaces con flecha */
#header-outer .bm-feature .bm-t { margin: 0; font-size: var(--wp--preset--font-size--h-5); font-weight: 600; color: var(--bs-fg) !important; }
#header-outer .bm-feature p:not(.bm-t):not(.bm-eyebrow) { margin: 0; max-width: 32ch; font-size: var(--bs-small); line-height: 1.5; color: var(--bs-fg-muted) !important; }
#header-outer .bm-feature .bm-btn { display: inline-flex !important; align-items: center; gap: 6px; width: auto !important; height: auto !important; margin: 0 !important; padding: 2px 0 !important; border: 0 !important; background: none !important; color: var(--bs-accent) !important; font: 600 var(--bs-small)/1.4 var(--bs-font) !important; text-transform: none !important; letter-spacing: 0 !important; }
#header-outer .bm-feature .bm-btn::after { content: "→"; transition: transform var(--bs-dur-base, 280ms) var(--bs-ease-agua, ease); }
#header-outer .bm-feature .bm-btn:hover::after { transform: translateX(4px); }
#header-outer .bm-feature .bm-btn:hover { text-decoration: underline; text-underline-offset: .15em; }
/* Nada flota con sombra: menú del móvil y avisos, también de cristal o con filo */
#bm-drawer, .bm-drawer { box-shadow: none !important; }
body.bs-tema .cmplz-cookiebanner { box-shadow: none !important; border: 1px solid var(--bs-line) !important; }
/* Atom Force con el mismo aire que el resto de columnas (Pepe, 03/11/2026) */
/* Tarjetas sin foto (estudios de Beneficios y similares): texto a 60ch, sin relleno lateral extra; raya gris y solo la primera destacada en azul */
body.bs-tema .bs-lp .bs-h2cards > li:not(:has(img)) :is(h3, h4, p, .bs-card__title, .bs-card__text) { max-width: 60ch !important; }
body.bs-tema .bs-lp .bs-h2cards > li:not(:has(img)) { padding-inline: 0 !important; border-top: 1px solid var(--bs-line) !important; box-shadow: none !important; background: none !important; }
body.bs-tema .bs-lp .bs-h2cards > li:not(:has(img)):first-child { box-shadow: inset 0 2px 0 var(--bs-accent) !important; border-top-color: transparent !important; }
body.bs-tema .bs-lp .bs-h2cards:has(> li:not(:has(img))) { column-gap: var(--bs-gutter) !important; }
/* Soluciones (página a medida): cabecera de texto y rejilla de equipos con foto 4:5 en gris perla y enlace */
.bs-a-medida .bs-sol-head { padding-block: var(--bs-s16) var(--bs-s8); }
.bs-a-medida .bs-sol-head h1 { max-width: 20ch; margin: var(--bs-s5) 0; font-size: clamp(36px, 4.6vw, 56px); line-height: 1.04; }
.bs-a-medida .bs-sol-head .bs-lead { max-width: 62ch; }
.bs-sol-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bs-s12) var(--bs-gutter); }
@media (max-width: 1099.98px) { .bs-sol-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 599.98px) { .bs-sol-grid { grid-template-columns: 1fr; } }
.bs-sol { display: flex; flex-direction: column; }
.bs-sol__img { aspect-ratio: 4 / 5; margin: 0 0 var(--bs-s5); overflow: hidden; border-radius: var(--bs-r-sm); background: var(--bs-bg-alt); }
.bs-sol__img a, .bs-sol__img img { display: block; width: 100%; height: 100%; }
.bs-sol__img img { padding: 14% 12% 16%; object-fit: contain; mix-blend-mode: multiply; box-sizing: border-box; transition: transform 1100ms var(--bs-ease-agua, ease); }
.bs-sol__t { margin: 0 0 var(--bs-s2); font-size: var(--wp--preset--font-size--h-4); font-weight: 500; }
.bs-sol__t a { color: var(--bs-fg); text-decoration: none; }
.bs-sol > p { max-width: 60ch; margin: 0; font-size: var(--bs-small); line-height: 1.6; color: var(--bs-fg-muted); }
.bs-sol > p a { color: var(--bs-accent); }
.bs-sol > .bs-sol__more { margin-top: var(--bs-s4); }
.bs-sol__more a { font-weight: 600; color: var(--bs-accent); text-decoration: none; }
.bs-sol:hover .bs-sol__t a { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
@media (hover: hover) and (pointer: fine) { .bs-sol:hover .bs-sol__img img { transform: scale(1.03); } }
body.bs-tema .bs-a-medida :is(.bs-sol-grid, .bs-team, .bs-split, .bs-contacto, .bs-sechead, .bs-posts) > * { margin-block-start: 0 !important; }
/* El agua y la salud (portada del blog): buscador, guías en cuatro columnas con raya y filtros por categoría */
.bs-a-medida .bs-buscar { max-width: 520px; margin-top: var(--bs-s8); }
.bs-a-medida .bs-buscar .wp-block-search__inside-wrapper { gap: var(--bs-s3); border: 0; padding: 0; }
.bs-a-medida .bs-buscar .wp-block-search__input { height: var(--bs-control); padding: 0 14px; border: 1px solid var(--wp--preset--color--linea-campo); border-radius: var(--bs-r-sm); font-size: 16px; }
.bs-a-medida .bs-buscar .wp-block-search__button { height: var(--bs-control); margin: 0; padding: 0 22px; border: 1px solid var(--bs-fg); border-radius: var(--bs-r-sm); background: none; color: var(--bs-fg); font: 600 var(--bs-small)/1 var(--bs-font); }
.bs-guias { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--bs-s10) var(--bs-gutter); }
@media (max-width: 1099.98px) { .bs-guias { grid-template-columns: 1fr 1fr; } }
@media (max-width: 599.98px) { .bs-guias { grid-template-columns: 1fr; } }
.bs-guia { padding-top: var(--bs-s4); border-top: 1px solid var(--bs-line); }
.bs-guia:first-child { box-shadow: inset 0 2px 0 var(--bs-accent); border-top-color: transparent; }
.bs-guia__t { margin: 0 0 var(--bs-s2); font-size: var(--wp--preset--font-size--h-5); font-weight: 500; line-height: 1.3; }
.bs-guia__t a { color: var(--bs-fg); text-decoration: none; }
.bs-guia:hover .bs-guia__t a { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
.bs-guia > p { max-width: 60ch; margin: 0; font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-guia > .bs-sol__more { margin-top: var(--bs-s4); }
.bs-a-medida .bs-chips-nav { display: flex; flex-wrap: wrap; gap: var(--bs-s2); margin: 0 0 var(--bs-s10); }
.bs-a-medida .bs-chips-nav .bs-chip { min-height: 36px; padding: 0 14px; border: 1px solid var(--bs-line-strong); border-radius: var(--bs-r-sm); color: var(--bs-fg); font-size: var(--bs-small); text-decoration: none; }
.bs-a-medida .bs-chips-nav .bs-chip:hover { border-color: var(--bs-fg); }
body.bs-tema .bs-a-medida :is(.bs-guias) > * { margin-block-start: 0 !important; }
/* Mosca de las gotas más grande (Pepe, 03/11/2026): 24 × 34 px en fotos de ambiente y en la ficha */
.bs-media--mark::after { width: 24px !important; height: 34px !important; right: 20px !important; bottom: 20px !important; }
.woocommerce div.product .woocommerce-product-gallery__image:first-child::after { width: 24px !important; height: 34px !important; right: 20px !important; bottom: 20px !important; }
/* Recogida de documentación: foto 4:5 a la izquierda; antetítulo, título y formulario en la columna de texto, etiquetas encima de cada campo */
.bs-a-medida .bs-recogida { padding-bottom: var(--bs-s24); }
.bs-a-medida .bs-recogida h1 { margin-bottom: var(--bs-s10); }
.bs-a-medida .bs-recogida .bs-recogida__form { max-width: none; margin: 0; }
.bs-a-medida .bs-recogida .quform :is(.quform-label, .quform-inner, .quform-input) { float: none !important; width: auto !important; margin-left: 0 !important; padding-left: 0 !important; }
.bs-a-medida .bs-recogida .quform .quform-label { display: block; margin-bottom: var(--bs-s2) !important; }
.bs-a-medida .bs-recogida .quform .quform-element { margin-bottom: var(--bs-s5) !important; }
.bs-a-medida .bs-recogida .quform :is(input.quform-field, select.quform-field) { width: 100% !important; }
.bs-a-medida .bs-recogida .quform .quform-page-title { margin: 0 0 var(--bs-s6); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); font-size: var(--bs-caption); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-a-medida .bs-recogida .quform .quform-options-block .quform-option-label { padding: 12px 14px; }
/* Opciones de radio de Quform sobre claro: círculo y texto en la misma fila, sin caja; botones sin mayúsculas */
body.bs-tema :where(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-element-radio .quform-option { display: flex !important; align-items: center; gap: 10px; margin: 0 0 var(--bs-s2) !important; float: none !important; width: auto !important; }
body.bs-tema :where(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-element-radio .quform-option input { position: static !important; width: 18px !important; height: 18px !important; margin: 0 !important; opacity: 1 !important; flex: none; accent-color: var(--bs-accent); }
body.bs-tema :where(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-element-radio .quform-option-label { display: inline !important; padding: 0 !important; border: 0 !important; background: none !important; font-size: var(--bs-small); color: var(--bs-fg) !important; }
body.bs-tema :where(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-element-radio .quform-option-label::before, body.bs-tema :where(.bs-a-medida, .bs-prosa, .entry-content) .quform .quform-element-radio .quform-option-label::after { display: none !important; }
body.bs-tema .quform button { text-transform: none !important; letter-spacing: 0 !important; }

/* ── Paneles del megamenú Tienda, Beber Salud y Ayuda (V2 1.4, plantillas/megamenu-*.html): piezas .bs-mega__* del sistema ── */
:root { --bs-glass-line: rgba(10, 8, 59, .1); }
#header-outer .bs-mega__in{max-width:var(--bs-container);margin:0 auto;padding:var(--bs-s8) var(--bs-margin) 0;display:grid;grid-template-columns:repeat(3,1fr) 1.25fr;column-gap:var(--bs-s12)}
#header-outer .bs-mega__col{position:relative;padding-bottom:var(--bs-s8)}
#header-outer .bs-mega__col+.bs-mega__col::before{content:"";position:absolute;top:0;bottom:var(--bs-s8);left:calc(var(--bs-s12) / -2);width:1px;background:var(--bs-glass-line)}
#header-outer .bs-mega__col>.bs-eyebrow{margin-bottom:var(--bs-s5)}
#header-outer .bs-mega__col>.bs-eyebrow::before{display:none}
#header-outer .bs-mega__item{display:grid;grid-template-columns:48px 1fr;gap:var(--bs-s4);align-items:center;padding:var(--bs-s3) 0;color:var(--bs-fg);text-decoration:none}
#header-outer .bs-mega__item .bs-pshot__frame{border-radius:var(--bs-r-sm)}
#header-outer .bs-mega__item .bs-pshot__frame img{padding:10%}
#header-outer .bs-mega__item b{display:block;font-weight:600;font-size:16px}
#header-outer .bs-mega__item span{display:block;font-size:var(--bs-small);color:var(--bs-fg-muted)}
#header-outer .bs-mega__item:hover b{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
#header-outer .bs-mega__feat{box-shadow:inset 0 2px 0 var(--bs-accent);padding-top:var(--bs-s5)}
#header-outer .bs-mega__feat .bs-media{aspect-ratio:4/5;max-width:200px;margin:var(--bs-s2) 0 var(--bs-s4)}
#header-outer .bs-mega__feat h3{font-size:22px;margin:0 0 var(--bs-s2)}
#header-outer .bs-mega__feat p{font-size:var(--bs-small);color:var(--bs-fg-muted);margin:0 0 var(--bs-s3);max-width:34ch}
#header-outer .bs-mega__feat .bs-more{margin-top:var(--bs-s2);margin-right:var(--bs-s5)}
#header-outer .bs-mega__foot{grid-column:1/-1;display:flex;justify-content:space-between;border-top:1px solid var(--bs-glass-line);padding:var(--bs-s4) 0 var(--bs-s5)}
#header-outer .bs-mega__links{list-style:none;margin:0;padding:0}
#header-outer .bs-mega__links a{display:block;padding:var(--bs-s2) 0;color:var(--bs-fg);text-decoration:none;font-size:16px}
#header-outer .bs-mega__links a:hover{text-decoration:underline;text-underline-offset:.15em;text-decoration-thickness:1px}
#header-outer .bs-mega__links small{display:block;font-size:var(--bs-caption);color:var(--bs-fg-muted)}
#header-outer .bs-mega__prods{display:grid;grid-template-columns:1fr 1fr;gap:var(--bs-s5) var(--bs-s4)}
#header-outer .bs-mega__prods a{color:var(--bs-fg);text-decoration:none}
#header-outer .bs-mega__prods .bs-pshot__frame img{padding:12%}
#header-outer .bs-mega__prods b{display:block;font-size:var(--bs-small);font-weight:500;margin-top:var(--bs-s2);line-height:1.3}
#header-outer .bs-mega__prods span{display:block;font-size:var(--bs-caption);color:var(--bs-fg-muted);font-variant-numeric:tabular-nums}
#header-outer .bs-mega__help{list-style:none;margin:0;padding:0;border-top:1px solid var(--bs-glass-line)}
#header-outer .bs-mega__help a{display:grid;grid-template-columns:40px 1fr;gap:var(--bs-s3);align-items:center;padding:var(--bs-s3) 0;border-bottom:1px solid var(--bs-glass-line);color:var(--bs-fg);text-decoration:none}
#header-outer .bs-mega__help .bs-icon{width:32px;height:32px}
#header-outer .bs-mega__help b{display:block;font-weight:600;font-size:16px}
#header-outer .bs-mega__help span{display:block;font-size:var(--bs-caption);color:var(--bs-fg-muted)}
#header-outer .bs-mega__rating .bs-num{font-size:56px;line-height:1}
#header-outer .bs-mega__rating .bs-stars{color:var(--bs-fg);letter-spacing:.12em;margin:var(--bs-s2) 0}
#header-outer .bs-mega__tel{display:block;font-size:32px;font-weight:500;letter-spacing:-.02em;color:var(--bs-fg);text-decoration:none;margin:var(--bs-s3) 0 var(--bs-s1)}
/* ── Páginas legales (plantilla «Texto legal»): cabecera con raya y una columna de lectura ── */
.bs-legal-pag { padding-block: var(--bs-s16) var(--bs-s24); }
.bs-legal-pag__head { padding-bottom: var(--bs-s8); margin-bottom: var(--bs-s10); border-bottom: 1px solid var(--bs-line); }
.bs-legal-pag__head h1 { max-width: 22ch; margin: var(--bs-s5) 0 var(--bs-s3); font-size: clamp(34px, 4vw, 52px); line-height: 1.05; }
.bs-legal-pag .bs-legal { max-width: 72ch; font-size: 17px; line-height: 1.65; }
.bs-legal-pag .bs-legal > * { margin-block: 0 var(--bs-s5) !important; }
.bs-legal-pag .bs-legal :is(h2, h3) { margin-block: var(--bs-s12) var(--bs-s4) !important; padding-top: var(--bs-s4); border-top: 1px solid var(--bs-line); font-size: 24px; line-height: 1.2; }
.bs-legal-pag .bs-legal h3 { padding-top: 0; border-top: 0; font-size: 19px; }
.bs-legal-pag .bs-legal p:has(> strong:only-child) { margin-top: var(--bs-s10) !important; padding-top: var(--bs-s4); border-top: 1px solid var(--bs-line); }
.bs-legal-pag .bs-legal p:has(> strong:only-child) strong { font-size: 19px; font-weight: 600; }
.bs-legal-pag .bs-legal :is(ul, ol) { padding-left: 1.2em; }
.bs-legal-pag .bs-legal li + li { margin-top: var(--bs-s2); }
.bs-legal-pag .bs-legal a { color: var(--bs-accent); }
/* ── Fórmula amigo: texto en 5 columnas y formulario en 6; Gracias: mensaje centrado ── */
.bs-amigo-sec { padding-block: var(--bs-s16) var(--bs-s24); }
.bs-amigo { display: grid; gap: var(--bs-s10); align-items: start; }
.bs-amigo__txt h1 { margin: var(--bs-s5) 0 var(--bs-s5); font-size: clamp(34px, 4vw, 52px); line-height: 1.05; }
@media (min-width: 900px) {
	.bs-amigo { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); }
	.bs-amigo__txt { grid-column: 1 / span 5; position: sticky; top: 120px; }
	.bs-amigo__form { grid-column: 7 / span 6; }
}
.bs-gracias { text-align: center; }
.bs-gracias__in { max-width: 40ch; }
.bs-gracias h1 { margin: 0 0 var(--bs-s6); line-height: 1; }
/* Paneles nuevos del megamenú (megamenu.php 03/11): alto según contenido, enlaces sin sangría,
   más vendidos en filas (miniatura + nombre completo + precio) y estrellas en grafito como el sistema.
   El plugin mete su CSS en línea después de este archivo: por eso el prefijo body.bs-tema; su rejilla de columnas se respeta. */
body.bs-tema #header-outer .bs-mega__in { align-items: start; }
body.bs-tema #header-outer .bs-mega__links a { padding-inline: 0; }
body.bs-tema #header-outer .bs-mega__feat .bs-media { max-width: 100%; aspect-ratio: 16 / 10; }
body.bs-tema #header-outer .bs-mega__prods { grid-template-columns: 1fr; gap: 0; }
body.bs-tema #header-outer .bs-mega__prods a { display: grid; grid-template-columns: 56px 1fr; grid-template-rows: auto auto; column-gap: var(--bs-s4); align-items: center; padding: var(--bs-s2) 0; }
body.bs-tema #header-outer .bs-mega__prods .bs-pshot__frame { grid-row: 1 / span 2; width: 56px; border-radius: var(--bs-r-sm); }
body.bs-tema #header-outer .bs-mega__prods b { margin: 0; align-self: end; font-size: 15px; font-weight: 500; overflow: visible; display: block; -webkit-line-clamp: unset; white-space: normal; }
body.bs-tema #header-outer .bs-mega__prods span { align-self: start; color: var(--bs-fg-muted); }
body.bs-tema #header-outer .bs-mega__prods a:hover b { text-decoration: underline; text-underline-offset: .15em; text-decoration-thickness: 1px; }
body.bs-tema #header-outer .bs-mega__rating .bs-stars { color: var(--bs-fg) !important; }
body.bs-tema #header-outer .bs-mega__foot { align-items: center; }
/* ── Páginas legales: índice de lectura a la izquierda (como el blog) y el mismo cuerpo de letra en las tres;
      el texto de cookies lo genera Complianz con su propio CSS (14 px), aquí se iguala ── */
.bs-legal-grid { display: grid; gap: var(--bs-s8); }
@media (min-width: 1100px) {
	.bs-legal-grid { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); }
	.bs-legal-grid__rail { grid-column: 1 / span 3; }
	.bs-legal-grid > .bs-legal { grid-column: 5 / span 8; }
}
.bs-legal-grid .bs-toc a { display: block; }
.bs-legal-pag .bs-legal h2 { scroll-margin-top: 110px; }
.bs-legal-pag .bs-legal .bs-eyebrow { margin: var(--bs-s12) 0 calc(-1 * var(--bs-s8)) !important; }
.bs-legal-pag .bs-legal :is(#cmplz-document, .cmplz-document) { max-width: none; font-size: 17px !important; }
.bs-legal-pag .bs-legal :is(#cmplz-document, .cmplz-document) :is(p, li, span, div, a, td, th, summary, details, i) { font-size: 17px !important; line-height: 1.65; }
.bs-legal-pag .bs-legal :is(#cmplz-document, .cmplz-document) h2 { font-size: 24px !important; line-height: 1.2; }
.bs-legal-pag .bs-legal :is(#cmplz-document, .cmplz-document) h3 { font-size: 19px !important; line-height: 1.3; }

/* ── Gracias: a pantalla casi completa, el «Gracias» sube letra a letra y caen gotas de colores una vez ── */
.bs-gracias { min-height: calc(100svh - 260px); display: grid; place-items: center; padding-block: var(--bs-s24); position: relative; overflow: hidden; }
.bs-gracias h1 { font-size: clamp(64px, 11vw, 168px); letter-spacing: -.04em; }
.bs-gracias h1 .bs-l { display: inline-block; opacity: 0; transform: translateY(.45em); filter: blur(6px); animation: bs-gracias-l .9s var(--bs-ease-agua, cubic-bezier(.2,.7,.2,1)) forwards; animation-delay: calc(var(--i) * 70ms + 150ms); }
.bs-gracias .bs-lead { opacity: 0; animation: bs-gracias-l .8s ease forwards; animation-delay: .8s; }
@keyframes bs-gracias-l { to { opacity: 1; transform: none; filter: none; } }
.bs-confeti { position: fixed; inset: 0; pointer-events: none; z-index: 9990; }
@media (prefers-reduced-motion: reduce) {
	.bs-gracias h1 .bs-l, .bs-gracias .bs-lead { animation: none; opacity: 1; transform: none; filter: none; }
	.bs-confeti { display: none; }
}
.bs-gracias__in { max-width: none; }
.bs-gracias h1 { white-space: nowrap; }
.bs-gracias .bs-lead { max-width: 34ch; margin-inline: auto; }
/* Fórmula amigo: foto a sangre arriba (16:9 recortada a 21:9 en escritorio) */
.bs-amigo-hero { margin: 0; }
.bs-amigo-hero img { display: block; width: 100%; height: auto; aspect-ratio: 16 / 9; max-height: calc(100svh - 72px); object-fit: cover; object-position: 50% 62%; border-radius: 0; }
@media (max-width: 699.98px) { .bs-amigo-hero img { aspect-ratio: 4 / 5; object-position: 38% 60%; } }
/* ── Nosotros · mapa de clientes: texto en 4 columnas y mapa en 7; provincias en gris perla, puntos marino ── */
.bs-mapa { padding-block: var(--bs-s24); border-top: 1px solid var(--bs-line); }
.bs-mapa__in { box-sizing: content-box; max-width: var(--bs-container); margin: 0 auto; padding-inline: var(--bs-margin); display: grid; gap: var(--bs-s10); align-items: center; }
.bs-mapa h2 { margin: var(--bs-s5) 0 var(--bs-s5); font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; color: var(--bs-fg); }
.bs-mapa .bs-lead { max-width: 44ch; }
.bs-mapa__cifras { margin: var(--bs-s8) 0 var(--bs-s5); padding: 0; list-style: none; }
.bs-mapa__cifras li { display: flex; justify-content: space-between; align-items: baseline; padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); }
.bs-mapa__cifras li:first-child { border-top: 1px solid var(--bs-line); }
.bs-mapa__cifras b { font-size: 28px; font-weight: 500; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.bs-mapa__fig { margin: 0; }
.bs-mapa__svg { display: block; width: 100%; height: auto; }
.bs-mapa__prov path { fill: #E9ECF2; stroke: #fff; stroke-width: .6; stroke-linejoin: round; }
.bs-mapa__marco { fill: none; stroke: var(--bs-line-strong, #DDE1EA); stroke-width: 1; }
.bs-mapa__puntos circle { fill: var(--bs-fg, #0A083B); fill-opacity: .55; }
.bs-mapa__sede circle:first-child { fill: none; stroke: var(--bs-fg, #0A083B); stroke-width: 1.4; }
.bs-mapa__sede circle:last-child { fill: var(--bs-fg, #0A083B); }
.bs-mapa__sede text { font: 600 13px/1 var(--bs-font, inherit); fill: var(--bs-fg, #0A083B); }
@media (min-width: 900px) {
	.bs-mapa__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); }
	.bs-mapa__txt { grid-column: 1 / span 4; }
	.bs-mapa__fig { grid-column: 6 / span 7; }
}
/* Barra legal del pie: a la izquierda, las otras marcas del grupo en su color, enlazadas a su web */
.bs-footer__legal { align-items: center; }
.bs-footer__marcas { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bs-s4) var(--bs-s8); margin: 0; padding: 0; list-style: none; }
.bs-footer__marcas a { display: block; padding: var(--bs-s2) 0; }
.bs-footer__marcas a { display: flex; align-items: center; height: 32px; }
.bs-footer__marcas img { display: block; width: auto; height: 20px; transition: opacity var(--bs-dur-base, 280ms) ease; }
.bs-footer__marcas img[src*="atom-force"] { height: 28px; }
.bs-footer__marcas a:is(:hover, :focus-visible) img { opacity: .75; }
/* ── Ficha técnica (Pepe, 03/11): descripción a la izquierda con el ancho de la foto (7) y especificaciones a la derecha (5),
      con la misma separación que foto y compra ── */
.bs-ficha-cols { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); column-gap: var(--bs-s16); align-items: start; }
.bs-ficha-cols > div > .bs-sheet__label { padding: var(--bs-s4) 0 var(--bs-s6); border-top: 1px solid var(--bs-fg); }
.bs-ficha-cols__desc .bs-woo-ficha__prosa { max-width: 68ch; }
.bs-ficha-cols__desc .bs-woo-ficha__prosa :is(p, li) { font-size: 17px; line-height: 1.65; }
.bs-ficha-cols__specs { position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s6)); }
.bs-ficha-cols__specs > * + * { margin-top: var(--bs-s8); }
.bs-ficha-cols__specs .bs-rows { border-top: 1px solid var(--bs-line); }
@media (max-width: 999.98px) {
	.bs-ficha-cols { grid-template-columns: 1fr; row-gap: var(--bs-s10); }
	.bs-ficha-cols__specs { position: static; }
}
/* Tablas de las fichas con las líneas del sistema: rayas horizontales finas, sin fondos ni bordes laterales */
.bs-spec-table { margin: 0; overflow-x: auto; }
.bs-spec-table table { width: 100%; border-collapse: collapse; border: 0; border-top: 1px solid var(--bs-line); font-size: var(--bs-small); line-height: 1.45; background: none; }
.bs-spec-table :is(th, td) { padding: var(--bs-s3) var(--bs-s4) var(--bs-s3) 0; border: 0; border-bottom: 1px solid var(--bs-line); text-align: left; vertical-align: top; background: none !important; color: var(--bs-fg-muted); font-variant-numeric: tabular-nums; }
.bs-spec-table :is(th, td):last-child { padding-right: 0; }
.bs-spec-table :is(th, td:first-child) { color: var(--bs-fg); font-weight: 500; }
.bs-spec-table thead :is(th, td) { font-size: var(--bs-caption); font-weight: 600; letter-spacing: .1em; text-transform: uppercase; color: var(--bs-fg-muted); border-bottom-color: var(--bs-fg); }
.bs-spec-table td:first-child { width: 42%; }
.bs-spec-table :is(strong, b) { font-weight: inherit; }
.bs-spec-table figcaption { margin-top: var(--bs-s3); font-size: var(--bs-caption); color: var(--bs-fg-muted); }
/* Relacionados en la ficha */
.bs-woo-rel { margin-top: var(--bs-s24); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); }
.bs-woo-rel > .bs-eyebrow::before { display: none; }
.bs-woo-rel ul.products { margin-top: var(--bs-s8) !important; }
@media (min-width: 1000px) { .bs-woo-rel ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; } }
/* Mapa: clientes en marino suave, técnicos propios en azul y sedes con aro marino */
.bs-mapa__puntos circle { fill-opacity: .32; }
.bs-mapa__tec circle { fill: var(--bs-accent, #175CFF); stroke: #fff; stroke-width: 1.6; }
.bs-mapa__sede circle { fill: none !important; stroke: var(--bs-fg, #0A083B); stroke-width: 1.6; }
.bs-mapa__leyenda { display: flex; flex-wrap: wrap; gap: var(--bs-s3) var(--bs-s6); margin: var(--bs-s6) 0 0; padding: 0; list-style: none; font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-mapa__leyenda li { display: flex; align-items: center; gap: var(--bs-s2); }
.bs-mapa__k { display: inline-block; width: 12px; height: 12px; border-radius: 50%; }
.bs-mapa__k--cli { background: rgba(10, 8, 59, .32); }
.bs-mapa__k--tec { background: var(--bs-accent, #175CFF); }
.bs-mapa__k--sede { width: 14px; height: 14px; border: 1.6px solid var(--bs-fg, #0A083B); box-sizing: border-box; }
.bs-mapa__cifras b { white-space: nowrap; }
.bs-footer__marcas img[src*="vivair"] { height: 24px; }
/* Megamenú (Pepe, 03/11): un solo radio, el del sistema (4 px), en paneles, tarjetas y fotos; iconos sin círculo detrás;
   al pasar por encima, texto en azul y sin subrayado. */
body.bs-tema #header-outer .bm-panel :is(a, div, img, span, figure, picture) { border-radius: var(--bs-radius, 4px) !important; }
body.bs-tema #header-outer .bm-panel .bs-mega__help .bs-icon { background: none !important; border: 0 !important; box-shadow: none !important; }
body.bs-tema #header-outer .bm-panel .bs-mega__help .bs-icon svg { border-radius: 0 !important; }
body.bs-tema #header-outer .bm-panel a, body.bs-tema #header-outer .bm-panel a * { text-decoration: none !important; transition: color var(--bs-dur-fast, 160ms) ease; }
body.bs-tema #header-outer .bm-panel a:is(:hover, :focus-visible), body.bs-tema #header-outer .bm-panel a:is(:hover, :focus-visible) :is(b, strong) { color: var(--bs-accent, #175CFF) !important; }
body.bs-tema #header-outer .bm-panel a:is(:hover, :focus-visible) :is(small, span:not(.bs-icon), .bs-muted) { color: var(--bs-fg-muted) !important; }
/* Panel Tienda: «Ver toda la tienda» es la entrada principal (Pepe, 03/11): primero de la columna y como botón azul del panel */
body.bs-tema #header-outer #bm-p-shop .bs-mega__links { display: flex; flex-direction: column; }
body.bs-tema #header-outer #bm-p-shop .bs-mega__links li:has(> a[href$="/tienda/"]) { order: -1; margin-bottom: var(--bs-s4); }
body.bs-tema #header-outer #bm-p-shop .bs-mega__links a[href$="/tienda/"] { display: inline-flex; align-items: center; gap: var(--bs-s2); padding: 12px 20px !important; background: var(--bs-accent, #175CFF); color: #fff !important; font-weight: 600; }
body.bs-tema #header-outer #bm-p-shop .bs-mega__links a[href$="/tienda/"]::after { content: "→"; }
body.bs-tema #header-outer #bm-p-shop .bs-mega__links a[href$="/tienda/"]:is(:hover, :focus-visible) { background: var(--bs-accent-hover, #0041E9); color: #fff !important; }
/* Panel Ayuda: iconos del sistema a 32 px, sin círculo ni fondo (README §7) */
body.bs-tema #header-outer .bm-panel .bs-mega__help a { grid-template-columns: 32px 1fr; gap: var(--bs-s4); }
body.bs-tema #header-outer .bm-panel .bs-mega__help .bs-icon { display: block; width: 32px !important; height: 32px !important; padding: 0 !important; color: var(--bs-fg); }
body.bs-tema #header-outer .bm-panel .bs-mega__help .bs-icon svg { width: 32px !important; height: 32px !important; stroke-width: 1.2; }
/* Mapa en móvil: de borde a borde y con rótulos y marcas más grandes para que se lean */
@media (max-width: 699.98px) {
	.bs-mapa__fig { margin-inline: calc(-1 * var(--bs-margin)); }
	.bs-mapa__sede text { font-size: 26px; }
	.bs-mapa__tec circle { r: 10px; stroke-width: 2.4; }
	.bs-mapa__sede circle { r: 16px; stroke-width: 2.4; }
}
/* Panel Tienda: «Ver toda la tienda» (ahora en .bs-mega__head) como botón azul, la entrada principal (Pepe, 03/11) */
body.bs-tema #header-outer #bm-p-shop .bs-mega__head { flex-direction: column; align-items: flex-start; gap: var(--bs-s4); margin-bottom: var(--bs-s5); }
body.bs-tema #header-outer #bm-p-shop .bs-mega__head .bs-more { display: inline-flex; align-items: center; gap: var(--bs-s2); padding: 12px 20px; background: var(--bs-accent, #175CFF); color: #fff !important; font-size: 15px; font-weight: 600; }
body.bs-tema #header-outer #bm-p-shop .bs-mega__head .bs-more:is(:hover, :focus-visible) { background: var(--bs-accent-hover, #0041E9); color: #fff !important; }
body.bs-tema #header-outer #bm-p-shop .bs-mega__head .bs-more * { color: #fff !important; }
/* Comparativa de ósmosis (Pepe, 03/11): raya de sección entre «¿Cuál te conviene?» y «¿Cuánto cuesta…?» */
body.bs-tema #cual .bs-descal__price { margin-top: var(--bs-s16); padding-top: var(--bs-s12); border-top: 1px solid var(--bs-fg); }
body.bs-tema #cual .bs-descal__price { max-width: none; }
body.bs-tema #cual .bs-descal__price > * { max-width: 760px; }
body.bs-tema #cual .bs-descal__price .bs-lead { margin-top: var(--bs-s5); }
/* ── Filtros de la tienda y las categorías (inc/filtros.php): chips del sistema (cajas que se pulsan),
      desplegable de cristal, filtros activos con «×». En móvil, todo detrás de «Filtrar». ── */
.bs-filtros { display: grid; gap: var(--bs-s4); margin: 0 0 var(--bs-s8); padding-bottom: var(--bs-s6); border-bottom: 1px solid var(--bs-line); }
.bs-filtros ul { margin: 0; padding: 0; list-style: none; }
.bs-filtros__subs, .bs-filtros__barra, .bs-filtros__activos { display: flex; flex-wrap: wrap; gap: var(--bs-s2); align-items: center; }
.bs-filtros .bs-chip { min-height: 40px; padding: 0 14px; border: 1px solid var(--bs-line-strong, #C9CEDA); border-radius: var(--bs-radius, 4px); background: #fff; color: var(--bs-fg); font-size: 15px; font-weight: 500; }
.bs-filtros a.bs-chip:hover, .bs-filtros summary.bs-chip:hover { border-color: var(--bs-fg); color: var(--bs-fg); }
.bs-filtros__grupo { position: relative; }
.bs-filtros__grupo > summary { list-style: none; cursor: pointer; gap: var(--bs-s2); user-select: none; }
.bs-filtros__grupo > summary::-webkit-details-marker { display: none; }
.bs-filtros__grupo > summary::after { content: ""; width: 7px; height: 7px; margin-left: 2px; border-right: 1.2px solid currentColor; border-bottom: 1.2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform var(--bs-dur-fast, 160ms) ease; }
.bs-filtros__grupo[open] > summary::after { transform: translateY(2px) rotate(225deg); }
.bs-filtros__grupo[open] > summary, .bs-filtros__grupo[data-on] > summary { border-color: var(--bs-fg); }
.bs-filtros__grupo > summary b { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 5px; border-radius: var(--bs-radius, 4px); background: var(--bs-fg); color: #fff; font-size: 12px; font-weight: 600; }
.bs-filtros__ops { position: absolute; z-index: 30; top: calc(100% + 6px); left: 0; min-width: 240px; max-height: 360px; overflow: auto; padding: var(--bs-s2) 0 !important; border: 1px solid var(--bs-glass-line, rgba(10, 8, 59, .12)); border-radius: var(--bs-radius, 4px); background: rgba(255, 255, 255, .9); -webkit-backdrop-filter: blur(18px); backdrop-filter: blur(18px); }
.bs-filtros__ops a { display: flex; align-items: center; gap: var(--bs-s3); padding: 10px var(--bs-s4); color: var(--bs-fg); font-size: 15px; text-decoration: none; white-space: nowrap; }
.bs-filtros__ops a:hover, .bs-filtros__ops a:focus-visible { color: var(--bs-accent); }
.bs-filtros__box { flex: none; width: 16px; height: 16px; border: 1.2px solid var(--bs-field-border, #80869A); border-radius: 2px; }
.bs-filtros__box--radio { border-radius: 50%; }
.bs-filtros__ops a[aria-checked="true"] { font-weight: 600; }
.bs-filtros__ops a[aria-checked="true"] .bs-filtros__box { border-color: var(--bs-fg); background: var(--bs-fg); box-shadow: inset 0 0 0 3px #fff; }
.bs-filtros .bs-chip--on { border-color: var(--bs-fg); background: var(--bs-fg); color: #fff; gap: var(--bs-s2); }
.bs-filtros .bs-chip--on:hover { background: var(--bs-accent); border-color: var(--bs-accent); color: #fff; }
.bs-filtros__limpiar { margin-left: var(--bs-s2); color: var(--bs-accent); font-size: 15px; font-weight: 500; text-decoration: none; }
.bs-filtros__limpiar:hover { text-decoration: underline; }
.bs-filtros__movil { display: none; }
@media (max-width: 767.98px) {
	.bs-filtros__subs { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--bs-margin)); padding-inline: var(--bs-margin); scrollbar-width: none; }
	.bs-filtros__subs li { flex: none; }
	.bs-filtros__movil { display: block; }
	.bs-filtros__movil > summary { list-style: none; width: 100%; justify-content: center; }
	.bs-filtros__movil > summary::-webkit-details-marker { display: none; }
	.bs-filtros__barra { display: none; flex-direction: column; align-items: stretch; gap: 0; border-top: 1px solid var(--bs-line); }
	.bs-filtros__barra.is-open { display: flex; }
	.bs-filtros__barra .bs-filtros__grupo { border-bottom: 1px solid var(--bs-line); }
	.bs-filtros__barra .bs-filtros__grupo > summary { width: 100%; min-height: 52px; justify-content: space-between; padding: 0; border: 0; background: none; }
	.bs-filtros__barra .bs-filtros__ops { position: static; min-width: 0; max-height: none; border: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none; padding: 0 0 var(--bs-s3) !important; }
	.bs-filtros__ops a { white-space: normal; padding-inline: 0; }
}
.bs-filtros details { margin: 0; padding: 0; border: 0; background: none; }
@media (max-width: 767.98px) { .bs-filtros__barra .bs-filtros__grupo { border-bottom: 1px solid var(--bs-line); } }
/* Ficha con landing del plugin (análisis de agua): a todo el ancho de la pantalla, sin la raya de la ficha técnica */
.bs-woo-ficha--landing { margin-top: var(--bs-s16); }
body.bs-tema .bs-woo-ficha--landing .bs-lp--embed { width: 100vw; max-width: 100vw; margin: 0 0 0 calc(50% - 50vw); }
/* Menú móvil: antetítulos de grupo en gris (el azul es solo para enlaces y botones) y enlaces en marino */
body.bs-tema .bm-drawer .bm-acc .bm-h { color: var(--bs-fg-muted) !important; }
body.bs-tema .bm-drawer .bm-acc .bm-list a.bm-link:not(.bm-more) { color: var(--bs-fg) !important; }
body.bs-tema .bm-drawer .bm-acc .bm-list a.bm-link:not(.bm-more):is(:hover, :focus-visible) { color: var(--bs-accent) !important; }
/* ── Ficha ampliada (.bs-ficha-ampliada, contenido en bloques; primera: botella NOK): secciones del sistema separadas con raya ── */
.bs-ficha-ampliada > .bs-nok-sec { padding-block: var(--bs-s16); border-top: 1px solid var(--bs-line); }
.bs-ficha-ampliada > .bs-nok-sec:first-child { border-top: 0; padding-top: 0; }
.bs-ficha-ampliada h2 { margin: var(--bs-s4) 0 var(--bs-s8); font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; max-width: 22ch; }
.bs-ficha-ampliada .bs-nok-foto { margin: 0; }
.bs-ficha-ampliada .bs-nok-foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; border-radius: var(--bs-radius, 4px); }
.bs-nok-intro, .bs-nok-specs, .bs-nok-faq { display: grid; gap: var(--bs-s10); align-items: start; }
.bs-nok-intro .bs-lead { max-width: 52ch; }
.bs-nok-intro p:not(.bs-lead):not(.bs-eyebrow) { max-width: 60ch; color: var(--bs-fg-muted); }
.bs-nok-cifras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--bs-gutter); margin: var(--bs-s8) 0 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-fg); }
.bs-nok-cifras li { padding: var(--bs-s4) 0; border-bottom: 1px solid var(--bs-line); }
.bs-nok-cifras b { display: block; font-size: clamp(24px, 2.4vw, 32px); font-weight: 500; letter-spacing: -.02em; font-variant-numeric: tabular-nums; }
.bs-nok-cifras span { font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-feats--2 { display: grid; column-gap: var(--bs-gutter); }
.bs-nok-fotos { display: grid; grid-template-columns: 1fr 1fr; gap: var(--bs-gutter); }
.bs-nok-specs .bs-spec-table td:first-child { width: 45%; }
.bs-nok-faq .bs-faq__item { border-bottom: 1px solid var(--bs-line); }
.bs-nok-faq .bs-faq { border-top: 1px solid var(--bs-fg); }
.bs-nok-faq .bs-faq__item summary { padding: var(--bs-s5) 0; font-weight: 600; cursor: pointer; list-style: none; display: flex; justify-content: space-between; gap: var(--bs-s4); }
.bs-nok-faq .bs-faq__item summary::-webkit-details-marker { display: none; }
.bs-nok-faq .bs-faq__item summary::after { content: "+"; font-weight: 400; }
.bs-nok-faq .bs-faq__item[open] summary::after { content: "–"; }
.bs-nok-faq .bs-faq__item p { margin: 0 0 var(--bs-s5); max-width: 60ch; color: var(--bs-fg-muted); }
.bs-nok-grifo .bs-lead { max-width: 60ch; margin-top: var(--bs-s4); }
@media (min-width: 900px) {
	.bs-nok-intro, .bs-nok-specs, .bs-nok-faq { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); }
	.bs-nok-intro > .bs-nok-foto { grid-column: 1 / span 5; }
	.bs-nok-intro > .bs-nok-intro__txt { grid-column: 7 / span 6; }
	.bs-nok-cifras { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.bs-feats--2 { grid-template-columns: 1fr 1fr; }
	.bs-nok-specs > .bs-nok-specs__head, .bs-nok-faq > .bs-nok-faq__head { grid-column: 1 / span 4; position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s6)); }
	.bs-nok-specs > .bs-spec-table, .bs-nok-faq > .bs-faq { grid-column: 6 / span 7; }
}
.bs-nok-cifras b { white-space: nowrap; }
/* Recortes ampliados en las tarjetas (bs_woo_foto_caja): la foto se coloca con left/top/width en línea, sin el aire del marco */
.woocommerce ul.products li.product .bs-pshot__frame img.bs-caja { inset: auto; height: auto !important; max-height: none !important; padding: 0 !important; object-fit: contain; }
/* ── Marcas del grupo (inc/marcas.php): rejilla abierta de 4, logo, una línea y enlace; solo rayas, sin cajas ── */
.bs-marcas { padding-block: var(--bs-s24); border-top: 1px solid var(--bs-line); }
.bs-marcas__in { box-sizing: content-box; max-width: var(--bs-container); margin: 0 auto; padding-inline: var(--bs-margin); }
.bs-marcas__head { max-width: 760px; margin-bottom: var(--bs-s12); }
.bs-marcas h2 { margin: var(--bs-s5) 0; font-size: clamp(30px, 3.4vw, 44px); line-height: 1.08; color: var(--bs-fg); }
.bs-marcas__grid { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-fg); }
.bs-marcas__item { display: flex; flex-direction: column; gap: var(--bs-s4); padding: var(--bs-s8) 0; border-bottom: 1px solid var(--bs-line); }
.bs-marcas__logo { display: flex; align-items: center; height: 48px; }
.bs-marcas__logo img { display: block; width: auto; max-width: 100%; height: 32px; }
.bs-marcas__logo img[src*="atom-force"] { height: 40px; }
.bs-marcas__logo img[src*="vivair"] { height: 36px; }
.bs-marcas__item p { margin: 0; max-width: 34ch; color: var(--bs-fg-muted); }
.bs-marcas__item .bs-more { margin-top: auto; }
.bs-marcas__aqui { margin-top: auto; font-size: var(--bs-small); color: var(--bs-fg-muted); }
@media (min-width: 700px) { .bs-marcas__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--bs-gutter); } }
@media (min-width: 1100px) {
	.bs-marcas__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); column-gap: 0; }
	.bs-marcas__item { padding-inline: var(--bs-s8); border-bottom: 0; border-left: 1px solid var(--bs-line); }
	.bs-marcas__item:first-child { padding-left: 0; border-left: 0; }
}
/* ── Paginación única (tienda y blog): casillas de 40 px con raya fina, radio 4, página actual en marino ── */
.woocommerce nav.woocommerce-pagination, .wp-block-query-pagination { margin: var(--bs-s16) 0 0; }
.woocommerce nav.woocommerce-pagination ul, .wp-block-query-pagination, .wp-block-query-pagination-numbers { display: flex !important; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--bs-s2); }
.woocommerce nav.woocommerce-pagination ul { margin: 0; padding: 0; border: 0; }
.woocommerce nav.woocommerce-pagination ul li { margin: 0; border: 0 !important; overflow: visible; }
.woocommerce nav.woocommerce-pagination ul li .page-numbers,
.wp-block-query-pagination .page-numbers,
.wp-block-query-pagination-previous, .wp-block-query-pagination-next {
	display: inline-flex !important; align-items: center; justify-content: center; gap: var(--bs-s2);
	min-width: 40px; height: 40px; margin: 0 !important; padding: 0 12px !important; box-sizing: border-box;
	border: 1px solid var(--bs-line-strong, #C9CEDA) !important; border-radius: var(--bs-radius, 4px);
	background: #fff !important; color: var(--bs-fg) !important; font-size: 15px; font-weight: 500; line-height: 1; text-decoration: none !important;
	transition: border-color var(--bs-dur-fast, 160ms) ease, color var(--bs-dur-fast, 160ms) ease;
}
.woocommerce nav.woocommerce-pagination ul li a.page-numbers:is(:hover, :focus-visible),
.wp-block-query-pagination a.page-numbers:is(:hover, :focus-visible),
.wp-block-query-pagination-previous:is(:hover, :focus-visible), .wp-block-query-pagination-next:is(:hover, :focus-visible) { border-color: var(--bs-fg) !important; color: var(--bs-accent) !important; }
.woocommerce nav.woocommerce-pagination ul li .page-numbers.current,
.wp-block-query-pagination .page-numbers.current { border-color: var(--bs-fg) !important; background: var(--bs-fg) !important; color: #fff !important; }
.woocommerce nav.woocommerce-pagination ul li .page-numbers.dots, .wp-block-query-pagination .page-numbers.dots { border-color: transparent !important; background: none !important; min-width: 24px; padding: 0 !important; }
.wp-block-query-pagination-previous-arrow, .wp-block-query-pagination-next-arrow { margin: 0 !important; }
/* ── Enlaces dentro del texto (entradas, legales, fichas): subrayado fino y separado, y una flecha pequeña al final
      (→ si es de la web, ↗ si lleva fuera). Más grueso al pasar por encima. ── */
:is(.bs-article__body, .bs-legal, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li, td) a:not(.bs-btn):not(.bs-more):not(.wp-element-button) {
	color: var(--bs-accent); text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .28em; text-decoration-color: color-mix(in srgb, var(--bs-accent) 45%, transparent);
	transition: text-decoration-color var(--bs-dur-fast, 160ms) ease, text-decoration-thickness var(--bs-dur-fast, 160ms) ease;
}
:is(.bs-article__body, .bs-legal, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li, td) a:not(.bs-btn):not(.bs-more):not(.wp-element-button):is(:hover, :focus-visible) { text-decoration-color: currentColor; text-decoration-thickness: 2px; }
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li) a:not(.bs-btn):not(.bs-more):not(.wp-element-button):not(:has(img))::after {
	content: ""; display: inline-block; width: .62em; height: .62em; margin-left: .18em; vertical-align: .02em; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 8h11M9 4l4 4-4 4'/%3E%3C/svg%3E") center / contain no-repeat;
	transition: transform var(--bs-dur-fast, 160ms) ease;
}
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li) a[href^="http"]:not([href*="bebersalud"]):not(.bs-btn):not(.bs-more):not(:has(img))::after {
	-webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12 12 4M6 4h6v6'/%3E%3C/svg%3E");
	mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12 12 4M6 4h6v6'/%3E%3C/svg%3E");
}
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li) a:not(.bs-btn):not(.bs-more):hover::after { transform: translateX(2px); }
/* En la bibliografía no lleva flecha (los enlaces van en su propia línea) */
.bs-article__body .bs-refs a::after { display: none !important; }
/* Marcas del grupo: en Nosotros la hoja de las landings del plugin pisaba el aire y el tamaño de los logos */
body.bs-tema .bs-marcas .bs-marcas__grid { gap: 0 !important; }
body.bs-tema .bs-marcas .bs-marcas__item { margin: 0 !important; padding: var(--bs-s8) 0 !important; }
body.bs-tema .bs-marcas .bs-marcas__logo { height: 56px !important; margin-bottom: var(--bs-s2); }
body.bs-tema .bs-marcas .bs-marcas__logo img { width: auto !important; max-width: 100% !important; height: 30px !important; object-fit: contain; }
body.bs-tema .bs-marcas .bs-marcas__logo img[src*="logo.svg"] { height: 28px !important; }
body.bs-tema .bs-marcas .bs-marcas__logo img[src*="atom-force"] { height: 38px !important; }
body.bs-tema .bs-marcas .bs-marcas__logo img[src*="easycleanpet"] { height: 24px !important; }
body.bs-tema .bs-marcas .bs-marcas__logo img[src*="vivair"] { height: 34px !important; }
@media (min-width: 700px) { body.bs-tema .bs-marcas .bs-marcas__grid { column-gap: var(--bs-gutter) !important; } }
@media (min-width: 1100px) {
	body.bs-tema .bs-marcas .bs-marcas__grid { column-gap: 0 !important; }
	body.bs-tema .bs-marcas .bs-marcas__item { padding: var(--bs-s10) var(--bs-s10) var(--bs-s8) !important; border-left: 1px solid var(--bs-line); }
	body.bs-tema .bs-marcas .bs-marcas__item:first-child { padding-left: 0 !important; border-left: 0; }
	body.bs-tema .bs-marcas .bs-marcas__item:last-child { padding-right: 0 !important; }
}

/* Enlaces en el texto, V2 1.4 (Sistema de diseño, 03/11): flecha en línea para que la puntuación no salte de línea,
   trazo 1,8, sin flecha en anclas, teléfono, correo ni notas; externos también por target="_blank". */
:root {
	--bs-arrow-in: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--bs-arrow-out: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6M8 6h10v10'/%3E%3C/svg%3E");
}
/* La flecha va como fondo de color y no como máscara: Safari (iOS) repite en vertical la máscara de un ::after en línea
   aunque lleve no-repeat y pintaba rayas azules encima y debajo (04/11). Colores = acento y acento sobre oscuro. */
:root {
	--bs-arrow-in-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23175CFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--bs-arrow-out-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23175CFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6M8 6h10v10'/%3E%3C/svg%3E");
}
:is(.bs-oscuro, [data-surface="dark"]) {
	--bs-arrow-in-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236F9BFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h15M13 6l6 6-6 6'/%3E%3C/svg%3E");
	--bs-arrow-out-c: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236F9BFF' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18L18 6M8 6h10v10'/%3E%3C/svg%3E");
}
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li) a:not(.bs-btn):not(.bs-more):not(.wp-element-button):not(:has(img))::after {
	display: inline; width: auto; height: auto; padding-left: .74em; margin-left: .18em; vertical-align: baseline;
	background: var(--bs-arrow-in-c) center / .74em .74em no-repeat; -webkit-mask: none; mask: none;
}
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li) :is(a[href^="http"]:not([href*="bebersalud.es"]):not([href*="bebersalud-es-531456"]), a[target="_blank"]):not(.bs-btn):not(.bs-more):not(:has(img))::after {
	background-image: var(--bs-arrow-out-c);
}
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(p, li) :is(a[href^="http"]:not([href*="bebersalud.es"]):not([href*="bebersalud-es-531456"]), a[target="_blank"]):hover::after { transform: translate(2px, -2px); }
:is(.bs-article__body, .bs-woo-ficha__prosa, .bs-ficha-ampliada) :is(a[href^="#"], a[href^="tel:"], a[href^="mailto:"], sup a)::after { display: none !important; }
:is(.bs-oscuro, [data-surface="dark"]) :is(p, li) a:not(.bs-btn):is(:hover, :focus-visible) { color: #6F9BFF; }
/* Bibliografía de las entradas (Pepe, 03/11): más pequeña que el texto, sin viñetas ni flechas; vale para .bs-refs y para
   las listas que van detrás del H2 «Bibliografía» (incluidas las anidadas de los artículos antiguos). */
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) { font-size: 22px; margin-top: var(--bs-s16); padding-top: var(--bs-s5); border-top: 1px solid var(--bs-line); }
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) ~ :is(ul, ol) { margin: 0 !important; padding: 0 !important; list-style: none; }
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) ~ :is(ul, ol) :is(ul, ol) { margin: 0; padding: 0; list-style: none; }
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) ~ :is(ul, ol) li { padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); font-size: 14px; line-height: 1.55; color: var(--bs-fg-muted); list-style: none; }
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) ~ :is(ul, ol) li:has(> :is(ul, ol)) { padding: 0; border: 0; }
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) ~ :is(ul, ol) a { word-break: break-all; font-size: 13px; }
.bs-article__body :is(h2[id^="bibliograf"], h2[id^="referencias"], h2[id^="fuentes"]) ~ :is(ul, ol) a::after { display: none !important; }
.bs-article__body .bs-biblio { margin-top: var(--bs-s16); padding-top: var(--bs-s5); border-top: 1px solid var(--bs-line); color: var(--bs-fg-muted); }
.bs-article__body .bs-biblio > :is(h2, h3, h4, h5, h6, p:first-child) { margin: 0 0 var(--bs-s4) !important; font-size: 18px !important; font-weight: 600; color: var(--bs-fg); }
.bs-article__body .bs-biblio :is(ul, ol) { margin: 0 !important; padding: 0 !important; list-style: none; }
.bs-article__body .bs-biblio li { padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); font-size: 14px !important; line-height: 1.55; list-style: none; }
.bs-article__body .bs-biblio li:has(> :is(ul, ol)) { padding: 0; border: 0; }
.bs-article__body .bs-biblio :is(p, li) { font-size: 14px !important; line-height: 1.55; }
.bs-article__body .bs-biblio a { font-size: 13px; word-break: break-all; }
.bs-article__body .bs-biblio a::after { display: none !important; }
/* Soluciones (Pepe, 03/11): las fotos traen su propio fondo y el gris del marco las rodeaba como un segundo cuadrado.
   Ahora llenan el 4:5 (cover, sin aire); el «multiply» deja los fondos blancos en el gris perla del marco. */
.bs-sol__img img { padding: 0 !important; object-fit: cover; object-position: 50% 55%; }
/* Bibliografía con el componente .bs-refs del sistema: el mismo componente, solo un punto más pequeño (Pepe, 03/11) */
.bs-article__body .bs-refs { font-size: 14px; }
.bs-article__body .bs-refs :is(p, li, span, em, b, strong) { font-size: inherit; }
/* .bs-refs: cada referencia es texto corrido (autor, título, revista, enlace sueltos); en rejilla cada trozo era una celda.
   Bloque normal con el número en el margen. */
.bs-refs > li { display: block !important; position: relative; padding: var(--bs-s4) 0 var(--bs-s4) 40px !important; font-size: 14px !important; border-bottom: 1px solid var(--bs-line); }
.bs-refs > li::before { position: absolute; left: 0; top: calc(var(--bs-s4) + 1px); }
.bs-refs > li a { word-break: break-word; }
/* Megamenú (Pepe, 03/11): «Ver todos los artículos» (El agua y la salud) y «Ver todas las soluciones» (Equipos), como el
   «Ver toda la tienda»: botón azul, a la izquierda de su fila, para que no quede escondido abajo a la derecha. */
body.bs-tema #header-outer :is(#bm-p-blog, #bm-p-eq) .bm-foot { display: flex; justify-content: flex-start !important; align-items: center; gap: var(--bs-s4); }
body.bs-tema #header-outer :is(#bm-p-blog, #bm-p-eq) .bm-foot > span:empty { display: none; }
body.bs-tema #header-outer :is(#bm-p-blog, #bm-p-eq) .bm-foot .bm-more { order: -1; display: inline-flex; align-items: center; gap: var(--bs-s2); padding: 12px 20px !important; background: var(--bs-accent, #175CFF); color: #fff !important; font-size: 15px; font-weight: 600; border-radius: var(--bs-radius, 4px) !important; }
body.bs-tema #header-outer :is(#bm-p-blog, #bm-p-eq) .bm-foot .bm-more:is(:hover, :focus-visible) { background: var(--bs-accent-hover, #0041E9); color: #fff !important; }
/* Cabecera de la entrada (Pepe, 03/11): el texto ocupa desde el borde izquierdo del contenedor hasta la foto */
@media (min-width: 1100px) {
	.post-head { grid-template-columns: 8fr 4fr; column-gap: var(--bs-s16); }
	.post-head__txt { grid-column: 1; }
	.post-head .bs-media { grid-column: 2; }
	.post-head h1 { max-width: 22ch; font-size: clamp(40px, 4.6vw, 64px); }
	.post-head .bs-lead { max-width: 60ch; }
}
.bs-article__body .bs-refs-t { margin: var(--bs-s16) 0 var(--bs-s4) !important; padding-top: var(--bs-s5); border-top: 1px solid var(--bs-line); font-size: 22px !important; }
/* Análisis de agua: grupos de parámetros abiertos; el título de cada grupo, más grande y con su icono a 36 px, sin el «–» */
body.bs-tema .bs-params__g > summary { pointer-events: none; padding: var(--bs-s6) 0 var(--bs-s4) !important; border-top: 1px solid var(--bs-fg); }
body.bs-tema .bs-params__g > summary::after, body.bs-tema .bs-params__g > summary::before { display: none !important; }
body.bs-tema .bs-params__g .bs-params__t { font-size: 22px !important; font-weight: 600; letter-spacing: -.01em; }
body.bs-tema .bs-params__g .bs-icon-circle { width: 44px !important; height: 44px !important; background: none !important; border: 0 !important; }
body.bs-tema .bs-params__g .bs-icon-circle svg { width: 36px !important; height: 36px !important; stroke-width: 1.2; }
body.bs-tema .bs-params__g .bs-params__n { font-size: var(--bs-small); color: var(--bs-fg-muted); }
body.bs-tema .bs-params__g .bs-params__n::after { content: " parámetros"; }
/* Migas de pan: el mismo subrayado separado y fino que los enlaces del texto */
:is(.woocommerce-breadcrumb, .wp-block-woocommerce-breadcrumbs, .bs-migas, .breadcrumb, nav[aria-label*="igas"]) a {
	text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .32em;
	text-decoration-color: color-mix(in srgb, currentColor 40%, transparent);
}
:is(.woocommerce-breadcrumb, .wp-block-woocommerce-breadcrumbs, .bs-migas, .breadcrumb, nav[aria-label*="igas"]) a:is(:hover, :focus-visible) { text-decoration-color: currentColor; }
/* Marcas del grupo con foto del equipo (Pepe, 03/11): 4:5 arriba de cada columna, radio 4 */
body.bs-tema .bs-marcas .bs-marcas__foto { margin: 0 0 var(--bs-s6); aspect-ratio: 4 / 5; overflow: hidden; border-radius: var(--bs-radius, 4px); background: #F0F2F6; }
body.bs-tema .bs-marcas .bs-marcas__foto img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform 1100ms var(--bs-ease-agua, ease); }
@media (hover: hover) { body.bs-tema .bs-marcas .bs-marcas__item:hover .bs-marcas__foto img { transform: scale(1.03); } }
/* Subtítulos dentro de la bibliografía y rayas sueltas del maquetador antiguo */
.bs-article__body .bs-refs-t ~ :is(h3, h4, h5) { margin: var(--bs-s8) 0 var(--bs-s2) !important; font-size: 15px !important; font-weight: 600; color: var(--bs-fg); }
.bs-article__body .bs-refs-t ~ hr, .bs-article__body .bs-refs-t ~ * hr { display: none; }
.bs-refs > li br { content: ""; display: block; margin: 0; }
/* Numeración seguida en toda la bibliografía aunque venga en varios bloques con subtítulos */
.bs-article__body { counter-reset: bs-ref; }
.bs-article__body .bs-refs { counter-reset: none; }
/* Marcas del grupo: cuatro columnas del mismo ancho (el hueco va en el column-gap y la raya vertical en un ::before),
   así las fotos y los logos quedan iguales y alineados */
@media (min-width: 1100px) {
	body.bs-tema .bs-marcas .bs-marcas__grid { column-gap: var(--bs-s16) !important; }
	body.bs-tema .bs-marcas .bs-marcas__item, body.bs-tema .bs-marcas .bs-marcas__item:first-child, body.bs-tema .bs-marcas .bs-marcas__item:last-child { position: relative; padding: var(--bs-s10) 0 var(--bs-s8) !important; border-left: 0 !important; }
	body.bs-tema .bs-marcas .bs-marcas__item + .bs-marcas__item::before { content: ""; position: absolute; top: 0; bottom: 0; left: calc(-1 * var(--bs-s8)); border-left: 1px solid var(--bs-line); }
}
body.bs-tema .bs-marcas .bs-marcas__item > a, body.bs-tema .bs-marcas .bs-marcas__foto { display: block; width: 100%; }
/* Cabecera: Mi cuenta y carrito (iconos 24 px en marino; el contador en marino con número blanco) */
.bs-nav__ico { position: relative; flex: none; display: inline-grid; place-items: center; width: 40px; height: 40px; color: var(--bs-fg); text-decoration: none; border-radius: var(--bs-radius, 4px); }
.bs-nav__ico .bs-icon { width: 24px; height: 24px; }
.bs-nav__ico:is(:hover, :focus-visible) { color: var(--bs-accent); }
.bs-nav__n { position: absolute; top: 2px; right: 0; display: grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 9px; background: var(--bs-fg); color: #fff; font-size: 11px; font-weight: 600; line-height: 1; }
#header-outer .bs-nav__cuenta { margin-left: var(--bs-s2); }
#header-outer .bs-nav__carrito { margin-right: var(--bs-s3); }
@media (max-width: 999px) {
	#header-outer .bs-nav__cuenta { margin-left: auto; }
	#header-outer .bs-nav__carrito { margin-right: var(--bs-s1); }
}
/* Móvil: la barra no cabía con cuenta y carrito; el teléfono queda solo con su icono (el número está en el menú) */
@media (max-width: 599.98px) {
	#header-outer .bs-nav__tel span { display: none; }
	#header-outer .bs-nav__tel { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-left: auto; }
	#header-outer .bs-nav__tel .bs-icon { width: 22px; height: 22px; }
	#header-outer .bs-nav__cuenta { margin-left: 0; }
	#header-outer .bs-nav__ico { width: 38px; }
	#header-outer .bs-cabecera__logo img { width: 150px; height: auto; }
}
@media (max-width: 599.98px) {
	#header-outer .bs-cabecera__barra { column-gap: 2px !important; gap: 2px !important; }
	#header-outer .bs-cabecera__logo { margin-right: auto; }
	#header-outer .bs-cabecera__logo img { width: 140px; }
	#header-outer .bs-nav__tel { margin-left: 0; }
	#header-outer .slide-out-widget-area-toggle { margin-left: 2px; }
}
/* Cabecera en escritorio (Pepe, 03/11): menú · «Pedir asesoramiento» (más pequeño y ceñido) · teléfono ··· Mi cuenta · carrito al borde */
@media (min-width: 1000px) {
	#header-outer .bs-cabecera__barra > .bm-desk { order: 1; }
	#header-outer .bs-cabecera__barra > .bs-nav__cta { order: 2; margin-left: var(--bs-s6); }
	#header-outer .bs-cabecera__barra > .bs-nav__tel { order: 3; margin-left: var(--bs-s5); }
	#header-outer .bs-cabecera__barra > .bs-nav__cuenta { order: 4; margin-left: auto; }
	#header-outer .bs-cabecera__barra > .bs-nav__carrito { order: 5; margin-right: -8px; }
	#header-outer .bs-cabecera__barra > .slide-out-widget-area-toggle { order: 6; }
	#header-outer .bs-nav__cta { height: 36px !important; padding: 0 14px !important; font-size: 14px !important; }
	#header-outer .bs-cabecera__barra > .bm-desk + * { margin-left: var(--bs-s6); }
}
@media (min-width: 1000px) {
	body.bs-tema #header-outer .bs-cabecera__barra > .bm-desk { flex: 0 1 auto !important; margin-right: 0 !important; }
	body.bs-tema #header-outer .bs-cabecera__barra > a.bs-nav__cta { height: 36px !important; min-height: 0 !important; padding: 0 14px !important; font-size: 14px !important; line-height: 34px !important; }
	body.bs-tema #header-outer .bs-cabecera__barra > .bs-nav__cuenta { margin-left: auto !important; }
}
@media (min-width: 1000px) and (max-width: 1239.98px) {
	body.bs-tema #header-outer .bs-cabecera__barra > .bs-nav__tel { display: inline-grid; place-items: center; width: 40px; height: 40px; margin-left: var(--bs-s2); }
	body.bs-tema #header-outer .bs-cabecera__barra > .bs-nav__tel span { display: none; }
	body.bs-tema #header-outer .bs-cabecera__barra > a.bs-nav__cta { margin-left: var(--bs-s4); }
}
@media (min-width: 1000px) { body.bs-tema #header-outer .bs-cabecera__barra > .bs-nav__carrito { margin-left: -12px !important; } }
/* Nosotros: foto de la videollamada; en pantallas estrechas el encuadre va a la derecha, donde están Pepe y Pedro */
@media (max-width: 999.98px) { body.page-template-bs-nosotros .bs-home-hero__poster, body.page-template-bs-nosotros .bs-home-hero img { object-position: 80% 50% !important; } }
@media (max-width: 999.98px) { html body.page-template-bs-nosotros .bs-home-hero .bs-home-hero__media img.bs-home-hero__poster { object-position: 96% 50% !important; } }
/* Carrito (Pepe, 03/11): fotos y textos más grandes */
.wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image { width: 120px; padding-right: var(--bs-s5); }
.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 120px !important; height: 150px !important; max-width: none; object-fit: contain; padding: 10px; box-sizing: border-box; background: #F0F2F6; border-radius: var(--bs-radius, 4px); mix-blend-mode: multiply; }
.wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 19px !important; font-weight: 600; line-height: 1.3; }
.wp-block-woocommerce-cart .wc-block-cart-item__prices, .wp-block-woocommerce-cart .wc-block-cart-item__prices * { font-size: 16px !important; }
.wp-block-woocommerce-cart .wc-block-components-product-metadata, .wp-block-woocommerce-cart .wc-block-components-product-metadata * { font-size: 15px !important; line-height: 1.5; }
.wp-block-woocommerce-cart .wc-block-cart-item__total, .wp-block-woocommerce-cart .wc-block-cart-item__total * { font-size: 17px !important; font-weight: 600; color: var(--bs-fg); }
.wp-block-woocommerce-cart .wc-block-cart-items__header { font-size: 13px !important; letter-spacing: .12em; text-transform: uppercase; color: var(--bs-fg-muted); }
.wp-block-woocommerce-cart .wc-block-components-totals-item__label, .wp-block-woocommerce-cart .wc-block-components-totals-item__value { font-size: 16px !important; }
.wp-block-woocommerce-cart .wc-block-components-totals-footer-item :is(.wc-block-components-totals-item__label, .wc-block-components-totals-item__value) { font-size: 22px !important; }
@media (max-width: 599.98px) {
	.wp-block-woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image { width: 88px; padding-right: var(--bs-s3); }
	.wp-block-woocommerce-cart .wc-block-cart-item__image img { width: 88px !important; height: 110px !important; }
	.wp-block-woocommerce-cart .wc-block-components-product-name { font-size: 17px !important; }
}
/* Otras marcas del grupo (megamenu.php): radio 4 del sistema y la tipografía del tema */
body.bs-tema .bm-brands :is(a, img) { border-radius: var(--bs-radius, 4px) !important; }
body.bs-tema .bm-brands :is(b, small) { font-family: inherit !important; }
body.bs-tema .bm-brands a:is(:hover, :focus-visible) b { color: var(--bs-accent) !important; }
/* Menú móvil más ligero (Pepe: «estamos metiendo muchísimas cosas»): las fotos de cada equipo, a 36 px */
@media (max-width: 999.98px) {
	body.bs-tema .bm-drawer .bm-acc .bm-item img { width: 36px !important; height: 36px !important; }
	body.bs-tema .bm-drawer .bm-acc .bm-item { padding-block: 6px !important; gap: 12px !important; }
	body.bs-tema .bm-drawer .bm-brands--m img { width: 32px !important; height: 40px !important; }
}
@media (max-width: 999.98px) {
	body.bs-tema .bm-drawer .bm-acc .bm-item small { display: none !important; }
	body.bs-tema .bm-drawer .bm-acc .bm-item { min-height: 44px; align-items: center; }
	body.bs-tema .bm-drawer .bm-acc .bm-h { margin-top: 14px !important; margin-bottom: 4px !important; }
}
/* ── Mi cuenta (Pepe, 03/11): acceso y registro como tarjetas de formulario; con sesión, menú a la izquierda en lista con
      rayas (como el índice de lectura) y el contenido a la derecha; tablas abiertas con rayas horizontales. ── */
body.woocommerce-account main { padding-top: var(--bs-s12); }
body.woocommerce-account :is(.wp-block-post-title, main h1):first-of-type { font-size: clamp(36px, 4.4vw, 56px); margin-bottom: var(--bs-s10); }
body.woocommerce-account .woocommerce { max-width: none; }
/* Acceso / registro */
body.woocommerce-account #customer_login { display: grid; grid-template-columns: 1fr; gap: var(--bs-s10); margin: 0; }
@media (min-width: 900px) { body.woocommerce-account #customer_login { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--bs-gutter); } }
body.woocommerce-account #customer_login > div { float: none !important; width: auto !important; padding: 0 !important; }
body.woocommerce-account #customer_login h2 { margin: 0 0 var(--bs-s5); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); font-size: 26px; }
body.woocommerce-account :is(form.woocommerce-form-login, form.woocommerce-form-register, form.woocommerce-ResetPassword) { margin: 0 !important; padding: var(--bs-s8) !important; border: 1px solid var(--bs-line) !important; border-radius: var(--bs-radius, 4px) !important; background: #fff; }
body.woocommerce-account .woocommerce-form-login__rememberme { display: inline-flex; align-items: center; gap: var(--bs-s2); margin: 0 0 0 var(--bs-s4); vertical-align: middle; }
body.woocommerce-account .woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bs-s3); }
body.woocommerce-account .lost_password { margin: var(--bs-s4) 0 0; font-size: var(--bs-small); }
body.woocommerce-account .woocommerce-privacy-policy-text p { font-size: var(--bs-small); color: var(--bs-fg-muted); }
/* Con sesión: menú + contenido */
body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { display: grid; grid-template-columns: 1fr; gap: var(--bs-s10); }
@media (min-width: 900px) {
	body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); align-items: start; }
	body.woocommerce-account .woocommerce-MyAccount-navigation { grid-column: 1 / span 3; position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s6)); }
	body.woocommerce-account .woocommerce-MyAccount-content { grid-column: 5 / span 8; }
}
body.woocommerce-account .woocommerce-MyAccount-navigation, body.woocommerce-account .woocommerce-MyAccount-content { float: none !important; width: auto !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-fg); }
body.woocommerce-account .woocommerce-MyAccount-navigation li { margin: 0; border-bottom: 1px solid var(--bs-line); }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: var(--bs-s4) 0 var(--bs-s4) var(--bs-s4); color: var(--bs-fg-muted); font-size: 16px; text-decoration: none; border-left: 2px solid transparent; transition: color var(--bs-dur-fast, 160ms) ease; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a:is(:hover, :focus-visible) { color: var(--bs-accent); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { color: var(--bs-fg); font-weight: 600; border-left-color: var(--bs-fg); }
body.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a { color: var(--bs-fg-muted); font-size: var(--bs-small); }
@media (max-width: 899.98px) {
	body.woocommerce-account .woocommerce-MyAccount-navigation ul { display: flex; gap: var(--bs-s2); overflow-x: auto; border: 0; padding-bottom: var(--bs-s2); scrollbar-width: none; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li { flex: none; border: 0; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li a { padding: 9px 14px; border: 1px solid var(--bs-line-strong, #C9CEDA); border-radius: var(--bs-radius, 4px); font-size: 15px; white-space: nowrap; }
	body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { border-color: var(--bs-fg); background: var(--bs-fg); color: #fff; }
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child { font-size: 19px; line-height: 1.55; max-width: 60ch; }
body.woocommerce-account .woocommerce-MyAccount-content p { max-width: 68ch; }
body.woocommerce-account .woocommerce-MyAccount-content :is(h2, h3) { margin: var(--bs-s10) 0 var(--bs-s4); padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); font-size: 22px; }
body.woocommerce-account .woocommerce-MyAccount-content > :is(h2, h3):first-child { margin-top: 0; }
/* Tablas de pedidos y detalle del pedido */
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table { width: 100%; border: 0 !important; border-top: 1px solid var(--bs-fg) !important; border-radius: 0 !important; border-collapse: collapse; margin: 0 0 var(--bs-s8); font-size: 15px; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(th, td) { padding: var(--bs-s4) var(--bs-s4) var(--bs-s4) 0 !important; border: 0 !important; border-bottom: 1px solid var(--bs-line) !important; background: none !important; text-align: left; vertical-align: middle; }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table thead th { font-size: var(--bs-caption); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--bs-fg-muted); }
body.woocommerce-account .woocommerce-MyAccount-content table.shop_table :is(td, th):last-child { text-align: right; padding-right: 0 !important; }
body.woocommerce-account .woocommerce-orders-table__cell-order-number a { font-weight: 600; color: var(--bs-fg); text-decoration: none; }
body.woocommerce-account .woocommerce-orders-table__cell-order-number a:hover { color: var(--bs-accent); }
body.woocommerce-account .woocommerce-orders-table__cell-order-status { color: var(--bs-fg-muted); }
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-button, a.button, button.button) { display: inline-flex; align-items: center; justify-content: center; min-height: 36px; padding: 0 14px !important; border: 1px solid var(--bs-fg) !important; border-radius: var(--bs-radius, 4px) !important; background: #fff !important; color: var(--bs-fg) !important; font-size: 14px !important; font-weight: 600; text-transform: none !important; }
body.woocommerce-account .woocommerce-MyAccount-content :is(.woocommerce-button, a.button, button.button):is(:hover, :focus-visible) { border-color: var(--bs-accent) !important; color: var(--bs-accent) !important; }
body.woocommerce-account .woocommerce-MyAccount-content :is(form button[type="submit"], .woocommerce-Button--primary) { border-color: var(--bs-accent) !important; background: var(--bs-accent) !important; color: #fff !important; min-height: var(--bs-control, 48px); padding: 0 22px !important; }
body.woocommerce-account .woocommerce-MyAccount-content mark { background: none; color: var(--bs-fg); font-weight: 600; }
/* Direcciones */
body.woocommerce-account .woocommerce-Addresses { display: grid; grid-template-columns: 1fr; gap: var(--bs-s8); }
@media (min-width: 700px) { body.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr 1fr; column-gap: var(--bs-gutter); } }
body.woocommerce-account .woocommerce-Addresses::before, body.woocommerce-account .woocommerce-Addresses::after { display: none !important; }
body.woocommerce-account .woocommerce-Address { float: none !important; width: auto !important; margin: 0 !important; padding-top: var(--bs-s4); border-top: 1px solid var(--bs-fg); }
body.woocommerce-account .woocommerce-Address-title { display: flex; justify-content: space-between; align-items: baseline; gap: var(--bs-s4); }
body.woocommerce-account .woocommerce-Address-title h2 { margin: 0 0 var(--bs-s3) !important; padding: 0 !important; border: 0 !important; font-size: 19px !important; }
body.woocommerce-account .woocommerce-Address-title .edit { font-size: var(--bs-small); color: var(--bs-accent); }
body.woocommerce-account .woocommerce-Address address { font-style: normal; line-height: 1.7; color: var(--bs-fg-muted); }
/* Detalle del pedido: datos del cliente en dos columnas */
body.woocommerce-account .woocommerce-customer-details .woocommerce-columns { display: grid; grid-template-columns: 1fr; gap: var(--bs-s8); }
@media (min-width: 700px) { body.woocommerce-account .woocommerce-customer-details .woocommerce-columns { grid-template-columns: 1fr 1fr; column-gap: var(--bs-gutter); } }
body.woocommerce-account .woocommerce-customer-details .woocommerce-column { float: none !important; width: auto !important; }
body.woocommerce-account .woocommerce-customer-details address { padding: 0 !important; border: 0 !important; font-style: normal; line-height: 1.7; color: var(--bs-fg-muted); }
body.woocommerce-account .woocommerce-MyAccount-content fieldset { margin: var(--bs-s8) 0 0; padding: var(--bs-s5) 0 0; border: 0; border-top: 1px solid var(--bs-line); }
body.woocommerce-account .woocommerce-MyAccount-content legend { padding: 0; font-weight: 600; font-size: 18px; }
body.woocommerce-account main .is-layout-constrained > *, body.woocommerce-account main.is-layout-constrained > *, body.woocommerce-account .entry-content > * { max-width: var(--bs-container) !important; }
body.woocommerce-account #customer_login::before, body.woocommerce-account #customer_login::after { display: none !important; content: none !important; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { text-decoration: none !important; }
body.woocommerce-account .woocommerce::before, body.woocommerce-account .woocommerce::after { display: none !important; }
body.woocommerce-account .woocommerce-Address-title { padding: 0 !important; margin: 0 0 var(--bs-s3); }
body.woocommerce-account .woocommerce-Address-title h2 { margin: 0 !important; }
body.woocommerce-account .woocommerce-Address-title .edit { flex: none; max-width: 50%; text-align: right; line-height: 1.35; }
body.woocommerce-account .woocommerce-customer-details .woocommerce-columns::before, body.woocommerce-account .woocommerce-customer-details .woocommerce-columns::after { display: none !important; content: none !important; }
body.woocommerce-account .woocommerce-customer-details .woocommerce-column h2 { margin-top: 0 !important; }
/* Mi cuenta en el móvil: la tabla de pedidos en filas «etiqueta · valor» y los formularios a una columna */
@media (max-width: 767.98px) {
	body.woocommerce-account table.shop_table_responsive thead { display: none; }
	body.woocommerce-account table.shop_table_responsive tr { display: block; padding: var(--bs-s3) 0; border-bottom: 1px solid var(--bs-line); }
	body.woocommerce-account table.shop_table_responsive tr :is(td, th) { display: flex !important; justify-content: space-between; align-items: center; gap: var(--bs-s4); padding: 6px 0 !important; border: 0 !important; text-align: right !important; }
	body.woocommerce-account table.shop_table_responsive tr td::before { content: attr(data-title); float: none !important; font-weight: 600; color: var(--bs-fg); text-align: left; }
	body.woocommerce-account table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions::before { content: none; }
	body.woocommerce-account table.shop_table_responsive tr td.woocommerce-orders-table__cell-order-actions { justify-content: flex-start; }
}
body.woocommerce-account .woocommerce-MyAccount-content form :is(.form-row-first, .form-row-last) { float: none !important; width: auto !important; }
@media (min-width: 700px) {
	body.woocommerce-account .woocommerce-MyAccount-content form.edit-account { display: grid; grid-template-columns: 1fr 1fr; column-gap: var(--bs-gutter); }
	body.woocommerce-account .woocommerce-MyAccount-content form.edit-account > :not(.form-row-first):not(.form-row-last) { grid-column: 1 / -1; }
}
body.woocommerce-account .woocommerce-MyAccount-content form :is(input.input-text, select, textarea) { width: 100% !important; max-width: 100%; box-sizing: border-box; }
body.woocommerce-account .woocommerce-MyAccount-content form .clear { display: none; }
@media (max-width: 899.98px) {
	body.woocommerce-account .woocommerce:has(> .woocommerce-MyAccount-navigation) { grid-template-columns: minmax(0, 1fr); }
	body.woocommerce-account :is(.woocommerce-MyAccount-navigation, .woocommerce-MyAccount-content) { min-width: 0; }
	body.woocommerce-account .woocommerce-MyAccount-navigation { margin-inline: calc(-1 * var(--bs-margin)); padding-inline: var(--bs-margin); }
}
body.woocommerce-account .woocommerce-MyAccount-content form .form-row { max-width: none !important; }
/* ── Estados (Pepe, 03/11): avisos de la tienda, carrito vacío, 404 y sin resultados ── */
/* Avisos: una sola línea fina a la izquierda con el color del estado, fondo blanco, sin caja gruesa */
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error), .wc-block-components-notice-banner {
	display: flex !important; flex-wrap: wrap; align-items: center; gap: var(--bs-s3) var(--bs-s5); margin: 0 0 var(--bs-s8) !important;
	padding: var(--bs-s4) var(--bs-s5) !important; border: 1px solid var(--bs-line) !important; border-left: 3px solid var(--bs-ok, #187E45) !important;
	border-radius: var(--bs-radius, 4px) !important; background: #fff !important; color: var(--bs-fg) !important; font-size: 15px; box-shadow: none !important; outline: 0 !important; list-style: none;
}
.woocommerce .woocommerce-info, .wc-block-components-notice-banner.is-info { border-left-color: var(--bs-fg) !important; }
.woocommerce .woocommerce-error, .wc-block-components-notice-banner.is-error { border-left-color: var(--bs-error, #C62828) !important; }
.woocommerce :is(.woocommerce-message, .woocommerce-info, .woocommerce-error)::before, .wc-block-components-notice-banner > svg { display: none !important; }
.woocommerce :is(.woocommerce-message, .woocommerce-info) .button { order: 2; margin-left: auto !important; padding: 0 !important; border: 0 !important; background: none !important; color: var(--bs-accent) !important; font-weight: 600; float: none !important; }
/* Carrito vacío */
.bs-carrito-vacio { max-width: 520px; margin: var(--bs-s12) auto var(--bs-s16); text-align: center; }
.bs-carrito-vacio .bs-icon { width: 48px; height: 48px; color: var(--bs-fg); }
.bs-carrito-vacio h2 { margin: var(--bs-s5) 0 var(--bs-s3); font-size: 30px; }
.bs-carrito-vacio p { color: var(--bs-fg-muted); }
.bs-carrito-vacio__btns { display: flex; flex-wrap: wrap; justify-content: center; align-items: center; gap: var(--bs-s5); margin-top: var(--bs-s6); }
.wp-block-woocommerce-empty-cart-block .wp-block-separator { margin: var(--bs-s16) 0 var(--bs-s8); border: 0; border-top: 1px solid var(--bs-fg); opacity: 1; width: 100%; max-width: none; }
.wp-block-woocommerce-empty-cart-block .wp-block-separator::before, .wp-block-woocommerce-empty-cart-block .wp-block-separator::after { display: none; }
.wp-block-woocommerce-empty-cart-block > h2:not(.bs-carrito-vacio h2) { text-align: left !important; font-size: 26px; }
/* 404 */
.bs-404 { padding-block: var(--bs-s16) var(--bs-s24); }
.bs-404 h1 { max-width: 18ch; margin: var(--bs-s5) 0 var(--bs-s5); font-size: clamp(40px, 5vw, 64px); line-height: 1.04; }
.bs-404 .bs-lead { max-width: 52ch; }
.bs-404__buscar { max-width: 640px; margin: var(--bs-s8) 0 var(--bs-s12); }
.bs-404__buscar .wp-block-search__inside-wrapper { display: flex; gap: var(--bs-s2); border: 0 !important; padding: 0 !important; }
.bs-404__buscar input { flex: 1; min-height: var(--bs-control, 48px); padding: 0 var(--bs-s4); border: 1px solid var(--bs-field, #80869A); border-radius: var(--bs-radius, 4px); }
.bs-404__buscar button { min-height: var(--bs-control, 48px); padding: 0 22px; border: 0; border-radius: var(--bs-radius, 4px); background: var(--bs-accent); color: #fff; font-weight: 600; }
.bs-404__atajos { display: grid; grid-template-columns: 1fr; margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--bs-fg); }
@media (min-width: 800px) { .bs-404__atajos { grid-template-columns: repeat(3, minmax(0, 1fr)); column-gap: var(--bs-gutter); } }
.bs-404__atajos li { border-bottom: 1px solid var(--bs-line); }
.bs-404__atajos a { display: block; padding: var(--bs-s5) 0; color: var(--bs-fg); text-decoration: none; }
.bs-404__atajos b { display: block; font-size: 20px; font-weight: 600; }
.bs-404__atajos b::after { content: " →"; color: var(--bs-accent); }
.bs-404__atajos span { display: block; margin-top: 4px; font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-404__atajos a:hover b { color: var(--bs-accent); }
/* Sin resultados en la tienda */
body.search .woocommerce-products-header h1, body.search h1.wp-block-query-title { font-size: clamp(32px, 3.6vw, 48px); }
.woocommerce-no-products-found .woocommerce-info { border-left-color: var(--bs-fg) !important; }
/* ── Distribuidores y landings de cliente (plantilla común, tanda 3): marca del distribuidor arriba, datos y texto a la
      izquierda (5 col.) y el formulario a la derecha (6 col.) ── */
.bs-dist-sec { padding-block: var(--bs-s16) var(--bs-s24); }
.bs-dist { display: grid; gap: var(--bs-s10); align-items: start; }
@media (min-width: 900px) {
	.bs-dist { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); }
	.bs-dist__info { grid-column: 1 / span 5; }
	.bs-dist__form { grid-column: 7 / span 6; position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s6)); }
}
.bs-dist__info { display: flex; flex-direction: column; }
.bs-dist__info > * { margin: 0; }
.bs-dist__logo { order: -2; margin: 0 0 var(--bs-s8) !important; }
.bs-dist__logo img { display: block; width: auto; max-width: 260px; max-height: 140px; height: auto; object-fit: contain; border-radius: var(--bs-radius, 4px); }
.bs-dist__info > .bs-eyebrow { order: -1; }
.bs-dist__info h1 { margin: var(--bs-s5) 0 var(--bs-s5); font-size: clamp(30px, 3.6vw, 46px); line-height: 1.08; text-transform: none; }
.bs-dist__sub { padding: var(--bs-s4) 0; border-top: 1px solid var(--bs-line); border-bottom: 1px solid var(--bs-line); font-size: 16px; line-height: 1.6; color: var(--bs-fg); }
.bs-dist__info .bs-lead { margin-top: var(--bs-s6); }
.bs-dist__txt { margin-top: var(--bs-s4) !important; max-width: 52ch; color: var(--bs-fg-muted); }
/* Cuatro por fila en tienda, categorías y blog (Pepe, 03/11); tres en tableta, dos en móvil */
@media (min-width: 1100px) {
	.woocommerce ul.products { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; gap: var(--bs-s10) var(--bs-s5) !important; }
	.bs-posts-q .wp-block-post-template.is-layout-grid, .bs-posts { grid-template-columns: repeat(4, minmax(0, 1fr)) !important; column-gap: var(--bs-s6) !important; }
	.bs-posts-q .bs-post__title, .bs-posts .bs-post__title { font-size: 19px !important; line-height: 1.3; }
}
@media (min-width: 900px) and (max-width: 1099.98px) {
	.woocommerce ul.products, .bs-posts-q .wp-block-post-template.is-layout-grid, .bs-posts { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* Megamenú (Pepe, 03/11): cristal con un punto de gris perla para que se distinga del fondo blanco en portátiles, raya fina
   al borde y menos alto (menos aire arriba y abajo, miniaturas algo menores). */
#header-outer .bm-panel { background: rgba(236, 239, 244, .9) !important; -webkit-backdrop-filter: blur(22px) saturate(1.3); backdrop-filter: blur(22px) saturate(1.3); border: 1px solid rgba(10, 8, 59, .10) !important; }
body.bs-tema #header-outer .bm-panel :is(.bm-grid, .bs-mega__in) { padding-top: 22px !important; row-gap: 10px !important; }
body.bs-tema #header-outer .bm-panel .bm-item { padding-block: 7px !important; }
body.bs-tema #header-outer .bm-panel .bm-item img { width: 44px !important; height: 44px !important; }
body.bs-tema #header-outer .bm-panel :is(.bs-mega__item, .bs-mega__help a) { padding-block: 8px !important; }
body.bs-tema #header-outer .bm-panel .bm-feature img, body.bs-tema #header-outer .bm-panel .bs-mega__feat .bs-media { max-height: 150px; object-fit: cover; }
body.bs-tema #header-outer .bm-panel .bm-foot, body.bs-tema #header-outer .bm-panel .bs-mega__foot { padding-block: 12px 14px !important; margin-top: 4px !important; }
body.bs-tema #header-outer .bm-panel .bs-mega__brands { padding-block: 10px !important; }
body.bs-tema #header-outer .bm-panel .bm-h, body.bs-tema #header-outer .bm-panel .bs-eyebrow { margin-bottom: 8px !important; }
body.bs-tema #header-outer .bm-panel .bm-brands a { background: rgba(255, 255, 255, .55); }
/* Megamenú Equipos: «Ver todas las soluciones» en la misma franja que las otras marcas, a la derecha (una fila menos) */
@media (min-width: 1000px) {
	body.bs-tema #header-outer #bm-p-eq .bs-mega__brands { padding-right: 280px !important; border-bottom: 0 !important; }
	body.bs-tema #header-outer #bm-p-eq .bm-foot { display: flex; justify-content: flex-end !important; margin-top: -64px !important; padding: 0 0 22px !important; border: 0 !important; pointer-events: none; }
	body.bs-tema #header-outer #bm-p-eq .bm-foot .bm-more { order: 0; pointer-events: auto; }
}
/* Títulos de las tarjetas del blog a todo el ancho de la tarjeta */
.bs-posts-q .bs-post__title, .bs-posts .bs-post__title { max-width: none !important; }
/* Megamenú Tienda (Pepe, 03/11): sin la franja de abajo «Garantía legal de 3 años · 14 días», más bajo */
body.bs-tema #header-outer #bm-p-shop .bs-mega__foot { display: none !important; }
body.bs-tema #header-outer #bm-p-shop .bs-mega__col { padding-bottom: 26px !important; }
/* ── Portada sin vídeo (propuesta 03/11): foto «en su sitio»; en escritorio a sangre con el texto a la izquierda sobre un
      degradado marino suave; en el móvil, foto 4:5 arriba y el texto debajo sobre blanco. Accesos directos en chips. ── */
.bs-home-hero__pic, .bs-home-hero__pic img { display: block; width: 100%; height: 100%; object-fit: cover; }
.bs-home-atajos { display: flex; flex-wrap: wrap; gap: var(--bs-s2); margin: var(--bs-s6) 0 0; padding: 0; list-style: none; }
.bs-home-atajos a { display: inline-flex; align-items: center; min-height: 36px; padding: 0 14px; border: 1px solid rgba(255, 255, 255, .55); border-radius: var(--bs-radius, 4px); color: #fff; font-size: 14px; font-weight: 500; text-decoration: none; }
.bs-home-atajos a:is(:hover, :focus-visible) { background: #fff; color: var(--bs-fg); }
@media (min-width: 768px) {
	body.home .bs-home-hero__media::after { content: ""; position: absolute; inset: 0; background: linear-gradient(90deg, rgba(10, 8, 59, .72) 0%, rgba(10, 8, 59, .45) 38%, rgba(10, 8, 59, 0) 62%); pointer-events: none; }
	body.home .bs-home-hero__poster { object-position: 70% 50%; }
}
@media (max-width: 767.98px) {
	body.home .bs-home-hero { display: flex; flex-direction: column; min-height: 0 !important; background: #fff !important; }
	body.home .bs-home-hero__media { position: relative !important; inset: auto !important; height: auto !important; aspect-ratio: 4 / 5; }
	body.home .bs-home-hero__media::before, body.home .bs-home-hero__media::after { display: none !important; }
	body.home .bs-home-hero__in { position: relative; padding-block: var(--bs-s8) var(--bs-s10) !important; }
	body.home .bs-home-hero__txt :is(h1, .bs-display) { color: var(--bs-fg) !important; }
	body.home .bs-home-hero__txt .bs-lead { color: var(--bs-fg-muted) !important; }
	body.home .bs-home-hero__txt .bs-eyebrow { color: var(--bs-fg-muted) !important; }
	body.home .bs-home-hero__txt .bs-btn--white { border: 1px solid var(--bs-fg) !important; }
	body.home .bs-home-atajos a { border-color: var(--bs-line-strong, #C9CEDA); color: var(--bs-fg); }
	body.home .bs-home-atajos { flex-wrap: nowrap; overflow-x: auto; margin-inline: calc(-1 * var(--bs-margin)); padding-inline: var(--bs-margin); scrollbar-width: none; }
	body.home .bs-home-atajos li { flex: none; }
}
/* Foto a mitad de la entrada (.bs-fig-mitad): rompe la lectura, en la misma columna que el texto (Pepe, 03/11) */
.bs-article__body > .bs-fig-mitad { margin: var(--bs-s12) 0 !important; }
.bs-article__body > .bs-fig-mitad img { display: block; width: 100%; height: auto; max-height: 560px; object-fit: cover; border-radius: var(--bs-radius, 4px); }
.bs-article__body > .bs-fig-mitad figcaption { margin-top: var(--bs-s3); font-size: var(--bs-caption); color: var(--bs-fg-muted); }
@media (max-width: 767.98px) {
	body.home .bs-home-hero__media { width: 100% !important; flex: none; }
	body.home .bs-home-hero__media .bs-home-hero__poster { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }
	body.home .bs-home-hero__in { background: #fff !important; }
	body.home .bs-home-hero { background-image: none !important; }
}
@media (max-width: 767.98px) { body.home .bs-home-hero::before, body.home .bs-home-hero::after, body.home .bs-home-hero__media::before, body.home .bs-home-hero__media::after, body.home .bs-home-hero__pic::after { content: none !important; display: none !important; background: none !important; } }
/* ── Calculadora del gasto en agua embotellada (Calculated Fields Form): texto a la izquierda y el formulario en tarjeta;
      las opciones como filas pulsables con raya, en lugar de interruptores ── */
.bs-calc-sec { padding-block: var(--bs-s16) var(--bs-s24); }
.bs-calc-pag { display: grid; gap: var(--bs-s10); align-items: start; }
@media (min-width: 900px) {
	.bs-calc-pag { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); }
	.bs-calc-pag__txt { grid-column: 1 / span 5; position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s8)); }
	.bs-calc-pag__form { grid-column: 7 / span 6; }
}
.bs-calc-pag__txt h1 { margin: var(--bs-s5) 0; font-size: clamp(34px, 4vw, 52px); line-height: 1.05; }
.bs-calc-pag__form .cp_cff_minimalist, .bs-calc-pag__form form { font-family: inherit !important; }
.bs-calc-pag__form :is(.fields, .pbreak, fieldset) { margin: 0 0 var(--bs-s6) !important; padding: 0 !important; border: 0 !important; background: none !important; }
.bs-calc-pag__form label:first-child, .bs-calc-pag__form .fields > label { display: block; margin-bottom: var(--bs-s3); font-weight: 600; font-size: 16px; color: var(--bs-fg); }
.bs-calc-pag__form .dfield > div:has(input[type="radio"]), .bs-calc-pag__form .dfield > div:has(input[type="checkbox"]) { display: block; margin: 0 !important; border-bottom: 1px solid var(--bs-line); }
.bs-calc-pag__form .dfield > div:has(input[type="radio"]):first-child { border-top: 1px solid var(--bs-line); }
.bs-calc-pag__form .dfield label:has(input[type="radio"]), .bs-calc-pag__form .dfield label:has(input[type="checkbox"]) { display: flex !important; align-items: center; gap: var(--bs-s3); padding: 10px 0; font-weight: 400 !important; font-size: 15px; cursor: pointer; }
.bs-calc-pag__form input[type="radio"], .bs-calc-pag__form input[type="checkbox"] { appearance: none; -webkit-appearance: none; flex: none; width: 18px !important; height: 18px !important; margin: 0 !important; border: 1.2px solid var(--bs-field, #80869A) !important; border-radius: 50% !important; background: #fff !important; box-shadow: none !important; }
.bs-calc-pag__form input[type="radio"]::before, .bs-calc-pag__form input[type="radio"]::after, .bs-calc-pag__form input[type="checkbox"]::before, .bs-calc-pag__form input[type="checkbox"]::after { display: none !important; }
.bs-calc-pag__form input[type="radio"]:checked { border-color: var(--bs-fg) !important; background: var(--bs-fg) !important; box-shadow: inset 0 0 0 4px #fff !important; }
.bs-calc-pag__form .dfield label:has(input:checked) { color: var(--bs-fg); font-weight: 600 !important; }
.bs-calc-pag__form :is(input[type="submit"], input[type="button"], button, .pbSubmit) { min-height: var(--bs-control, 48px); padding: 0 22px !important; border: 0 !important; border-radius: var(--bs-radius, 4px) !important; background: var(--bs-accent) !important; color: #fff !important; font-weight: 600; text-transform: none !important; cursor: pointer; }
/* Megamenú Ayuda (Pepe, 03/11): sin la franja de abajo («Te asesoramos antes de comprar» y «Centro de ayuda», que repetía Soporte posventa) */
body.bs-tema #header-outer #bm-p-help .bs-mega__foot { display: none !important; }
body.bs-tema #header-outer #bm-p-help .bs-mega__col { padding-bottom: 26px !important; }
/* Calculadora: los interruptores de CFF (.cff-switch) se sustituyen por una casilla del sistema */
.bs-calc-pag__form .cff-switch { display: none !important; }
.bs-calc-pag__form .cff-switch-container input[type="checkbox"] { position: static !important; opacity: 1 !important; width: 18px !important; height: 18px !important; appearance: none; -webkit-appearance: none; border: 1.2px solid var(--bs-field, #80869A) !important; border-radius: 3px !important; background: #fff !important; }
.bs-calc-pag__form .cff-switch-container input[type="checkbox"]:checked { border-color: var(--bs-fg) !important; background: var(--bs-fg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='white' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 8.5l3 3 6-7'/%3E%3C/svg%3E") center / 12px no-repeat !important; }
.bs-calc-pag__form .dfield .one_column { margin: 0 !important; border-bottom: 1px solid var(--bs-line); }
.bs-calc-pag__form .dfield .one_column:first-child { border-top: 1px solid var(--bs-line); }
.bs-calc-pag__form .dfield .one_column label { display: flex !important; align-items: center; gap: var(--bs-s3); padding: 10px 0 !important; font-size: 15px !important; font-weight: 400 !important; cursor: pointer; }
.bs-calc-pag__form .fields > label { font-size: 16px !important; font-weight: 600 !important; margin-bottom: var(--bs-s3) !important; }
body.bs-tema .bs-calc-pag__form .cff-switch-container .dfield input.field[type="checkbox"], body.bs-tema .bs-calc-pag__form .dfield input.field[type="radio"] {
	display: inline-block !important; visibility: visible !important; opacity: 1 !important; position: static !important; clip: auto !important; clip-path: none !important;
	flex: none; width: 18px !important; height: 18px !important; min-width: 18px; margin: 0 !important; transform: none !important;
}
/* Calculadora: CFF oculta sus casillas con display:none; se recuperan */
html body.bs-tema .bs-calc-pag__form .dfield input.field:is([type="checkbox"], [type="radio"]) { display: inline-block !important; appearance: none !important; -webkit-appearance: none !important; border: 1.2px solid #80869A !important; background-color: #fff !important; }
html body.bs-tema .bs-calc-pag__form .dfield input.field[type="checkbox"]:checked { border-color: var(--bs-fg) !important; background-color: var(--bs-fg) !important; }
.bs-calc-pag__form #fbuilder .cff-switch-container input:is([type="checkbox"], [type="radio"]) { display: inline-block !important; }
/* Portada (Pepe, 03/11): solo dos botones; los accesos, como enlaces de texto con flecha, separados de los botones */
body.home .bs-home-atajos { gap: var(--bs-s2) var(--bs-s6) !important; margin-top: var(--bs-s8) !important; }
body.home .bs-home-atajos a { min-height: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; color: #fff !important; font-size: 15px !important; font-weight: 600; text-decoration: underline; text-decoration-thickness: 1px; text-underline-offset: .3em; text-decoration-color: rgba(255, 255, 255, .45); }
body.home .bs-home-atajos a::after { content: " →"; text-decoration: none; display: inline-block; margin-left: .25em; }
body.home .bs-home-atajos a:is(:hover, :focus-visible) { text-decoration-color: #fff; }
@media (max-width: 767.98px) {
	body.home .bs-home-atajos { margin-top: var(--bs-s6) !important; flex-wrap: wrap !important; overflow: visible !important; margin-inline: 0 !important; padding-inline: 0 !important; }
	body.home .bs-home-atajos a { color: var(--bs-accent) !important; text-decoration-color: color-mix(in srgb, var(--bs-accent) 45%, transparent); }
}
/* Franja de confianza de la portada: las cinco señales en una sola línea en escritorio */
@media (min-width: 1100px) {
	body.home .bs-home-trustbar .bs-trust { display: flex !important; flex-wrap: nowrap !important; justify-content: space-between; gap: var(--bs-s5) !important; }
	body.home .bs-home-trustbar .bs-trust li { flex: 0 1 auto; white-space: nowrap; font-size: 15px !important; }
	body.home .bs-home-trustbar .bs-trust li svg { width: 24px !important; height: 24px !important; }
}
/* ── Calculadora de gasto en agua embotellada (bloque bs/calculadora) ── */
.bs-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.bs-calc fieldset { min-width: 0; }
.bs-calc select { width: 100%; max-width: 100%; min-width: 0; text-overflow: ellipsis; }
.bs-calc { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--bs-s10); align-items: start; }
@media (min-width: 1000px) { .bs-calc { grid-template-columns: minmax(0, 6fr) minmax(0, 5fr); column-gap: var(--bs-s16); } .bs-calc__res { position: sticky; top: calc(var(--bs-nav-h, 72px) + var(--bs-s6)); } }
.bs-calc__paso { margin: 0 0 var(--bs-s10); padding: var(--bs-s4) 0 0; border: 0; border-top: 1px solid var(--bs-fg); }
.bs-calc__paso legend { display: flex; align-items: center; gap: var(--bs-s3); padding: 0 0 var(--bs-s5); font-size: 22px; font-weight: 600; color: var(--bs-fg); }
.bs-calc__n { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--bs-fg); color: #fff; font-size: 14px; }
.bs-calc__nums { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bs-s4); }
.bs-calc__nums > label { display: grid; gap: var(--bs-s2); font-size: 15px; font-weight: 600; color: var(--bs-fg); }
.bs-calc__step { display: grid; grid-template-columns: 44px 1fr 44px; height: 48px; border: 1px solid var(--bs-field, #80869A); border-radius: var(--bs-radius, 4px); overflow: hidden; }
.bs-calc__step button { border: 0; background: #fff; color: var(--bs-fg); font-size: 22px; cursor: pointer; }
.bs-calc__step button:hover { background: #F0F2F6; }
.bs-calc__step input { width: 100%; min-width: 0; border: 0 !important; border-inline: 1px solid var(--bs-line) !important; text-align: center; font-size: 18px; font-weight: 600; -moz-appearance: textfield; }
.bs-calc__step input::-webkit-inner-spin-button, .bs-calc__step input::-webkit-outer-spin-button { -webkit-appearance: none; }
.bs-calc__chks { display: grid; margin-top: var(--bs-s6); border-top: 1px solid var(--bs-line); }
.bs-calc__chks label, .bs-calc__formato { display: flex; align-items: center; gap: var(--bs-s3); padding: 12px 0; border-bottom: 1px solid var(--bs-line); font-size: 16px; cursor: pointer; }
.bs-calc input[type="checkbox"], .bs-calc input[type="radio"] { width: 18px; height: 18px; accent-color: var(--bs-fg); flex: none; }
.bs-calc__formatos { display: grid; border-top: 1px solid var(--bs-line); }
.bs-calc__formato:has(input:checked) span { font-weight: 600; }
.bs-calc__marca { display: grid; gap: var(--bs-s2); margin-top: var(--bs-s6); font-size: 15px; font-weight: 600; }
.bs-calc__marca select { height: 48px; padding: 0 var(--bs-s4); border: 1px solid var(--bs-field, #80869A); border-radius: var(--bs-radius, 4px); background: #fff; font-size: 16px; }
.bs-calc__nota { margin: var(--bs-s3) 0 0; font-size: var(--bs-caption); color: var(--bs-fg-muted); }
.bs-calc__res { padding: var(--bs-s8); border: 1px solid var(--bs-line); border-top: 2px solid var(--bs-fg); border-radius: var(--bs-radius, 4px); background: #fff; }
.bs-calc__grande { margin: var(--bs-s3) 0 var(--bs-s5); }
.bs-calc__grande b { font-size: clamp(44px, 5vw, 64px); font-weight: 500; letter-spacing: -.03em; line-height: 1; font-variant-numeric: tabular-nums; }
.bs-calc__grande span { font-size: 18px; color: var(--bs-fg-muted); }
.bs-calc__cifras, .bs-calc__extra { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--bs-s4); margin: 0 0 var(--bs-s6); padding: var(--bs-s4) 0; list-style: none; border-top: 1px solid var(--bs-line); border-bottom: 1px solid var(--bs-line); }
.bs-calc__cifras li, .bs-calc__extra li { display: grid; gap: 2px; align-content: start; margin: 0; }
.bs-calc__cifras span, .bs-calc__extra span { font-size: var(--bs-caption); color: var(--bs-fg-muted); }
.bs-calc__cifras b, .bs-calc__extra b { font-size: 20px; font-weight: 600; font-variant-numeric: tabular-nums; }
.bs-calc__ahorro { margin: 0 0 var(--bs-s6); padding: var(--bs-s5); border-radius: var(--bs-radius, 4px); background: #F0F2F6; }
.bs-calc__ahorro:not(.bs-calc__ahorro--bajo) { padding: var(--bs-s8) var(--bs-s6); background: var(--bs-fg); color: #fff; }
.bs-calc__ahorro:not(.bs-calc__ahorro--bajo) .bs-calc__ahorro-t { margin: 0; font-size: 13px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.75); }
.bs-calc__ahorro-cifra { display: flex; flex-wrap: wrap; align-items: baseline; gap: 0 var(--bs-s3); margin: var(--bs-s3) 0 var(--bs-s2); line-height: 1; }
.bs-calc__ahorro-cifra b { font-size: clamp(48px, 6vw, 72px); font-weight: 600; letter-spacing: -0.02em; font-variant-numeric: tabular-nums; color: #fff; }
.bs-calc__ahorro-cifra .bs-calc__ahorro-v { font-size: clamp(34px, 4vw, 48px); font-weight: 600; letter-spacing: -0.01em; color: #fff; }
.bs-calc__ahorro-plazo { margin: 0 0 var(--bs-s4); font-size: 22px; font-weight: 600; color: #fff; }
.bs-calc__ahorro:not(.bs-calc__ahorro--bajo) .bs-calc__ahorro-n { color: rgba(255,255,255,.78); }
.bs-calc__extra-t { margin: 0 0 var(--bs-s2); font-size: var(--bs-small); font-weight: 600; color: var(--bs-fg); }
.bs-calc__extra .bs-icon { width: 28px; height: 28px; margin-bottom: var(--bs-s2); stroke-width: 1.5; }
.bs-calc__extra b small { font-size: 14px; font-weight: 500; color: var(--bs-fg-muted); }
.bs-calc__extra b { font-size: 26px; line-height: 1.15; }
.bs-calc__extra b span { font-size: inherit; color: inherit; }
.bs-calc__ahorro-t { margin: 0 0 var(--bs-s2); font-size: 20px; font-weight: 600; color: var(--bs-fg); }
.bs-calc__ahorro-t b { font-size: 28px; }
.bs-calc__ahorro-n { margin: 0; font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-calc__comp { font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-calc__como { margin: var(--bs-s4) 0; font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-calc__como summary { cursor: pointer; font-weight: 600; color: var(--bs-fg); }
.bs-calc__cta .bs-btn { width: 100%; justify-content: center; }
.bs-calc__mail { margin-top: var(--bs-s8); padding-top: var(--bs-s5); border-top: 1px solid var(--bs-line); }
.bs-calc__mail-t { margin: 0 0 var(--bs-s2); font-size: 18px; font-weight: 600; }
.bs-calc__mail-n { margin: 0 0 var(--bs-s4); font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-calc__mail-campos { display: grid; grid-template-columns: 1fr 1fr; gap: var(--bs-s3); margin-bottom: var(--bs-s3); }
.bs-calc__mail-campos label { display: grid; gap: 4px; font-size: 14px; font-weight: 600; }
.bs-calc__mail-campos input { height: 44px; padding: 0 12px; border: 1px solid var(--bs-field, #80869A); border-radius: var(--bs-radius, 4px); }
.bs-calc__acepto { display: flex; gap: var(--bs-s2); align-items: flex-start; margin: 0 0 var(--bs-s3); font-size: 13px; color: var(--bs-fg-muted); }
.bs-calc__acepto input { margin-top: 2px; }
.bs-calc__mail-ok, .bs-news__ok { margin: var(--bs-s3) 0 0; padding: var(--bs-s3) var(--bs-s4); border-left: 3px solid var(--bs-ok, #187E45); font-size: 15px; }
.bs-calc__mail-ok.is-error { border-left-color: var(--bs-error, #C62828); }
@media (max-width: 599.98px) { .bs-calc__extra { grid-template-columns: 1fr; } .bs-calc__extra li { grid-template-columns: 36px 1fr; column-gap: var(--bs-s3); } .bs-calc__extra .bs-icon { grid-row: span 2; margin: 2px 0 0; } }
@media (max-width: 599.98px) { .bs-calc__nums, .bs-calc__mail-campos { grid-template-columns: 1fr; } .bs-calc__cifras { grid-template-columns: 1fr 1fr; } .bs-calc__res { padding: var(--bs-s5); } }
/* Newsletter en el pie */
.bs-news { margin: var(--bs-s6) 0; padding-top: var(--bs-s5); border-top: 1px solid var(--bs-line); max-width: 380px; }
.bs-news__t { display: block; font-weight: 600; font-size: 16px; color: var(--bs-fg); }
.bs-news__n { margin: 4px 0 var(--bs-s3); font-size: var(--bs-small); color: var(--bs-fg-muted); }
.bs-news__fila { display: flex; gap: var(--bs-s2); }
.bs-news__fila input { flex: 1; min-width: 0; height: 44px; padding: 0 12px; border: 1px solid var(--bs-field, #80869A); border-radius: var(--bs-radius, 4px); }
.bs-news__fila .bs-btn { height: 44px; padding: 0 16px; }
.bs-news__legal { margin: var(--bs-s2) 0 0; font-size: 12px; color: var(--bs-fg-muted); }
/* Recordatorio del cálculo */
.bs-calc-aviso { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bs-s2) var(--bs-s5); max-width: var(--bs-container); margin: var(--bs-s4) auto 0; padding: var(--bs-s3) var(--bs-margin); box-sizing: content-box; font-size: 15px; }
.bs-calc-aviso p { margin: 0; }
.bs-calc-aviso a { font-weight: 600; color: var(--bs-accent); }
.bs-calc-aviso button { margin-left: auto; border: 0; background: none; font-size: 20px; color: var(--bs-fg-muted); cursor: pointer; }
/* Megamenú Beber Salud (Pepe, 03/11): sin la franja de abajo (empresa y «Conócenos», que repetía Nosotros), miniaturas más
   pequeñas y foto del destacado más baja para que el panel sea menos alto */
body.bs-tema #header-outer #bm-p-us .bs-mega__foot { display: none !important; }
body.bs-tema #header-outer #bm-p-us .bs-mega__col { padding-bottom: 26px !important; }
body.bs-tema #header-outer #bm-p-us .bs-mega__item { grid-template-columns: 56px 1fr !important; padding-block: 6px !important; }
body.bs-tema #header-outer #bm-p-us .bs-mega__item :is(img, .bs-media, .bs-pshot__frame) { width: 56px !important; height: 56px !important; aspect-ratio: 1 !important; object-fit: cover; }
body.bs-tema #header-outer #bm-p-us .bs-mega__feat .bs-media { aspect-ratio: 16 / 9 !important; max-height: 150px; }
body.bs-tema #header-outer #bm-p-us .bs-mega__rating .bs-num { font-size: 44px !important; }
/* Cabecera de la página de la calculadora: texto a la izquierda y foto a la derecha */
.bs-calc-cab { padding-block: var(--bs-s12) 0; }
.bs-calc-cab__in { display: grid; gap: var(--bs-s8); align-items: center; }
@media (min-width: 900px) { .bs-calc-cab__in { grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--bs-gutter); } .bs-calc-cab__txt { grid-column: 1 / span 5; } .bs-calc-cab__foto { grid-column: 7 / span 6; } }
.bs-calc-cab__txt h1 { margin: var(--bs-s5) 0; font-size: clamp(36px, 4.4vw, 56px); line-height: 1.04; }
.bs-calc-cab__foto { margin: 0; }
.bs-calc-cab__foto img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--bs-radius, 4px); }
.bs-calc-sec { padding-block: var(--bs-s12) var(--bs-s24) !important; }

/* Llamada a la calculadora (inc/calc-promo.php) */
.bs-calc-promo__nums { display: flex; flex-wrap: wrap; gap: var(--bs-s2); margin: 0; padding: 0; list-style: none; }
.bs-calc-promo__nums li { margin: 0; }
.bs-calc-promo__nums a { display: grid; place-items: center; min-width: 48px; height: 48px; padding: 0 var(--bs-s3); border: 1px solid var(--bs-line-strong); border-radius: var(--bs-radius, 4px); background: #fff; font-size: 17px; font-weight: 600; color: var(--bs-fg); text-decoration: none; transition: border-color .2s, color .2s, background .2s; }
.bs-calc-promo__nums a:hover, .bs-calc-promo__nums a:focus-visible { border-color: var(--bs-accent); color: #fff; background: var(--bs-accent); }
.bs-calc-promo__t { margin: var(--bs-s2) 0 var(--bs-s3); font-weight: 600; color: var(--bs-fg); }
.bs-calc-promo__n { margin: 0 0 var(--bs-s5); color: var(--bs-fg-muted); }
.bs-calc-promo__q { margin: 0 0 var(--bs-s2); font-size: var(--bs-small); font-weight: 600; color: var(--bs-fg); }
.bs-calc-promo--banda { margin: var(--bs-s16) auto; max-width: var(--bs-wide, 1240px); padding: 0 var(--bs-gutter, 20px); }
.bs-calc-promo--banda .bs-calc-promo__in { display: grid; gap: var(--bs-s8); align-items: center; padding: var(--bs-s8); border-radius: var(--bs-radius, 4px); background: #F0F2F6; }
.bs-calc-promo--banda .bs-calc-promo__img { display: block; width: 100%; height: auto; aspect-ratio: 3 / 2; object-fit: cover; border-radius: var(--bs-radius, 4px); }
.bs-calc-promo--banda .bs-calc-promo__t { font-size: clamp(26px, 3vw, 36px); line-height: 1.15; letter-spacing: -0.01em; }
@media (min-width: 900px) { .bs-calc-promo--banda .bs-calc-promo__in { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: var(--bs-s12); padding: var(--bs-s10); } }
.bs-calc-promo--tarjeta { margin: var(--bs-s10) 0; padding: var(--bs-s6); border: 1px solid var(--bs-line); border-left: 3px solid var(--bs-accent); border-radius: var(--bs-radius, 4px); background: #F7F8FA; }
.bs-calc-promo--tarjeta .bs-calc-promo__t { font-size: 22px; line-height: 1.25; }
.bs-calc-promo--tarjeta .bs-calc-promo__n { font-size: var(--bs-small); }
.bs-calc-promo .bs-calc-promo__nums a { color: var(--bs-fg); text-decoration: none; background-image: none; }
.bs-calc-promo .bs-calc-promo__nums a:hover, .bs-calc-promo .bs-calc-promo__nums a:focus-visible { color: #fff; }
.bs-calc-promo .bs-calc-promo__nums a::after { content: none !important; display: none !important; }
.bs-calc-promo--tarjeta .bs-eyebrow { margin: 0; font-size: 11px; }
/* En las plantillas del plugin, sus reseteos de párrafos pisaban los márgenes */
body .bs-calc-promo p.bs-calc-promo__t { margin: var(--bs-s2) 0 var(--bs-s3); }
body .bs-calc-promo p.bs-calc-promo__n { margin: 0 0 var(--bs-s5); }
body .bs-calc-promo p.bs-calc-promo__q { margin: 0 0 var(--bs-s2); }
body .bs-calc-promo p.bs-calc-promo__cta { margin: var(--bs-s5) 0 0; }
body .bs-calc-promo h2.bs-calc-promo__t { margin: var(--bs-s3) 0 var(--bs-s4); }
/* «¿Cómo prefieres que te atendamos?» (Quform, radios): en línea, sin cajas, también sobre fondo oscuro */
:is(.bs-pie__form, .bs-contacto__form) .quform-input-radio .quform-options { display: flex !important; flex-wrap: wrap; gap: var(--bs-s2) var(--bs-s6); }
:is(.bs-pie__form, .bs-contacto__form) .quform-input-radio .quform-option { display: flex; align-items: center; gap: var(--bs-s2); margin: 0 !important; float: none !important; }
:is(.bs-pie__form, .bs-contacto__form) .quform-input-radio .quform-option-label { border: 0 !important; padding: 0 !important; background: none !important; box-shadow: none !important; font-size: 15px; cursor: pointer; }
.bs-pie__form .quform-input-radio .quform-option-label { color: #fff !important; }
:is(.bs-pie__form, .bs-contacto__form) .quform-input-radio input[type=radio] { width: 18px; height: 18px; margin: 0; accent-color: var(--bs-accent); }
html body :is(#te-llamamos, .bs-contacto) .quform-input-radio .quform-option .quform-option-label { border: 0 !important; outline: 0 !important; padding: 0 !important; background: none !important; }
html body :is(#te-llamamos, .bs-contacto) .quform-input-radio .quform-options { padding-left: 0 !important; margin-left: 0 !important; }

/* Reseñas de la home en carrusel con efecto de escritura (assets/js/resenas.js), sistema V2:
   líneas y no cajas, cita grande en marino, radio 4 px solo en lo que se pulsa, sin sombras ni círculos, a la izquierda. */
.bs-rv { max-width: 920px; margin: var(--bs-s8) 0 0; padding: var(--bs-s8) 0 var(--bs-s6); border-top: 1px solid var(--bs-fg); border-bottom: 1px solid var(--bs-line); }
.bs-rv__est { display: flex; align-items: center; gap: var(--bs-s2); margin: 0 0 var(--bs-s5); font-size: 12px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; color: var(--bs-fg-muted); }
.bs-rv__puntos { display: none; gap: 4px; }
.bs-rv__puntos i { width: 4px; height: 4px; background: var(--bs-fg); animation: bs-rv-punto 1.2s infinite cubic-bezier(.2,.8,.2,1); }
.bs-rv__puntos i:nth-child(2) { animation-delay: .15s; } .bs-rv__puntos i:nth-child(3) { animation-delay: .3s; }
.bs-rv.is-escribiendo .bs-rv__puntos { display: inline-flex; }
.bs-rv__txt { max-width: 32ch; min-height: calc(4 * 1.25em); margin: 0; font-size: clamp(24px, 2.6vw, 32px); line-height: 1.25; letter-spacing: -.015em; font-weight: 500; color: var(--bs-fg); }
.bs-rv.is-tecleando .bs-rv__txt::after { content: ""; display: inline-block; width: 2px; height: .95em; margin-left: 3px; vertical-align: -.1em; background: var(--bs-fg); animation: bs-rv-cursor .8s steps(1) infinite; }
.bs-rv__pie { display: flex; flex-wrap: wrap; align-items: baseline; gap: var(--bs-s3); margin: var(--bs-s5) 0 0; font-size: var(--bs-small); color: var(--bs-fg-muted); opacity: 0; transition: opacity .7s cubic-bezier(.2,.8,.2,1); }
.bs-rv__pie .bs-stars { color: #FBBC04; letter-spacing: .12em; } /* amarillo de Google (Pepe, 04/11) */
.bs-rv__visto { letter-spacing: -2px; color: var(--bs-fg-muted); }
.bs-rv.is-listo .bs-rv__pie { opacity: 1; }
.bs-rv__nav { display: flex; flex-wrap: wrap; align-items: center; gap: var(--bs-s4) var(--bs-s6); margin-top: var(--bs-s8); }
.bs-rv__lista { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: var(--bs-s2); flex: 1 1 360px; }
.bs-rv__seg { display: grid; gap: var(--bs-s2); min-height: 44px; padding: var(--bs-s2) 0 0; border: 0; background: none; text-align: left; cursor: pointer; color: var(--bs-fg-muted); }
.bs-rv__n { font-size: 12px; font-weight: 600; letter-spacing: .08em; font-variant-numeric: tabular-nums; }
.bs-rv__barra { position: relative; display: block; height: 2px; background: var(--bs-line); }
.bs-rv__barra i { position: absolute; inset: 0 auto 0 0; width: 0; background: var(--bs-fg); }
.bs-rv__seg[aria-current="true"], .bs-rv__seg:hover { color: var(--bs-fg); }
.bs-rv__seg:focus-visible { outline: 2px solid var(--bs-accent); outline-offset: 2px; }
.bs-rv__pausa { min-height: 40px; padding: 0 var(--bs-s4); border: 1px solid var(--bs-line-strong); border-radius: var(--bs-radius, 4px); background: #fff; font: 600 14px/1 inherit; color: var(--bs-fg); cursor: pointer; transition: border-color 160ms cubic-bezier(.2,.8,.2,1); }
.bs-rv__pausa:hover { border-color: var(--bs-fg); }
@keyframes bs-rv-cursor { 50% { opacity: 0; } }
@keyframes bs-rv-punto { 0%, 60%, 100% { transform: translateY(0); opacity: .35; } 30% { transform: translateY(-3px); opacity: 1; } }
@media (max-width: 599.98px) { .bs-rv { padding-top: var(--bs-s6); } .bs-rv__txt { min-height: calc(6 * 1.25em); } .bs-rv__lista { flex-basis: 100%; } }
@media (prefers-reduced-motion: reduce) { .bs-rv__puntos i, .bs-rv.is-tecleando .bs-rv__txt::after { animation: none; } .bs-rv__pie { transition: none; } }
.bs-reviews[hidden] { display: none !important; }
#opiniones .bs-rbadge .bs-stars { color: #FBBC04; }

/* Portada en carrusel (plugin, 04/11): en el móvil cada diapositiva es foto 4:5 arriba y texto debajo sobre blanco,
   como la portada fija aprobada; la barra de accesos, puntos y pausa va debajo, en marino. */
@media (max-width: 767.98px) {
	body.home .bs-home-hero--slider .bs-home-slide { display: flex; flex-direction: column; align-items: stretch; min-height: 0; background: #fff; }
	body.home .bs-home-hero--slider .bs-home-slide .bs-home-hero__media { position: relative !important; inset: auto !important; width: 100% !important; height: auto !important; aspect-ratio: 4 / 5; }
	body.home .bs-home-hero--slider .bs-home-slide__img { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; object-fit: cover; }
	body.home .bs-home-hero--slider .bs-home-slide .bs-home-hero__in { padding: var(--bs-s8) var(--bs-margin, 16px) var(--bs-s6) !important; background: #fff !important; }
	body.home .bs-home-hero--slider .bs-home-hero__bar { position: static !important; display: grid; gap: var(--bs-s4); padding: 0 var(--bs-margin, 16px) var(--bs-s10); background: #fff; }
	body.home .bs-home-hero--slider .bs-home-dot::before { background: var(--bs-line-strong, #C9CEDA); }
	body.home .bs-home-hero--slider .bs-home-dot[aria-current="true"]::before, body.home .bs-home-hero--slider .bs-home-dot:hover::before { background: var(--bs-fg); }
	body.home .bs-home-hero--slider .bs-home-pausa { border-color: var(--bs-line-strong, #C9CEDA); }
	body.home .bs-home-hero--slider .bs-home-pausa span { border-left-color: var(--bs-fg); border-right-color: var(--bs-fg); }
	body.home .bs-home-hero--slider .bs-home-pausa.is-paused span { border-right-color: transparent; }
	body.home .bs-home-hero--slider :is(.bs-home-dot, .bs-home-pausa):focus-visible { outline-color: var(--bs-accent); }
}

/* Puntitos clásicos debajo de los carruseles de la portada (Pepe, 04/11): uno por diapositiva, relleno el que se ve. */
body.home .bs-home-dot::before { left: 50%; right: auto; top: 50%; width: 10px; height: 10px; margin: -5px 0 0 -5px; border-radius: 50%; background: rgba(255, 255, 255, .45); }
body.home .bs-home-dot[aria-current="true"]::before { background: #fff; transform: scale(1.2); }
@media (max-width: 767.98px) {
	body.home .bs-home-hero--slider .bs-home-dot::before { background: var(--bs-line-strong, #C9CEDA); }
	body.home .bs-home-hero--slider .bs-home-dot[aria-current="true"]::before { background: var(--bs-fg); }
}
.bs-rv__lista { display: flex; flex: 1 1 auto; gap: var(--bs-s1, 4px); }
.bs-rv__seg { display: grid; place-items: center; width: 32px; min-height: 32px; padding: 0; }
.bs-rv__n { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.bs-rv__barra { width: 10px; height: 10px; border-radius: 50%; background: var(--bs-line-strong, #C9CEDA); overflow: hidden; }
.bs-rv__barra i { display: none; }
.bs-rv__seg[aria-current="true"] .bs-rv__barra { background: var(--bs-fg); transform: scale(1.2); }
.bs-rv__seg:hover .bs-rv__barra { background: var(--bs-fg-muted); }
/* El encuadre de cada diapositiva (--pos / --pos-m en línea) debe ganar a «.bs-home-hero__media img» de home.css */
.bs-home-hero__media img.bs-home-slide__img { object-position: var(--pos, center); }
@media (max-width: 767.98px) { .bs-home-hero__media img.bs-home-slide__img { object-position: var(--pos-m, var(--pos, center)); } }
/* Estrellas al terminar de escribir: más grandes y separadas del texto (Pepe, 04/11) */
.bs-rv__pie { margin-top: var(--bs-s8) !important; row-gap: var(--bs-s2); }
.bs-rv__pie .bs-stars { font-size: 24px; line-height: 1; letter-spacing: .1em; }
@media (max-width: 599.98px) { .bs-rv__pie { margin-top: var(--bs-s6) !important; } .bs-rv__pie .bs-stars { font-size: 22px; flex-basis: 100%; } }
.bs-rv--muro { margin: 0 0 var(--bs-s16); }
/* Franja «Bienestar día tras día» con la foto de la mujer: encuadre alto para que no corte la cabeza */
.bs-band--lateral img { object-position: 70% 12% !important; }
/* Pie «¿Te llamamos…?» (04/11): la preferencia de contacto en su propia fila, pregunta y opciones en línea y alineadas a la izquierda */
html body :is(#te-llamamos, .bs-contacto) .quform-input-radio .quform-options { display: flex !important; flex-direction: row !important; flex-wrap: wrap; gap: var(--bs-s2) 0; }
html body :is(#te-llamamos, .bs-contacto) .quform-input-radio .quform-option { display: flex !important; align-items: center; gap: var(--bs-s2); width: auto !important; margin: 0 var(--bs-s6) 0 0 !important; padding: 0 !important; float: none !important; }
html body :is(#te-llamamos, .bs-contacto) .quform-input-radio .quform-options > :not(.quform-option) { display: none !important; }
@media (min-width: 700px) {
	html body #te-llamamos .quform-element-radio { grid-column: 1 / -1 !important; grid-row: 2 !important; display: flex !important; flex-wrap: wrap; align-items: center; gap: var(--bs-s2) 0; }
	html body #te-llamamos .quform-element-radio :is(.quform-spacer, .quform-inner) { display: contents !important; }
	html body #te-llamamos .quform-element-radio .quform-label-text { margin: 0 var(--bs-s6) 0 0; }
}

/* Infografías de los artículos a todo el ancho (inc/compat.php añade alignwide + bs-infografia) */
.bs-article__body > figure.wp-block-image.bs-infografia { margin-block: var(--bs-s8); }
.bs-article__body > figure.wp-block-image.bs-infografia img { width: 100%; height: auto; }
/* Fotos intermedias de los artículos a todo el ancho del cuerpo, texto + columna derecha (Pepe, 04/11) */
.bs-article__body > :is(figure.wp-block-image.bs-foto-ancha, .bs-fig-mitad) { grid-column: 1 / -1; margin-block: var(--bs-s10); }
.bs-article__body > figure.wp-block-image.bs-foto-ancha img { width: 100%; height: auto; border-radius: var(--bs-r-sm); }

/* Tablas apiladas en móvil (04/11, sustituye al plugin Make Tables Responsive). inc/compat.php marca .bs-tabla-apilada
   las de 3 columnas o más y pone en cada celda el título de su columna (data-label). Por debajo de 640 px cada fila es un
   bloque: la primera celda hace de título y las demás llevan encima su columna en pequeño. En las comparativas, la
   columna de la marca (2.ª) conserva la raya de acento. Las de 2 columnas siguen como tabla, con scroll si no caben. */
@media (max-width: 640px) {
	body table.bs-tabla-apilada, body table.bs-tabla-apilada :is(tbody, tr, td, th) { display: block; width: auto !important; }
	body table.bs-tabla-apilada :is(thead, tr.bs-tabla-cab) { display: none; }
	body table.bs-tabla-apilada tr { padding: var(--bs-s4) 0; border-bottom: 1px solid var(--bs-line); }
	body table.bs-tabla-apilada tr :is(td, th) { padding: 4px 0 !important; border: 0 !important; box-shadow: none !important; background: none !important; font-size: 16px; }
	body table.bs-tabla-apilada tr > :first-child { padding-bottom: var(--bs-s2) !important; font-size: 17px; font-weight: 600; color: var(--bs-fg); }
	body table.bs-tabla-apilada tr > :not(:first-child)[data-label]::before { content: attr(data-label); display: block; margin-bottom: 2px; font-size: var(--bs-caption); font-weight: 600; line-height: 1.3; color: var(--bs-fg-muted); }
	body .is-style-comparativa table.bs-tabla-apilada tr > :nth-child(2), body table.bs-tabla-apilada :is(.is-us, .bs-si) { margin: 4px 0; padding-left: var(--bs-s3) !important; border-left: 2px solid var(--bs-accent) !important; color: var(--bs-fg); }
	:is(.bs-article__body, .bs-prosa, .entry-content) table:not(.bs-tabla-apilada) { display: block; max-width: 100%; overflow-x: auto; }
}
