/* 
   Eventin Professional - High Fidelity Styles var(--magenta);

AZUL PRINCIPAL: #0479e7   RGB: 4, 121, 231;  
ROSA PRINCIPAL: #FF0088  RGB: 255, 0, 136;
*/

:root {
    --magenta: #0479e7;
    --deep-black: #0A0A0A;
    --rgb-magenta: 4, 121, 231;
}
body {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    margin: 0;
    padding: 0;
    background: transparent;
}
html {
    margin: 0;
    padding: 0;
}

#hero-carousel {
    display: flex;
    gap: 24px;
    will-change: transform;
}

@media (min-width: 1024px) {
    #hero-carousel {
        gap: 40px;
    }
}

.hero-card {
    flex: 0 0 auto;
}

.border-magenta {border-color: var(--magenta) !important;}

/* Glassmorphism */
.glass {
    background: rgba(255, 255, 255, 0.05);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Pink Glow Effect */
.pink-glow {
    box-shadow: 0 0 25px rgba(var(--rgb-magenta), 0.4);
}

.pink-glow-hover:hover {
    box-shadow: 0 0 35px rgba(var(--rgb-magenta), 0.6);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
    width: 8px;
}

::-webkit-scrollbar-track {
    background: var(--deep-black);
}

::-webkit-scrollbar-thumb {
    background: #222;
    border-radius: 10px;
}

::-webkit-scrollbar-thumb:hover {
    background: var(--magenta);
}

/* No Scrollbar Utility */
.no-scrollbar::-webkit-scrollbar {
    display: none;
}

.no-scrollbar {
    -ms-overflow-style: none;
    scrollbar-width: none;
}


.menu-desktop{
    display:none;
}

@media (min-width: 1024px){
    .menu-desktop{
        display:flex;
    }
}


/* Reveal Animations */
.reveal {
    opacity: 0;
    transform: translateY(30px);
    transition: all 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
    opacity: 1;
    transform: translateY(0);
}

.delay-100 { transition-delay: 0.1s; }
.delay-200 { transition-delay: 0.2s; }
.delay-300 { transition-delay: 0.3s; }
.delay-400 { transition-delay: 0.4s; }

/* Spotlight Card Effect */
.spotlight-card {
    position: relative;
    overflow: hidden;
}

.spotlight-card::before {
    content: '';
    position: absolute;
    inset: -1px;
    background: radial-gradient(600px circle at var(--mouse-x) var(--mouse-y), rgba(var(--rgb-magenta), 0.1), transparent 40%);
    opacity: 0;
    transition: opacity 0.3s;
    pointer-events: none;
    z-index: 1;
    border-radius: inherit;
}

.spotlight-card:hover::before {
    opacity: 1;
}

/* Concave Mask */
.mask-concave {
    clip-path: url(#concave-mask);
    -webkit-clip-path: url(#concave-mask);
}

/* Animations */
@keyframes pulse-slow {
    0%, 100% { opacity: 0.2; transform: scale(1); }
    50% { opacity: 0.4; transform: scale(1.1); }
}

.animate-pulse-slow {
    animation: pulse-slow 8s infinite ease-in-out;
}

/* Typography Patterns */
.decoration-clone {
    -webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

/* Hero Carousel */
.hero-carousel-container {
    perspective: 1000px;
}

/* Navigation Active State */
.nav-link.active::after {
    content: '';
    position: absolute;
    bottom: -4px;
    left: 0;
    right: 0;
    height: 2px;
    background: var(--magenta);
}

/* Hero Card Hover */
.hero-card {
    transition: transform 0.5s cubic-bezier(0.22, 1, 0.36, 1), box-shadow 0.5s ease;
    /* SEM z-index aqui: não cria stacking context, ícone fica livre */
}
.hero-card:hover {
    transform: scale(1.035);
    box-shadow:
        0 30px 70px rgba(0, 0, 0, 0.6),
        0 0 40px rgba(var(--rgb-magenta), 0.25),
        0 0 80px rgba(255, 255, 255, 0.05);
}

.hero-card-icon {
    position: absolute;
    top: 0;
    right: 0;
    width: 53px;
    height: 53px;
    z-index: 10;
    border-radius: 0 0 0 50%;
    background: var(--magenta);
    display: flex;
    align-items: center;
    justify-content: center;
    color: white;
    box-shadow: 0 0 25px rgba(var(--rgb-magenta), 0.4), 0 4px 20px rgba(0,0,0,0.4);
    border: 2px solid rgba(255,255,255,0.2);
    cursor: pointer;
    transition: transform 0.3s ease;
    pointer-events: none;
    transform: translate(0, 0);
}
.hero-card:hover .hero-card-icon {
    transform: scale(1.12);
}

@media (max-width: 768px) {
    .hero-card-icon {
        width: 40px;
        height: 40px;
        top: 0;
        right: 0;
    }
    .hero-card-icon svg {
        width: 17px;
        height: 17px;
    }
}

/* Hero Background Light Flashes */
@keyframes flash-pulse-1 {
    0%, 100% { opacity: 0; transform: scale(1); }
    30% { opacity: 0.6; transform: scale(1.15); }
    60% { opacity: 0.1; transform: scale(1.05); }
}
@keyframes flash-pulse-2 {
    0%, 100% { opacity: 0; transform: scale(1.1); }
    20% { opacity: 0.08; transform: scale(1); }
    50% { opacity: 0.5; transform: scale(1.2); }
    80% { opacity: 0.05; transform: scale(1.05); }
}
@keyframes flash-pulse-3 {
    0%, 60%, 100% { opacity: 0; }
    75% { opacity: 0.4; transform: scale(1.1); }
    85% { opacity: 0.1; }
}

/* ===============================================================
   GRADIENT HERO / FOOTER BACKGROUNDS
   Azul profundo → rosa magenta, com orbs flutuantes e light sweep
   =============================================================== */

/* Base gradient — animado com rotação de matiz */
@keyframes gradient-shift {
    0%   { background-position: 0% 50%; }
    25%  { background-position: 100% 0%; }
    50%  { background-position: 100% 100%; }
    75%  { background-position: 0% 100%; }
    100% { background-position: 0% 50%; }
}

.hero-gradient-bg {
    background: linear-gradient(
        135deg,
        #0a0a1a 0%,
        #0d1b4b 15%,
        #1a0533 30%,
        #2a0060 45%,
        #0a1a4a 55%,
        #3d0066 65%,
        #0e0e3a 80%,
        #1a003d 100%
    );
    background-size: 400% 400%;
    animation: gradient-shift 18s ease infinite;
}

.footer-gradient-bg {
    background: linear-gradient(
        225deg,
        #0e0e3a 0%,
        #3d0066 20%,
        #0a1a4a 40%,
        #2a0060 60%,
        #1a0533 75%,
        #0d1b4b 90%,
        #0a0a1a 100%
    );
    background-size: 400% 400%;
    animation: gradient-shift 22s ease infinite reverse;
}

/* Orbs — bolhas de luz coloridas em órbita suave */
@keyframes orb-float-1 {
    0%   { transform: translate(0, 0) scale(1); }
    33%  { transform: translate(120px, -80px) scale(1.15); }
    66%  { transform: translate(-60px, 100px) scale(0.9); }
    100% { transform: translate(0, 0) scale(1); }
}
@keyframes orb-float-2 {
    0%   { transform: translate(0, 0) scale(1); }
    40%  { transform: translate(-150px, 60px) scale(1.2); }
    70%  { transform: translate(80px, -100px) scale(0.85); }
    100% { transform: translate(0, 0) scale(1); }
}
@keyframes orb-float-3 {
    0%   { transform: translate(0, 0) scale(1); }
    50%  { transform: translate(90px, 120px) scale(1.1); }
    100% { transform: translate(0, 0) scale(1); }
}
@keyframes orb-float-4 {
    0%   { transform: translate(0, 0) scale(1); }
    30%  { transform: translate(-70px, -130px) scale(1.25); }
    60%  { transform: translate(110px, 50px) scale(0.8); }
    100% { transform: translate(0, 0) scale(1); }
}
@keyframes orb-float-5 {
    0%   { transform: translate(0, 0) scale(1); }
    45%  { transform: translate(-100px, 80px) scale(1.3); }
    100% { transform: translate(0, 0) scale(1); }
}

.orb {
    position: absolute;
    border-radius: 50%;
    filter: blur(80px);
    pointer-events: none;
}

/* Hero orbs */
.orb-1 {
    width: 600px; height: 600px;
    top: -10%; left: -5%;
    background: radial-gradient(circle, rgba(30,80,220,0.55) 0%, rgba(100,0,200,0.25) 60%, transparent 100%);
    animation: orb-float-1 20s ease-in-out infinite;
}
.orb-2 {
    width: 500px; height: 500px;
    top: 20%; right: -8%;
    background: radial-gradient(circle, rgba(var(--rgb-magenta),0.5) 0%, rgba(180,0,220,0.25) 55%, transparent 100%);
    animation: orb-float-2 25s ease-in-out infinite 3s;
}
.orb-3 {
    width: 400px; height: 400px;
    bottom: 5%; left: 25%;
    background: radial-gradient(circle, rgba(0,100,255,0.4) 0%, rgba(60,0,180,0.2) 60%, transparent 100%);
    animation: orb-float-3 17s ease-in-out infinite 6s;
}
.orb-4 {
    width: 350px; height: 350px;
    top: 50%; right: 30%;
    background: radial-gradient(circle, rgba(220,0,255,0.35) 0%, rgba(80,0,160,0.15) 60%, transparent 100%);
    animation: orb-float-4 22s ease-in-out infinite 1s;
}
.orb-5 {
    width: 280px; height: 280px;
    top: 15%; left: 45%;
    background: radial-gradient(circle, rgba(40,120,255,0.45) 0%, rgba(200,0,180,0.2) 60%, transparent 100%);
    animation: orb-float-5 14s ease-in-out infinite 8s;
}

/* Footer orbs — posições espelhadas */
.footer-orb-1 {
    width: 550px; height: 550px;
    bottom: -10%; right: -5%;
    background: radial-gradient(circle, rgba(30,80,220,0.5) 0%, rgba(100,0,200,0.22) 60%, transparent 100%);
    animation: orb-float-2 24s ease-in-out infinite;
}
.footer-orb-2 {
    width: 420px; height: 420px;
    top: 10%; left: -5%;
    background: radial-gradient(circle, rgba(var(--rgb-magenta),0.45) 0%, rgba(180,0,220,0.22) 55%, transparent 100%);
    animation: orb-float-1 28s ease-in-out infinite 4s;
}
.footer-orb-3 {
    width: 320px; height: 320px;
    top: 40%; left: 40%;
    background: radial-gradient(circle, rgba(0,100,255,0.35) 0%, rgba(200,0,180,0.18) 60%, transparent 100%);
    animation: orb-float-3 19s ease-in-out infinite 2s;
}

/* Light sweep — feixe de luz branca varrendo a tela */
@keyframes light-sweep {
    0%   { transform: translateX(-100%) skewX(-15deg); opacity: 0; }
    5%   { opacity: 1; }
    30%  { opacity: 0.7; }
    60%  { opacity: 0; }
    100% { transform: translateX(300%) skewX(-15deg); opacity: 0; }
}

.light-sweep {
    position: absolute;
    top: 0; left: 0;
    width: 30%; height: 100%;
    background: linear-gradient(
        90deg,
        transparent 0%,
        rgba(255,255,255,0.04) 40%,
        rgba(255,255,255,0.09) 50%,
        rgba(255,255,255,0.04) 60%,
        transparent 100%
    );
    pointer-events: none;
    animation: light-sweep 9s ease-in-out infinite 2s;
}

.footer-sweep {
    animation-delay: 5s;
    animation-duration: 12s;
}

/* Social — cor original fixa, sem animação de gradiente */
.social-gradient-bg {
    background: linear-gradient(to bottom right, #050A1F, #2D0018);
}

.orb.social-orb-1 {
    width: 580px; height: 580px;
    top: -15%; right: 5%;
    background: radial-gradient(circle, rgba(80,0,220,0.5) 0%, rgba(30,80,200,0.22) 60%, transparent 100%);
    animation: orb-float-2 22s ease-in-out infinite;
}
.orb.social-orb-2 {
    width: 460px; height: 460px;
    bottom: 0%; left: -5%;
    background: radial-gradient(circle, rgba(var(--rgb-magenta),0.45) 0%, rgba(160,0,200,0.2) 55%, transparent 100%);
    animation: orb-float-4 26s ease-in-out infinite 5s;
}
.orb.social-orb-3 {
    width: 300px; height: 300px;
    top: 40%; left: 50%;
    background: radial-gradient(circle, rgba(20,100,255,0.4) 0%, rgba(180,0,180,0.18) 60%, transparent 100%);
    animation: orb-float-5 16s ease-in-out infinite 2s;
}
.light-sweep.social-sweep {
    animation-delay: 7s;
    animation-duration: 11s;
}

/* Agenda — cor original fixa, sem animação de gradiente */
.agenda-gradient-bg {
    background: linear-gradient(to bottom right, #4A0E2E, #2D0018, #1A000F);
}

.orb.agenda-orb-1 {
    width: 500px; height: 500px;
    top: -5%; left: 10%;
    background: radial-gradient(circle, rgba(200,0,255,0.45) 0%, rgba(80,0,180,0.2) 60%, transparent 100%);
    animation: orb-float-3 21s ease-in-out infinite;
}
.orb.agenda-orb-2 {
    width: 420px; height: 420px;
    bottom: -5%; right: 8%;
    background: radial-gradient(circle, rgba(30,80,220,0.5) 0%, rgba(100,0,200,0.22) 60%, transparent 100%);
    animation: orb-float-1 18s ease-in-out infinite 3s;
}
.orb.agenda-orb-3 {
    width: 260px; height: 260px;
    top: 50%; left: 35%;
    background: radial-gradient(circle, rgba(var(--rgb-magenta),0.38) 0%, rgba(140,0,200,0.16) 60%, transparent 100%);
    animation: orb-float-2 13s ease-in-out infinite 9s;
}
.light-sweep.agenda-sweep {
    animation-delay: 3s;
    animation-duration: 10s;
}

/* ── Banners de patrocinadores ───────────────────────────────────────────── */
.pc-banner-wrap { display:block; width:100%; }
.pc-banner-wrap img { display:block; width:100%; height:auto; }

.pc-banner-placeholder {
    display:flex; align-items:center; justify-content:center;
    text-align:center; padding:1.5rem;
    color:rgba(255,255,255,0.25);
    font-family:'Space Grotesk',sans-serif;
    font-size:0.75rem; font-weight:700;
    text-transform:uppercase; letter-spacing:0.1em;
}
.pc-banner-placeholder.pc-banner-horizontal { min-height:90px; }
.pc-banner-placeholder.pc-banner-vertical   { min-height:150px; }
.pc-banner-placeholder a { color:var(--magenta); text-decoration:none; }
.pc-banner-placeholder a:hover { text-decoration:underline; }

/* Video Lightbox */
#video-lightbox.active {
    opacity: 1;
    pointer-events: auto;
}

#search-modal.active {
    opacity: 1;
    pointer-events: auto;
}

/* YouTube channel title — sublinhado vermelho piscante no hover */
@keyframes yt-border-blink {
    0%, 100% { opacity: 1; }
    50%       { opacity: 0.15; }
}
.yt-title-link {
    display: inline-block;
    padding: 0;
    position: relative;
}
.yt-title-link::after {
    content: '';
    position: absolute;
    bottom: -6px;
    left: 0;
    right: 0;
    height: 3px;
    background: #FF0000;
    border-radius: 2px;
    opacity: 0;
    transition: opacity 0.3s ease;
}
.yt-title-link:hover::after {
    opacity: 1;
    animation: yt-border-blink 0.75s ease-in-out infinite;
}

/* Touch-action: permite scroll vertical mas captura swipe horizontal via JS */
#hero-carousel,
#gallery {
    touch-action: pan-y;
}

/* =====================================================
   BOTÕES ELEGANTES — Glass + Float + Shadow
   ===================================================== */

@keyframes btn-float {
    0%, 100% { transform: translateY(0px); }
    50%       { transform: translateY(-4px); }
}

.btn-elegant {
    position: relative;
    animation: btn-float 3.5s ease-in-out infinite;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-image: linear-gradient(
        135deg,
        rgba(255, 255, 255, 0.12) 0%,
        rgba(255, 255, 255, 0.04) 100%
    );
    box-shadow:
        0 8px 32px rgba(0, 0, 0, 0.35),
        0 2px 8px  rgba(var(--rgb-magenta), 0.18),
        inset 0 1px 0 rgba(255, 255, 255, 0.15);
    border: 1px solid rgba(255, 255, 255, 0.15) !important;
    transition: box-shadow 0.4s ease, transform 0.4s ease;
}

.btn-elegant:hover {
    animation-play-state: paused;
    box-shadow:
        0 16px 48px rgba(0, 0, 0, 0.5),
        0  4px 20px rgba(var(--rgb-magenta), 0.35),
        inset 0 1px 0 rgba(255, 255, 255, 0.2);
    transform: translateY(-6px) scale(1.06);
}

.btn-elegant-light {
    position: relative;
    animation: btn-float 3.5s ease-in-out infinite;
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    background-image: linear-gradient(
        135deg,
        rgba(var(--rgb-magenta), 0.08) 0%,
        rgba(var(--rgb-magenta), 0.02) 100%
    );
    box-shadow:
        0 8px 32px rgba(var(--rgb-magenta), 0.12),
        0 2px 8px  rgba(0, 0, 0, 0.08),
        inset 0 1px 0 rgba(255, 255, 255, 0.6);
    border: 1px solid rgba(var(--rgb-magenta), 0.15) !important;
    transition: box-shadow 0.4s ease, transform 0.4s ease;
}

.btn-elegant-light:hover {
    animation-play-state: paused;
    box-shadow:
        0 16px 48px rgba(var(--rgb-magenta), 0.22),
        0  4px 16px rgba(0, 0, 0, 0.12),
        inset 0 1px 0 rgba(255, 255, 255, 0.8);
    transform: translateY(-6px) scale(1.06);
}

/* ════════════════════════════════════════════════════════════════════════════
   NEXTGEN GALLERY - Navegador Personalizado Elegante (com !important)
   ════════════════════════════════════════════════════════════════════════════ */

/* Container principal do lightbox */
.ngg-galleryoverview,
.ngg-pro-lightbox {
    font-family: 'Inter', sans-serif !important;
}

/* Navegador do NextGEN */
.ngg-navigation,
.ngg-pro-lightbox-nav,
#ngg-navigation {
    background: linear-gradient(135deg, rgba(13, 27, 62, 0.95) 0%, rgba(26, 10, 46, 0.95) 100%) !important;
    backdrop-filter: blur(20px) !important;
    -webkit-backdrop-filter: blur(20px) !important;
    border-radius: 16px !important;
    padding: 12px 24px !important;
    box-shadow: 0 8px 32px rgba(0, 0, 0, 0.4), 0 0 0 1px rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}

/* Botões de navegação */
.ngg-navigation a,
.ngg-pro-lightbox-nav a,
.ngg-gallery-prev,
.ngg-gallery-next,
.ngg-pro-lightbox-prev,
.ngg-pro-lightbox-next,
.shutterset_next,
.shutterset_prev,
.ngg-next,
.ngg-prev {
    background: rgba(255, 255, 255, 0.1) !important;
    border: 1px solid rgba(255, 255, 255, 0.2) !important;
    border-radius: 50% !important;
    width: 48px !important;
    height: 48px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #fff !important;
    font-size: 20px !important;
    transition: all 0.3s ease !important;
    cursor: pointer !important;
    text-decoration: none !important;
}

.ngg-navigation a:hover,
.ngg-pro-lightbox-nav a:hover,
.ngg-gallery-prev:hover,
.ngg-gallery-next:hover,
.ngg-pro-lightbox-prev:hover,
.ngg-pro-lightbox-next:hover,
.shutterset_next:hover,
.shutterset_prev:hover {
    background: var(--magenta) !important;
    border-color: var(--magenta) !important;
    transform: scale(1.1) !important;
    box-shadow: 0 0 20px rgba(var(--rgb-magenta), 0.5) !important;
}

/* Contador de imagens */
.ngg-image-counter,
.ngg-pro-lightbox-counter,
.ngg-counter,
.shutterset_counter {
    color: #fff !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    letter-spacing: 0.1em !important;
    text-transform: uppercase !important;
    background: rgba(var(--rgb-magenta), 0.2) !important;
    padding: 8px 16px !important;
    border-radius: 24px !important;
    border: 1px solid rgba(var(--rgb-magenta), 0.3) !important;
}

/* Thumbnails no navegador */
.ngg-thumbnail-strip,
.ngg-pro-lightbox-thumbnails,
.ngg-gallery-thumbnails {
    background: rgba(0, 0, 0, 0.6) !important;
    backdrop-filter: blur(10px) !important;
    border-radius: 12px !important;
    padding: 12px !important;
    gap: 8px !important;
}

.ngg-thumbnail-strip img,
.ngg-pro-lightbox-thumbnails img,
.ngg-gallery-thumbnails img {
    border-radius: 8px !important;
    border: 2px solid transparent !important;
    transition: all 0.3s ease !important;
    opacity: 0.6 !important;
}

.ngg-thumbnail-strip img:hover,
.ngg-pro-lightbox-thumbnails img:hover,
.ngg-gallery-thumbnails img:hover,
.ngg-thumbnail-strip img.active,
.ngg-pro-lightbox-thumbnails img.active,
.ngg-gallery-thumbnails img.active {
    border-color: var(--magenta) !important;
    opacity: 1 !important;
    transform: scale(1.05) !important;
}

/* Botão fechar */
.ngg-pro-lightbox-close,
.ngg-gallery-close,
.shutterset_close,
.ngg-close {
    background: rgba(var(--rgb-magenta), 0.8) !important;
    border: none !important;
    border-radius: 50% !important;
    width: 44px !important;
    height: 44px !important;
    color: #fff !important;
    font-size: 24px !important;
    cursor: pointer !important;
    transition: all 0.3s ease !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 20px !important;
    right: 20px !important;
    z-index: 9999 !important;
}

.ngg-pro-lightbox-close:hover,
.ngg-gallery-close:hover,
.shutterset_close:hover {
    background: var(--magenta) !important;
    transform: rotate(90deg) !important;
    box-shadow: 0 0 25px rgba(var(--rgb-magenta), 0.6) !important;
}

/* Título/legenda */
.ngg-gallery-caption,
.ngg-pro-lightbox-caption,
.ngg-caption,
.shutterset_caption {
    color: #fff !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    text-align: center !important;
    background: linear-gradient(to top, rgba(0, 0, 0, 0.8), transparent) !important;
    padding: 20px !important;
    text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5) !important;
}

/* Overlay do lightbox */
.ngg-pro-lightbox-overlay,
#shutterset_overlay,
.ngg-overlay {
    background: rgba(0, 0, 0, 0.95) !important;
}

/* ════════════════════════════════════════════════════════════════════════════
   NEXTGEN GALLERY - Versão Mobile (Maior e Mais Acessível)
   ════════════════════════════════════════════════════════════════════════════ */

@media (max-width: 768px) {
    /* Navegador maior no mobile */
    .ngg-navigation,
    .ngg-pro-lightbox-nav,
    #ngg-navigation {
        padding: 16px 20px !important;
        border-radius: 20px !important;
        bottom: 20px !important;
    }
    
    /* Botões de navegação maiores */
    .ngg-navigation a,
    .ngg-pro-lightbox-nav a,
    .ngg-gallery-prev,
    .ngg-gallery-next,
    .ngg-pro-lightbox-prev,
    .ngg-pro-lightbox-next,
    .shutterset_next,
    .shutterset_prev,
    .ngg-next,
    .ngg-prev {
        width: 64px !important;
        height: 64px !important;
        font-size: 28px !important;
    }
    
    /* Contador maior */
    .ngg-image-counter,
    .ngg-pro-lightbox-counter,
    .ngg-counter,
    .shutterset_counter {
        font-size: 16px !important;
        padding: 12px 20px !important;
    }
    
    /* Thumbnails maiores */
    .ngg-thumbnail-strip,
    .ngg-pro-lightbox-thumbnails,
    .ngg-gallery-thumbnails {
        padding: 16px !important;
        gap: 12px !important;
    }
    
    .ngg-thumbnail-strip img,
    .ngg-pro-lightbox-thumbnails img,
    .ngg-gallery-thumbnails img {
        width: 80px !important;
        height: 80px !important;
        border-radius: 12px !important;
    }
    
    /* Botão fechar maior */
    .ngg-pro-lightbox-close,
    .ngg-gallery-close,
    .shutterset_close,
    .ngg-close {
        width: 56px !important;
        height: 56px !important;
        font-size: 28px !important;
        top: 16px !important;
        right: 16px !important;
    }
    
    /* Legenda maior */
    .ngg-gallery-caption,
    .ngg-pro-lightbox-caption,
    .ngg-caption,
    .shutterset_caption {
        font-size: 18px !important;
        padding: 24px 16px !important;
    }
    
    /* Área de toque aumentada */
    .ngg-navigation a,
    .ngg-pro-lightbox-nav a {
        margin: 0 8px !important;
    }
}

