/* Estudio Bondi: portfolio e internas. No afecta el scroll snap de la home. */
.proyectos-standalone { padding-top:150px; background:#fff; min-height:100vh; }
.proyectos-standalone *, .proyectos-standalone *::before, .proyectos-standalone *::after { box-sizing:border-box; }
.portfolio-container, .proyecto-container { width:90%; max-width:1600px; margin-inline:auto; }
.portfolio-page { padding-block:clamp(22px,3vw,54px) 90px; }
.portfolio-titular { display:flex; justify-content:space-between; align-items:flex-end; gap:24px; margin-bottom:clamp(24px,3.5vw,55px); }
.portfolio-titular h1 { font-family:'Sheldon',Impact,sans-serif; font-weight:normal; font-size:clamp(62px,10vw,160px); line-height:.9; margin:0; }
.portfolio-titular p { font-family:'Dklemon',sans-serif; font-size:clamp(13px,1.5vw,19px); margin:15px 0 0; }
.portfolio-titular a { color:#000; background:var(--verde); text-decoration:none; padding:10px 14px; font-family:'Sheldon',Impact,sans-serif; font-size:22px; white-space:nowrap; }
.portfolio-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; }
.portfolio-grid > * { min-width:0; }
/* Ficha: dos paneles en un contenedor común, sin perder el aspecto 2/3 + 1/3. */
.proyecto-page { padding-block:24px 75px; }
.proyecto-ficha { display:grid; grid-template-columns:minmax(0, 2fr) minmax(315px,1fr); align-items:start; width:100%; }
.proyecto-galeria { min-width:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); grid-auto-flow:row dense; gap:0; align-content:start; background:#f5f5f5; }
.proyecto-galeria figure { margin:0; min-width:0; overflow:hidden; grid-column:span 4; background:#e8e8e8; }
/* Compatibilidad con los JSON originales: col-1 / col-2 = mitades; col-3 = completo. */
.proyecto-galeria .col-1, .proyecto-galeria .col-2, .proyecto-galeria .span-2 { grid-column:span 2; }
.proyecto-galeria .col-3, .proyecto-galeria .wide, .proyecto-galeria .full-bleed, .proyecto-galeria .span-4 { grid-column:span 4; }
.proyecto-galeria .span-1 { grid-column:span 1; }
.proyecto-galeria .span-3 { grid-column:span 3; }
.proyecto-galeria img, .proyecto-galeria video { width:100%; height:auto; display:block; background:#d5f9fb; }
.proyecto-galeria video { background:#000; aspect-ratio:16/9; object-fit:cover; }
.proyecto-info { min-width:0; align-self:start; position:sticky; top:170px; background:#fff; }
.proyecto-info-inner { padding:clamp(20px,3vw,55px); padding-top:12px; }
.proyecto-marca { display:flex; flex-direction:column; align-items:flex-end; text-align:right; margin-bottom:42px; }
.proyecto-marca span { font-family:'Sheldon',Impact,sans-serif; font-size:clamp(40px,4vw,85px); line-height:1; }
.proyecto-marca small { font-family:'Dklemon',sans-serif; letter-spacing:.06em; }
.proyecto-volver,.proyecto-cliente { display:inline-block; padding:5px 12px; background:var(--verde); color:#000; font-family:'Sheldon',Impact,sans-serif; text-decoration:none; font-size:23px; }
.proyecto-volver { background:#000; color:var(--verde); margin-bottom:25px; }
.proyecto-info h1 { font-family:'Sheldon',Impact,sans-serif; font-size:clamp(32px,3.2vw,54px); line-height:1.08; margin:0 0 10px; }
.proyecto-info p { font-size:16px; line-height:1.5; color:#666; }
.proyecto-info h3 { font-size:18px; margin:20px 0 4px; }
.proyecto-link { display:inline-block; margin-top:12px; color:#000; }
.proyectos-standalone > footer { padding:25px 5%; background:#000; color:#fff; }
/* El modal mantiene ficha y controles; no se usa el contenedor de la página. */
.modal-proyecto .sheet { width:min(95vw,1450px); max-width:none; height:92vh; overflow:hidden; }
.modal-proyecto #proyectoContenido { padding:0; max-height:92vh; overflow-y:auto; display:block; }
.modal-proyecto .proyecto-info { top:12px; }
.modal-proyecto .close { z-index:20; background:#fff; }
@media(min-width:700px) { .portfolio-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(min-width:1050px) { .portfolio-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(min-width:1400px) { .portfolio-grid { grid-template-columns:repeat(5,minmax(0,1fr)); } }
@media(max-width:990px) {
 .proyectos-standalone { padding-top:100px; }
 .proyecto-info { top:110px; }
 .proyecto-ficha { grid-template-columns:minmax(0,1.5fr) minmax(270px,1fr); }
 .proyecto-info-inner { padding:18px; }
}
@media(max-width:700px) {
 .portfolio-container, .proyecto-container { width:94%; }
 .portfolio-titular { align-items:flex-start; flex-direction:column; }
 .proyecto-ficha { display:flex; flex-direction:column-reverse; }
 .proyecto-info { position:static; width:100%; }
 .proyecto-info-inner { padding:20px 12px 26px; }
 .proyecto-marca { margin-bottom:20px; }
 .proyecto-galeria { width:100%; }
 .proyecto-galeria .span-1 { grid-column:span 2; }
 .proyecto-galeria .span-3 { grid-column:span 4; }
 .modal-proyecto .sheet { margin:0; width:100vw; height:100dvh; }
 .modal-proyecto #proyectoContenido { max-height:100dvh; }
}

/* V5: controles públicos de portfolio */
.portfolio-filtros { display:flex; gap:8px; flex-wrap:wrap; align-items:center; margin-bottom:12px; }
.portfolio-filtros button { cursor:pointer; border:1px solid #111; padding:9px 14px; background:#fff; color:#111; font:inherit; font-size:14px; }
.portfolio-filtros button:hover, .portfolio-filtros button:focus-visible { background:var(--verde); }
.portfolio-filtros button.is-active { background:#111; color:#fff; }
.portfolio-resultados { font-size:13px; color:#666; margin:0 0 16px; }
.portfolio-grid > .proy-card[hidden] { display:none!important; }
.portfolio-sin-resultados[hidden] { display:none; }
/* Tarjetas: título y resumen blancos sobre negro degradado. */
@media (hover:hover) and (min-width:1200px) {
 .proy-card .txt { color:#fff; }
 .proy-card .cliente { color:#000; }
}
/* Galería modular: alturas por unidad, recorte de imágenes y videos sin huecos. */
.proyecto-galeria { --galeria-row:clamp(80px,10vw,160px); grid-auto-rows:var(--galeria-row); grid-auto-flow:row dense; }
.proyecto-galeria figure { height:100%; min-height:0; }
.proyecto-galeria figure.rows-1 { grid-row:span 1; }
.proyecto-galeria figure.rows-2 { grid-row:span 2; }
.proyecto-galeria figure.rows-3 { grid-row:span 3; }
.proyecto-galeria figure > img,
.proyecto-galeria figure > video { width:100%; height:100%; object-fit:cover; display:block; }
.proyecto-galeria figure > video { aspect-ratio:auto; }
@media(max-width:700px) {
 .proyecto-galeria { --galeria-row:clamp(75px,23vw,150px); }
 .proyecto-galeria .span-1 { grid-column:span 2; }
 .proyecto-galeria .span-3 { grid-column:span 4; }
}

/* V6.1: la altura siempre la define la celda, no el contenido.
   Dense puede recuperar huecos anteriores solo si encuentra una pieza que encaje. */
.proyecto-galeria { grid-auto-flow:row dense; }
.proyecto-galeria > figure { min-width:0; min-height:0; }
.proyecto-galeria > figure > :is(img,video) { display:block; width:100%; height:100%; object-fit:cover; }

/* Galería mobile independiente, editable desde admin */
@media (max-width: 700px) {
 .proyecto-galeria {grid-template-columns:repeat(2,minmax(0,1fr));}
 .proyecto-galeria figure[data-mobile-layout] {grid-column:span var(--mobile-cols);grid-row:span var(--mobile-rows);order:var(--mobile-order);}
}
