/* ==========================================================================
   Profesionales (06_Profesionales.pdf) y perfil individual (07_Perfil_individual.pdf)
   Medidas a 1440 px, escaladas con clamp(). Usa .ppo-area-wrap, .ppo-area-h2,
   .ppo-article-list y .ppo-pagination de ppo-area.css.
   ========================================================================== */

.ppo-finder > p:empty,
.ppo-pro-intro > p:empty,
.et_pb_text .ppo-finder > p:empty,
.et_pb_text .ppo-pro-intro > p:empty {
	display: none !important;
}

/* ---------- Hero de Profesionales ---------- */

.ppo-hero--pro .ppo-hero__overlay {
	background: linear-gradient(90deg, rgba(0, 0, 0, .5) 0%, rgba(0, 0, 0, .15) 100%);
}
.ppo-hero--pro .ppo-hero__title {
	position: relative;
	font-weight: 300;
	padding-bottom: 18px;
}
.ppo-hero--pro .ppo-hero__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: clamp(120px, 17vw, 245px);
	height: clamp(4px, .42vw, 6px);
	background: #00A7E2;
}
@media (min-width: 768px) {
	.ppo-hero--pro .ppo-hero__slide {
		min-height: clamp(520px, 50.5vw, 728px);
	}
	.ppo-hero--pro .ppo-hero__content {
		padding-top: clamp(140px, 17.4vw, 250px);
		padding-bottom: clamp(48px, 5vw, 72px);
	}
	.ppo-hero--pro .ppo-hero__title {
		font-size: clamp(52px, 6.04vw, 87px);
		line-height: .95;
		padding-bottom: clamp(18px, 1.9vw, 28px);
		max-width: 9em;
	}
	.ppo-hero--pro .ppo-hero__subtitle {
		font-size: clamp(17px, 1.8vw, 26px);
		line-height: 1.54;
		max-width: 34em;
		margin-top: clamp(28px, 4.2vw, 60px);
	}
}

/* ---------- Buscador ---------- */

.et_pb_section.ppo-finder-section {
	padding: 56px 0 64px !important;
	background: #FFFFFF !important;
}
.ppo-finder-title,
.et_pb_text .ppo-finder-title {
	font-family: 'Barlow', sans-serif !important;
	font-weight: 300 !important;
	font-size: clamp(36px, 4.1vw, 59px) !important;
	line-height: 1.05 !important;
	color: #003360 !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ppo-finder {
	margin-top: 40px;
	color: #003360;
	font-family: 'Barlow', sans-serif;
}
.ppo-finder__search {
	display: flex;
	align-items: center;
	border-bottom: 1.5px solid #003360;
}
.ppo-finder__search input {
	flex: 1;
	min-width: 0;
	border: 0;
	background: transparent;
	padding: 14px 6px;
	font-family: 'Barlow', sans-serif;
	font-size: clamp(17px, 1.8vw, 26px);
	color: #003360;
	outline: none;
}
.ppo-finder__search input::placeholder {
	color: #003360;
}
.ppo-finder__search input:focus-visible {
	box-shadow: inset 0 -2px 0 #00A7E2;
}
.ppo-finder__search button {
	border: 0;
	background: none;
	padding: 8px;
	color: #003360;
	cursor: pointer;
}
.ppo-finder__hint,
.et_pb_text .ppo-finder__hint {
	margin: 28px 0 0 !important;
	padding: 0 !important;
	font-size: clamp(14px, 1.18vw, 17px) !important;
	color: #003360 !important;
}
.ppo-finder__filters {
	display: flex;
	flex-wrap: wrap;
	row-gap: 20px;
	align-items: flex-end;
	gap: 16px clamp(24px, 3.9vw, 56px);
	margin-top: 16px;
}
.ppo-filter select,
.et_pb_text .ppo-filter select {
	/* El ancho sigue a la opción elegida, no a la más larga */
	field-sizing: content;
	width: auto;
	height: auto;
	border-radius: 0;
	box-shadow: none;
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	background: transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 18'%3E%3Cpolyline points='2 7 6 3 10 7' fill='none' stroke='%23003360' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpolyline points='2 11 6 15 10 11' fill='none' stroke='%23003360' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right center / 11px 17px;
	padding: 4px 30px 4px 0;
	font-family: 'Barlow', sans-serif;
	font-size: clamp(16px, 1.53vw, 22px);
	text-transform: uppercase;
	color: #003360;
	cursor: pointer;
	max-width: 100%;
}
.ppo-filter select:focus-visible {
	outline: 2px solid #00A7E2;
	outline-offset: 2px;
}
.ppo-finder__order {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	margin-left: auto;
}
.ppo-finder__order > span {
	font-size: 12px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #003360;
}

@media (min-width: 768px) {
	.et_pb_section.ppo-finder-section {
		padding: clamp(80px, 8vw, 116px) 0 clamp(96px, 11vw, 160px) !important;
	}
	.ppo-finder {
		margin-top: clamp(48px, 4.9vw, 70px);
	}
	.ppo-finder__hint,
	.et_pb_text .ppo-finder__hint {
		margin-top: clamp(40px, 4.6vw, 66px) !important;
	}
}

