/* PUDMARK Proyectos — front */
.ppm-layout { padding: 2.5rem 0 3.5rem; }
.ppm-filters { display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:1.5rem; }
.ppm-filter {
	display:inline-block; padding:.45rem 1rem; border-radius:999px;
	border:1px solid rgba(0,77,48,.18); background:#fff; color:#5a6b63;
	font-size:.85rem; font-weight:600; text-decoration:none;
}
.ppm-filter:hover, .ppm-filter.is-active { background:var(--mqt-primary,#004d30); border-color:var(--mqt-primary,#004d30); color:#fff; }
.ppm-card {
	background:#fff; border-radius:12px; overflow:hidden; height:100%;
	box-shadow:0 8px 24px rgba(0,0,0,.06); display:flex; flex-direction:column;
	transition:transform .2s ease;
}
.ppm-card:hover { transform:translateY(-3px); }
.ppm-card__media { position:relative; aspect-ratio:16/10; overflow:hidden; background:#eef2f0; }
.ppm-card__media img { width:100%; height:100%; object-fit:cover; display:block; }
.ppm-card__badge {
	position:absolute; left:.85rem; bottom:.85rem; color:#fff; font-size:.68rem; font-weight:700;
	letter-spacing:.04em; padding:.3rem .65rem; border-radius:6px; text-transform:uppercase;
}
.ppm-card__badge--education { background:#0d7a4f; }
.ppm-card__badge--health { background:#1f6fb2; }
.ppm-card__badge--community { background:#c45c26; }
.ppm-card__badge--environment { background:#2f8f46; }
.ppm-card__badge--inclusion { background:#6b4ea2; }
.ppm-card__badge--default { background:#004d30; }
.ppm-card__body { padding:1.15rem 1.25rem 1.35rem; flex:1; display:flex; flex-direction:column; }
.ppm-card__title { font-size:1.15rem; font-weight:700; color:var(--mqt-primary,#004d30); margin:0 0 .5rem; line-height:1.3; }
.ppm-card__title a { color:inherit; text-decoration:none; }
.ppm-card__loc { font-size:.85rem; color:#6b7c74; margin-bottom:.85rem; }
.ppm-card__loc i { margin-right:.35rem; color:var(--mqt-secondary,#65ba9a); }
.ppm-card__progress-label { font-size:.8rem; font-weight:700; color:var(--mqt-primary,#004d30); margin-bottom:.35rem; }
.ppm-card__bar { height:8px; background:#e7eee9; border-radius:999px; overflow:hidden; margin-bottom:.85rem; }
.ppm-card__bar > span { display:block; height:100%; background:var(--mqt-secondary,#65ba9a); }
.ppm-card__meta { display:flex; flex-wrap:wrap; gap:.65rem 1rem; font-size:.78rem; color:#6b7c74; margin-top:auto; }
.ppm-card__meta i { margin-right:.25rem; color:var(--mqt-secondary,#65ba9a); }
.ppm-sidebar .ppm-widget { background:#fff; border:1px solid rgba(0,77,48,.08); border-radius:12px; padding:1.25rem; margin-bottom:1.25rem; }
.ppm-widget__title { font-size:1.05rem; font-weight:700; color:var(--mqt-primary,#004d30); margin-bottom:1rem; }
.ppm-search { position:relative; }
.ppm-search input { width:100%; padding:.65rem 2.75rem .65rem 1rem; border:1px solid rgba(0,77,48,.18); border-radius:999px; }
.ppm-search button { position:absolute; right:.35rem; top:50%; transform:translateY(-50%); border:0; background:var(--mqt-primary,#004d30); color:#fff; width:2.1rem; height:2.1rem; border-radius:50%; }
.ppm-featured { display:flex; gap:.85rem; align-items:flex-start; }
.ppm-featured img { width:88px; height:72px; object-fit:cover; border-radius:8px; }
.ppm-featured strong { display:block; font-size:.92rem; color:var(--mqt-primary,#004d30); line-height:1.3; }
.ppm-impact-list { list-style:none; padding:0; margin:0; }
.ppm-impact-list li { display:flex; gap:.75rem; align-items:center; padding:.55rem 0; border-bottom:1px solid rgba(0,77,48,.08); font-size:.9rem; }
.ppm-impact-list i { color:var(--mqt-secondary,#65ba9a); width:1.25rem; text-align:center; }
.ppm-cta-box { background:var(--mqt-primary,#004d30); color:#fff; border-radius:12px; padding:1.35rem; }
.ppm-cta-box a { color:#fff; font-weight:700; text-decoration:none; }
.ppm-single-hero { position:relative; color:#fff; background:var(--mqt-primary,#004d30); overflow:hidden; }
.ppm-single-hero__bg { position:absolute; inset:0; background-size:cover; background-position:center; opacity:.35; }
.ppm-single-hero__inner { position:relative; z-index:1; padding:2.75rem 0; }
.ppm-single-hero .breadcrumb, .ppm-single-hero a { color:rgba(255,255,255,.85); }
.ppm-chip { display:inline-block; background:rgba(255,255,255,.2); color:#fff; border-radius:999px; padding:.3rem .8rem; font-size:.75rem; font-weight:700; letter-spacing:.04em; margin-bottom:.85rem; }
.ppm-single-meta { display:flex; flex-wrap:wrap; gap:1rem 1.5rem; margin-top:1rem; font-size:.9rem; opacity:.95; }
.ppm-tabs { display:flex; flex-wrap:wrap; gap:.25rem 1.25rem; border-bottom:1px solid rgba(0,77,48,.12); margin-bottom:1.5rem; }
.ppm-tabs button {
	border:0; background:transparent; padding:.85rem 0; font-weight:600; color:#6b7c74; border-bottom:2px solid transparent; cursor:pointer;
}
.ppm-tabs button.is-active { color:var(--mqt-primary,#004d30); border-bottom-color:var(--mqt-primary,#004d30); }
.ppm-tab-panel { display:none; }
.ppm-tab-panel.is-active { display:block; }
.ppm-status { background:#fff; border:1px solid rgba(0,77,48,.08); border-radius:12px; padding:1.35rem; margin-bottom:1.25rem; }
.ppm-status__grid { display:grid; grid-template-columns:1fr 1fr 1fr; gap:.75rem; text-align:center; margin:1rem 0 1.25rem; }
.ppm-status__grid strong { display:block; font-size:.95rem; color:var(--mqt-primary,#004d30); }
.ppm-status__grid span { font-size:.75rem; color:#6b7c74; }
.ppm-impact-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:1rem; }
@media (min-width:992px){ .ppm-impact-cards { grid-template-columns:repeat(4,1fr); } }
.ppm-impact-card { background:#fff; border-radius:12px; padding:1.15rem; text-align:center; box-shadow:0 6px 18px rgba(0,0,0,.05); }
.ppm-impact-card strong { display:block; font-size:1.4rem; color:var(--mqt-primary,#004d30); }
.ppm-ods { display:flex; flex-wrap:wrap; gap:.5rem; }
.ppm-ods span { width:42px; height:42px; border-radius:8px; display:inline-flex; align-items:center; justify-content:center; color:#fff; font-weight:700; font-size:.85rem; background:#0d7a4f; }
