/* ==========================================================================
   Ficha de área de práctica (templates/single-area_practica.php)
   Diseño 05_Derecho_administrativo.pdf, medidas a 1440 px con clamp().
   ========================================================================== */

.ppo-area-page {
	background: #FFFFFF;
	color: #003360;
	font-family: 'Barlow', sans-serif;
}
.ppo-area-page #main-content,
.ppo-area-page .container {
	padding: 0;
}

/* Mismo contenedor que el resto del sitio: 1280 máx, 24 px de margen */
.ppo-area-wrap {
	max-width: 1280px;
	margin: 0 auto;
	padding: 0 24px;
	box-sizing: border-box;
}

/* ---------- Hero ---------- */

.ppo-hero--area .ppo-hero__overlay {
	background: linear-gradient(90deg, rgba(0, 51, 96, .55) 0%, rgba(0, 51, 96, .35) 60%, rgba(0, 51, 96, .2) 100%);
}
.ppo-hero--area .ppo-hero__title {
	position: relative;
	font-weight: 300;
	padding-bottom: 20px;
}
.ppo-hero--area .ppo-hero__title::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: clamp(120px, 17vw, 245px);
	height: clamp(4px, .42vw, 6px);
	background: #FFF5E9;
}
@media (min-width: 768px) {
	.ppo-hero--area .ppo-hero__slide {
		min-height: clamp(520px, 50.5vw, 728px);
	}
	.ppo-hero--area .ppo-hero__content {
		padding-top: clamp(140px, 17.4vw, 250px);
		padding-bottom: clamp(56px, 7vw, 100px);
	}
	.ppo-hero--area .ppo-hero__title {
		font-size: clamp(48px, 6.25vw, 90px);
		line-height: 1.05;
		padding-bottom: clamp(20px, 2.1vw, 30px);
		max-width: none;
	}
	.ppo-hero--area .ppo-hero__subtitle {
		font-size: clamp(17px, 1.8vw, 26px);
		line-height: 1.54;
		max-width: 34em;
		margin-top: clamp(28px, 4.2vw, 60px);
	}
	.ppo-hero--area .ppo-hero__rail {
		grid-row: 2 / 3;
	}
}

/* ---------- Cuerpo ---------- */

.ppo-area-body,
.ppo-area-articles {
	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;
	background-repeat: no-repeat;
}
.ppo-area-body {
	padding: 48px 0 72px;
}
.ppo-area-grid12 {
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 56px;
}

.ppo-area-h2 {
	margin: 0;
	padding: 0;
	font-family: 'Barlow', sans-serif;
	font-weight: 300;
	font-size: clamp(44px, 6.25vw, 90px);
	line-height: 1.05;
	color: #003360;
}
.ppo-area-h3 {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 56px 0 0;
	padding: 0;
	font-family: 'Barlow', sans-serif;
	font-weight: 700;
	font-size: clamp(26px, 2.8vw, 40px);
	line-height: 1.1;
	color: #003360;
}
.ppo-area-text {
	margin-top: 32px;
}
.ppo-area-text p {
	margin: 0 0 1.55em;
	padding: 0;
	font-size: clamp(16px, 1.53vw, 22px);
	line-height: 1.55;
	color: #003360;
}
.ppo-area-text p:last-child {
	margin-bottom: 0;
}

.ppo-area-services {
	list-style: none;
	margin: 36px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	gap: 24px 40px;
}
.ppo-area-services li {
	display: flex;
	align-items: flex-start;
	gap: 16px;
	padding: 0;
	font-size: clamp(16px, 1.53vw, 22px);
	line-height: 1.2;
	color: #003360;
}
.ppo-area-services svg {
	flex: 0 0 auto;
	width: clamp(18px, 1.5vw, 22px);
	height: auto;
	margin-top: 1px;
}

/* Tarjeta cian "Contactar a un experto" */
.ppo-area-contact {
	display: flex;
	flex-direction: column;
	background: #00A7E2;
	color: #FFF5E9;
	padding: 40px 32px;
}
.ppo-area-contact__title {
	margin: 0 !important;
	padding: 0 !important;
	font-weight: 700;
	font-size: clamp(24px, 2.2vw, 32px);
	line-height: 1.15;
	max-width: 8em;
	color: #FFF5E9;
}
.ppo-area-contact__text {
	margin: 18px 0 0 !important;
	padding: 0 !important;
	font-size: clamp(17px, 1.67vw, 24px);
	line-height: 1.25;
	max-width: 10.5em;
	color: #FFF5E9;
}
.ppo-area-contact__link {
	display: inline-flex;
	align-items: center;
	gap: 16px;
	align-self: flex-end;
	margin-top: 40px;
	font-size: clamp(18px, 1.67vw, 24px);
	color: #FFF5E9 !important;
	text-decoration: none;
}
.ppo-area-contact__link::after {
	content: "";
	width: 9px;
	height: 9px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}
