/*
Theme Name: Norbio
Theme URI: https://www.norbio.es
Description: Tema de Norbio Analítica basado en Twenty Twenty-Five. Diseño a partir de la propuesta de Google Stitch (BioPrecision Studio), octubre de 2026.
Author: Norbio Analítica S.L.U.
Template: twentytwentyfive
Version: 1.5.3
Requires at least: 6.7
Requires PHP: 8.1
License: GNU General Public License v2 or later
Text Domain: norbio
*/

/* ---------- Base ---------- */
body {
	-webkit-font-smoothing: antialiased;
	overflow-wrap: break-word;
}
h1, h2, h3, h4 { hyphens: manual; overflow-wrap: break-word; }
:where(.wp-site-blocks) > main { margin-block-start: 0; }
.nb-dots {
	background-color: var(--wp--preset--color--lab);
	background-image: radial-gradient(rgba(90, 115, 40, 0.13) 1px, transparent 1px);
	background-size: 22px 22px;
}
.nb-section { padding-block: var(--wp--preset--spacing--60); }
.nb-section--subtle { background: var(--wp--preset--color--subtle); }
.nb-section--white { background: var(--wp--preset--color--base); }

/* Pequeños rótulos en mayúsculas */
.nb-eyebrow {
	font-size: 0.6875rem !important;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark);
	margin-bottom: 0.25rem !important;
}
.nb-lead { font-size: var(--wp--preset--font-size--large); color: var(--wp--preset--color--muted); }
.nb-muted { color: var(--wp--preset--color--muted); }
.nb-highlight { color: var(--wp--preset--color--primary-dark); }
.nb-underline {
	background: linear-gradient(transparent 88%, rgba(198, 146, 20, 0.45) 88%);
}

