/* Visor oscuro compartido, sin cambiar el resto de las secciones. */
.lightbox { width: min(1000px,94vw,calc((100dvh - 230px) * 16 / 9)); max-width:94vw; max-height:94dvh; padding:18px; margin:auto; border:1px solid #f7f4ee38; border-radius:8px; color:#f7f4ee; background:#482820eb; box-shadow:0 24px 90px #10070680; backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); opacity:0; transform:scale(.985); transition:opacity 260ms ease,transform 260ms ease; }
.lightbox.is-visible {opacity:1;transform:scale(1);}
.lightbox.is-closing {opacity:0;transform:scale(.985);}
.lightbox::backdrop {background:#160e0de0;backdrop-filter:blur(4px);opacity:0;transition:opacity 260ms ease;}
.lightbox.is-visible::backdrop {opacity:1;}
@starting-style { .lightbox.is-visible::backdrop {opacity:0;} }
.lightbox-toolbar {gap:20px;margin-bottom:14px;}
.lightbox-title {font-size:13px;font-weight:600;letter-spacing:.04em;}
.lightbox-count {color:#e5d7cb;font-size:12px;margin-top:2px;}
.lightbox-close {color:#f7f4ee;background:#f7f4ee08;border-color:#f7f4ee40;border-radius:3px;}
.lightbox-close:hover {background:#f7f4ee18;}
.lightbox-stage {height:auto;aspect-ratio:16/9;background:radial-gradient(ellipse at center,#773e3255,#281713);border:1px solid #f7f4ee1f;border-radius:3px;}
.lightbox-stage img {height:100%;width:100%;object-fit:contain;animation:none;}
.lightbox figcaption {color:#e5d7cb;font-size:12px;padding-top:12px;line-height:1.5;}
.lightbox-controls {gap:18px;margin-top:12px;}
.lightbox .round-button {width:42px;height:42px;min-height:42px;border:1px solid #f7f4ee45;border-radius:50%;background:transparent;color:#f7f4ee;display:grid;place-items:center;padding:0;}
.lightbox .round-button:hover {background:#f7f4ee18;}
.lightbox .round-button:disabled {opacity:.35;cursor:default;}
.lightbox-zoom svg {width:21px;height:21px;}
.lightbox .text-link {color:#f7f4ee;border-color:#f7f4ee60;}
.lightbox-stage.is-zoomed {aspect-ratio:16/9;}
.lightbox-stage.is-zoomed img {width:200%;height:200%;}
/* Primera foto intacta; las otras se superponen mediante opacidad. */
.hero-photo .hero-background {position:absolute;inset:0;width:100%;height:100%;opacity:0;transition:opacity 1400ms ease;}
.hero-photo .hero-background.is-current {opacity:1;}
.hero-photo .hero-background img {animation:none;object-position:var(--slide-position,var(--hero-position));}
.hero-indicators {position:absolute;bottom:58px;left:50%;transform:translateX(-50%);display:flex;gap:0;z-index:2;}
.hero-indicators button {width:30px;height:30px;display:grid;place-items:center;border:0;background:transparent;padding:0;}
.hero-indicators button::after {content:'';width:5px;height:5px;border-radius:50%;background:#f7f4ee55;border:1px solid #f7f4ee99;transition:background .25s,transform .25s;}
.hero-indicators [aria-current='true']::after {background:#f7f4ee;transform:scale(1.2);}
.hero-indicators button:focus-visible {outline-color:#f7f4ee;outline-offset:0;}
/* Cuatro tipologías y espacios reservados: nunca se asignan interiores por intuición. */
.departments-page .department-intro {grid-template-columns:1fr;}
.departments-page .category-gallery {max-width:780px;}
.unit-slide {flex:0 0 100%;height:clamp(230px,30vw,380px);scroll-snap-align:start;scroll-snap-stop:always;overflow:hidden;border:1px solid #773e3250;background:#e2d3c3;}
.category-placeholder {height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;text-align:center;padding:25px;color:#773e32;}
.category-placeholder svg {width:48px;height:48px;opacity:.55;}
.category-placeholder > span {font-size:17px;font-weight:600;}
.category-placeholder small {font-size:12px;color:#71645b;}
.category-gallery.is-empty .unit-slide {height:auto;min-height:180px;border-radius:10px;}
.category-gallery.is-empty .category-placeholder {min-height:180px;gap:12px;padding:26px;}
.category-gallery.is-empty .category-placeholder svg {width:38px;height:38px;}
.unit-photo {border:0;padding:0;width:100%;height:100%;background:transparent;}
.unit-photo img {width:100%;height:100%;object-fit:contain;}
.unit-note {font-size:12px;color:var(--muted);margin-top:15px;line-height:1.7;}
.unit-selector,.unit-name {display:block;font-size:14px;font-weight:600;color:var(--brick);margin-bottom:18px;}
.unit-selector select {font:inherit;color:inherit;background:var(--cream);border:1px solid #773e3266;padding:10px;margin-left:10px;max-width:100%;}
.category-panel {scroll-margin-top:0;}
@media(max-width:700px) {
  .hero-photo .hero-background img {object-position:var(--slide-mobile-position,var(--hero-mobile-position));}
  .lightbox {width:94vw;padding:12px;}
  .lightbox-stage,.lightbox-stage.is-zoomed {aspect-ratio:4/3;}
  .lightbox-toolbar {gap:12px;}
  .lightbox-title {font-size:12px;}
  .lightbox-close {font-size:13px;}
  .unit-slide {height:250px;}
}
@media(max-height:500px) and (min-width:701px) { .lightbox {width:min(700px,90vw);padding:10px;} .lightbox-stage {max-height:48dvh;} .lightbox figcaption {padding-top:6px;} .lightbox-toolbar {margin-bottom:6px;} }
@media(prefers-reduced-motion:reduce) { .lightbox,.lightbox::backdrop,.hero-background,.hero-indicators button::after {transition:none!important;} }