/* ════════════════════════════════════════════════════════════════════════════
   NEXTGEN GALLERY - CSS Personalizado do Usuário (Integrado)
   ════════════════════════════════════════════════════════════════════════════ */

/* Thumbs Gallery - Layout Masonry */
.ngg-galleryoverview {
    column-count: 2;
    column-gap: 10px;
    margin-bottom: 50px;
}

.ngg-gallery-thumbnail-box {
    margin: 0;
    display: grid;
    grid-template-rows: 1fr auto;
    break-inside: avoid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    padding-bottom: 10px;
}

.ngg-gallery-thumbnail-box img {
    max-width: 100%;
    display: block;
    clear: both;
    grid-row: 2 / -1;
    grid-column: 1;
    justify-self: start;
    background-color: white;
    border: 1px solid #999;
    box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.1);
    color: white;
    border-radius: 2px;
}

/* Esconde link de slideshow */
.slideshowlink {
    display: none;
}

/* Paginação NextGEN - Estilo Personalizado */
.ngg-navigation {
    font-size: 30px;
    padding: 30px;
    clear: both;
    block-size: 30px;
    align-items: center;
}

.page-numbers {
    font-size: 30px;
}

.prev,
.next {
    font-size: 30px;
}

/* Container da paginação - Flexbox */
.ngg-navigation a.prev,
.ngg-navigation a.next {
    display: none !important;
}

