/* Datos del proyecto: tabla vertical label (izq) / valor (der), líneas divisorias */
.ploa-datos {
	max-width: 420px;
	margin: 16px 0;
}
.ploa-dato {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 20px;
	padding: 10px 0;
	border-top: 1px solid #ddd;
	font-size: 14px;
}
.ploa-datos .ploa-dato:last-child {
	border-bottom: 1px solid #ddd;
}
.ploa-dato-label {
	color: #333;
}
.ploa-dato-valor {
	font-weight: 700;
	text-align: right;
}

/* Características */
.ploa-caracteristicas {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 14px 32px;
	margin: 16px 0;
	max-width: 420px;
}
.ploa-caracteristica {
	display: flex;
	align-items: center;
	gap: 10px;
}
.ploa-caracteristica-icono {
	width: 26px;
	height: 26px;
	flex: 0 0 26px;
	color: #333;
}
.ploa-caracteristica-icono svg { width: 100%; height: 100%; }
.ploa-caracteristica-texto { font-size: 15px; }

/* Galería */
.ploa-galeria {
	position: relative;
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 20px 0;
}
.ploa-galeria-track {
	display: flex;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	gap: 16px;
	scroll-behavior: smooth;
	flex: 1;
}
.ploa-galeria-slide {
	flex: 0 0 calc(50% - 8px);
	scroll-snap-align: start;
}
.ploa-galeria-slide img,
.ploa-galeria-slide video {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 2px;
}
.ploa-galeria-arrow {
	background: none;
	border: none;
	font-size: 22px;
	cursor: pointer;
	color: #ff7a1a;
	flex: 0 0 auto;
	padding: 4px 8px;
}
@media (max-width: 700px) {
	.ploa-galeria-slide { flex-basis: 100%; }
}

/* Planos: grid con auto-fill (NO auto-fit) para que 1 o 2 ítems no se
   estiren a lo ancho de toda la página cuando faltan columnas para llenar. */
.ploa-planos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 220px));
	gap: 24px;
	margin: 20px 0;
}
.ploa-plano-thumb-box {
	width: 100%;
	aspect-ratio: 3 / 4;
	background: #fafafa;
	border: 1px dashed #bbb;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}
.ploa-plano-thumb-box a,
.ploa-plano-thumb-box img,
.ploa-plano-thumb-box video {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
}
.ploa-plano figcaption { text-align: center; font-size: 13px; margin-top: 6px; color: #555; }

/* Lightbox simple */
.ploa-lightbox-overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.85);
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 99999;
	padding: 30px;
}
.ploa-lightbox-overlay img {
	max-width: 100%;
	max-height: 100%;
}
.ploa-lightbox-close {
	position: absolute;
	top: 20px;
	right: 30px;
	color: #fff;
	font-size: 30px;
	background: none;
	border: none;
	cursor: pointer;
}

/* Header del listado: flecha volver (izq) + ícono y título de categoría (der) */
.ploa-grid-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	padding: 14px 0;
	margin: 20px 0;
}
.ploa-grid-back {
	color: #ff7a1a;
	text-decoration: none;
	font-size: 20px;
	line-height: 1;
}
.ploa-grid-header-tipo {
	display: flex;
	align-items: center;
	gap: 8px;
}
.ploa-grid-header-tipo img {
	width: 22px;
	height: 22px;
	object-fit: contain;
}
.ploa-grid-header-title {
	font-weight: 600;
	font-size: 13px;
	letter-spacing: .02em;
}

/* Categorías: Viviendas / Edificios / Desarrollos Urbanísticos (proyectos.png) */
.ploa-categorias {
	margin: 20px 0;
	border-top: 2px solid #bbb;
}
.ploa-categoria-row {
	display: grid;
	grid-template-columns: 130px 1fr 340px 44px;
	align-items: center;
	gap: 40px;
	padding: 48px 10px;
	text-decoration: none;
	color: inherit;
	border-bottom: 2px solid #bbb;
	transition: opacity .2s ease;
}
.ploa-categoria-row:hover {
	opacity: .7;
}
.ploa-categoria-icono {
	width: 90px;
	height: 70px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
}
.ploa-categoria-icono img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
}
.ploa-categoria-titulo {
	font-size: 34px;
	font-weight: 500;
	line-height: 1.2;
}
.ploa-categoria-desc {
	font-size: 15px;
	line-height: 1.6;
	color: #333;
}
.ploa-categoria-flecha {
	color: #ff6a1a;
	justify-self: end;
	display: flex;
	align-items: center;
}
.ploa-categoria-flecha svg {
	width: 34px;
	height: 18px;
}
@media (max-width: 900px) {
	.ploa-categoria-row {
		grid-template-columns: 70px 1fr 34px;
		grid-template-areas:
			"icono titulo flecha"
			"icono desc desc";
		row-gap: 10px;
		padding: 30px 10px;
	}
	.ploa-categoria-icono { grid-area: icono; width: 60px; height: 46px; }
	.ploa-categoria-titulo { grid-area: titulo; font-size: 24px; }
	.ploa-categoria-desc { grid-area: desc; }
	.ploa-categoria-flecha { grid-area: flecha; }
}

/* Grid de listado (viviendas / edificios / desarrollos) */
.ploa-grid {
	display: grid;
	gap: 24px;
	margin: 20px 0;
}
.ploa-grid-cols-2 { grid-template-columns: repeat(2, 1fr); }
.ploa-grid-cols-3 { grid-template-columns: repeat(3, 1fr); }
.ploa-grid-cols-4 { grid-template-columns: repeat(4, 1fr); }
@media (max-width: 900px) {
	.ploa-grid-cols-3, .ploa-grid-cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
	.ploa-grid-cols-2, .ploa-grid-cols-3, .ploa-grid-cols-4 { grid-template-columns: 1fr; }
}
.ploa-grid-item {
	display: block;
	text-decoration: none;
	color: inherit;
}
.ploa-grid-thumb {
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #e5e5e5;
}
.ploa-grid-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}
.ploa-grid-item:hover .ploa-grid-thumb img {
	transform: scale(1.04);
}
.ploa-grid-thumb-empty { width: 100%; height: 100%; background: #e5e5e5; }
.ploa-grid-info {
	padding-top: 10px;
	display: flex;
	flex-direction: column;
	gap: 2px;
}
.ploa-grid-title { font-weight: 700; }
.ploa-grid-meta { font-size: 13px; color: #888; }

.ploa-pagination {
	display: flex;
	justify-content: center;
	gap: 6px;
	margin: 30px 0;
}
.ploa-pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32px;
	height: 32px;
	padding: 0 6px;
	text-decoration: none;
	color: #333;
	border-radius: 3px;
}
.ploa-pagination .page-numbers.current {
	background: #ff7a1a;
	color: #fff;
}

/* Contenedores de los templates propios (single-proyecto.php / taxonomy-tipo_proyecto.php) */
.ploa-single-wrap,
.ploa-taxonomy-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px 80px;
}
.ploa-single-hero img {
	width: 100%;
	height: auto;
	display: block;
	margin-bottom: 30px;
}
.ploa-single-datos-row {
	display: flex;
	flex-wrap: wrap;
	gap: 60px;
	margin-bottom: 30px;
}
.ploa-single-datos-row .ploa-datos,
.ploa-single-datos-row .ploa-caracteristicas {
	flex: 1;
	min-width: 260px;
	margin: 0;
}
.ploa-section-title {
	font-size: 22px;
	font-weight: 600;
	margin: 40px 0 16px;
}