/* ---------- Resultados ---------- */

.et_pb_section.ppo-pro-section {
	position: relative;
	overflow: hidden;
	padding: 64px 0 72px !important;
	background: #003360 !important;
}
/* Círculo cian que asoma por la derecha */
.et_pb_section.ppo-pro-section::before {
	content: "";
	position: absolute;
	top: clamp(-40px, 3vw, 60px);
	right: clamp(-360px, -18vw, -120px);
	width: clamp(240px, 36vw, 520px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: #00A7E2;
}
.et_pb_section.ppo-pro-section > .et_pb_row {
	position: relative;
	z-index: 1;
}
.ppo-pro-intro .ppo-lead {
	max-width: 21em;
}
.ppo-pro-intro::after {
	content: "";
	display: block;
	width: clamp(120px, 17vw, 245px);
	height: clamp(4px, .42vw, 6px);
	margin-top: clamp(28px, 3.4vw, 49px);
	background: #00A7E2;
}

.ppo-pro-grid {
	list-style: none !important;
	margin: 48px 0 0 !important;
	padding: 0 !important;
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 40px 12px;
}
.ppo-pro-card {
	padding: 0 !important;
}
.ppo-pro-card a {
	display: block;
	color: #FFF5E9 !important;
	text-decoration: none;
}
.ppo-pro-card__photo {
	display: block;
	aspect-ratio: 294 / 361;
	overflow: hidden;
	background: #003360 url('ciclorama.jpg') center / cover no-repeat;
}
.ppo-pro-card__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	filter: grayscale(1);
	transition: transform .4s ease;
}
.ppo-pro-card a:hover .ppo-pro-card__photo img {
	transform: scale(1.03);
}
.ppo-pro-card__name {
	display: block;
	margin-top: 14px;
	font-family: 'Barlow', sans-serif;
	font-weight: 700;
	font-size: clamp(17px, 1.6vw, 23px);
	line-height: 1.15;
}
.ppo-pro-card__role {
	display: block;
	margin-top: 4px;
	font-family: 'Barlow', sans-serif;
	font-size: clamp(14px, 1.18vw, 17px);
}
.ppo-pro-card a:hover .ppo-pro-card__name {
	color: #00A7E2;
}
.ppo-pro-empty {
	margin-top: 48px;
	font-size: 20px;
	color: #FFF5E9;
}
.ppo-pagination--light .page-numbers {
	color: #FFF5E9 !important;
}
.ppo-pagination--light a.page-numbers:hover {
	color: #00A7E2 !important;
}

@media (min-width: 768px) {
	.et_pb_section.ppo-pro-section {
		padding: clamp(96px, 12vw, 176px) 0 clamp(96px, 12vw, 170px) !important;
	}
	.ppo-pro-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
		column-gap: clamp(10px, .95vw, 13px);
		row-gap: clamp(72px, 9.3vw, 134px);
		margin-top: clamp(80px, 10vw, 144px) !important;
	}
	.ppo-pro-card__name {
		margin-top: clamp(14px, 1.5vw, 22px);
	}
}

/* ---------- Perfil individual ---------- */

.ppo-profile-page {
	position: relative;
	background-color: #FFFFFF;
	background-image: linear-gradient(rgba(255, 255, 255, .82), rgba(255, 255, 255, .82)), url('/wp-content/uploads/2026/09/reconocimiento-fondo.jpg');
	background-size: cover;
	background-position: center, right top;
	color: #003360;
	font-family: 'Barlow', sans-serif;
}
.ppo-profile-hero {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: clamp(300px, 41.5vw, 597px);
	background: #FFF5E9 url('/wp-content/uploads/2026/09/perfil-hero.jpg') center / cover no-repeat;
}
/* Filtro claro (Crema) para que "Volver a expertos" y el cargo, en navy, se
   lean sobre la foto. Arranca debajo del menú, que es claro y necesita la
   foto más oscura detrás. */
.ppo-profile-hero::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgb(250 250 250 / 0%) 0, rgb(134 132 129 / 72%) 120px, rgb(148 148 148 / 46%) 100%);
}
.ppo-profile-page > .ppo-area-wrap {
	position: relative;
	z-index: 1;
	padding-top: 110px;
	padding-bottom: 72px;
}
.ppo-profile-back {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: clamp(17px, 1.53vw, 22px);
	color: #003360 !important;
	text-decoration: none;
}
.ppo-profile-back:hover {
	color: #00A7E2 !important;
}

.ppo-profile-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 40px;
	margin-top: 32px;
}
.ppo-profile-photo {
	max-width: 396px;
	aspect-ratio: 396 / 528;
	overflow: hidden;
	background: #003360 url('/wp-content/uploads/2026/09/ciclorama-azul.jpg') center / cover no-repeat;
}
.ppo-profile-photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center bottom;
}

