/* Visor de proyectos: lightbox + clic en fondo */
.image-proyectos-in { cursor: zoom-in; }
.lb { position: fixed; inset: 0; z-index: 70; display: none; color: #fff; }
.lb.is-open { display: block; }
.lb-fondo { position: absolute; inset: 0; background-color: rgba(14, 14, 14, .97); opacity: 0; transition: opacity .45s cubic-bezier(.165, .84, .44, 1); cursor: zoom-out; }
.lb.is-visible .lb-fondo { opacity: 1; }
.lb-img { position: fixed; display: block; margin: 0; object-fit: contain; transform-origin: 0 0; will-change: transform; user-select: none; -webkit-user-drag: none; }
.lb-img.is-cambio { transition: opacity .2s ease; opacity: 0; }
.lb-barra { position: fixed; left: 0; right: 0; bottom: 0; display: flex; justify-content: space-between; align-items: center; gap: 2em;
  padding: 1.5em 2em; opacity: 0; transition: opacity .4s ease .15s; }
.lb-arriba { position: fixed; left: 0; right: 0; top: 0; display: flex; justify-content: flex-end; padding: 1.5em 2em; opacity: 0; transition: opacity .4s ease .15s; }
.lb.is-visible .lb-barra, .lb.is-visible .lb-arriba { opacity: 1; }
.lb-btn { appearance: none; background: none; border: 0; padding: 0; color: inherit; cursor: pointer; text-decoration: none;
  font-family: var(--_variables---tipos--fuente, sans-serif); font-weight: 600; font-size: 12px; line-height: 128%;
  border-bottom: 1px solid currentColor; padding-bottom: .15em; }
.lb-btn:hover, .lb-btn:focus-visible { opacity: .6; }
.lb-btn:focus:not(:focus-visible), .lb-nav:focus:not(:focus-visible) { outline: none; }
.lb-contador { font-family: var(--_variables---tipos--fuente, sans-serif); font-weight: 600; font-size: 12px; opacity: .6; font-variant-numeric: tabular-nums; }
.lb-acciones { display: flex; gap: 2em; }
.lb-nav { position: fixed; top: 50%; transform: translateY(-50%); appearance: none; border: 0; background: none; color: #fff; cursor: pointer;
  width: 4em; height: 8em; display: flex; align-items: center; justify-content: center; opacity: 0; transition: opacity .4s ease .15s; }
.lb.is-visible .lb-nav { opacity: .7; }
.lb.is-visible .lb-nav:hover, .lb.is-visible .lb-nav:focus-visible { opacity: 1; }
.lb-nav svg { width: 2em; height: 2em; }
.lb-prev { left: .5em; }
.lb-next { right: .5em; }
.lb.es-unica .lb-nav, .lb.es-unica .lb-contador { display: none; }
/* ---------- Ver más del proyecto ---------- */
.sticky-section-proyectos { min-height: 0; overflow-y: auto; overscroll-behavior: contain; scrollbar-width: none; }
.sticky-section-proyectos::-webkit-scrollbar { display: none; }
.ver-mas { appearance: none; background: none; border: 0; padding: 0; margin: 0; color: inherit; cursor: pointer; text-align: left;
  display: inline-flex; align-items: center; gap: .6em; }
.ver-mas-txt { border-bottom: 1px solid currentColor; padding-bottom: .1em; }
.ver-mas-icono { display: inline-block; width: .7em; height: .7em; position: relative; }
.ver-mas-icono::before, .ver-mas-icono::after { content: ""; position: absolute; left: 0; right: 0; top: 50%; height: 1px; background: currentColor;
  transition: transform .5s cubic-bezier(.76, 0, .24, 1); }
.ver-mas-icono::after { transform: rotate(90deg); }
.ver-mas[aria-expanded="true"] .ver-mas-icono::after { transform: rotate(0deg); }
.ver-mas:hover .ver-mas-txt, .ver-mas:focus-visible .ver-mas-txt { opacity: .6; }
.ver-mas:focus:not(:focus-visible) { outline: none; }
.mas-proyecto { display: grid; grid-template-rows: 0fr; visibility: hidden; margin-top: -1em;
  transition: grid-template-rows .7s cubic-bezier(.76, 0, .24, 1), margin-top .7s cubic-bezier(.76, 0, .24, 1), visibility 0s linear .7s; }
.mas-proyecto.is-open { grid-template-rows: 1fr; visibility: visible; margin-top: 0; transition-delay: 0s; }
.mas-proyecto-in { overflow: hidden; min-height: 0; }
.mas-bloque { opacity: 0; transform: translateY(1.2em); transition: opacity .5s ease, transform .7s cubic-bezier(.165, .84, .44, 1); }
.mas-proyecto.is-open .mas-bloque { opacity: 1; transform: none; transition-delay: calc(.15s + var(--i, 0) * 70ms); }
.mas-bloque + .mas-bloque { margin-top: 1.6em; }
.mas-titulo { margin: 0 0 .6em; font-weight: inherit; }
.mas-texto { margin: 0; max-width: 34em; font-size: max(13px, var(--_variables---tipos--p2)); line-height: 1.55; opacity: .8; }
.mas-lista { margin: 0; padding: 0; list-style: none; max-width: 34em; font-size: max(13px, var(--_variables---tipos--p2)); line-height: 1.55; opacity: .8; }
.mas-lista li { padding: .35em 0; border-top: 1px solid rgba(255, 255, 255, .18); }
.mas-lista li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .18); }
@media screen and (max-width: 991px) {
  /* En móvil la columna crece con el texto (sin scroll interno) */
  .proyectos-in-section.sticky-section-total { height: auto; min-height: 100svh; }
  .sticky-section-proyectos { overflow: visible; }
}
@media (prefers-reduced-motion: reduce) {
  .mas-proyecto, .mas-bloque, .ver-mas-icono::after { transition: none !important; }
}
@media (max-width: 767px) {
  .lb-nav { width: 3em; height: 5em; }
  .lb-barra, .lb-arriba { padding: 1.2em 1.2em; }
}
