#pm-accessibility-bar { background: rgba(255, 255, 255, 0.6) !important; backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px); padding: 6px 14px !important; font-size: 11px !important; font-weight: 600 !important; color: #64748b !important; border-bottom: 1px solid rgba(0, 0, 0, 0.04) !important; }
#pm-accessibility-bar button, #pm-accessibility-bar [id*="vlibras"] { font-size: 10px !important; font-weight: 700 !important; padding: 3px 9px !important; color: #64748b !important; border-radius: 6px !important; border: 1px solid rgba(0, 0, 0, 0.04) !important; background: rgba(255, 255, 255, 0.4) !important; transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1) !important; cursor: pointer; display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: 4px !important; box-shadow: 0 1px 2px rgba(0,0,0,0.01) !important; }
#pm-accessibility-bar button:hover, #pm-accessibility-bar [id*="vlibras"]:hover { background: #00449a !important; color: #fff !important; border-color: #00449a !important; box-shadow: 0 4px 12px rgba(0, 68, 154, 0.15) !important; transform: translateY(-0.5px); }
#pm-accessibility-bar [data-lucide] { width: 13px !important; height: 13px !important; transition: transform 0.2s ease !important; }
#pm-accessibility-bar button:hover [data-lucide] { transform: scale(1.05); }
#pm-accessibility-bar .pm-label { font-size: 9px !important; text-transform: uppercase !important; letter-spacing: 0.5px !important; }
.pm-header {
    background: rgba(0, 68, 154, 0.88) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    box-shadow: 0 4px 20px rgba(0,68,154,0.15) !important;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.pm-header .pm-logo-text { color: #fff !important; }
.pm-header .pm-logo-sub { color: rgba(255,255,255,0.65) !important; }
.pm-nav-list {
    display: flex !important;
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
    align-items: center !important;
    gap: 4px !important;
}
.pm-nav-item { position: relative !important; }
.pm-nav-link,
.pm-header nav > ul > li > a {
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 8px 16px !important;
    font-size: 16px !important;
    font-weight: 600 !important;
    color: rgba(255,255,255,0.8) !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    border-radius: 8px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    position: relative !important;
}
/* Centered bottom line animation on hover */
.pm-nav-link::after,
.pm-header nav > ul > li > a::after {
    content: '' !important;
    position: absolute !important;
    bottom: 2px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    width: 0 !important;
    height: 2px !important;
    background: #02b0ee !important; /* Accent color */
    border-radius: 2px !important;
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.pm-nav-link:hover::after,
.pm-header nav > ul > li > a:hover::after,
.pm-nav-item:hover > a::after {
    width: 60% !important;
}
.pm-nav-link:hover,
.pm-header nav > ul > li > a:hover {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.1) !important;
}
.pm-header nav > ul > li.current-menu-item > a,
.pm-header nav > ul > li.current-menu-ancestor > a,
.pm-nav-list > li.current-menu-item > a,
.pm-nav-list > li.current-menu-ancestor > a {
    color: #fff !important;
    background: rgba(255, 255, 255, 0.15) !important;
}
.pm-header nav > ul > li.current-menu-item > a::after,
.pm-header nav > ul > li.current-menu-ancestor > a::after,
.pm-nav-list > li.current-menu-item > a::after,
.pm-nav-list > li.current-menu-ancestor > a::after {
    width: 60% !important;
}
.pm-nav-link i:first-child {
    font-size: 14px !important;
    width: 15px !important;
    text-align: center !important;
    opacity: 0.85 !important;
}
.pm-nav-link .pm-chevron {
    font-size: 8px !important;
    margin-left: 2px !important;
    transition: transform 0.2s ease !important;
    opacity: 0.7 !important;
}
.pm-nav-item:hover > a .pm-chevron {
    transform: rotate(180deg) !important;
}
/* Remove duplicate chevron triangle from tailwind styling */
#pm-primary-nav .menu-item-has-children > a::after,
.pm-nav-item.pm-has-children > a::after {
    display: none !important;
    content: none !important;
}
.pm-mega-dropdown {
    display: none;
    left: 50% !important;
    transform: translateX(-50%) !important;
    min-width: 250px;
    max-width: 85vw !important;
    max-height: 70vh !important;
    overflow-y: auto !important;
    padding: 8px !important;
    border-radius: 16px !important;
    border: 1px solid #e2e8f0 !important;
    box-shadow: 0 15px 40px rgba(0,0,0,0.12) !important;
    background: #fff !important;
}
@media (min-width: 1024px) {
    /* Hover bridge on parent links to keep dropdown open */
    .pm-nav-item.pm-has-children:hover > a::before {
        content: '' !important;
        position: absolute !important;
        bottom: -20px !important;
        left: 0 !important;
        width: 100% !important;
        height: 24px !important;
        background: transparent !important;
        z-index: 100 !important;
    }
    .pm-mega-dropdown {
        display: block !important;
        opacity: 0 !important;
        visibility: hidden !important;
        top: calc(100% + 8px) !important;
        transform: translateX(-50%) translateY(8px) !important;
        transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
    }
    .pm-nav-item:hover > .pm-mega-dropdown {
        opacity: 1 !important;
        visibility: visible !important;
        transform: translateX(-50%) translateY(0) !important;
    }
    /* Dropdown top arrow pointing up */
    .pm-mega-dropdown::before {
        content: '' !important;
        position: absolute !important;
        top: -6px !important;
        left: 50% !important;
        transform: translateX(-50%) !important;
        width: 12px !important;
        height: 6px !important;
        background: #fff !important;
        clip-path: polygon(50% 0%, 0% 100%, 100% 100%) !important;
        z-index: 1002 !important;
        border-left: 1px solid #e2e8f0 !important;
        border-top: 1px solid #e2e8f0 !important;
    }
}
.pm-mega-dropdown .pm-nav-link {
    color: #475569 !important;
    padding: 8px 12px !important;
    border-radius: 8px !important;
    font-weight: 600 !important;
    font-size: 13px !important;
    gap: 10px !important;
    white-space: normal !important;
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.pm-mega-dropdown .pm-nav-link:hover {
    background: rgba(0, 68, 154, 0.05) !important;
    color: #00449a !important;
    padding-left: 18px !important;
    transform: none !important;
}
@keyframes pmFadeIn {
    from { opacity: 0; transform: translateX(-50%) translateY(-4px); }
    to   { opacity: 1; transform: translateX(-50%) translateY(0); }
}
.pm-header .pm-action-btn { color: rgba(255,255,255,0.75) !important; }
.pm-header .pm-action-btn:hover { color: #fff !important; background: rgba(255,255,255,0.1) !important; }
.pm-header .pm-divider { background: rgba(255,255,255,0.15) !important; }
.pm-header .pm-btn-cidadao { background: rgba(255,255,255,0.1) !important; color: #fff !important; border: 1px solid rgba(255,255,255,0.15) !important; }
.pm-header .pm-btn-cidadao:hover { background: rgba(255,255,255,0.18) !important; }
.pm-header #pm-mobile-toggle { color: rgba(255,255,255,0.75) !important; }
.pm-header #pm-mobile-toggle:hover { background: rgba(255,255,255,0.1) !important; color: #fff !important; }
.pm-header .pm-logo-placeholder { background: rgba(255,255,255,0.12) !important; color: #fff !important; }

.reveal {
    opacity: 1; /* Mantido em 1 por segurança para não sumir se o JS falhar */
    transform: translateY(30px);
    transition: opacity 0.6s cubic-bezier(0.4, 0, 0.2, 1), transform 0.6s cubic-bezier(0.4, 0, 0.2, 1);
}
.reveal.active {
    opacity: 1;
    transform: translateY(0);
}
.hover-glow {
    transition: all 0.3s ease;
}
.hover-glow:hover {
    box-shadow: 0 0 20px rgba(6, 182, 212, 0.4);
    transform: translateY(-2px);
}

/* Search Overlay Premium */
.pm-search-overlay {
    position: fixed;
    inset: 0;
    background: rgba(15, 23, 42, 0.9);
    backdrop-filter: blur(10px);
    z-index: 100000;
    opacity: 0;
    visibility: hidden;
    transition: all 0.3s ease-in-out;
    display: flex;
    align-items: center;
    justify-content: center;
}
.pm-search-overlay.active {
    opacity: 1;
    visibility: visible;
}
.pm-search-overlay .search-inner {
    width: 100%;
    max-width: 600px;
    padding: 2rem;
    transform: translateY(20px);
    transition: all 0.4s ease-out;
}
.pm-search-overlay.active .search-inner {
    transform: translateY(0);
}
/* High Contrast Support */
.high-contrast {
    background-color: #000 !important;
    color: #fff !important;
}
.high-contrast a {
    color: #ff0 !important;
}
.high-contrast .bg-white, 
.high-contrast .bg-slate-50,
.high-contrast .bg-slate-100 {
    background-color: #000 !important;
    border-color: #fff !important;
}
.high-contrast .text-slate-900,
.high-contrast .text-slate-800,
.high-contrast .text-slate-700,
.high-contrast .text-slate-600 {
    color: #fff !important;
}
.high-contrast .text-slate-500,
.high-contrast .text-slate-400 {
    color: #ddd !important;
}
.high-contrast .bg-primary,
.high-contrast .bg-cyan-500,
.high-contrast [style*="background-color"] {
    background-color: #000 !important;
    color: #fff !important;
    border: 1px solid #fff !important;
}
.high-contrast #pm-info-widget span,
.high-contrast #pm-accessibility-bar button,
.high-contrast #pm-accessibility-bar [id*="vlibras"] {
    background-color: #000 !important;
    border-color: #fff !important;
    color: #fff !important;
}
/* Mobile menu overrides for walker output */
#mobile-menu .pm-mega-dropdown {
    position: static !important;
    transform: none !important;
    min-width: 100% !important;
    box-shadow: none !important;
    border: none !important;
    padding: 0 0 0 16px !important;
    background: transparent !important;
    animation: none !important;
}
#mobile-menu .pm-mega-dropdown .pm-nav-link {
    padding: 12px 16px !important;
    border-radius: 10px !important;
    color: #334155 !important;
    font-weight: 500 !important;
    gap: 10px !important;
}
#mobile-menu .pm-mega-dropdown .pm-nav-link:hover {
    background: #f1f5f9 !important;
    color: #0c4a6e !important;
}
#mobile-menu .pm-nav-link {
    padding: 12px 16px !important;
    border-bottom: none !important;
    color: #334155 !important;
    font-size: 14px !important;
    white-space: normal !important;
}
#mobile-menu .pm-nav-link:hover {
    background: #f1f5f9 !important;
    border-bottom: none !important;
}
#mobile-menu .pm-nav-link i:first-child {
    width: 20px !important;
    text-align: center !important;
    opacity: 0.7 !important;
}
#mobile-menu .mobile-nav-list {
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
}
#mobile-menu .mobile-nav-list .pm-nav-item {
    padding: 1px 4px !important;
}
.pm-cidadao-dropdown {
    position: absolute; right: 0; top: 100%; margin-top: 0.4rem;
    width: 240px;
    background: rgba(255, 255, 255, 0.95) !important;
    backdrop-filter: blur(12px) !important;
    -webkit-backdrop-filter: blur(12px) !important;
    border-radius: 16px !important;
    box-shadow: 0 16px 40px rgba(0,0,0,0.12) !important;
    border: 1px solid rgba(0, 0, 0, 0.08) !important;
    opacity: 0; visibility: hidden; transform: translateY(8px);
    transition: all 0.25s cubic-bezier(0.4, 0, 0.2, 1); z-index: 1000; pointer-events: none;
}
.pm-cidadao-wrapper.active .pm-cidadao-dropdown,
.pm-cidadao-wrapper:hover .pm-cidadao-dropdown {
    opacity: 1; visibility: visible; transform: translateY(0);
    pointer-events: auto;
}
.pm-cidadao-wrapper.active .pm-chevron,
.pm-cidadao-wrapper:hover .pm-chevron { transform: rotate(180deg); }
.pm-cidadao-dropdown a {
    display: flex; align-items: center; gap: 10px;
    padding: 10px 14px; border-radius: 8px;
    font-weight: 600; font-size: 12px; color: #334155;
    text-decoration: none; transition: all 0.15s;
}
.pm-cidadao-dropdown a:hover { background: #f1f5f9; color: #00449a; }

/* Premium Design System Helpers */
.glass-premium {
    background: rgba(255, 255, 255, 0.75) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.3) !important;
}
.dark-glass-premium {
    background: rgba(15, 23, 42, 0.8) !important;
    backdrop-filter: blur(16px) !important;
    -webkit-backdrop-filter: blur(16px) !important;
    border: 1px solid rgba(255, 255, 255, 0.1) !important;
}
.text-gradient {
    background: linear-gradient(135deg, #02b0ee 0%, #38bdf8 50%, #22d3ee 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
}
.shadow-premium {
    box-shadow: 0 10px 30px -10px rgba(0, 68, 154, 0.15) !important;
}
.shadow-glow {
    box-shadow: 0 0 25px rgba(2, 176, 238, 0.45) !important;
}
.btn-premium {
    transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
}
.btn-premium:hover {
    transform: translateY(-2px) !important;
    box-shadow: 0 12px 30px rgba(2, 176, 238, 0.4) !important;
}

/* Hero Animations */
@keyframes fadeInUp {
    from {
        opacity: 0;
        transform: translateY(24px);
    }
    to {
        opacity: 1;
        transform: translateY(0);
    }
}
.animate-fade-in-up {
    animation: fadeInUp 0.9s cubic-bezier(0.16, 1, 0.3, 1) forwards;
    opacity: 0; /* starts invisible, resolved by forwards */
}
.delay-100 {
    animation-delay: 150ms !important;
}
.delay-200 {
    animation-delay: 300ms !important;
}
.delay-300 {
    animation-delay: 450ms !important;
}

/* Floating animation for background blobs */
@keyframes float {
    0% {
        transform: translateY(0px) scale(1) rotate(0deg);
    }
    50% {
        transform: translateY(-25px) scale(1.05) rotate(180deg);
    }
    100% {
        transform: translateY(0px) scale(1) rotate(360deg);
    }
}
.float-blob {
    animation: float 14s ease-in-out infinite !important;
}

.text-gradient-dark {
    background: linear-gradient(135deg, #00449a 0%, #02b0ee 100%) !important;
    -webkit-background-clip: text !important;
    -webkit-text-fill-color: transparent !important;
    color: transparent !important;
    display: inline-block;
}

/* Robust FontAwesome icon styles for dropdown submenus */
.pm-menu-icon {
    font-family: 'Font Awesome 6 Free', 'Font Awesome 6 Solid', 'FontAwesome' !important;
    font-weight: 900 !important;
    display: inline-block !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    width: 20px !important;
    text-align: center !important;
    font-size: 14px !important;
    color: #00449a !important;
    margin-right: 6px !important;
    flex-shrink: 0 !important;
}