div.ngg-navigation {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 30px auto !important;
    padding: 10px 0 !important;
    font-family: 'Inter', 'Segoe UI', sans-serif !important;
}

/* Links e botão da página atual */
div.ngg-navigation a,
div.ngg-navigation span.current {
    display: inline-block !important;
    padding: 8px 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-size: 25px !important;
    color: #333 !important;
    background-color: #f0f0f0 !important;
    transition: all 0.3s ease !important;
}

/* Efeito hover - AZUL (#0073aa) */
div.ngg-navigation a:hover {
    background-color: #0073aa !important;
    color: #fff !important;
}

/* Página atual destacada - AZUL (#0073aa) */
div.ngg-navigation span.current {
    background-color: #0073aa !important;
    color: #fff !important;
    font-weight: bold !important;
}

/* Setas de navegação */
div.ngg-navigation a.next,
div.ngg-navigation a.prev {
    font-weight: bold !important;
    font-size: 25px !important;
    background-color: #e0e0e0 !important;
}

div.ngg-navigation a.next:hover,
div.ngg-navigation a.prev:hover {
    background-color: #0073aa !important;
    color: #fff !important;
}

/* Botão Download na Galeria */
.ngg-gallery-thumbnail {
    position: relative;
    display: inline-block;
}

.ngg-gallery-thumbnail .download-button {
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 8px 12px;
    background-color: #0073aa;
    color: white;
    text-decoration: none;
    font-weight: bold;
    font-size: 12px;
    border-radius: 5px;
    opacity: 0.9;
    transition: all 0.3s ease;
    z-index: 10;
}

