/* Image modal (see public/js/casa-availability-lightbox.js). */
html.casa-lightbox-open { overflow: hidden; }
.casa-lightbox { position: fixed; inset: 0; z-index: 100000; display: flex; align-items: flex-start; justify-content: center; padding: 2vh 2vw; background: rgba(0, 0, 0, 0.8); cursor: zoom-out; outline: none; }
.casa-lightbox__box { display: flex; flex-direction: column; max-width: 96vw; padding: 0 12px 12px; background: #fff; box-shadow: 0 10px 40px rgba(0, 0, 0, 0.5); opacity: 0; transition: opacity 0.2s; }
.casa-lightbox.is-loaded .casa-lightbox__box { opacity: 1; }
.casa-lightbox__bar { display: flex; justify-content: flex-end; align-items: center; height: 46px; }
.casa-lightbox .casa-lightbox__close { display: inline-flex; align-items: center; gap: 6px; margin: 0 -4px 0 0; padding: 4px; border: 0; border-radius: 0; outline: none; background: none; box-shadow: none; color: #777; font: 400 17px/1 Arial, Helvetica, sans-serif; letter-spacing: 0.04em; text-transform: uppercase; cursor: pointer; }
.casa-lightbox .casa-lightbox__close-icon { display: block; color: #666; }
.casa-lightbox .casa-lightbox__close:hover,
.casa-lightbox .casa-lightbox__close:focus { color: #333; background: none; }
.casa-lightbox .casa-lightbox__close:hover .casa-lightbox__close-icon,
.casa-lightbox .casa-lightbox__close:focus .casa-lightbox__close-icon { color: #111; }
.casa-lightbox .casa-lightbox__close:focus-visible { outline: 2px solid #0d3b78; outline-offset: 2px; }
.casa-lightbox__image { display: block; max-width: calc(96vw - 24px); max-height: calc(96vh - 58px); width: auto; height: auto; }
