/* AAACL — galeria.css */

/* HERO */
.page-hero { position:relative; height:380px; overflow:hidden; }
.page-hero-img { width:100%; height:100%; object-fit:cover; object-position:center 30%; filter:brightness(0.78); }
.page-hero-overlay { position:absolute; inset:0; display:flex; align-items:center; justify-content:center; background:linear-gradient(180deg,rgba(8,22,40,0.05) 0%,rgba(8,22,40,0.4) 100%); }
.page-hero-inner { text-align:center; padding:2rem; }
.page-hero-inner h1 { font-family:'Cinzel',serif; font-size:clamp(22px,4vw,36px); color:#c9a84c; font-weight:600; letter-spacing:2px; margin-bottom:0.5rem; text-shadow:0 2px 12px rgba(0,0,0,0.8); }
.page-hero-inner p { font-family:'EB Garamond',serif; font-size:18px; color:rgba(255,255,255,0.8); font-style:italic; text-shadow:0 1px 6px rgba(0,0,0,0.8); }

/* NAVEGAÇÃO */
.galeria-nav {
  background: rgba(5,15,30,0.97);
  border-top: 1px solid rgba(201,168,76,0.15);
  border-bottom: 2px solid rgba(201,168,76,0.3);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  overflow-x: auto;
  padding: 0;
}
.galeria-nav-btn {
  font-family: 'Cinzel', serif;
  font-size: 11px;
  letter-spacing: 2px;
  text-transform: uppercase;
  color: rgba(255,255,255,0.5);
  background: transparent;
  border: none;
  border-right: 1px solid rgba(201,168,76,0.1);
  border-bottom: 3px solid transparent;
  padding: 1.1rem 1.75rem;
  cursor: pointer;
  white-space: nowrap;
  transition: all 0.25s;
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.6rem;
}
.galeria-nav-btn:last-child { border-right: none; }
.galeria-nav-btn i { font-size: 15px; color: #7a1230; transition: color 0.25s; }
.galeria-nav-btn:hover { color: #c9a84c; background: rgba(201,168,76,0.05); }
.galeria-nav-btn:hover i { color: #c9a84c; }
.galeria-nav-btn.active { color: #c9a84c; border-bottom: 3px solid #c9a84c; background: rgba(201,168,76,0.07); }
.galeria-nav-btn.active i { color: #c9a84c; }

/* CONTEÚDO */
.galeria-wrap { max-width:1200px; margin:0 auto; padding:2.5rem 2rem; }
.galeria-secao { display:none; }
.galeria-secao.active { display:block; }

/* TÍTULOS */
.galeria-secao .secao-titulo {
  color: rgba(255,255,255,0.85) !important;
  font-family: 'Cinzel', serif;
  font-size: 13px;
  letter-spacing: 3px;
  text-transform: uppercase;
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin-bottom: 1rem;
  flex-wrap: nowrap;
}
.galeria-secao .secao-titulo::after { content:""; flex:1; height:1px; background:rgba(255,255,255,0.15); margin-top: 0.6rem; }
.galeria-secao .secao-titulo .borda-cor { width:3px; min-height:18px; background:#7a1230; border-radius:2px; flex-shrink:0; margin-top: 2px; }
.galeria-secao .secao-titulo span:not(.borda-cor) { flex: 1; line-height: 1.5; }

/* DESCRIÇÃO */
.galeria-descricao { font-family:'EB Garamond',serif; font-size:17px; color:rgba(255,255,255,0.75); font-style:italic; margin-bottom:2rem; max-width:700px; line-height: 1.6; }

/* GRELHA */
.galeria-grid { display:grid; grid-template-columns:repeat(4,1fr); gap:0.75rem; }
.galeria-item { position:relative; overflow:hidden; cursor:pointer; border:1px solid rgba(201,168,76,0.1); aspect-ratio:4/3; }
.galeria-item img { width:100%; height:100%; object-fit:cover; transition:transform 0.4s,filter 0.4s; filter:brightness(0.9); }
.galeria-item:hover img { transform:scale(1.05); filter:brightness(1); }
.galeria-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(8,22,40,0.9)); color:#e8d5a3; font-family:'Cinzel',serif; font-size:10px; letter-spacing:1px; padding:1.5rem 0.75rem 0.6rem; opacity:0; transition:opacity 0.3s; text-transform:uppercase; }
.galeria-item:hover .galeria-caption { opacity:1; }

/* RESPONSIVO */
@media (max-width:900px) {
  .galeria-grid { grid-template-columns:repeat(3,1fr); }
  .page-hero { height:280px; }
}
@media (max-width:600px) {
  .galeria-grid { grid-template-columns:repeat(2,1fr); }
  .page-hero { height:220px; }
  .page-hero-inner h1 { font-size:18px; }

  /* Botões de navegação em mobile: 2 por linha */
  .galeria-nav { justify-content: flex-start; }
  .galeria-nav-btn {
    padding: 0.7rem 0.75rem;
    font-size: 9px;
    letter-spacing: 1px;
    flex: 1 1 45%;
    justify-content: center;
    border-right: none;
    border-bottom: 2px solid rgba(201,168,76,0.1);
  }
  .galeria-nav-btn.active { border-bottom: 2px solid #c9a84c; }
  .galeria-nav-btn i { font-size: 13px; }
}
