/*
 * Medibiofarma – estilos que theme.json no cubre.
 * Medidas tomadas del sitio original (tema Visage) a 1905 px de ancho de ventana.
 */

/* ---------- Base ---------- */
.wp-site-blocks > * { margin-block-start: 0; } /* sin hueco entre cabecera, banda, contenido y pie */
body { -webkit-font-smoothing: antialiased; }
.pbf-main ul { padding-left: 21px; }
.pbf-main img { height: auto; }
.has-text-align-justify { text-align: justify; }

/* ---------- Cabecera ---------- */
.pbf-site-header {
	position: relative;
	z-index: 50;
	background: #fff;
}
.pbf-topbar {
	position: relative;
	padding-top: 9px;
	padding-bottom: 10px;
}
.pbf-topbar::after { /* línea inferior: #494949 al 10 % */
	content: "";
	position: absolute; left: 0; right: 0; bottom: 0;
	height: 1px;
	background: #ffffff;
	opacity: .1;
}
.pbf-topbar__contact { margin: 0; font-size: 14px; line-height: 40px; color: #ffffff; }
.pbf-topbar__contact a { color: #ffffff; display: inline-flex; align-items: center; }
.pbf-topbar__contact a:hover { color: var(--wp--preset--color--accent); }
.pbf-topbar__contact a:hover .pbf-icon { color: var(--wp--preset--color--accent); }
.pbf-icon { margin-right: 7px; flex: none; }
.pbf-topbar__sep { color: var(--wp--preset--color--accent); font-size: 16px; margin: 0 17px; }

.pbf-header__row { min-height: 121px; }
.pbf-logo { display: block; line-height: 0; }
.pbf-logo img { width: 300px; max-width: 46vw; height: auto; transition: width .25s ease; }

.pbf-nav .wp-block-navigation-item__content { padding: 6px 13px !important; }
.pbf-nav .wp-block-navigation__submenu-icon { margin-left: 2px; }
/* WordPress fuerza color:inherit en los enlaces del menú: el color va en los <li>. */
.pbf-nav, .pbf-nav .wp-block-navigation-item { color: #ffffff; }
/* Como en el original: menú en blanco; activo y hover en cian. */
.pbf-nav .wp-block-navigation-item:hover,
.pbf-nav .current-menu-ancestor { color: var(--wp--preset--color--accent); }
.pbf-nav .wp-block-navigation__container > .current-menu-item { color: var(--wp--preset--color--accent); }
.pbf-nav .current-menu-ancestor .wp-block-navigation-item:not(:hover) { color: #003366; }
.pbf-nav .current-menu-ancestor .current-menu-item { color: var(--wp--preset--color--accent); }
.pbf-nav .wp-block-navigation__submenu-container {
	border: 0 !important;
	min-width: 220px !important;
	padding: 10px 0 !important;
	box-shadow: 0 6px 18px rgba(0,0,0,.1);
}
.pbf-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content {
	padding: 6px 20px !important;
	font-weight: 400;
	text-transform: none;
}

/* Cabecera transparente sobre la imagen inicial, con degradado azul marino (como el original). */
@media (min-width: 782px) {
	.pbf-has-hero .pbf-site-header {
		position: absolute;
		top: 0; left: 0; right: 0;
		background: transparent;
	}
	.pbf-has-hero .pbf-site-header::before {
		content: "";
		position: absolute; left: 0; right: 0; top: 0;
		height: 360px;
		background: linear-gradient(#003366 0%, rgba(0, 51, 102, 0) 100%);
		pointer-events: none;
		z-index: -1;
	}
	.admin-bar.pbf-has-hero .pbf-site-header { top: 32px; }
	.pbf-site-header.is-sticky {
		position: fixed;
		background: #003366;
		box-shadow: none;
		animation: pbf-slide-down .3s ease;
	}
	.pbf-site-header.is-sticky::before,
	.pbf-site-header.is-sticky .pbf-topbar { display: none; }
	.pbf-site-header.is-sticky .pbf-header__row { min-height: 121px; }
}
@keyframes pbf-slide-down { from { transform: translateY(-100%); } to { transform: none; } }

/* ---------- Banda de título (páginas interiores) ---------- */
.pbf-pagetitle {
	min-height: 500px !important;
	padding-top: 220px !important; /* título a 298 px del borde superior, como Visage */
	padding-bottom: 60px !important;
}
.pbf-pagetitle .wp-block-post-title,
.pbf-pagetitle h1 {
	color: #fff;
	font-family: var(--wp--preset--font-family--body);
	font-size: clamp(30px, 3.5vw, 50px);
	font-weight: 700;
	line-height: 64px;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 0;
}
.pbf-pagetitle__kicker { text-transform: uppercase; letter-spacing: 1px; font-weight: 700; font-size: clamp(30px, 3.5vw, 50px); line-height: 64px; }

/* ---------- Hero portada (sustituye a Slider Revolution) ---------- */
.pbf-main--front > .wp-block-post-content > .pbf-hero:first-child { margin-top: 0; }
/* Tres diapositivas de 8 s en fundido (como el «home-modern» del original), lema blanco 52/62 sin caja. */
.pbf-hero .wp-block-cover__inner-container { position: static; width: 100%; }
.pbf-hero__slide {
	position: absolute; inset: 0; z-index: 0;
	background: center / cover no-repeat;
	opacity: 0;
	animation: pbf-slide 24s ease-in-out infinite both;
}
.pbf-hero__slide--2 { background-image: url("../images/medibiofarma-slide-2.jpg"); animation-delay: 8s; }
.pbf-hero__slide--3 { background-image: url("../images/medibiofarma-slide-3.jpg"); animation-delay: 16s; }
.pbf-hero__caption {
	position: absolute; z-index: 2;
	left: 50%; top: calc(50% + 30px);
	transform: translate(-50%, -50%);
	width: 948px; max-width: calc(100% - 40px);
	margin: 0;
	font-family: var(--wp--preset--font-family--body);
	font-weight: 400; font-size: 52px; line-height: 62px;
	text-align: center; color: #fff;
	opacity: 0;
	animation: pbf-slide 24s ease-in-out infinite both;
}
.pbf-hero__caption--2 { animation-delay: 8s; }
.pbf-hero__caption--3 { animation-delay: 16s; }
.pbf-hero__dots {
	position: absolute; z-index: 2;
	left: 50%; bottom: 20px;
	transform: translateX(-50%);
	display: flex; gap: 13px;
}
.pbf-hero__dots span {
	width: 10px; height: 10px;
	border-radius: 50%;
	box-sizing: border-box;
	border: 2px solid #fff;
	background: transparent;
	animation: pbf-dot 24s step-end infinite both;
}
.pbf-hero__dots span:nth-child(2) { animation-delay: 8s; }
.pbf-hero__dots span:nth-child(3) { animation-delay: 16s; }
@keyframes pbf-slide { 0% { opacity: 0; } 4%, 33.3% { opacity: 1; } 37.3%, 100% { opacity: 0; } }
@keyframes pbf-dot { 0% { background: #fff; } 33.3% { background: transparent; } }
@media (prefers-reduced-motion: reduce) {
	.pbf-hero__slide, .pbf-hero__dots span { animation: none; }
	.pbf-hero__caption { animation: none; }
	.pbf-hero__caption--1 { opacity: 1; }
}

/* ---------- Contenido convertido de WPBakery ---------- */
.pbf-main--front .wp-block-post-content > :nth-child(2) { margin-top: 85px; }
/* Separación entre filas de WPBakery (~65 px en el original). */
.pbf-main .wp-block-post-content > .wp-block-columns,
.pbf-main .wp-block-post-content > .wp-block-cover:not(.pbf-hero),
.pbf-main .wp-block-post-content > .wp-block-columns + * { margin-top: 65px; }
.pbf-main:not(.pbf-main--front) .wp-block-post-content > :first-child { margin-top: 0; }
/* Portada: separaciones medidas en el original (título → visión 40, visión → Last News 55, Last News → tarjetas 72). */
.pbf-main--front .wp-block-post-content > .pbf-vc-heading + .wp-block-columns { margin-top: 40px; }
.pbf-main--front .wp-block-post-content > .wp-block-columns + .pbf-vc-heading { margin-top: 55px; }
.pbf-main--front .wp-block-post-content > .wp-block-spacer { margin-top: 0; }
.pbf-main--front .wp-block-post-content > .wp-block-spacer + * { margin-top: 0; }
/* Final de página como Visage: padding 80 + margen de la última fila (texto 35+35, acordeón 21.7+35, formulario 30). */
.pbf-main:not(.pbf-main--front) { padding-bottom: 80px !important; }
.pbf-main:not(.pbf-main--front) .wp-block-post-content > :last-child { margin-bottom: 70px; }
.pbf-main:not(.pbf-main--front) .wp-block-post-content > .wp-block-details:last-child { margin-bottom: 57px; }
.pbf-main:not(.pbf-main--front) .wp-block-post-content > .pbf-cf:last-child { margin-bottom: 30px; }
.pbf-vc-heading { margin-bottom: 20px !important; }
/* Ritmo de los bloques de texto de WPBakery: p 0/30, listas 0/1.6em, imágenes sueltas 0/35 (los márgenes colapsan). */
.pbf-main :where(.wp-block-post-content, .wp-block-column, .pbf-legacy-row) > p { margin-block-start: 0; margin-block-end: 30px; }
.pbf-main :where(.wp-block-post-content, .wp-block-column, .pbf-legacy-row) > :is(ul, ol).wp-block-list { margin-block-start: 0; margin-block-end: 1.6em; }
.pbf-main :where(.wp-block-post-content, .wp-block-column, .pbf-legacy-row) > .wp-block-image:not(.alignleft, .alignright) { margin-block-start: 0; margin-block-end: 35px; }
.pbf-main :where(.wp-block-post-content, .wp-block-column, .pbf-legacy-row) > .wp-block-image:is(.alignleft, .alignright) { margin-block-start: 1.3em; margin-block-end: 0; }
/* En el layout constrained WP flota respecto al ancho completo; aquí se alinea con la columna de contenido. */
.pbf-main .wp-block-post-content.is-layout-constrained > .alignleft { margin-left: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; }
.pbf-main .wp-block-post-content.is-layout-constrained > .alignright { margin-right: max(0px, calc((100% - var(--wp--style--global--content-size)) / 2)) !important; }
.pbf-main .pbf-inline-imgs img { vertical-align: top; }
.pbf-small { font-size: small; }
.pbf-main .wp-block-image.pbf-p-img:not(.alignleft, .alignright) { margin-block-end: 30px; }
.pbf-main .wp-block-spacer.pbf-gap { margin: 0 !important; }
.pbf-main .wp-block-spacer.pbf-gap + * { margin-top: 0; }
/* Enlaces dentro del texto: verdes como en Visage. */
.pbf-main .wp-block-post-content :is(p, li):not(.has-text-color, .pbf-sidebar *, .wp-block-query *) a:not([class*="color"]) { color: var(--wp--preset--color--accent); }
.pbf-main .wp-block-post-content :is(p, li):not(.has-text-color, .pbf-sidebar *, .wp-block-query *) a:not([class*="color"]):hover { color: var(--wp--preset--color--primary); }
.pbf-legacy-row { padding: 0 15px; }
.pbf-legacy-row > :first-child { margin-top: 0; }
.pbf-main .pbf-legacy-row + .pbf-legacy-row { margin-top: 35px; }
.pbf-main .pbf-legacy-row > :last-child { margin-bottom: 0; }
/* Filas de Visage alrededor de acordeones: acordeón (mb 21.7) + fila (mb 35); columna de texto (35) + fila (35). */
.pbf-main .wp-block-details + .pbf-legacy-row { margin-top: 57px; }
.pbf-main .pbf-legacy-row + .wp-block-details { margin-top: 70px; }
.pbf-main li > p { margin: 0; }
/* Imágenes clásicas dentro del texto (como en Visage). */
.pbf-main :is(p, li) > img.alignleft { float: left; display: block; margin: 1.3em .65em 0 0; }
.pbf-main :is(p, li) > img.alignright { float: right; display: block; margin: 1.3em 0 0 .65em; }
.pbf-main :is(p, li) > img.alignnone { vertical-align: top; }
.wp-block-columns { gap: 30px; }
.pbf-infobox { height: 100%; text-align: center; }
.pbf-infobox__title { margin-bottom: 10px !important; }
.pbf-infobox__desc,
.pbf-infobox__desc p {
	font-family: var(--wp--preset--font-family--heading);
	font-weight: 300;
	font-size: 16px;
	line-height: 26px;
	color: rgba(0, 0, 0, .6);
}
.pbf-ult-heading { margin-bottom: 10px !important; }
.pbf-ult-sub { font-family: var(--wp--preset--font-family--heading); font-weight: 300; text-align: center; }
.pbf-ult-sub p { font: inherit; color: inherit; margin: 0; }
.pbf-ult-sub > * + * { margin-top: 24px !important; }
.pbf-ult-sub strong { font-weight: 700; }
.pbf-ult-sub a { color: var(--wp--preset--color--accent); }
.pbf-ult-icon { line-height: 0; margin: 0; }
.pbf-box { transition: border-color .2s ease; }
.pbf-box:hover { border-color: #007500 !important; }
/* Fila con fondo de Pipeline (Medibiofarma): no va pegada al pie; queda el margen de fila (35) + padding de página (80). */
.wp-block-cover.alignfull:not(.pbf-hero) { padding-top: 60px; padding-bottom: 77px; }
.pbf-main:not(.pbf-main--front) .wp-block-post-content > .wp-block-cover.alignfull:last-child { margin-bottom: 35px; }
/* Acordeones (vc_tta de Visage): mayúsculas 13 px/700, líneas #e0e0e0, sin triángulo. */
.pbf-main .wp-block-details { border-top: 1px solid #e0e0e0; border-bottom: 1px solid #e0e0e0; padding: 0; }
.pbf-main .wp-block-details + .wp-block-details { margin-top: -1px; }
.pbf-main .wp-block-details summary {
	list-style: none;
	cursor: pointer;
	padding: 17px 0;
	font-size: 13px; font-weight: 700; line-height: 24px;
	text-transform: uppercase;
	color: #333;
}
.pbf-main .wp-block-details summary::-webkit-details-marker { display: none; }
.pbf-main .wp-block-details summary:hover,
.pbf-main .wp-block-details[open] summary { color: var(--wp--preset--color--accent); }
.pbf-main .wp-block-details > :not(summary) { margin-top: 0; }
.pbf-main .wp-block-details[open] { padding-bottom: 17px; }

/* Cita (pie de foto del equipo): fondo verde al 10 % y comilla gigante, como Visage. */
.pbf-main .wp-block-quote {
	position: relative;
	overflow: hidden;
	margin: 0;
	padding: 24px 32px 23px;
	border: 0;
}
.pbf-main .wp-block-quote::before {
	content: "";
	position: absolute; inset: 0;
	background: var(--wp--preset--color--accent);
	opacity: .1;
	pointer-events: none;
}
.pbf-main .wp-block-quote::after {
	content: "D";
	position: absolute; right: 6px; bottom: -130px;
	font-size: 500px; line-height: 30px;
	color: var(--wp--preset--color--accent);
	opacity: .1;
	pointer-events: none;
}
.pbf-main .wp-block-quote p { font-size: 12px; line-height: 30px; margin: 0; }
.pbf-main :is(h1, h2, h3, h4, h5, h6) img { vertical-align: top; }
.pbf-main .wp-block-separator { border: 0; height: 1px; background: var(--wp--preset--color--line); margin: 20px 0 25.6px; opacity: 1; }

/* ---------- Tarjetas de noticias ---------- */
.pbf-latest-news .wp-block-post-template,
.pbf-main .wp-block-post-template.is-layout-grid { gap: 30px; }
.pbf-news-card {
	height: 100%;
	box-sizing: border-box;
	padding: 42px 30px 23px;
	background: #fff;
	display: flex; flex-direction: column;
	gap: 0;
}
.pbf-news-card__title {
	font-family: var(--wp--preset--font-family--body);
	font-size: 24px; font-weight: 400; line-height: 34px;
	margin: 0 0 13px !important;
}
.pbf-news-card__title a { color: var(--wp--preset--color--contrast); }
.pbf-news-card__title a:hover { color: var(--wp--preset--color--accent); }
.pbf-news-card .wp-block-post-date { font-size: 14px; line-height: 24px; color: var(--wp--preset--color--accent); padding-bottom: 28px; margin: 0; }
.pbf-news-card .wp-block-post-excerpt { margin: 0; flex: 1; }
.pbf-news-card .wp-block-post-excerpt__excerpt { font-size: 16px; line-height: 30px; color: var(--wp--preset--color--contrast); margin: 0; }
.pbf-read-more {
	position: relative;
	display: inline-block;
	margin-top: 24px;
	padding-left: 32px;
	font-size: 12px; font-weight: 700; line-height: 30px;
	text-transform: uppercase;
	color: var(--wp--preset--color--contrast);
}
.pbf-read-more::before {
	content: "";
	position: absolute; left: 0; top: 50%;
	width: 20px; height: 2px;
	background: var(--wp--preset--color--accent);
}
.pbf-read-more:hover { color: var(--wp--preset--color--accent); }

/* ---------- Página de noticias con barra lateral (blog de Visage) ---------- */
.pbf-news-list { gap: 81px; }
.pbf-news-item { padding: 0 15px; margin-bottom: 70px; }
.pbf-news-item__date { color: #999 !important; font-size: 14px; line-height: 24px; padding-bottom: 5px; margin: 0; }
.pbf-news-item__title { font-family: var(--wp--preset--font-family--body); font-size: 24px !important; line-height: 34px !important; font-weight: 400; margin: 0 0 15px !important; }
.pbf-news-item__title a { color: var(--wp--preset--color--contrast); }
.pbf-news-item__title a:hover { color: var(--wp--preset--color--accent); }
.pbf-news-item__excerpt { margin: 0; }
.pbf-news-item__excerpt .wp-block-post-excerpt__excerpt { margin: 0; font-size: 16px; line-height: 30px; }
.pbf-news-item .pbf-read-more { margin-top: 15px; }
.pbf-sidebar > * + * { margin-top: 0; }
.pbf-sidebar .wp-block-search { margin-bottom: 43px; }
.pbf-sidebar .wp-block-search__inside-wrapper { border: 1px solid #f2f2f2 !important; background: #f2f2f2; padding: 0 !important; }
.pbf-sidebar .wp-block-search__input { border: 0; background: transparent; padding: 12px 20px; font-size: 14px; line-height: 24px; color: #333; }
.pbf-sidebar .wp-block-search__button { background: transparent; color: #999; border: 0; margin: 0; padding: 0 15px; }
.pbf-sidebar__title { font-size: 18px !important; line-height: 28px !important; font-weight: 500 !important; margin: 0 0 20px !important; }
.pbf-sidebar__list { list-style: none; padding: 0 !important; margin: 0 0 43px; }
.pbf-sidebar__list li { margin-bottom: 20px; line-height: 24px; }
.pbf-sidebar__list a { font-size: 14px; line-height: 24px; color: var(--wp--preset--color--contrast); }
.pbf-sidebar__list a:hover { color: var(--wp--preset--color--accent); }
.pbf-sidebar__list .wp-block-latest-posts__post-date { font-size: 12px; color: #999; }
.wp-block-query-pagination { font-size: 14px; gap: 10px; }
/* Noticia individual */
.pbf-single-title { font-family: var(--wp--preset--font-family--body); font-size: clamp(26px, 1.84vw, 35px) !important; line-height: 1.486 !important; font-weight: 400; color: #333; text-align: justify; margin: 0 0 9px !important; }
.pbf-single-meta { font-size: 14px; line-height: 32px; color: #ccc; padding-bottom: 15px; margin-top: 0 !important; }
.pbf-single-meta p, .pbf-single-meta .wp-block-post-date { margin: 0; color: #ccc !important; font-size: 14px; line-height: 32px; padding: 0; }
.pbf-single-meta a { color: #ccc; }
.pbf-single-meta a:hover { color: var(--wp--preset--color--accent); }
.pbf-sidebar--single { border-left: 1px solid #eee; padding-left: 20px; }

/* ---------- Pie ---------- */
.pbf-footer { text-align: center; padding-top: 56px !important; padding-bottom: 45px !important; }
.pbf-footer p { margin: 0 0 30px; }
.pbf-footer__logo img { width: 300px; max-width: 80vw; height: auto; }
.pbf-footer__badge { margin-top: 40px !important; }
.pbf-footer__badge img { width: 180px; height: auto; }
.pbf-footer a { color: #fff; }
.pbf-footer a:hover { color: var(--wp--preset--color--accent); }

/* ---------- Formulario de contacto (estilo CF7 de Visage) ---------- */
.pbf-cf__row { display: grid; grid-template-columns: repeat(auto-fit, minmax(240px, 1fr)); gap: 0 30px; }
.pbf-cf label { display: block; font-size: 16px; line-height: 30px; }
.pbf-cf label span[aria-hidden] { color: #f00; font-size: 30px; line-height: 16px; vertical-align: middle; }
.pbf-cf input[type="text"],
.pbf-cf input[type="email"],
.pbf-cf textarea {
	width: 100%;
	box-sizing: border-box;
	padding: 12px 20px;
	border: 1px solid #e4e4e4;
	background: rgba(0, 0, 0, .02);
	font: 400 14px/24px var(--wp--preset--font-family--body);
	color: #333;
}
.pbf-cf textarea { height: 160px; }
.pbf-cf input:focus, .pbf-cf textarea:focus { outline: 0; border-color: var(--wp--preset--color--accent); }
.pbf-cf button[type="submit"] {
	padding: 13px 30px;
	border: 0;
	border-radius: 0;
	background: var(--wp--preset--color--accent);
	color: #fff;
	font: 400 12px/24px var(--wp--preset--font-family--body);
	letter-spacing: 1px;
	text-transform: uppercase;
	cursor: pointer;
}
.pbf-cf button[type="submit"]:hover { background: var(--wp--preset--color--primary); }
.pbf-cf__consent label { display: flex; gap: .5rem; align-items: flex-start; }
.pbf-cf__consent input { margin-top: .55rem; }
.pbf-cf__legal { font-size: 16px; line-height: 30px; }
.pbf-cf__hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.pbf-cf__notice { padding: .75rem 1rem; border-left: 4px solid; }
.pbf-cf__notice--ok { border-color: var(--wp--preset--color--accent); background: #f1f9ee; }
.pbf-cf__notice--error { border-color: #c0392b; background: #fdf0ee; }

/* ---------- Móvil ---------- */
@media (max-width: 767px) {
	.wp-block-columns.pbf-vc-cols { flex-wrap: wrap !important; }
	.wp-block-columns.pbf-vc-cols > .wp-block-column { flex-basis: 100% !important; }
}
/* Medido en el original a 375 px: franja de 114 px (azul #003366 en Medibiofarma) con logo (270 px) y hamburguesa,
   sin barra superior; hero a pantalla completa; banda de título de 300 px con título 28/36. */
@media (max-width: 781px) {
	html, body { overflow-x: clip; }
	.pbf-topbar { display: none; }
	.pbf-site-header { background: #003366; }
	.pbf-header__row { min-height: 114px; padding-left: 0 !important; padding-right: 0 !important; }
	.pbf-logo img { width: 270px; max-width: 75vw; }
	.pbf-nav .wp-block-navigation__responsive-container-open svg { width: 30px; height: 30px; }
	.pbf-pagetitle { min-height: 300px !important; padding-top: 0 !important; padding-bottom: 20px !important; }
	.pbf-pagetitle .wp-block-post-title,
	.pbf-pagetitle h1,
	.pbf-pagetitle__kicker { font-size: 28px; line-height: 36px; }
	.pbf-hero { min-height: 100vh !important; min-height: 100svh !important; }
	.pbf-hero__caption { font-size: 46px; line-height: 52px; text-align: left; left: 20px; right: 20px; width: auto; max-width: none; top: 50%; transform: translateY(-20%); }
	.pbf-main--front .wp-block-post-content > :nth-child(2) { margin-top: 50px; }
	.pbf-main .wp-block-post-content { padding-left: 15px; padding-right: 15px; }
	/* Menú móvil como Visage: desplegable bajo la cabecera, fondo gris claro, elementos a la izquierda
	   en minúscula 14 px, activo en verde (en lugar de la capa a pantalla completa de WordPress). */
	.pbf-header__row, .pbf-header__row > *, .pbf-nav { position: static !important; }
	/* WordPress solo pasa a hamburguesa por debajo de 600 px; Visage lo hace por debajo de 992. */
	.pbf-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: flex !important; }
	.pbf-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none !important; }
	.pbf-nav .wp-block-navigation__responsive-container.is-menu-open {
		position: absolute; top: 100%; left: 0; right: 0; bottom: auto;
		height: auto; padding: 0 !important; overflow: visible;
		background: #003366 !important;
		box-shadow: none;
		animation: none;
	}
	.pbf-nav .is-menu-open .wp-block-navigation__responsive-close,
	.pbf-nav .is-menu-open .wp-block-navigation__responsive-dialog { position: static; }
	.pbf-nav .is-menu-open .wp-block-navigation__responsive-container-close {
		position: absolute; top: -72px; right: 15px; width: 30px; height: 30px;
		background: #003366; color: #fff;
	}
	.pbf-nav .is-menu-open .wp-block-navigation__responsive-container-content {
		padding: 10px 15px 15px !important;
		align-items: stretch !important;
		gap: 0 !important;
	}
	.pbf-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; gap: 0 !important; }
	.pbf-nav .is-menu-open .wp-block-navigation-item { align-items: flex-start !important; }
	.pbf-nav .is-menu-open .wp-block-navigation-item__content {
		padding: 6px 0 !important;
		font-size: 14px; font-weight: 400; line-height: 21px; text-transform: none; letter-spacing: 0;
		color: #ffffff;
	}
	.pbf-nav .is-menu-open .current-menu-item > .wp-block-navigation-item__content,
	.pbf-nav .is-menu-open .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent); }
	.pbf-nav .is-menu-open .wp-block-navigation__submenu-container {
		padding: 0 0 0 15px !important; box-shadow: none; background: transparent !important; min-width: 0 !important;
	}
	.pbf-nav .is-menu-open .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 6px 0 !important; }
	/* Contacto: en el original los mapas miden 230 (Barcelona) y 450 px (Navarra) en móvil. */
	.pbf-main .wp-block-post-content iframe[src*="google.com/maps"] { height: 450px; }
	.pbf-main .wp-block-post-content > .wp-block-columns:first-child iframe[src*="google.com/maps"] { height: 230px; }
}

/* Texto solo para lectores de pantalla. */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* vc_single_image con img_size="medium": como máximo 300×300 (tamaño «medium» de WordPress). */
.pbf-main .wp-block-image.pbf-img-medium img { width: auto; height: auto; max-width: min(300px, 100%); max-height: 300px; }

/* Fila a todo el ancho (mapa de Contacto): 400 px de alto con 5 px de marco, pegada al pie como en el original. */
.pbf-main .wp-block-post-content > .pbf-fullrow { max-width: none; padding: 5px; }
.pbf-fullrow iframe[src*="google.com/maps"] { display: block; width: 100%; height: 400px; }
.pbf-main:not(.pbf-main--front):has(.wp-block-post-content > .pbf-fullrow:last-child) { padding-bottom: 0 !important; }
.pbf-main:not(.pbf-main--front) .wp-block-post-content > .pbf-fullrow:last-child { margin-bottom: 0; }

/* News & Events (Medibiofarma): lista en una columna y widgets debajo, como el original. */
.pbf-news-list--stacked { padding: 0 33px; }
.pbf-news-list--stacked .pbf-sidebar--below { margin-top: 60px; }

/* Fichas del equipo (filas internas con fondo blanco): un panel continuo, como en el original (margin-top -50 en WPBakery). */
.pbf-main .pbf-inner-bg { padding: 20px 0; margin-top: 0 !important; margin-bottom: 0 !important; }
.pbf-main .pbf-inner-bg > .wp-block-columns { margin: 0; }

@media (max-width: 781px) {
	.pbf-nav .wp-block-navigation__responsive-container-open { color: #fff; }
}

/* Filas con imagen de fondo (no el hero ni la banda): el texto sigue oscuro, como en WPBakery (el bloque Portada lo pone en blanco). */
.pbf-main .wp-block-cover.alignfull:not(.pbf-hero):not(.pbf-pagetitle) .wp-block-cover__inner-container { color: #333333; }
.pbf-main .wp-block-cover.alignfull:not(.pbf-hero):not(.pbf-pagetitle) .wp-block-cover__inner-container > h4 { color: #0a3b6c; }
