.gallery {
  padding: 60px 20px;
  background: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.gallery .top-gallery {
  max-width: 900px;
  margin-bottom: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  text-align: center;
}

.gallery .top-gallery h1 {
  font-weight: 400;
  font-size: 35px;
  color: var(--verde-text);
}

.gallery .top-gallery h2 {
  font-weight: 300;
  font-size: 25px;
  color: var(--verde);
  margin-bottom: 40px;
}

.gallery .top-gallery p {
  font-size: 19px;
  font-weight: 300;
}

/* Seção Galeria */
.galeria-pousada{
  --cream: #f6efe6;
  --brown-dark: #4b2e2a;
  --brown-light: #cdb79a;
  --accent: #b88653;

  padding: 64px 0;
  background: #fff;
}

.galeria-wrap{
  width: min(1180px, 92vw);
  margin: 0 auto;
}

.galeria-header{
  margin-bottom: 22px;
}

.galeria-title{
  font-size: clamp(22px, 2.2vw, 30px);
  line-height: 1.2;
  color: var(--brown-dark);
  margin: 0 0 8px 0;
}

.galeria-subtitle{
  margin: 0;
  max-width: 70ch;
  color: rgba(75, 46, 42, 0.72);
  font-size: 15px;
}

/* Grid */
.galeria-grid{
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 16px;
}

/* Card base (imagem no background) */
.galeria-card{
  position: relative;
  border-radius: 16px;
  overflow: hidden;
  min-height: 180px;

  background-image: var(--bg);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;

  box-shadow: 0 10px 26px rgba(0,0,0,0.10);
  transform: translateZ(0);
}

/* Sombreamento leve pra leitura do texto */
.galeria-card::before{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    to top,
    rgba(0,0,0,0.35),
    rgba(0,0,0,0.08) 55%,
    rgba(0,0,0,0.00)
  );
}

/* “Tag” */
.galeria-chip{
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 2;

  display: inline-flex;
  align-items: center;
  padding: 10px 12px;

  border-radius: 10px;
  font-weight: 600;
  font-size: 14px;
  color: #fff;

  background: rgba(0,0,0,0.48);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);

  border: 1px solid rgba(255,255,255,0.16);
}

/* Hover suave */
.galeria-card{
  transition: transform .25s ease, box-shadow .25s ease;
}
.galeria-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 14px 32px rgba(0,0,0,0.14);
}

/* Tamanhos (span) */
.card-xl{
  grid-column: span 3;
  grid-row: span 2;
  min-height: 380px;
}

.card-md{
  grid-column: span 3;
  grid-row: span 1;
  min-height: 180px;
}

.card-sm{
  grid-column: span 2;
  grid-row: span 1;
  min-height: 180px;
}

/* Responsivo */
@media (max-width: 980px){
  .galeria-grid{
    grid-template-columns: repeat(4, 1fr);
  }

  .card-xl{
    grid-column: span 4;
    grid-row: span 1;
    min-height: 260px;
  }

  .card-md{
    grid-column: span 2;
  }

  .card-sm{
    grid-column: span 2;
  }
}

@media (max-width: 560px){
  .galeria-grid{
    grid-template-columns: 1fr;
  }

  .card-xl,
  .card-md,
  .card-sm{
    grid-column: span 1;
    min-height: 210px;
  }

  .galeria-chip{
    font-size: 13px;
    padding: 9px 11px;
  }
}

/* 📱 Mobile: 1 coluna */
@media (max-width: 768px) {

  .gallery-item.large {
    min-height: 240px;
  }

  .gallery .top-gallery h1 {
    font-size: 28px;
  }

  .gallery .top-gallery h2 {
    font-size: 20px;
    margin-bottom: 20px;
  }

  .gallery .top-gallery p {
    font-size: 16px;
  }
}