.ngg-gallery-thumbnail .download-button:hover {
    opacity: 1;
    background-color: #005a87;
    transform: translateY(-2px);
}

/* Link de download simples */
.download-link {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 4px 8px;
    background-color: #007bff;
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
    border-radius: 5px;
    margin-top: 10px;
}

/* Simple Lightbox - Botão Download */
.simple-lightbox .slb-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.simple-lightbox .slb-toolbar .download-button {
    background-color: #ffffff;
    color: #000000;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 10px;
    font-weight: bold;
}

/* Mensagem de Loading */
#loading-message {
    position: fixed;
    display: none;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

#loading-message .loading-backdrop {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.3);
    padding: 20px 40px;
    border-radius: 8px;
}

/* Smart Slider */
.n2-section-smartslider .n2-ss-slider-3 {
    border-radius: 8px;
}

/* Responsivo */
@media only screen and (max-width: 800px) {
    .mobile-hide {
        display: none !important;
    }
}

@media only screen and (max-width: 600px) {
    .mobile_view1 {
        display: inline !important;
    }
    
    /* Paginação menor no mobile */
    div.ngg-navigation a,
    div.ngg-navigation span.current {
        font-size: 18px !important;
        padding: 6px 10px !important;
    }
}

@media only screen and (min-width: 800px) {
    .desktop-hide {
        display: none;
    }
}

