
/* ── Héroe corto ── */
.hero-corto{padding-block:clamp(64px,9vw,120px) clamp(56px,7vw,88px)}
.hc-txt{display:flex;flex-direction:column;gap:18px;max-width:44rem}
.hc-txt .subtitulo{color:var(--ink);opacity:.86}
.hc-txt>*{animation:fade .7s ease both}
.hc-txt>*:nth-child(2){animation-delay:.1s}.hc-txt>*:nth-child(3){animation-delay:.2s}.hc-txt>*:nth-child(4){animation-delay:.3s}

/* ── Filtro por servicio (solo con JS) ── */
.filtros{border:0;margin:0 0 clamp(20px,3vw,32px);padding:0;min-width:0}
.filtros legend{padding:0;margin-bottom:12px}
.filtros-cuenta{margin-top:12px}

/* ── Rejilla: las filas quedan parejas y el botón siempre abajo ── */
.res-grupo{margin-top:clamp(8px,2vw,16px)}
.res-grupo[hidden]{display:none}
.res-grupo+.res-grupo{margin-top:clamp(28px,4vw,48px)}
.res-sub{margin-bottom:clamp(16px,2vw,24px)}
.res-rejilla{display:grid;gap:20px;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:stretch}
.res-rejilla.tiles{gap:16px;grid-template-columns:repeat(auto-fill,minmax(min(100%,280px),1fr))}
.res-item{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--linea);border-radius:var(--r);overflow:hidden}
.res-item[hidden]{display:none!important}
.res-item .resultado{flex:1;border:0;border-radius:0;background:none}
.res-item .res-cuerpo{padding-bottom:12px}
.res-pie{display:flex;flex-direction:column;gap:12px;padding:0 20px 20px;margin-top:auto}
.res-pie .boton{width:100%}
.res-de{color:var(--muted);font-size:var(--t-peq);letter-spacing:.03em}
.tile .foto{border-radius:0}
.tile-pie{margin:auto 0 0;padding:12px 16px 14px}

@media (max-width:599px){.res-rejilla.tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.tile-pie{padding:10px 12px 12px}}


/* ── Lupa para ampliar (solo con JS) ── */
.ampliar{display:none;position:absolute;top:10px;right:10px;z-index:6;width:44px;height:44px;padding:0;border-radius:50%;border:1px solid var(--linea);background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);color:var(--ink);place-items:center;cursor:zoom-in;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);transition:transform .25s ease}
.js .ampliar{display:grid}
.ampliar:hover{transform:scale(1.06)}
.ampliar .icono{width:22px;height:22px}
/* En las fotos sueltas, todo el cuadro es el botón; la lupa es solo la señal. */
.js .tile .ampliar{display:block;inset:0;width:auto;height:auto;border:0;border-radius:0;background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}
.tile .ampliar:hover{transform:none}
.tile .ampliar .icono{position:absolute;top:10px;right:10px;width:44px;height:44px;box-sizing:border-box;padding:11px;border-radius:50%;border:1px solid var(--linea);background:var(--bg);background:color-mix(in srgb,var(--bg) 88%,transparent);transition:transform .25s ease}
.tile .ampliar:hover .icono{transform:scale(1.06)}

/* ── Nota honesta ── */
.nota-honesta{display:flex;gap:16px;align-items:flex-start;margin-top:clamp(28px,4vw,48px);padding:clamp(20px,3vw,30px);border:1px solid var(--linea);border-radius:var(--r);background:var(--accent-soft)}
.nota-icono{flex:none;width:48px;height:48px;border-radius:50%;border:1px solid var(--linea);display:grid;place-items:center;color:var(--accent-text);background:var(--card)}
.nota-honesta h3{font-family:var(--serif);font-variation-settings:"SOFT" 100;font-weight:600;font-size:clamp(1.25rem,1rem + 1vw,1.7rem);line-height:1.25;letter-spacing:0;text-transform:none;margin-bottom:8px}
.nota-honesta p{color:var(--muted);max-width:46rem}

/* ── Estado vacío (sin fotos autorizadas) ── */
.vacio{display:grid;gap:32px;align-items:center}
.vacio-marcos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;max-width:440px;justify-self:center}
.vacio-marcos .foto:nth-child(2){transform:translateY(18px)}
.vacio-marcos .leyenda{display:none}
.vacio-txt{display:flex;flex-direction:column;gap:16px}
@media (min-width:900px){.vacio{grid-template-columns:5fr 6fr;gap:64px}.vacio-marcos{max-width:none}}

/* ── Lightbox ── */
html.lb-abierto{overflow:hidden}
.lb{position:fixed;inset:0;z-index:100;display:grid;place-items:center;padding:16px}
.lb[hidden]{display:none}
.lb-fondo{position:absolute;inset:0;background:rgba(18,18,22,.84);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.lb-panel{position:relative;display:flex;flex-direction:column;gap:14px;width:min(100%,1100px);max-height:100%;padding:clamp(16px,2.4vw,28px);border-radius:var(--r);background:var(--c-perla);color:var(--ink);border:1px solid var(--linea);box-shadow:0 30px 60px -30px rgba(0,0,0,.8);overflow:auto}
.lb-panel:focus{outline:none}
.lb-cab{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.lb-cab .etiqueta{margin-bottom:4px}
.lb-titulo{font-size:clamp(1.05rem,.95rem + .6vw,1.5rem);text-transform:uppercase;letter-spacing:.06em}
.lb-escenario{display:flex;flex:none;gap:12px;justify-content:center;align-items:center}
.lb-vista{position:relative;flex:0 0 auto;aspect-ratio:var(--ar,.8);height:min(calc(100vh - 290px),820px);height:min(calc(100dvh - 290px),820px);max-width:100%;overflow:hidden;border-radius:var(--r-s);background:var(--soft)}
.lb-vista .ad-antes,.lb-vista .ad-desp{position:absolute;inset:0}
.lb-vista .foto{position:absolute;inset:0;height:100%;aspect-ratio:auto;border-radius:0}
.lb-vista .rotulo.l{left:10px}.lb-vista .rotulo.r{right:10px}
.lb-desc{margin:0;text-align:center;color:var(--muted)}
.lb-pie{display:flex;justify-content:space-between;align-items:center;gap:12px}
.lb-cuenta{color:var(--muted);text-align:center;white-space:nowrap}
@media (max-width:700px){
  .lb{padding:8px}
  .lb-escenario{flex-direction:column;justify-content:flex-start}
  .lb-vista{height:auto;width:min(100%,calc((100vh - 290px) * var(--ar,.8)));width:min(100%,calc((100dvh - 290px) * var(--ar,.8)))}
  .lb-pie{flex-wrap:wrap}
  .lb-cuenta{order:-1;flex:1 0 100%}
  .lb-pie .boton{padding:0 16px;flex:1}
}
@media (prefers-reduced-motion:reduce){
  .hc-txt>*{animation:none}
  .ampliar,.tile .ampliar .icono{transition:none}
  .ampliar:hover,.tile .ampliar:hover .icono{transform:none}
}
