/* As capas da galeria abrem diretamente o Instagram oficial. */
.site-gallery { min-height: 100svh; background: radial-gradient(ellipse at 50% -10%, #4b351735, transparent 42%), #080808; }
.site-gallery .site-section-heading { max-width: 900px; margin-bottom: clamp(24px, 4vw, 40px); }
.site-gallery .site-section-heading .overline { color: #d4af37; letter-spacing: .24em; }
.site-gallery .site-section-heading :is(h1,h2) { font-size: clamp(42px, 6vw, 82px); line-height: .95; letter-spacing: -.015em; }
.site-gallery .site-section-heading :is(h1,h2) em { color: #d4af37; }
.site-gallery .site-section-heading > p:last-child { max-width: 580px; margin-top: 14px; color: #cbc9c3; }
.gallery-categories { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: clamp(10px, 1.5vw, 20px); max-width: 1180px; margin: 0 auto; }
.gallery-categories a { position: relative; text-decoration: none; display: block; min-width: 0; aspect-ratio: 4/5; overflow: hidden; padding: 0; border: 1px solid #66552e; border-radius: 15px; background: #151515; color: #fff; text-align: left; box-shadow: 0 12px 28px #0007; cursor: pointer; isolation: isolate; transition: border-color .28s ease, box-shadow .28s ease, transform .28s ease; }
.gallery-categories a::after { content: ''; position: absolute; inset: 30% 0 0; z-index: 0; background: linear-gradient(transparent, #0006 40%, #000e 95%); pointer-events: none; }
.gallery-categories img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .38s ease, filter .38s ease; }
.gallery-categories span { position: absolute; z-index: 1; bottom: 20px; left: 16px; right: 45px; font: 800 clamp(20px, 2.1vw, 31px)/.98 'Barlow Condensed', Impact, sans-serif; text-transform: uppercase; text-shadow: 0 2px 9px #000; }
.gallery-categories span::before { content: ''; display: block; width: 34px; height: 2px; margin-bottom: 9px; background: #d4af37; }
.gallery-categories b { position: absolute; z-index: 1; right: 14px; bottom: 17px; display: grid; width: 30px; height: 30px; place-items: center; border: 1px solid #d4af37; border-radius: 50%; color: #ffd974; font: 20px/1 'Inter', sans-serif; transition: transform .28s ease, background .28s ease; }
.gallery-categories a:hover, .gallery-categories a:focus-visible { border-color: #d4af37; box-shadow: 0 14px 28px #000a, 0 0 18px #d4af3733; transform: translateY(-3px); }
.gallery-categories a:hover img, .gallery-categories a:focus-visible img { transform: scale(1.045); filter: brightness(1.09); }
.gallery-categories a:hover b, .gallery-categories a:focus-visible b { transform: translate(2px, -2px); background: #d4af3724; }
.gallery-categories a:active { transform: scale(.975); border-color: #ffd974; }
.gallery-categories a:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.site-gallery.gallery-enhanced .gallery-categories a { opacity: 0; transform: translateY(12px); }
.site-gallery.gallery-enhanced .gallery-categories a.is-visible { opacity: 1; transform: translateY(0); transition: opacity .35s ease, transform .35s ease, border-color .28s ease, box-shadow .28s ease; }
.site-gallery.gallery-enhanced .gallery-categories a.is-visible:hover { transform: translateY(-3px); }
@media (max-width: 1000px) { .gallery-categories { grid-template-columns: repeat(3,minmax(0,1fr)); } }
@media (max-width: 700px) {
  .site-gallery .wide-wrap { width: calc(100% - 28px); }
  .gallery-categories { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .gallery-categories a { border-radius: 11px; }
  .gallery-categories span { left: 10px; right: 32px; bottom: 13px; font-size: clamp(18px, 5vw, 25px); }
  .gallery-categories span::before { width: 25px; margin-bottom: 6px; }
  .gallery-categories b { right: 7px; bottom: 10px; width: 24px; height: 24px; font-size: 15px; }
}
@media (max-width: 360px) { .gallery-categories { gap: 8px; } .gallery-categories span { font-size: 17px; } }
@media (prefers-reduced-motion: reduce) { .site-gallery.gallery-enhanced .gallery-categories a { opacity: 1; transform: none; } .gallery-categories a, .gallery-categories img, .gallery-categories b { transition: none !important; } }