.ppo-profile-name {
	margin: 0 !important;
	padding: 0 !important;
	font-family: 'Barlow', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(30px, 2.8vw, 40px) !important;
	line-height: 1.1 !important;
	color: #003360 !important;
}
.ppo-profile-role {
	margin: clamp(16px, 3vw, 44px) 0 0 !important;
	padding: 0 !important;
	font-size: clamp(18px, 1.64vw, 23.5px) !important;
	color: #003360 !important;
}
.ppo-profile-contact {
	list-style: none;
	margin: clamp(32px, 5.5vw, 80px) 0 0;
	padding: 0;
	max-width: 400px;
}
.ppo-profile-contact li {
	padding: 0;
	border-bottom: 1.5px solid #003360;
}
.ppo-profile-contact a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: clamp(14px, 1.9vw, 28px) 0 clamp(14px, 1.9vw, 28px);
	font-size: clamp(17px, 1.53vw, 22px);
	color: #003360 !important;
	text-decoration: none;
	overflow-wrap: anywhere;
}
.ppo-profile-contact a::after {
	content: "";
	flex: 0 0 auto;
	width: 10px;
	height: 10px;
	margin-right: 6px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}
.ppo-profile-contact a:hover {
	color: #00A7E2 !important;
}

.ppo-profile-unis {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px clamp(20px, 2.6vw, 38px);
}
.ppo-profile-unis li {
	padding: 0;
}
.ppo-profile-unis img {
	display: block;
	height: clamp(44px, 4.5vw, 64px);
	width: auto;
}
.ppo-profile-block {
	margin-top: clamp(40px, 5.8vw, 84px);
	padding-top: clamp(32px, 3.6vw, 52px);
	border-top: 1.5px solid #003360;
}
.ppo-profile-h4 {
	margin: 0 !important;
	padding: 0 !important;
	font-family: 'Barlow', sans-serif !important;
	font-weight: 500 !important;
	font-size: clamp(24px, 2.3vw, 33px) !important;
	line-height: 1.1 !important;
	color: #003360 !important;
}
.ppo-profile-list,
.ppo-profile-rankings {
	list-style: none;
	margin: clamp(20px, 2.8vw, 40px) 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: clamp(8px, 1.1vw, 16px);
}
.ppo-profile-list li,
.ppo-profile-rankings li {
	padding: 0;
	font-size: clamp(16px, 1.5vw, 21.6px);
	line-height: 1.2;
}
.ppo-profile-list a {
	color: #003360 !important;
	text-decoration: none;
}
.ppo-profile-list a:hover {
	color: #00A7E2 !important;
}
.ppo-profile-rankings {
	gap: clamp(16px, 2vw, 28px);
}
.ppo-profile-rankings strong {
	display: block;
	font-weight: 700;
	font-size: clamp(18px, 1.76vw, 25.3px);
}
.ppo-profile-rankings span {
	display: block;
	margin-top: 6px;
}

.ppo-profile-h3 {
	margin: clamp(48px, 5vw, 72px) 0 0 !important;
	padding: 0 !important;
	font-family: 'Barlow', sans-serif !important;
	font-weight: 700 !important;
	font-size: clamp(30px, 3vw, 43px) !important;
	line-height: 1.1 !important;
	color: #003360 !important;
}
.ppo-profile-text {
	margin-top: 12px;
}
.ppo-profile-text p {
	margin: 0 0 1em !important;
	padding: 0 !important;
	font-size: clamp(16px, 1.56vw, 22.4px) !important;
	line-height: 1.63 !important;
	color: #003360 !important;
}
.ppo-profile-text p:last-child {
	margin-bottom: 0 !important;
}

@media (min-width: 768px) {
	.ppo-profile-page > .ppo-area-wrap {
		padding-top: clamp(140px, 16.5vw, 238px);
		padding-bottom: clamp(96px, 12vw, 170px);
	}
	.ppo-profile-back {
		margin-left: clamp(-24px, -1.6vw, 0px);
	}
	.ppo-profile-grid {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 0;
		align-items: start;
		margin-top: clamp(40px, 4.6vw, 66px);
	}
	.ppo-profile-photo {
		grid-column: 1 / 5;
		grid-row: 1;
		max-width: none;
	}
	.ppo-profile-head {
		grid-column: 6 / 11;
		grid-row: 1;
		padding-top: clamp(40px, 5.8vw, 84px);
	}
	.ppo-profile-side {
		grid-column: 1 / 5;
		grid-row: 2;
		margin-top: clamp(56px, 5.8vw, 84px);
	}
	.ppo-profile-body {
		grid-column: 6 / 13;
		grid-row: 2;
		margin-top: clamp(56px, 6.9vw, 100px);
	}
	.ppo-profile-body > .ppo-profile-text:first-child {
		margin-top: 0;
	}
}

/* En el perfil la foto de cabecera es clara y el menú (crema) no se leía:
   el header arranca en navy sólido, como cuando se hace scroll. */
.single-miembro_equipo .ppo-header-section.ppo-header-section {
	background-color: #003360 !important;
}