/* Thumbs Gallery - Layout Masonry */
.ngg-galleryoverview {
    column-count: 2;
    column-gap: 10px;
    margin-bottom: 50px;
}

.ngg-gallery-thumbnail-box {
    margin: 0;
    display: grid;
    grid-template-rows: 1fr auto;
    break-inside: avoid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    padding-bottom: 10px;
}

.ngg-gallery-thumbnail-box img {
    max-width: 100%;
    display: block;
    clear: both;
    grid-row: 2 / -1;
    grid-column: 1;
    justify-self: start;
    background-color: white;
    border: 1px solid #999;
    box-shadow: 5px 5px 3px rgba(0, 0, 0, 0.1);
    color: white;
    border-radius: 2px;
}

/* Esconde link de slideshow */
.slideshowlink {
    display: none;
}

/* Paginação NextGEN - Estilo Personalizado */
.ngg-navigation {
    font-size: 30px;
    padding: 30px;
    clear: both;
    block-size: 30px;
    align-items: center;
}

.page-numbers {
    font-size: 30px;
}

.prev,
.next {
    font-size: 30px;
}

/* Container da paginação - Flexbox */
.ngg-navigation a.prev,
.ngg-navigation a.next {
    display: none !important;
}

div.ngg-navigation {
    display: flex !important;
    justify-content: center !important;
    flex-wrap: wrap !important;
    gap: 10px !important;
    margin: 30px auto !important;
    padding: 10px 0 !important;
    font-family: 'Inter', 'Segoe UI', sans-serif !important;
}