/* Chapas / etiquetas */
.nb-badges { gap: 0.5rem !important; }
.nb-badge {
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	margin: 0 !important;
	padding: 0.3rem 0.75rem;
	border-radius: 999px;
	font-size: 0.6875rem !important;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	background: #EDF3E3;
	color: var(--wp--preset--color--primary-dark);
}
.nb-badge::before {
	content: "";
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: #2E7D32;
}
.nb-badge--enac { background: var(--wp--preset--color--enac-bg); color: #8A6510; text-transform: none; letter-spacing: 0.02em; font-size: 0.75rem !important; }
.nb-badge--enac::before { background: var(--wp--preset--color--enac); }

/* ---------- Iconos (máscara SVG, sin fuentes externas) ---------- */
/* ::before dibuja el icono (máscara) y ::after el cuadrado de fondo, en la misma posición */
.nb-card[class*="nb-ic-"]::before,
.nb-feature[class*="nb-ic-"]::before {
	content: "";
	display: block;
	flex: none;
	width: 40px;
	height: 40px;
	-webkit-mask: var(--nb-ic) center / 20px 20px no-repeat;
	mask: var(--nb-ic) center / 20px 20px no-repeat;
}
.nb-card[class*="nb-ic-"],
.nb-feature[class*="nb-ic-"] { position: relative; }
.nb-card[class*="nb-ic-"]::after,
.nb-feature[class*="nb-ic-"]::after {
	content: "";
	position: absolute;
	width: 40px;
	height: 40px;
	border-radius: 8px;
	background: var(--wp--preset--color--subtle);
	z-index: 0;
}
.nb-card[class*="nb-ic-"]::before,
.nb-feature[class*="nb-ic-"]::before {
	position: relative;
	z-index: 1;
	background: var(--wp--preset--color--primary);
}
.nb-card[class*="nb-ic-"]::after { top: 1.5rem; left: 1.5rem; }
.nb-feature[class*="nb-ic-"]::after { top: 1rem; left: 1rem; }

/* ---------- Tarjetas ---------- */
.nb-card,
.nb-feature {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	padding: 1.5rem;
	height: 100%;
	box-sizing: border-box;
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.nb-card { display: flex; flex-direction: column; }
.nb-card > * { margin-block: 0 0.5rem; }
.nb-card > *, .nb-feature > * { position: relative; z-index: 1; }
.nb-card:hover {
	border-color: var(--wp--preset--color--sage);
	box-shadow: 0 10px 24px -12px rgba(47, 65, 30, 0.25);
	transform: translateY(-2px);
}
.nb-card h3 { font-size: 1.125rem; margin-top: 0.75rem; margin-bottom: 0.5rem; }
.nb-card p { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.nb-card .nb-card__tags {
	margin-top: auto;
	padding-top: 0.75rem;
	border-top: 1px solid var(--wp--preset--color--border);
	font-size: 0.75rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
}
.nb-card a { text-decoration: none; }
.nb-card .nb-card__link a::after,
.nb-link-arrow a::after { content: " →"; }
.nb-feature {
	display: flex;
	gap: 0.85rem;
	align-items: flex-start;
	padding: 1rem;
}
.nb-feature h3, .nb-feature h4 { font-size: 0.9375rem; margin: 0 0 0.2rem; }
.nb-feature p { font-size: 0.8125rem; margin: 0; color: var(--wp--preset--color--muted); }
.nb-feature > .wp-block-group { margin: 0; }

/* Tarjeta con foto (veterinario) */
.nb-photo-card {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 10px;
	overflow: hidden;
	height: 100%;
}
.nb-photo-card .wp-block-image { margin: 0; }
.nb-photo-card .wp-block-image img {
	width: 100%;
	aspect-ratio: 16 / 10;
	object-fit: cover;
	display: block;
}
.nb-photo-card > .wp-block-group { padding: 1.25rem; }
.nb-photo-card h3 { font-size: 1.0625rem; margin: 0 0 0.4rem; }
.nb-photo-card p { font-size: 0.875rem; color: var(--wp--preset--color--muted); }

/* Foto grande con texto superpuesto */
.nb-photo-hero {
	position: relative;
	border-radius: 12px;
	overflow: hidden;
	min-height: 320px;
}
.nb-photo-hero .wp-block-image { margin: 0; height: 100%; }
.nb-photo-hero .wp-block-image img {
	width: 100%;
	height: 100%;
	min-height: 320px;
	object-fit: cover;
	display: block;
}
.nb-photo-hero .nb-photo-hero__caption {
	position: absolute;
	inset: auto 0 0 0;
	padding: 3rem 1.5rem 1.5rem;
	margin: 0;
	background: linear-gradient(transparent, rgba(20, 28, 12, 0.85));
	color: #fff;
}
.nb-photo-hero .nb-photo-hero__caption * { color: #fff; margin: 0; }
.nb-photo-hero .nb-photo-hero__caption h2,
.nb-photo-hero .nb-photo-hero__caption h3 { font-size: clamp(1.15rem, 2.4vw, 1.6rem); margin-top: 0.4rem; }
.nb-photo-hero .nb-eyebrow { color: #DCEBB8; }

/* Panel verde oscuro */
.nb-panel-dark {
	background: var(--wp--preset--color--forest);
	color: #E9F0DD;
	border-radius: 12px;
	padding: 1.75rem;
	height: 100%;
	box-sizing: border-box;
}
.nb-panel-dark h2, .nb-panel-dark h3, .nb-panel-dark h4 { color: #fff; }
.nb-panel-dark .nb-eyebrow { color: #B9CF82; }
.nb-panel-dark a { color: #fff; }
.nb-panel-dark .wp-block-button__link {
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.25);
	width: 100%;
	text-align: left;
}
.nb-panel-dark .wp-block-button__link:hover { background: rgba(255, 255, 255, 0.2); }
.nb-panel-dark .wp-block-buttons { flex-direction: column; align-items: stretch; }

/* Cifras */
.nb-stats .wp-block-column { border-left: 3px solid var(--wp--preset--color--sage); padding-left: 1rem; }
.nb-stat { font-family: var(--wp--preset--font-family--heading); font-size: 2rem !important; font-weight: 700; line-height: 1; margin: 0 !important; color: var(--wp--preset--color--primary-dark); }
.nb-stat--enac { color: var(--wp--preset--color--enac); }
.nb-stat-label { font-size: 0.8125rem; color: var(--wp--preset--color--muted); margin-top: 0.35rem !important; }

/* Listas con check */
.nb-checks { list-style: none; padding-left: 0; }
.nb-checks li { position: relative; padding-left: 1.6rem; margin-bottom: 0.4rem; }
.nb-checks li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 0.3em;
	width: 1rem;
	height: 1rem;
	background: var(--wp--preset--color--primary);
	-webkit-mask: var(--nb-ic-check) center / contain no-repeat;
	mask: var(--nb-ic-check) center / contain no-repeat;
}
.nb-columns-list { columns: 2 220px; column-gap: 2rem; }
.nb-columns-list li { break-inside: avoid; }

/* Franja de descargas */
.nb-downloads {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 12px;
	padding: 1.25rem 1.5rem;
}
.nb-downloads .wp-block-button__link { font-size: 0.8125rem; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: var(--wp--preset--color--base);
	color: var(--wp--preset--color--primary-dark);
	border: 1px solid var(--wp--preset--color--border);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover {
	border-color: var(--wp--preset--color--primary);
	background: var(--wp--preset--color--subtle);
}

/* Bloque ENAC */
.nb-enac {
	background: var(--wp--preset--color--enac-bg);
	border: 1px solid #F1E3BC;
	border-radius: 12px;
	padding: clamp(1.5rem, 4vw, 2.5rem);
}
.nb-enac .nb-eyebrow { color: #8A6510; }
.nb-enac .wp-block-button__link { background: var(--wp--preset--color--enac); }
.nb-enac .wp-block-button__link:hover { background: #8A6510; }

/* Llamada final */
.nb-cta {
	background: var(--wp--preset--color--forest);
	border-radius: 14px;
	padding: clamp(2rem, 5vw, 3.5rem);
	color: #E9F0DD;
}
.nb-cta h2 { color: #fff; }
.nb-cta .wp-block-button__link { background: #fff; color: var(--wp--preset--color--forest); }
.nb-cta .wp-block-button__link:hover { background: #DCEBB8; color: var(--wp--preset--color--forest); }
.nb-cta .is-style-outline .wp-block-button__link { background: transparent; color: #fff; border-color: rgba(255,255,255,.4); }

/* ---------- Cabecera ---------- */
.nb-topbar {
	background: var(--wp--preset--color--subtle);
	border-bottom: 1px solid var(--wp--preset--color--border);
	font-size: 0.75rem;
	color: var(--wp--preset--color--muted);
}
.nb-topbar p { margin: 0; }
.nb-topbar a { color: inherit; text-decoration: none; }
.nb-topbar a:hover { color: var(--wp--preset--color--primary-dark); }
.nb-topbar .nb-topbar__docs a { color: #8A6510; font-weight: 600; }
.nb-header {
	background: #fff;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.nb-logo img { width: 194px; height: auto; display: block; }
@media (max-width: 781px) { .nb-logo img { width: 165px !important; } }
.nb-nav { font-size: 0.875rem; font-weight: 500; }
.nb-nav .wp-block-navigation-item__content { padding: 0.4rem 0.2rem; }
.nb-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary-dark); font-weight: 600; }
.nb-nav .wp-block-navigation__submenu-container {
	border: 1px solid var(--wp--preset--color--border) !important;
	border-radius: 8px;
	padding: 0.4rem 0;
	box-shadow: 0 12px 28px -14px rgba(30, 34, 27, 0.35);
	min-width: 240px !important;
}
.nb-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.45rem 1rem; }
.nb-nav .wp-block-navigation__responsive-container.is-menu-open { padding: 1.5rem; }
.nb-header .wp-block-button__link { white-space: nowrap; }

/* ---------- Título de página ---------- */
.nb-page-head {
	background: var(--wp--preset--color--subtle);
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.nb-page-head .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); margin: 0; }
.nb-breadcrumb { font-size: 0.75rem; color: var(--wp--preset--color--muted); }
.nb-breadcrumb a { color: inherit; }

/* Contenido de páginas de texto (legales, etc.) */
.nb-prose h2 { font-size: 1.5rem; margin-top: 2.25rem; }
.nb-prose h3 { font-size: 1.2rem; margin-top: 1.75rem; }
.nb-prose table { width: 100%; border-collapse: collapse; font-size: 0.875rem; }
.nb-prose td, .nb-prose th { border: 1px solid var(--wp--preset--color--border); padding: 0.5rem 0.75rem; vertical-align: top; }

/* ---------- Pie ---------- */
.nb-footer { background: var(--wp--preset--color--forest); color: #CBD8B6; font-size: 0.875rem; }
.nb-footer h2, .nb-footer h3, .nb-footer h4 { color: #fff; font-size: 0.9375rem; letter-spacing: 0; }
.nb-footer a { color: #E9F0DD; text-decoration: none; }
.nb-footer a:hover { color: #fff; text-decoration: underline; }
.nb-footer ul { list-style: none; padding: 0; margin: 0; }
.nb-footer li { margin-bottom: 0.4rem; }
.nb-footer .nb-footer__logo img { background: #fff; padding: 0.6rem 0.8rem; border-radius: 8px; width: 150px; height: auto; }
.nb-footer__bottom { border-top: 1px solid rgba(255, 255, 255, 0.12); font-size: 0.75rem; color: #A9B996; }
.nb-footer__bottom p { margin: 0; }

/* ---------- Formularios (Contact Form 7) ---------- */
.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 textarea,
.wpcf7 select {
	width: 100%;
	box-sizing: border-box;
	padding: 0.65rem 0.8rem;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 6px;
	background: #fff;
	font: inherit;
}
.wpcf7 input:focus, .wpcf7 textarea:focus, .wpcf7 select:focus {
	outline: 2px solid var(--wp--preset--color--primary);
	outline-offset: 0;
	border-color: var(--wp--preset--color--primary);
}
.wpcf7 input[type="submit"] {
	background: var(--wp--preset--color--primary);
	color: #fff;
	border: 0;
	border-radius: 6px;
	padding: 0.75rem 1.5rem;
	font-weight: 600;
	cursor: pointer;
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--forest); }

/* ---------- Móvil ---------- */
@media (max-width: 781px) {
	.nb-hide-mobile { display: none !important; }
	.nb-section { padding-block: 2.5rem; }
	h1.wp-block-heading { font-size: clamp(1.9rem, 8.5vw, 2.4rem) !important; letter-spacing: -0.02em; }
	.nb-photo-hero, .nb-photo-hero .wp-block-image img { min-height: 240px; }
	.nb-topbar .nb-topbar__address { display: none; }
}
@media (min-width: 782px) {
	.nb-hide-desktop { display: none !important; }
}

.nb-rounded img { border-radius: 12px; display: block; width: 100%; height: auto; }
.nb-badges { margin-bottom: 1rem; }
.nb-section .wp-block-columns { gap: 1.5rem; margin-bottom: 1.5rem; }
.nb-section > .wp-block-columns:last-child { margin-bottom: 0; }
.nb-panel-dark .nb-muted { color: #CBD8B6; }
.nb-panel-dark p { color: #E9F0DD; }
.nb-aside > * + * { margin-top: 1.25rem; }
.nb-aside .nb-card { height: auto; }
.nb-prose ul { padding-left: 1.2rem; }
.nb-prose li { margin-bottom: 0.3rem; }
.nb-prose h2, .nb-prose h3 { margin-top: 1.75rem; }
.nb-prose > :first-child { margin-top: 0; }
.wpcf7 p { margin: 0 0 1rem; }
.wpcf7 label { font-size: 0.8125rem; font-weight: 600; color: var(--wp--preset--color--contrast); }
/* Varias tarjetas apiladas en una columna: cada una con su altura (evita que se salgan por debajo del pie) */
.wp-block-column > .nb-card:not(:only-child) { height: auto; }
.wp-block-column > .nb-card + .nb-card { margin-top: 1.25rem; }

/* Desplegable de hojas de solicitud (recuadro verde de la portada) */
.nb-dropdown { margin: 0.5rem 0; }
.nb-dropdown > summary {
	list-style: none;
	cursor: pointer;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 0.7rem 1.25rem;
	border-radius: 6px;
	font-size: 0.875rem;
	font-weight: 600;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid rgba(255, 255, 255, 0.25);
	color: #fff;
}
.nb-dropdown > summary::-webkit-details-marker { display: none; }
.nb-dropdown > summary::after { content: "▾"; transition: transform .2s ease; }
.nb-dropdown[open] > summary::after { transform: rotate(180deg); }
.nb-dropdown > summary:hover { background: rgba(255, 255, 255, 0.2); }
.nb-dropdown > :not(summary) { margin: 0.75rem 0.25rem 0; }
.nb-dropdown .nb-file-list { list-style: none; padding: 0; }
.nb-dropdown .nb-file-list li { margin: 0 0 0.4rem; }
.nb-dropdown .nb-file-list a {
	display: block;
	padding: 0.55rem 0.8rem;
	border-radius: 6px;
	background: #fff;
	color: var(--wp--preset--color--forest);
	font-size: 0.8125rem;
	font-weight: 600;
	text-decoration: none;
}
.nb-dropdown .nb-file-list a:hover { background: #DCEBB8; }

/* Fila de fotos de instalaciones (página Norbio): formato apaisado para que se vea más imagen */
.nb-photo-row .nb-photo-hero,
.nb-photo-row .nb-photo-hero .wp-block-image img { min-height: 0; }
.nb-photo-row .nb-photo-hero .wp-block-image img { aspect-ratio: 4 / 3; height: auto; }
.nb-photo-row .nb-photo-hero .nb-photo-hero__caption { padding: 2.5rem 1rem 1rem; }
.nb-photo-row .nb-photo-hero .nb-photo-hero__caption h3 { font-size: 1.1rem; }

/* Fichas con foto (Diagnóstico veterinario): foto de borde a borde, texto compacto */
.nb-photo-card {
	display: flex;
	flex-direction: column;
	transition: box-shadow .2s ease, border-color .2s ease, transform .2s ease;
}
.nb-photo-card:hover {
	border-color: var(--wp--preset--color--sage);
	box-shadow: 0 12px 28px -14px rgba(47, 65, 30, 0.35);
	transform: translateY(-2px);
}
.nb-photo-card > .wp-block-image,
.nb-photo-card > .wp-block-image a { display: block; width: 100%; margin: 0 !important; overflow: hidden; }
.nb-photo-card > .wp-block-image img {
	width: 100% !important;
	height: auto !important;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	transition: transform .4s ease;
}
.nb-photo-card:hover > .wp-block-image img { transform: scale(1.04); }
.nb-photo-card > .wp-block-group {
	margin-top: 0 !important;
	padding: 1.1rem 1.25rem 1.25rem;
	display: flex;
	flex-direction: column;
	flex: 1;
}
.nb-photo-card > .wp-block-group > * { margin: 0 0 0.45rem !important; }
.nb-photo-card h3 { font-size: 1.15rem; }
.nb-photo-card h3 a { color: var(--wp--preset--color--contrast); text-decoration: none; }
.nb-photo-card h3 a:hover { color: var(--wp--preset--color--primary-dark); }
.nb-photo-card .nb-link-arrow { margin-top: auto !important; padding-top: 0.6rem; border-top: 1px solid var(--wp--preset--color--border); }
.nb-photo-card .nb-link-arrow a { font-size: 0.8125rem; font-weight: 600; text-decoration: none; color: var(--wp--preset--color--primary-dark); }
@media (max-width: 781px) {
	.wp-block-column:empty { display: none; }
	.nb-section .wp-block-columns { margin-bottom: 1rem; }
}

/* Fichas de tipos de agua: más visuales, con la de agua de consumo destacada */
.nb-card--water {
	border-top: 4px solid var(--wp--preset--color--sage);
	background: linear-gradient(180deg, #F7FAF2 0%, #FFFFFF 55%);
}
.nb-card--water h3 { font-size: 1.2rem; }
.nb-card--water[class*="nb-ic-"]::before { width: 48px; height: 48px; -webkit-mask-size: 24px 24px; mask-size: 24px 24px; }
.nb-card--water[class*="nb-ic-"]::after { width: 48px; height: 48px; background: #E6EFD6; }
.nb-card--featured {
	border-color: var(--wp--preset--color--primary);
	border-top-color: var(--wp--preset--color--primary);
	background: linear-gradient(180deg, #EDF3E1 0%, #FFFFFF 70%);
	box-shadow: 0 14px 30px -18px rgba(47, 65, 30, 0.45);
}
.nb-card--featured h3 { color: var(--wp--preset--color--forest); }
.nb-card--featured p { color: var(--wp--preset--color--contrast); }
.nb-badge--rd {
	align-self: flex-start;
	background: var(--wp--preset--color--forest);
	color: #fff;
	text-transform: none;
	letter-spacing: 0.02em;
	font-size: 0.75rem !important;
}
.nb-badge--rd::before { background: #B9CF82; }
.nb-card .nb-badge--rd, .nb-photo-card .nb-badge--rd { color: #fff !important; font-weight: 700; padding: 0.35rem 0.8rem; margin: 0.15rem 0 0.6rem !important; }
.nb-photo-card .nb-badge--rd { display: inline-flex; width: fit-content; font-size: .75rem !important; }
.nb-card--featured p:not(.nb-badge) { font-size: 0.9rem; }

/* Más presencia del contenido en fichas destacadas (aguas, agroalimentario, diagnóstico y servicios) */
.nb-card--water p:not(.nb-badge):not(.nb-eyebrow) { font-size: 0.925rem; color: #3E4537; }
.nb-card--water .nb-checks li { font-size: 0.9rem; color: #2B3125; }
.nb-card--water .nb-card__tags a { font-size: 0.85rem; }
.nb-photo-card--accent {
	border-top: 4px solid var(--wp--preset--color--sage);
	background: linear-gradient(180deg, #FFFFFF 0%, #F7FAF2 100%);
}
.nb-photo-card--accent h3 { font-size: 1.25rem; }
.nb-photo-card--accent p:not(.nb-link-arrow) { font-size: 0.925rem; color: #3E4537; }

/* Información básica de protección de datos del formulario: plegada tras una frase */
.nb-legal-details { margin: 0.75rem 0 1rem; font-size: 0.8125rem; }
.nb-legal-details > summary {
	cursor: pointer;
	list-style: none;
	display: inline-flex;
	align-items: center;
	gap: 0.4rem;
	font-weight: 600;
	color: var(--wp--preset--color--primary-dark);
	text-decoration: underline;
	text-underline-offset: 3px;
}
.nb-legal-details > summary::-webkit-details-marker { display: none; }
.nb-legal-details > summary::after { content: "▾"; text-decoration: none; transition: transform .2s ease; }
.nb-legal-details[open] > summary::after { transform: rotate(180deg); }
.nb-legal-details table { margin-top: 0.75rem; width: 100%; border-collapse: collapse; font-size: 0.75rem; }
.nb-legal-details td { border: 1px solid var(--wp--preset--color--border); padding: 0.4rem 0.6rem; vertical-align: top; }

/* Portada: la foto de la sede ocupa la misma altura que el recuadro verde de envío de muestras */
.wp-block-columns:has(.nb-panel-dark) > .wp-block-column > .nb-photo-hero { height: 100%; }
.wp-block-columns:has(.nb-panel-dark) > .wp-block-column > .nb-photo-hero > .wp-block-image { height: 100%; }
.wp-block-columns:has(.nb-panel-dark) > .wp-block-column > .nb-photo-hero > .wp-block-image img { height: 100%; }
@media (max-width: 781px) {
	.wp-block-columns:has(.nb-panel-dark) > .wp-block-column > .nb-photo-hero,
	.wp-block-columns:has(.nb-panel-dark) > .wp-block-column > .nb-photo-hero > .wp-block-image,
	.wp-block-columns:has(.nb-panel-dark) > .wp-block-column > .nb-photo-hero > .wp-block-image img { height: auto; }
}

/* Fondo liso: se retira la trama de puntos del diseño original */
.nb-dots { background-image: none !important; }

/* ---------- Menú en móvil: botón a la izquierda y panel a pantalla completa ---------- */
@media (max-width: 781px) {
	.nb-header > .wp-block-group {
		flex-direction: row-reverse;
		justify-content: flex-end !important;
		gap: 0.85rem;
	}
	.nb-header .wp-block-navigation__responsive-container-open {
		display: flex;
		align-items: center;
		justify-content: center;
		width: 42px;
		height: 42px;
		border: 1px solid var(--wp--preset--color--border);
		border-radius: 8px;
		background: var(--wp--preset--color--base);
		color: var(--wp--preset--color--forest);
	}
	.nb-header .wp-block-navigation__responsive-container-open:hover { background: var(--wp--preset--color--subtle); }
}

.nb-nav .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--base) !important;
	color: var(--wp--preset--color--contrast) !important;
	padding: 1rem 1.25rem 2rem !important;
}
.nb-nav .is-menu-open .wp-block-navigation__responsive-container-close {
	left: 0;
	right: auto;
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 8px;
	color: var(--wp--preset--color--forest);
}
.nb-nav .is-menu-open .wp-block-navigation__responsive-dialog { padding-top: 0; }
.nb-nav .is-menu-open .wp-block-navigation__responsive-container-content {
	padding-top: 3.75rem !important;
	align-items: stretch !important;
}
.nb-nav .is-menu-open .wp-block-navigation__container {
	align-items: stretch !important;
	gap: 0 !important;
	width: 100%;
}
.nb-nav .is-menu-open .wp-block-navigation-item {
	align-items: stretch !important;
	width: 100%;
	border-bottom: 1px solid var(--wp--preset--color--border);
}
.nb-nav .is-menu-open .wp-block-navigation-item__content {
	padding: 0.9rem 0.25rem !important;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--wp--preset--color--contrast) !important;
	text-align: left;
}
.nb-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--primary-dark) !important; }
.nb-nav .is-menu-open .wp-block-navigation__submenu-container {
	border: 0 !important;
	border-left: 2px solid var(--wp--preset--color--sage) !important;
	border-radius: 0;
	box-shadow: none;
	min-width: 0 !important;
	margin: 0 0 0.75rem 0.4rem !important;
	padding: 0 0 0 0.9rem !important;
	background: transparent !important;
	gap: 0 !important;
}
.nb-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item { border: 0; }
.nb-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 0.45rem 0.25rem !important;
	font-size: 0.95rem;
	font-weight: 500;
	color: var(--wp--preset--color--muted) !important;
}
.nb-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--primary-dark) !important; }
:root {
	--nb-ic-water: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E");
	--nb-ic-feed: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 20h10'/%3E%3Cpath d='M10 20c5.5-2.5.8-6.4 3-10'/%3E%3Cpath d='M9.5 9.4c1.1.8 1.8 2.2 2.3 3.7-2 .4-3.5.4-4.8-.3-1.2-.6-2.3-1.9-3-4.2 2.8-.5 4.4 0 5.5.8z'/%3E%3Cpath d='M14.1 6a7 7 0 0 0-1.1 4c1.9-.1 3.3-.6 4.3-1.4 1-1 1.6-2.3 1.7-4.6-2.7.1-4 1-4.9 2z'/%3E%3C/svg%3E");
	--nb-ic-food: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E");
	--nb-ic-process: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E");
	--nb-ic-flask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6'/%3E%3Cpath d='M10 3v6.5L4.5 19a1.5 1.5 0 0 0 1.3 2.2h12.4a1.5 1.5 0 0 0 1.3-2.2L14 9.5V3'/%3E%3Cpath d='M7 15h10'/%3E%3C/svg%3E");
	--nb-ic-advice: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/%3E%3C/svg%3E");
	--nb-ic-micro: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18h8'/%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M14 22a7 7 0 1 0 0-14h-1'/%3E%3Cpath d='M9 14h2'/%3E%3Cpath d='M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z'/%3E%3Cpath d='M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3'/%3E%3C/svg%3E");
	--nb-ic-award: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='8' r='6'/%3E%3Cpath d='M15.5 13 17 22l-5-3-5 3 1.5-9'/%3E%3C/svg%3E");
	--nb-ic-team: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3Cpath d='M16 3.13a4 4 0 0 1 0 7.75'/%3E%3C/svg%3E");
	--nb-ic-file: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M14 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V8z'/%3E%3Cpath d='M14 2v6h6'/%3E%3Cpath d='M12 18v-6'/%3E%3Cpath d='m9 15 3 3 3-3'/%3E%3C/svg%3E");
	--nb-ic-phone: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.8 19.8 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6A19.8 19.8 0 0 1 2.12 4.18 2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72c.13.96.36 1.9.7 2.81a2 2 0 0 1-.45 2.11L8.1 9.9a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45c.9.34 1.85.57 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E");
	--nb-ic-mail: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='2' y='4' width='20' height='16' rx='2'/%3E%3Cpath d='m22 7-10 6L2 7'/%3E%3C/svg%3E");
	--nb-ic-pin: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 10c0 6-8 12-8 12s-8-6-8-12a8 8 0 0 1 16 0Z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E");
	--nb-ic-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
	--nb-ic-arrow: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E");
	--nb-ic-heart: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z'/%3E%3C/svg%3E");
}
.nb-ic-water { --nb-ic: var(--nb-ic-water); }
.nb-ic-feed { --nb-ic: var(--nb-ic-feed); }
.nb-ic-food { --nb-ic: var(--nb-ic-food); }
.nb-ic-process { --nb-ic: var(--nb-ic-process); }
.nb-ic-flask { --nb-ic: var(--nb-ic-flask); }
.nb-ic-advice { --nb-ic: var(--nb-ic-advice); }
.nb-ic-micro { --nb-ic: var(--nb-ic-micro); }
.nb-ic-award { --nb-ic: var(--nb-ic-award); }
.nb-ic-team { --nb-ic: var(--nb-ic-team); }
.nb-ic-file { --nb-ic: var(--nb-ic-file); }
.nb-ic-phone { --nb-ic: var(--nb-ic-phone); }
.nb-ic-mail { --nb-ic: var(--nb-ic-mail); }
.nb-ic-pin { --nb-ic: var(--nb-ic-pin); }
.nb-ic-check { --nb-ic: var(--nb-ic-check); }
.nb-ic-arrow { --nb-ic: var(--nb-ic-arrow); }
.nb-ic-heart { --nb-ic: var(--nb-ic-heart); }

/* ===== Servicio con acordeones (Análisis de piensos) — inicio ===== */
:root {
	--nb-ic-package: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E");
	--nb-ic-wheat: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 22 16 8'/%3E%3Cpath d='M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z'/%3E%3Cpath d='M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z'/%3E%3Cpath d='M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z'/%3E%3Cpath d='M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z'/%3E%3C/svg%3E");
	--nb-ic-layers: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E");
	--nb-ic-drop: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E");
	--nb-ic-alert: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E");
}
.nb-ic-package { --nb-ic: var(--nb-ic-package); }
.nb-ic-wheat { --nb-ic: var(--nb-ic-wheat); }
.nb-ic-layers { --nb-ic: var(--nb-ic-layers); }
.nb-ic-drop { --nb-ic: var(--nb-ic-drop); }
.nb-ic-alert { --nb-ic: var(--nb-ic-alert); }
.nb-acc--package > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m7.5 4.27 9 5.15'/%3E%3Cpath d='M21 8a2 2 0 0 0-1-1.73l-7-4a2 2 0 0 0-2 0l-7 4A2 2 0 0 0 3 8v8a2 2 0 0 0 1 1.73l7 4a2 2 0 0 0 2 0l7-4A2 2 0 0 0 21 16Z'/%3E%3Cpath d='m3.3 7 8.7 5 8.7-5'/%3E%3Cpath d='M12 22V12'/%3E%3C/svg%3E"); }
.nb-acc--wheat > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M2 22 16 8'/%3E%3Cpath d='M3.47 12.53 5 11l1.53 1.53a3.5 3.5 0 0 1 0 4.94L5 19l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z'/%3E%3Cpath d='M7.47 8.53 9 7l1.53 1.53a3.5 3.5 0 0 1 0 4.94L9 15l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z'/%3E%3Cpath d='M11.47 4.53 13 3l1.53 1.53a3.5 3.5 0 0 1 0 4.94L13 11l-1.53-1.53a3.5 3.5 0 0 1 0-4.94Z'/%3E%3Cpath d='M20 2h2v2a4 4 0 0 1-4 4h-2V6a4 4 0 0 1 4-4Z'/%3E%3C/svg%3E"); }
.nb-acc--layers > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12.83 2.18a2 2 0 0 0-1.66 0L2.6 6.08a1 1 0 0 0 0 1.83l8.58 3.91a2 2 0 0 0 1.66 0l8.58-3.9a1 1 0 0 0 0-1.83Z'/%3E%3Cpath d='m22 17.65-9.17 4.16a2 2 0 0 1-1.66 0L2 17.65'/%3E%3Cpath d='m22 12.65-9.17 4.16a2 2 0 0 1-1.66 0L2 12.65'/%3E%3C/svg%3E"); }
.nb-acc--drop > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 22a7 7 0 0 0 7-7c0-2-1-3.9-3-5.5s-3.5-4-4-6.5c-.5 2.5-2 4.9-4 6.5C6 11.1 5 13 5 15a7 7 0 0 0 7 7z'/%3E%3C/svg%3E"); }
.nb-acc--alert > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m21.73 18-8-14a2 2 0 0 0-3.48 0l-8 14A2 2 0 0 0 4 21h16a2 2 0 0 0 1.73-3'/%3E%3Cpath d='M12 9v4'/%3E%3Cpath d='M12 17h.01'/%3E%3C/svg%3E"); }
.nb-acc--atom > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='1'/%3E%3Cpath d='M20.2 20.2c2.04-2.03.02-7.36-4.5-11.9-4.54-4.52-9.87-6.54-11.9-4.5-2.04 2.03-.02 7.36 4.5 11.9 4.54 4.52 9.87 6.54 11.9 4.5Z'/%3E%3Cpath d='M15.7 15.7c4.52-4.54 6.54-9.87 4.5-11.9-2.03-2.04-7.36-.02-11.9 4.5-4.52 4.54-6.54 9.87-4.5 11.9 2.03 2.04 7.36.02 11.9-4.5Z'/%3E%3C/svg%3E"); }
.nb-acc--chain > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m10 16 1.5 1.5'/%3E%3Cpath d='m14 8-1.5-1.5'/%3E%3Cpath d='M15 2c-1.8 2-2.52 4-2.8 6'/%3E%3Cpath d='m16.5 10.5 1 1'/%3E%3Cpath d='m17 6-2.9-2.9'/%3E%3Cpath d='M2 15c6.67-6 13.33 0 20-6'/%3E%3Cpath d='m20 9 .9.9'/%3E%3Cpath d='M3.1 14.1 4 15'/%3E%3Cpath d='m6.5 12.5 1 1'/%3E%3Cpath d='m7 18 2.9 2.9'/%3E%3Cpath d='M9 22c1.8-2 2.52-4 2.8-6'/%3E%3C/svg%3E"); }
.nb-acc--nutri > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 3v18h18'/%3E%3Cpath d='M18 17V9'/%3E%3Cpath d='M13 17V5'/%3E%3Cpath d='M8 17v-3'/%3E%3C/svg%3E"); }
.nb-acc--shield > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 13c0 5-3.5 7.5-7.66 8.95a1 1 0 0 1-.67-.01C7.5 20.5 4 18 4 13V6a1 1 0 0 1 1-1c2 0 4.5-1.2 6.24-2.72a1.17 1.17 0 0 1 1.52 0C14.51 3.81 17 5 19 5a1 1 0 0 1 1 1z'/%3E%3Cpath d='m9 12 2 2 4-4'/%3E%3C/svg%3E"); }
.nb-acc--flask > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9 3h6'/%3E%3Cpath d='M10 3v6.5L4.5 19a1.5 1.5 0 0 0 1.3 2.2h12.4a1.5 1.5 0 0 0 1.3-2.2L14 9.5V3'/%3E%3Cpath d='M7 15h10'/%3E%3C/svg%3E"); }
.nb-acc--food > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 2v7c0 1.1.9 2 2 2h4a2 2 0 0 0 2-2V2'/%3E%3Cpath d='M7 2v20'/%3E%3Cpath d='M21 15V2a5 5 0 0 0-5 5v6c0 1.1.9 2 2 2h3Zm0 0v7'/%3E%3C/svg%3E"); }
.nb-acc--micro > summary::before { background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7328' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 18h8'/%3E%3Cpath d='M3 22h18'/%3E%3Cpath d='M14 22a7 7 0 1 0 0-14h-1'/%3E%3Cpath d='M9 14h2'/%3E%3Cpath d='M9 12a2 2 0 0 1-2-2V6h6v4a2 2 0 0 1-2 2Z'/%3E%3Cpath d='M12 6V3a1 1 0 0 0-1-1H9a1 1 0 0 0-1 1v3'/%3E%3C/svg%3E"); }

/* Cabecera partida: texto + foto */
.nb-hero-split { align-items: center !important; gap: clamp(1.5rem, 4vw, 3.5rem) !important; }
.nb-hero-split .wp-block-buttons { margin-top: 1.5rem; }
.nb-hero-img { margin: 0; }
.nb-hero-img img {
	width: 100%; max-width: 440px; aspect-ratio: 1; object-fit: cover; display: block; margin-left: auto;
	border-radius: 18px; box-shadow: 0 24px 48px -24px rgba(47, 65, 30, .45);
}

/* Cabecera compacta */
.nb-hero-compact .nb-hero-img img { max-width: 300px; border-radius: 16px; }
.nb-hero-compact h1 { font-size: clamp(1.9rem, 3.4vw, 2.5rem) !important; margin-bottom: .5rem; }
.nb-hero-compact .nb-lead { font-size: 1rem; max-width: 46ch; }
.nb-hero-compact .wp-block-buttons { margin-top: 1rem; }

/* Fichas de tipos de muestra */
.nb-tiles { gap: 1rem !important; margin-top: 1.5rem; }
.nb-tiles .nb-feature { flex-direction: column; gap: .6rem; padding: 1.25rem; }
.nb-tiles .nb-feature::after { top: 1.25rem; left: 1.25rem; }
.nb-tiles .nb-feature h3 { font-size: 1rem; }

/* Formularios: campo oculto de CF7 sin borde y subida de archivos */
.wpcf7 .hidden-fields-container { border: 0; padding: 0; margin: 0; min-width: 0; }
.wpcf7 input[type="file"] {
	width: 100%; box-sizing: border-box; padding: .55rem; font-size: .8125rem; cursor: pointer;
	background: var(--wp--preset--color--lab); border: 1px dashed var(--wp--preset--color--sage); border-radius: 8px;
}
.wpcf7 input[type="file"]::file-selector-button {
	margin-right: .75rem; padding: .45rem .9rem; border: 0; border-radius: 6px; cursor: pointer;
	background: var(--wp--preset--color--primary); color: #fff; font-weight: 600; font-family: inherit;
}
.wpcf7 input[type="file"]::file-selector-button:hover { background: var(--wp--preset--color--forest); }
.wpcf7 small { display: inline-block; margin-top: .3rem; font-size: .75rem; color: var(--wp--preset--color--muted); }

/* Rejilla de categorías (Codex) */
.nb-cat-grid { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .85rem; margin-top: 1.25rem; }
.nb-cat-grid > * { margin: 0 !important; }
.nb-cat {
	position: relative; box-sizing: border-box; height: 100%; padding: 1rem 1.1rem 1.1rem;
	background: var(--wp--preset--color--base); border: 1px solid var(--wp--preset--color--border); border-radius: 12px;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.nb-cat:hover { border-color: var(--wp--preset--color--sage); box-shadow: 0 10px 24px -14px rgba(47, 65, 30, .3); transform: translateY(-2px); }
.nb-cat > * { margin: 0 !important; }
.nb-cat__code {
	display: inline-block; font-size: .6875rem !important; font-weight: 700; letter-spacing: .06em;
	padding: .15rem .5rem; border-radius: 999px; background: var(--wp--preset--color--subtle); color: var(--wp--preset--color--primary-dark);
}
.nb-cat h3 { font-size: .975rem !important; line-height: 1.3; margin-top: .6rem !important; }
.nb-cat p:not(.nb-cat__code) { font-size: .8125rem; color: var(--wp--preset--color--muted); margin-top: .25rem !important; line-height: 1.45; }
@media (max-width: 1100px) { .nb-cat-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 781px) { .nb-cat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .6rem; } .nb-cat { padding: .85rem; } }
.nb-cat-more { margin-top: 1rem !important; }
.nb-cat-more > summary {
	display: inline-flex; align-items: center; gap: .5rem; cursor: pointer; list-style: none;
	padding: .7rem 1.4rem; border: 1.5px solid var(--wp--preset--color--primary); border-radius: 999px;
	font-size: .95rem; font-weight: 700; color: var(--wp--preset--color--primary);
	background: color-mix(in srgb, var(--wp--preset--color--primary) 9%, #fff);
	box-shadow: 0 6px 16px -10px rgba(47, 65, 30, .45); transition: background .2s, color .2s, box-shadow .2s;
}
.nb-cat-more > summary::-webkit-details-marker { display: none; }
.nb-cat-more > summary::after { content: ""; width: .5rem; height: .5rem; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: translateY(-2px) rotate(45deg); transition: transform .2s; }
.nb-cat-more[open] > summary::after { transform: translateY(2px) rotate(-135deg); }
.nb-cat-more > summary:hover, .nb-cat-more > summary:focus-visible { background: var(--wp--preset--color--primary); color: #fff; box-shadow: 0 10px 22px -10px rgba(47, 65, 30, .55); }
.nb-cat-more .nb-cat-grid { margin-top: .85rem; }
.nb-cat-more:not([open]) .nb-txt-less, .nb-cat-more[open] .nb-txt-more { display: none; }

/* Columna fija + acordeones */
.nb-split { gap: clamp(1.5rem, 4vw, 3.5rem) !important; align-items: flex-start !important; }
.nb-sticky { position: sticky; top: 6rem; }
.nb-sticky .wp-block-buttons { margin-top: 1.25rem; }
.nb-acc-group {
	font-size: .75rem !important; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--wp--preset--color--primary-dark); margin: 2rem 0 .75rem !important;
}
.nb-split .wp-block-column > .nb-acc-group:first-child { margin-top: 0 !important; }
.nb-acc {
	background: var(--wp--preset--color--base);
	border: 1px solid var(--wp--preset--color--border);
	border-radius: 14px;
	margin: 0 0 .75rem !important;
	transition: border-color .2s ease, box-shadow .2s ease;
}
.nb-acc:hover { border-color: var(--wp--preset--color--sage); }
.nb-acc[open] { border-color: var(--wp--preset--color--sage); box-shadow: 0 14px 32px -20px rgba(47, 65, 30, .35); }
.nb-acc > summary {
	list-style: none; cursor: pointer;
	display: grid; grid-template-columns: 44px 1fr 28px; column-gap: 1rem; align-items: center;
	padding: 1rem 1.25rem;
}
.nb-acc > summary::-webkit-details-marker { display: none; }
.nb-acc > summary::before {
	content: ""; grid-row: 1 / span 2; width: 44px; height: 44px; border-radius: 12px;
	background-color: var(--wp--preset--color--subtle);
	background-repeat: no-repeat; background-position: center; background-size: 22px 22px;
}
.nb-acc > summary::after {
	content: "+"; grid-column: 3; grid-row: 1 / span 2;
	width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--subtle); color: var(--wp--preset--color--primary-dark);
	font-size: 1.1rem; font-weight: 600; line-height: 1; transition: transform .25s ease, background .2s ease;
}
.nb-acc[open] > summary::after { content: "−"; background: var(--wp--preset--color--primary); color: #fff; }
.nb-acc > summary strong { grid-column: 2; font-family: var(--wp--preset--font-family--heading, inherit); font-size: 1.0625rem; color: var(--wp--preset--color--contrast); }
.nb-acc__sub { grid-column: 2; display: block; font-size: .8125rem; color: var(--wp--preset--color--muted); margin-top: .1rem; }
.nb-acc > summary + * , .nb-acc > p, .nb-acc > ul { margin-left: 1.25rem !important; margin-right: 1.25rem !important; }
.nb-acc > p { font-size: .9rem; color: var(--wp--preset--color--muted); margin-top: 0 !important; padding-top: .9rem; border-top: 1px solid var(--wp--preset--color--border); }
.nb-acc > ul:last-child { margin-bottom: 1.25rem !important; }

/* Etiquetas (chips) */
.nb-chips { list-style: none; padding: 0 !important; margin: .75rem 0 0; display: flex; flex-wrap: wrap; gap: .45rem; }
.nb-chips li {
	margin: 0; padding: .35rem .75rem; border-radius: 999px; font-size: .8125rem; line-height: 1.3;
	background: var(--wp--preset--color--lab); border: 1px solid var(--wp--preset--color--border);
	color: var(--wp--preset--color--contrast);
}

/* Paquetes */
.nb-packs { gap: 1.25rem !important; margin-top: 1.5rem; }
.nb-pack h3 { margin-top: 1rem !important; }
.nb-pack .nb-chips { margin: .25rem 0 1rem; gap: .35rem; }
.nb-pack .nb-chips li { font-size: .75rem; padding: .25rem .6rem; background: var(--wp--preset--color--subtle); border-color: transparent; color: var(--wp--preset--color--primary-dark); }

/* Pasos */
.nb-steps { gap: 1.25rem !important; margin-top: 1.5rem; counter-reset: none; }
.nb-step {
	height: 100%; box-sizing: border-box; padding: 1.5rem; border-radius: 14px;
	background: var(--wp--preset--color--lab); border: 1px solid var(--wp--preset--color--border);
}
.nb-step__n {
	width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; margin: 0 0 1rem !important;
	background: var(--wp--preset--color--primary); color: #fff; font-weight: 700; font-size: 1rem;
}
.nb-step h3 { font-size: 1.0625rem; margin: 0 0 .4rem; }
.nb-step p:not(.nb-step__n) { font-size: .875rem; color: var(--wp--preset--color--muted); margin: 0; }

@media (max-width: 781px) {
	.nb-hero-img img { max-width: 100%; margin: 0 auto; aspect-ratio: 16 / 10; }
	.nb-sticky { position: static; }
	.nb-acc > summary { grid-template-columns: 40px 1fr 26px; padding: .9rem 1rem; column-gap: .75rem; }
	.nb-acc > summary::before { width: 40px; height: 40px; }
	.nb-acc > p, .nb-acc > ul { margin-left: 1rem !important; margin-right: 1rem !important; }
}
@media (min-width: 782px) and (max-width: 1100px) {
	.nb-tiles { flex-wrap: wrap !important; }
	.nb-tiles > .wp-block-column { flex-basis: calc(33.33% - 1rem) !important; flex-grow: 0 !important; }
	.nb-packs { flex-wrap: wrap !important; }
	.nb-packs > .wp-block-column { flex-basis: calc(50% - 1.25rem) !important; flex-grow: 0 !important; }
}
.nb-lead strong, .nb-lead b { font-weight: 700; color: var(--wp--preset--color--contrast, #1d2618); }
/* Textos justificados solo en columnas anchas (9-11-2026) */
main .wp-block-group.alignfull, main .wp-block-column { container-type: inline-size; }
@container (min-width: 600px) { main p:not(.nb-eyebrow):not(.nb-breadcrumb):not(.nb-badge):not(.nb-link-arrow):not(.nb-cat__code):not(.nb-step__n):not(.has-text-align-center):not(.has-text-align-right):not(.nb-card__tags) { text-align: justify; -webkit-hyphens: auto; hyphens: auto; } }
main .nb-card p, main .nb-feature p, main .nb-cat p, main .nb-photo-card p, main .wpcf7 p, main table p { text-align: left !important; }
main p.nb-justify { text-align: justify; -webkit-hyphens: auto; hyphens: auto; }
/* ===== Servicio con acordeones — fin ===== */
