/* Photos; fallback graphics remain when source files have not been imported. */
.photo-frame,.exp-visual{position:relative;overflow:hidden}.real-photo{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0;z-index:2;transition:transform .4s ease}.real-photo.missing{display:none!important}.photo-frame:hover .real-photo{transform:scale(1.035)}
.hero-with-photo{position:relative;overflow:hidden}.hero-with-photo .hero-photograph{z-index:0;opacity:.77;filter:brightness(.67)}.hero-with-photo:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(7,31,25,.74),rgba(9,36,27,.20));pointer-events:none;z-index:0}.hero-with-photo .hero-inner,.hero-with-photo .hero-foot{position:relative;z-index:3}.hero-with-photo .canopy{pointer-events:none;opacity:.25}
.scenic .real-photo,.exp-visual .real-photo{position:absolute;inset:0}.scenic:has(.real-photo:not(.missing)) .dome,.scenic:has(.real-photo:not(.missing)) .photo-label,.exp-visual:has(.real-photo:not(.missing))>span{display:none}
.detail-photo{position:relative;overflow:hidden;min-height:320px}.detail-primary-photo{width:100%;height:100%;object-fit:cover;position:absolute;inset:0}.detail-photo:has(.detail-primary-photo:not(.missing)) #image-note{display:none}
.detail-gallery{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin:12px 0 30px}.gallery-thumb{aspect-ratio:4/3;cursor:pointer;padding:0;border:0;overflow:hidden;background:#d2d8cf;border-radius:9px;position:relative}.gallery-thumb:focus-visible{outline:3px solid #98754e}.gallery-thumb img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.gallery-thumb.photo-unavailable{background:linear-gradient(130deg,#dde2d9,#9eb0a1)}.gallery-thumb.photo-unavailable:before{content:'✦';font-size:24px;color:#4b6758;position:absolute;left:44%;top:35%}
.photo-lightbox{border:0;padding:20px;background:#0f231b;color:white;border-radius:14px;max-width:min(92vw,1100px);max-height:94vh}.photo-lightbox::backdrop{background:rgba(0,0,0,.83)}.photo-lightbox img{max-width:100%;max-height:75vh;object-fit:contain}.photo-lightbox button{float:right;background:#fff;border:0;padding:10px 14px;border-radius:9px;cursor:pointer}.photo-lightbox p{text-align:center}
.home-photo-gallery{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}.home-photo-item{margin:0;position:relative;aspect-ratio:4/3;overflow:hidden;background:linear-gradient(145deg,#d7dfd4,#8fa391);border-radius:12px}.home-photo-item:before{content:'✦';position:absolute;font-size:40px;left:45%;top:30%;color:#4a6955}.home-photo-item .real-photo{z-index:1}.home-photo-item figcaption{position:absolute;z-index:3;left:0;right:0;bottom:0;color:white;padding:22px 10px 9px;background:linear-gradient(transparent,#16291fcf);font-size:12px}
@media(max-width:800px){.home-photo-gallery{grid-template-columns:repeat(2,1fr)}.detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* Galería de detalles: foto principal ampliable y navegación de imágenes. */
.detail-photo-clickable{cursor:zoom-in}
.detail-photo-clickable:focus-visible{outline:3px solid #b5844f;outline-offset:4px}
.photo-lightbox{width:min(96vw,1100px);box-sizing:border-box;text-align:center}
.photo-lightbox #photo-full{display:block;max-width:100%;width:auto;height:auto;max-height:72vh;margin:14px auto 8px;border-radius:5px}
.photo-lightbox-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px auto 4px;max-width:350px}
.photo-lightbox .photo-lightbox-controls button{float:none;min-width:56px;min-height:44px;font-size:25px;line-height:1;background:#f8f5ee;color:#183d32}
.photo-lightbox .photo-lightbox-controls button:hover{background:#e7d3ad}
.photo-lightbox #photo-close{min-width:44px;min-height:44px}
.photo-lightbox #photo-count{clear:both;margin:8px 0 0;font-variant-numeric:tabular-nums}
@media(max-width:600px){.photo-lightbox{padding:12px}.photo-lightbox #photo-full{max-height:65vh}.detail-gallery{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}}