/* Links e botão da página atual */
div.ngg-navigation a,
div.ngg-navigation span.current {
    display: inline-block !important;
    padding: 8px 14px !important;
    border-radius: 4px !important;
    text-decoration: none !important;
    font-size: 25px !important;
    color: #333 !important;
    background-color: #f0f0f0 !important;
    transition: all 0.3s ease !important;
}

/* Efeito hover */
div.ngg-navigation a:hover {
    background-color: var(--magenta) !important;
    color: #fff !important;
}

/* Página atual destacada */
div.ngg-navigation span.current {
    background-color: var(--magenta) !important;
    color: #fff !important;
    font-weight: bold !important;
}

/* Setas de navegação */
div.ngg-navigation a.next,
div.ngg-navigation a.prev {
    font-weight: bold !important;
    font-size: 25px !important;
    background-color: #e0e0e0 !important;
}

div.ngg-navigation a.next:hover,
div.ngg-navigation a.prev:hover {
    background-color: var(--magenta) !important;
    color: #fff !important;
}

/* Botão Download na Galeria */
.ngg-gallery-thumbnail {
    position: relative;
    display: inline-block;
}

.ngg-gallery-thumbnail .download-button {
    position: absolute;
    bottom: 10px;
    right: 10px;
    padding: 14px 14px 0 14px;
    background-color: black;
    color: white;
    text-decoration: none;
    font-weight: bold;
    opacity: 0.7;
    border-radius: 5px;
    overflow: hidden;
    border-bottom: 5px solid #fff;
    transition: opacity 0.3s ease;
}

