/* ===========================
   Proyectos Portfolio Styles
   =========================== */

/* Filtros */
.ppf-filter{display:flex;gap:.5rem;flex-wrap:wrap;margin:0 0 1rem}
.ppf-filter button{border:1px solid var(--e-border, #e5e7eb);padding:.4rem .7rem;border-radius:999px;background:#fff;cursor:pointer;font-weight:600}
.ppf-filter button.is-active,.ppf-filter button:hover{background:#111;color:#fff;border-color:#111}

/* Grilla principal (forzada a 3 columnas) */
.ppf-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}
@media(max-width:900px){.ppf-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.ppf-grid{grid-template-columns:1fr}}

/* Tarjeta */
.ppf-card{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08);transition:transform .25s ease, box-shadow .25s ease}
.ppf-card:hover{transform:translateY(-4px);box-shadow:0 14px 40px rgba(0,0,0,.12)}
.ppf-card-link{display:block;text-decoration:none;color:inherit}

/* Imagen de la tarjeta + overlay inferior */
.ppf-card-media{position:relative;width:100%;padding-top:68%;background-size:cover;background-position:center;filter:saturate(1.05) contrast(1.05);transition:transform .5s ease;border-radius:16px;overflow:hidden}
.ppf-card-media::after{
  content:"";
  position:absolute;left:0;right:0;bottom:0;
  height:45%; /* controla cuánto sube el filtro oscuro */
  background:linear-gradient(180deg, rgba(0,0,0,0) 0%, rgba(0,0,0,.65) 70%, rgba(0,0,0,.85) 100%);
  pointer-events:none;
}
.ppf-card:hover .ppf-card-media{transform:scale(1.06)}

/* Footer de info */
.ppf-card-info{
  position:absolute;left:0;right:0;bottom:0;padding:16px;color:#fff;
}
.ppf-card-info h3{
  margin:0 0 8px;font-size:15px;line-height:1.2;font-weight:600;
  text-shadow:0 2px 6px rgba(0,0,0,.35);
}
.ppf-chipwrap{display:flex;gap:6px;flex-wrap:wrap}
.ppf-chip{background:rgba(255,255,255,.15);padding:.2rem .5rem;border-radius:999px;font-size:.75rem}

/* Paginación */
.ppf-pagination{margin-top:18px}
.ppf-pagination ul{list-style:none;display:flex;gap:8px;padding:0}
.ppf-pagination a,.ppf-pagination span{display:inline-block;padding:.45rem .7rem;border:1px solid #e5e7eb;border-radius:8px}
.ppf-pagination .current{background:#111;color:#fff;border-color:#111}

/* Botón Ver más */
.ppf-loadmore-wrap{text-align:center;margin-top:18px}
.ppf-loadmore{padding:.7rem 1.2rem;border:0;border-radius:999px;background:#111;color:#fff;font-weight:700;cursor:pointer;box-shadow:var(--shadow, 0 10px 30px rgba(0,0,0,.08))}
.ppf-loadmore:disabled{opacity:.6;cursor:not-allowed}

/* Helper de proporción fija para miniaturas uniformes (4:3) */
.ratio-4-3{position:relative;width:100%;padding-top:75%;background-size:cover;background-position:center;border-radius:16px;overflow:hidden}

/* ===========================
   SINGLE (Vista del Proyecto)
   =========================== */

.ppf-single{max-width:1100px;margin:0 auto;padding:30px 16px}

/* Layout superior: 1 fila / 2 columnas */
.ppf-single-top{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;margin-bottom:20px}
@media(max-width:900px){.ppf-single-top{grid-template-columns:1fr;align-items:start}}

.ppf-single-hero{margin:0;max-width:none;border-radius:18px;overflow:hidden}
.ppf-single-hero img{display:block;width:100%;height:auto}

.ppf-single-title{margin:0 0 10px;font-size:20px !important;font-weight:700}
.ppf-single-meta{color:#6b7280;margin-bottom:10px}
.ppf-single-content{margin:0;font-size:15px;line-height:1.7; text-align:justify;}

/* Galería 4 columnas con miniaturas uniformes y lightbox */
.ppf-gallery{margin-top:20px}
.ppf-gallery-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
@media(max-width:900px){.ppf-gallery-grid{grid-template-columns:repeat(3,1fr)}}
@media(max-width:600px){.ppf-gallery-grid{grid-template-columns:repeat(2,1fr)}}
.ppf-gallery-grid a{display:block;border-radius:12px;overflow:hidden}
.ppf-gallery-grid a .thumb{width:100%;padding-top:75%;background-size:cover;background-position:center;display:block}

/* ===========================
   Tipografía
   =========================== */
.ppf-single, .ppf-grid, .ppf-filter, .ppf-pagination, .ppf-loadmore, .ppf-card-info h3, .ppf-chip{
  font-family: Montserrat, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
}

/* SINGLE: mostrar la imagen completa (sin recorte) */
.ppf-single-hero{
  height: clamp(320px, 50vh, 520px);  /* alto estándar, ajustable */
  overflow: hidden;
  border-radius: 18px;
  background: #f3f4f6;               /* color de fondo para “barras” */
  display: flex;
  align-items: center;
  justify-content: center;
}

.ppf-single-hero img{
  width: 100%;
  height: 100%;
  object-fit: contain;                /* NO recorta: muestra la foto completa */
  display: block;
}

