/* Complementos do modelo: galeria, mapa, estados de carregamento */
.carregando-msg { text-align: center; padding: 30vh 0; color: rgba(0,0,0,.35); letter-spacing: .2em; text-transform: uppercase; font-size: 12px; }
body.carregando .whats-float { display: none; }
.nao-encontrado { text-align: center; padding: 25vh 20px; }
.nao-encontrado h1 { font-family: 'Cormorant Garamond', serif; font-size: 40px; }
.nao-encontrado p { color: rgba(0,0,0,.5); }

.sem-foto { position: absolute; inset: 0; display: grid; place-items: center; font-size: 90px; background: linear-gradient(135deg, var(--escuro), var(--bronze)); }
.sem-foto.grande { position: relative; aspect-ratio: 3/4; border-radius: 200px 200px 32px 32px; font-size: 120px; }
.marca-icone { font-size: 18px; }
.item-icone { font-size: 15px; }

/* Galeria */
.galeria { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }
.galeria figure { position: relative; border-radius: 22px; overflow: hidden; background: #FFF0E9; box-shadow: 0 8px 30px rgba(0,0,0,.06); }
.galeria button { display: block; width: 100%; aspect-ratio: 1; border: 0; padding: 0; background: none; cursor: zoom-in; }
.galeria img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s; }
.galeria figure:hover img { transform: scale(1.05); }
.gal-tag { position: absolute; top: 12px; left: 12px; padding: 5px 12px; border-radius: 999px; background: rgba(255,255,255,.92); font-size: 10px; letter-spacing: .15em; text-transform: uppercase; color: var(--bronze); font-weight: 500; }
.galeria figcaption { position: absolute; left: 0; right: 0; bottom: 0; padding: 30px 14px 12px; color: #fff; font-size: 13px; text-align: left; background: linear-gradient(transparent, rgba(0,0,0,.6)); }
.lightbox { margin: auto; max-width: min(92vw, 900px); border: 0; border-radius: 24px; padding: 0; background: #000; overflow: hidden; }
.lightbox::backdrop { background: rgba(20,14,12,.85); }
.lightbox img { display: block; max-width: 100%; max-height: 82vh; margin: 0 auto; }
.lightbox p { color: #fff; text-align: center; padding: 10px; font-size: 14px; }
.lightbox p:empty { display: none; }
.lightbox button { position: absolute; top: 10px; right: 10px; width: 40px; height: 40px; border-radius: 50%; border: 0; background: rgba(255,255,255,.9); font-size: 24px; cursor: pointer; }

/* Onde fica */
.local { display: grid; grid-template-columns: 1.4fr 1fr; gap: 0; background: #fff; border-radius: 28px; overflow: hidden; text-align: left; box-shadow: 0 20px 80px rgba(43,33,30,.08); }
.local iframe { width: 100%; height: 100%; min-height: 300px; border: 0; }
.local-info { padding: 32px; display: flex; flex-direction: column; justify-content: center; gap: 20px; }
.local-info p { display: flex; gap: 10px; align-items: flex-start; font-size: 16px; }
.local-info svg { font-size: 22px; color: var(--bronze); margin-top: 2px; }

@media (max-width: 760px) {
  .galeria { grid-template-columns: repeat(2, 1fr); gap: 8px; }
  .local { grid-template-columns: 1fr; }
  .local iframe { min-height: 240px; }
  .local-info { padding: 24px; }
}

/* Selo da plataforma */
.feito-por { text-align: center; margin: 14px 0 30px; font-size: 12px; }
.feito-por a { color: rgba(0,0,0,.4); text-decoration: none; letter-spacing: .02em; }
.feito-por a:hover { color: var(--bronze); }
.feito-por b { font-weight: 600; }
.passos.passos-3 { grid-template-columns: repeat(3, 1fr); } @media (max-width: 760px) { .passos.passos-3 { grid-template-columns: 1fr; } }