.ngg-gallery-thumbnail .download-button:hover {
    opacity: 1;
}

.ngg-gallery-thumbnail .download-button::before {
    content: "\f063";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    opacity: 0;
    font-size: 24px;
    animation: blink 1s infinite;
}

@keyframes blink {
    0% { opacity: 1; }
    50% { opacity: 0.5; }
    100% { opacity: 1; }
}

/* Link de download simples */
.download-link {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
    padding: 4px 8px;
    background-color: #007bff;
    color: #fff !important;
    text-decoration: none;
    font-size: 12px;
    border-radius: 5px;
    margin-top: 10px;
}

/* Simple Lightbox - Botão Download */
.simple-lightbox .slb-toolbar {
    display: flex;
    justify-content: flex-end;
    align-items: flex-end;
}

.simple-lightbox .slb-toolbar .download-button {
    background-color: #ffffff;
    color: #000000;
    padding: 8px 12px;
    border-radius: 4px;
    text-decoration: none;
    margin-right: 10px;
    font-weight: bold;
}

/* Mensagem de Loading */
#loading-message {
    position: fixed;
    display: none;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh;
    background: rgba(0, 0, 0, 0.6);
    z-index: 9999;
    align-items: center;
    justify-content: center;
}

#loading-message .loading-backdrop {
    color: white;
    font-size: 1.5rem;
    font-weight: bold;
    background: rgba(0, 0, 0, 0.3);
    padding: 20px 40px;
    border-radius: 8px;
}