.ppo-area-contact__link:hover {
	color: #003360 !important;
}

.ppo-area-h3--icon svg {
	flex: 0 0 auto;
}
.ppo-area-experts {
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 16px;
}
.ppo-area-experts li {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 0;
}
.ppo-area-experts__photo {
	flex: 0 0 auto;
	width: clamp(64px, 6.3vw, 91px);
	aspect-ratio: 1;
	overflow: hidden;
	background: #003360;
}
.ppo-area-experts__photo img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	filter: grayscale(1);
}
.ppo-area-experts__name {
	font-weight: 700;
	font-size: clamp(18px, 1.67vw, 24px);
	line-height: 1.2;
	color: #003360;
}

@media (min-width: 768px) {
	.ppo-area-body {
		padding: 0 0 clamp(80px, 11vw, 160px);
	}
	.ppo-area-grid12 {
		grid-template-columns: repeat(12, minmax(0, 1fr));
		column-gap: 24px;
		row-gap: 0;
		align-items: start;
	}
	.ppo-area-main {
		grid-column: 1 / 9;
		padding-top: clamp(64px, 7.8vw, 112px);
	}
	/* Columnas 9–12; la tarjeta se monta sobre el hero */
	.ppo-area-side {
		grid-column: 9 / 13;
		margin-top: clamp(-57px, -4vw, -32px);
		position: relative;
		z-index: 2;
	}
	.ppo-area-contact {
		min-height: clamp(420px, 45vw, 648px);
		padding: clamp(96px, 21.9vw, 316px) clamp(28px, 3.3vw, 48px) clamp(32px, 3.6vw, 52px);
	}
	.ppo-area-contact__link {
		margin-top: auto;
	}
	.ppo-area-text {
		margin-top: clamp(40px, 5vw, 72px);
		max-width: 760px;
	}
	.ppo-area-h3 {
		margin-top: clamp(64px, 7.5vw, 108px);
	}
	.ppo-area-side .ppo-area-h3 {
		margin-top: clamp(56px, 7.9vw, 114px);
	}
	.ppo-area-services {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		row-gap: clamp(28px, 3.2vw, 46px);
		margin-top: clamp(40px, 5vw, 72px);
		max-width: 660px;
	}
	.ppo-area-experts {
		margin-top: clamp(40px, 5vw, 72px);
	}
}

/* ---------- Artículos relacionados ---------- */

.ppo-area-articles {
	padding: 24px 0 80px;
}
.ppo-article-list {
	list-style: none;
	margin: 40px 0 0;
	padding: 0;
	display: grid;
	grid-template-columns: minmax(0, 1fr);
	column-gap: clamp(40px, 7.2vw, 103px);
}
.ppo-article-list li {
	padding: 22px 0 20px;
	border-bottom: 1.5px solid #003360;
}
.ppo-article-list__title {
	display: block;
	font-weight: 700;
	font-size: clamp(19px, 1.8vw, 26px);
	line-height: 1.25;
	color: #003360 !important;
	text-decoration: none;
}
.ppo-article-list__title:hover {
	color: #00A7E2 !important;
}
.ppo-article-list__meta {
	display: flex;
	align-items: baseline;
	gap: clamp(24px, 3.3vw, 48px);
	margin-top: 12px;
}
.ppo-article-list__meta span {
	font-size: clamp(13px, 1.11vw, 16px);
	color: #003360;
}
.ppo-article-list__meta a {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	font-size: clamp(15px, 1.39vw, 20px);
	color: #003360 !important;
	text-decoration: none;
}
.ppo-article-list__meta a::after {
	content: "";
	width: 8px;
	height: 8px;
	border-top: 1.5px solid currentColor;
	border-right: 1.5px solid currentColor;
	transform: rotate(45deg);
}
.ppo-article-list__meta a:hover {
	color: #00A7E2 !important;
}

.ppo-pagination {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 14px;
	margin-top: 64px;
	font-size: clamp(16px, 1.39vw, 20px);
}
.ppo-pagination .page-numbers {
	color: #003360 !important;
	text-decoration: none;
	padding: 2px 4px;
}
.ppo-pagination .page-numbers.current {
	font-weight: 700;
}
.ppo-pagination a.page-numbers:hover {
	color: #00A7E2 !important;
}

@media (min-width: 768px) {
	.ppo-area-articles {
		padding: 0 0 clamp(96px, 12.5vw, 180px);
	}
	.ppo-article-list {
		grid-template-columns: repeat(2, minmax(0, 512px));
		margin-top: clamp(48px, 7vw, 100px);
	}
	.ppo-article-list li {
		padding: clamp(20px, 2vw, 28px) 0 clamp(18px, 2vw, 28px);
	}
	.ppo-pagination {
		margin-top: clamp(64px, 9vw, 130px);
	}
}
