/* Onde Estamos */
.locais { display: flex; flex-direction: column; gap: clamp(48px, 7vw, 88px); }
.local { display: grid; grid-template-columns: 1fr 1fr; gap: 32px; align-items: stretch; }
.local__text { display: flex; flex-direction: column; }
.badge-casa { display: inline-flex; align-self: flex-start; align-items: center; gap: 8px; background: var(--brand-tint); color: var(--brand); font-weight: 700; font-size: 12px; letter-spacing: .08em; padding: 7px 13px; border-radius: 999px; }
.local h2 { margin: 16px 0 0; font-size: clamp(1.6rem, 3vw, 2.2rem); font-weight: 800; letter-spacing: -.01em; }
.local__addr { margin: 10px 0 0; font-size: 1rem; line-height: 1.6; color: var(--ink-soft); }
.local__times { margin-top: 20px; display: flex; flex-direction: column; gap: 10px; }
.time-row { display: flex; align-items: center; gap: 12px; background: #fff; border: 1px solid var(--line); border-radius: 12px; padding: 13px 16px; font-size: 14.5px; font-weight: 500; }
.time-row b { font-weight: 700; color: var(--brand); min-width: 118px; }
.local__gallery { margin-top: 20px; display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
.local__gallery.cols-2 { grid-template-columns: 1fr 1fr; }
.local__gallery img { width: 100%; aspect-ratio: 1; object-fit: cover; border-radius: 12px; cursor: zoom-in; transition: transform .25s ease, filter .25s ease; }
.local__gallery.cols-2 img { aspect-ratio: 3/2; }
.local__gallery img:hover { transform: scale(1.03); filter: brightness(1.04); }
.local__map { width: 100%; height: 100%; min-height: 360px; border: 0; border-radius: 18px; }

/* Lightbox */
.lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 24px; background: rgba(18,15,12,.9); backdrop-filter: blur(6px); opacity: 0; pointer-events: none; transition: opacity .25s ease; }
.lightbox.is-open { opacity: 1; pointer-events: auto; }
.lightbox__close { position: absolute; top: 20px; right: 24px; width: 48px; height: 48px; border-radius: 50%; border: none; cursor: pointer; background: rgba(255,255,255,.12); color: #fff; font-size: 30px; line-height: 1; display: flex; align-items: center; justify-content: center; }
.lightbox__close:hover { background: rgba(255,255,255,.24); }
.lightbox__img { max-width: min(1000px, 92vw); max-height: 88vh; object-fit: contain; border-radius: 14px; box-shadow: 0 30px 80px rgba(0,0,0,.5); transform: scale(.92); transition: transform .28s cubic-bezier(.2,.8,.3,1); }
.lightbox.is-open .lightbox__img { transform: scale(1); }

@media (max-width: 860px) {
  .local { grid-template-columns: 1fr; }
  .local__map { min-height: 300px; order: 2; }
}
@media (max-width: 600px) {
  .local__gallery { grid-template-columns: repeat(3, 1fr); }
  .local__gallery.cols-2 { grid-template-columns: 1fr 1fr; }
}
