/* Pousada Terra v0.3.31 | Mosaico justificado de proporções reais.
   O mosaico nunca usa object-fit: cover: toda a fotografia é exibida sem corte. */
.terra-mosaic-section{background:#f6f4ee;padding:clamp(78px,8vw,118px) 0 clamp(90px,9vw,132px)}
.terra-mosaic-section .terra-feature-gallery-heading{margin-bottom:clamp(28px,3.6vw,52px)}
.terra-mosaic{--terra-mosaic-gap:clamp(12px,1.5vw,20px);display:flex;flex-direction:column;gap:var(--terra-mosaic-gap);width:100%;min-width:0}
.terra-mosaic[data-photo-count="4"]{max-width:960px;margin-inline:auto}
.terra-mosaic-row{display:flex;align-items:stretch;gap:var(--terra-mosaic-gap);width:100%;min-width:0;justify-content:flex-start}
.terra-mosaic-item{min-width:0;flex:none;margin:0;max-width:100%;overflow:hidden;border-radius:3px;background:transparent}
.terra-mosaic-photo{appearance:none!important;-webkit-appearance:none!important;display:block!important;width:100%;height:100%;min-width:0;margin:0!important;padding:0!important;border:0!important;border-radius:inherit!important;background:transparent!important;box-shadow:none!important;cursor:zoom-in;overflow:hidden}
.terra-mosaic-photo img{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain!important;object-position:center!important;transform:none!important;filter:none!important;transition:none!important;vertical-align:middle}
.terra-mosaic-photo:hover,.terra-mosaic-photo:active,.terra-mosaic-photo:focus{background:transparent!important;border-color:transparent!important;box-shadow:none!important}
.terra-mosaic-photo:focus-visible{outline:3px solid #dcb82f!important;outline-offset:-4px!important}
/* Safe, readable fallback before JS: one uncropped image per line. */
.terra-mosaic:not(.is-laid-out) .terra-mosaic-item{width:100%;height:auto}
.terra-mosaic:not(.is-laid-out) .terra-mosaic-photo{height:auto}
.terra-mosaic:not(.is-laid-out) .terra-mosaic-photo img{height:auto!important}
.terra-mosaic-lightbox{position:fixed!important;inset:0!important;width:100vw!important;max-width:none!important;height:100dvh!important;max-height:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#15271e!important;color:#f9f7f1!important;overflow:hidden!important;z-index:2147483000}
.terra-mosaic-lightbox:not([open]){display:none!important}
.terra-mosaic-lightbox::backdrop{background:rgba(9,18,12,.93)!important}
.terra-mosaic-lightbox-shell{position:relative;display:grid;grid-template-columns:minmax(44px,8vw) minmax(0,1fr) minmax(44px,8vw);align-items:center;width:100%;height:100%;padding:clamp(45px,5vw,78px) clamp(8px,2vw,32px) clamp(20px,3vw,38px);gap:clamp(4px,1vw,16px)}
.terra-mosaic-large{grid-column:2;margin:0;min-width:0;min-height:0;max-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.terra-mosaic-large img{display:block;width:auto;height:auto;max-width:100%;max-height:calc(100dvh - 164px);object-fit:contain!important;object-position:center;background:transparent}
.terra-mosaic-large figcaption{font:500 11px/1.45 Arial,sans-serif;letter-spacing:.055em;text-align:center;color:#d5dacd}
.terra-mosaic-lightbox button.terra-mosaic-close,.terra-mosaic-lightbox button.terra-mosaic-direction{appearance:none!important;-webkit-appearance:none!important;display:grid!important;place-items:center!important;align-items:center!important;justify-content:center!important;flex:none;margin:0!important;padding:0!important;border:1px solid #e2e6da7a!important;border-radius:50%!important;background:#284638!important;color:#f8f4e8!important;box-shadow:none!important;cursor:pointer;line-height:1!important;transition:background-color .18s,border-color .18s!important}
.terra-mosaic-lightbox button.terra-mosaic-close:hover,.terra-mosaic-lightbox button.terra-mosaic-direction:hover,.terra-mosaic-lightbox button.terra-mosaic-close:active,.terra-mosaic-lightbox button.terra-mosaic-direction:active{background:#3d6b52!important;border-color:#dcb82f!important;color:#fff!important}
.terra-mosaic-lightbox button:focus-visible{outline:3px solid #dcb82f!important;outline-offset:4px!important}
.terra-mosaic-close{position:absolute;right:clamp(14px,3vw,43px);top:clamp(14px,2vw,30px);width:44px!important;height:44px!important;z-index:2}
.terra-mosaic-close svg{display:block;margin:auto}
.terra-mosaic-direction{position:relative;z-index:1;width:clamp(40px,4vw,52px)!important;height:clamp(40px,4vw,52px)!important;justify-self:center;grid-row:1}
.terra-mosaic-direction.is-prev{grid-column:1}
.terra-mosaic-direction.is-next{grid-column:3}
.terra-mosaic-direction span{display:block;font:400 22px/1 Arial,sans-serif!important;transform:none!important}
@media(max-width:1024px){.terra-mosaic{--terra-mosaic-gap:16px}}
@media(max-width:640px){
 .terra-mosaic{--terra-mosaic-gap:12px}
 .terra-mosaic-section{padding:68px 0 93px}
 .terra-mosaic-section .terra-feature-gallery-heading{margin-bottom:28px}
 .terra-mosaic[data-photo-count="4"]{max-width:960px;margin-inline:auto}
.terra-mosaic-row{flex-direction:column;align-items:stretch}
 .terra-mosaic-item,.terra-mosaic-item .terra-mosaic-photo{width:100%!important;height:auto!important}
 .terra-mosaic-item img{width:100%!important;height:auto!important;max-height:none!important}
 .terra-mosaic-lightbox-shell{grid-template-columns:48px minmax(0,1fr) 48px;padding:70px 8px 28px;gap:4px}
 .terra-mosaic-large{grid-column:1/-1;grid-row:1}
 .terra-mosaic-large img{max-height:calc(100dvh - 182px)}
 .terra-mosaic-direction{position:absolute;bottom:clamp(25px,4vh,42px);width:40px!important;height:40px!important;grid-row:auto}
 .terra-mosaic-direction.is-prev{left:calc(50% - 76px)}
 .terra-mosaic-direction.is-next{right:calc(50% - 76px)}
 .terra-mosaic-close{right:14px;top:14px}
 .terra-mosaic-large figcaption{margin-bottom:40px}
}
@media(prefers-reduced-motion:reduce){.terra-mosaic-lightbox button{transition:none!important}}


/* v0.3.34 | Mixed-media tiles for Bangalô 7 videos. */
.terra-mosaic-item.is-video{background:#15271e}
.terra-mosaic-video-shell{display:block;position:relative;width:100%;height:100%;overflow:hidden;border-radius:inherit;background:#15271e}
.terra-mosaic-video{display:block!important;width:100%!important;height:100%!important;max-width:100%;object-fit:contain!important;object-position:center!important;background:#15271e;vertical-align:middle;pointer-events:none}
.terra-mosaic-video::-webkit-media-controls{display:none!important}
.terra-mosaic-video-shell::after{content:'Vídeo';position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:999px;background:rgba(17,30,23,.68);backdrop-filter:blur(4px);color:#f6f4ee;font:600 10px/1 Arial,sans-serif;letter-spacing:.09em;text-transform:uppercase}
@media(max-width:640px){
 .terra-mosaic-video-shell::after{left:10px;bottom:10px;font-size:9px;padding:6px 8px}
}

/* v0.3.55 | Keep portrait videos dimensionally stable before and during playback.
   The aspect ratio comes from PHP metadata, not from a delayed iOS video load. */
.terra-mosaic-item.is-video{position:relative;aspect-ratio:var(--terra-video-aspect,9 / 16);}
@media(max-width:640px){
 .terra-mosaic-item.is-video{height:auto!important;aspect-ratio:var(--terra-video-aspect,9 / 16)!important;}
 .terra-mosaic-item.is-video .terra-mosaic-video-shell{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;overflow:hidden}
 .terra-mosaic-item.is-video video.terra-mosaic-video{position:absolute!important;inset:0!important;display:block!important;width:100%!important;height:100%!important;max-height:100%!important;object-fit:contain!important;transform:none!important;}
}
