/* Galeria de materiais (grid dinâmico de posts + filtro por categoria) — código puro */
.gal { background: #0c0a0a; color: #fff; min-height: 100vh; padding: 44px 20px 0; font-family: var(--font-body); }
.gal__inner { max-width: 1200px; margin-inline: auto; }
.gal__logo { display: block; max-width: 230px; height: auto; margin: 0 auto 40px; }

.gal__filters { display: flex; gap: 12px; flex-wrap: wrap; margin-bottom: 30px; }
.gal__filter {
  padding: 9px 24px; border-radius: 999px; border: 1px solid rgba(255,255,255,.2);
  background: transparent; color: #f0eae4; font: 600 .98rem/1 var(--font-body); cursor: pointer;
  transition: background .18s, color .18s, border-color .18s;
}
.gal__filter:hover { border-color: var(--c-orange); }
.gal__filter.is-active { background: var(--c-orange); border-color: var(--c-orange); color: #fff; }

.gal__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 28px; }
.gal__card { display: block; color: inherit; }
.gal__card img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; border-radius: 16px; }
.gal__card-title { margin: 14px 0 0; font-size: 1.05rem; font-weight: 600; line-height: 1.35; }
.gal__card[hidden] { display: none; }
.gal__empty { padding: 40px 0; color: #b9b2a8; }

.gal__divider { border: 0; border-top: 1px solid rgba(255,255,255,.12); margin: 48px 0; }

.gal__cta { display: grid; grid-template-columns: 1fr 1fr; gap: 48px; margin: 8px 0 64px; text-align: center; }
.gal__cta h2 { font-family: var(--font-display); font-size: clamp(1.2rem, 2.6vw, 1.5rem); margin: 0 0 14px; letter-spacing: .3px; }
.gal__cta--tg h2 { color: #38a9e6; }
.gal__cta--yt h2 { color: #ff3b3b; }
.gal__cta p { max-width: 46ch; margin: 0 auto; color: #ded7cf; line-height: 1.6; }
.gal__btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 10px;
  margin-top: 18px; padding: 15px 32px; border-radius: 999px; font-weight: 700; color: #fff;
}
.gal__btn--tg { background: #2aa4e5; }
.gal__btn--yt { background: #ff2b2b; }

.gal__footer { border-top: 2px solid var(--c-orange); text-align: center; padding: 28px 0; font-weight: 600; font-size: .9rem; color: #cfc7bf; }

@media (max-width: 760px) { .gal__cta { grid-template-columns: 1fr; gap: 36px; } }