/* Smart Slider */
.n2-section-smartslider .n2-ss-slider-3 {
    border-radius: 8px;
}

/* Responsivo */
@media only screen and (max-width: 800px) {
    .mobile-hide {
        display: none !important;
    }
}

@media only screen and (max-width: 600px) {
    .mobile_view1 {
        display: inline !important;
    }
}

@media only screen and (min-width: 800px) {
    .desktop-hide {
        display: none;
    }
}

.pc-pagination {
    margin-top: 4rem;
    font-family: 'Inter', sans-serif;
}

.pc-pagination-inner {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 1.5rem;
}

/* Informação de página */
.pc-pagination-info {
    font-size: 0.875rem;
    color: #6b7280;
    font-weight: 500;
}

.pc-pagination-separator {
    margin: 0 0.5rem;
}

/* Container dos links */
.pc-pagination-links {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 0.5rem;
}

/* Botões (Anterior, Próximo, Primeira, Última) */
.pc-pagination-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.5rem 1rem;
    border-radius: 0.5rem;
    font-weight: 600;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.2s ease;
    background: #ffffff;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.pc-pagination-btn:hover {
    background: var(--magenta);
    color: #ffffff;
    border-color: var(--magenta);
}

/* Botões primeira/última página (ícones) */
.pc-pagination-first,
.pc-pagination-last {
    padding: 0.5rem 0.75rem;
    font-size: 1rem;
}

/* Números das páginas */
.pc-pagination-numbers {
    display: flex;
    align-items: center;
    gap: 0.25rem;
}

.pc-pagination-number {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 0.5rem;
    font-weight: 700;
    font-size: 0.875rem;
    text-decoration: none;
    transition: all 0.2s ease;
    background: #ffffff;
    color: #374151;
    border: 1px solid #e5e7eb;
}

.pc-pagination-number:hover {
    background: var(--magenta);
    color: #ffffff;
    border-color: var(--magenta);
}

/* Página atual */
.pc-pagination-current {
    background: var(--magenta) !important;
    color: #ffffff !important;
    border-color: var(--magenta) !important;
    cursor: default;
}

/* Dots (ellipsis) */
.pc-pagination-dots {
    padding: 0 0.5rem;
    color: #9ca3af;
    font-weight: 700;
}

/* Posts por página */
.pc-pagination-per-page {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 0.875rem;
}

.pc-pagination-label {
    color: #6b7280;
}

.pc-pagination-options {
    display: flex;
    gap: 0.5rem;
}

.pc-pagination-option {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 0.25rem 0.75rem;
    border-radius: 9999px;
    font-size: 0.75rem;
    font-weight: 600;
    text-decoration: none;
    transition: all 0.2s ease;
    background: #f3f4f6;
    color: #4b5563;
}

.pc-pagination-option:hover {
    background: #e5e7eb;
}

.pc-pagination-option-active {
    background: var(--magenta) !important;
    color: #ffffff !important;
}

/* Responsivo */
@media (max-width: 640px) {
    .pc-pagination-btn {
        padding: 0.5rem 0.75rem;
        font-size: 0.75rem;
    }
    
    .pc-pagination-number {
        width: 2.25rem;
        height: 2.25rem;
        font-size: 0.875rem;
    }
    
    .pc-pagination-first,
    .pc-pagination-last {
        display: none; /* Esconde primeira/última no mobile */
    }
}
