/* Estilos Globais */
        html {
            scroll-behavior: smooth;
        }
        body {
            margin: 0;
            font-family: 'Poppins', sans-serif;
            background-color: var(--bg-color-soft);
            color: var(--text-dark);
            line-height: 1.6;
        }

        .container {
            max-width: 1400px;
            margin: 0 auto;
            padding: 0 15px;
        }
        .hidden {
            display: none !important;
        }
        
        /* Overlay para o menu mobile */
.sidebar-overlay,
.overlay { /* .overlay mantido por compatibilidade */
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 1001;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.sidebar-overlay.is-open,
.overlay.is-open {
    opacity: 1;
    visibility: visible;
}

/* Botão hamburguer (mobile) */
.icon-btn.mobile-menu-btn{
    display:none;
    background:none;
    border:none;
    padding:8px;
    margin:0 0 0 10px;
    cursor:pointer;
    border-radius:10px;
}
.icon-btn.mobile-menu-btn:focus-visible{
    outline:2px solid var(--brand-color);
    outline-offset:2px;
}
.hamburger{
    width:24px;
    height:18px;
    display:inline-block;
    position:relative;
}
.hamburger::before,
.hamburger::after,
.hamburger span{
    content:"";
    position:absolute;
    left:0;
    width:100%;
    height:2px;
    background:var(--text-dark);
    border-radius:2px;
    transition:transform 0.2s ease, opacity 0.2s ease, top 0.2s ease;
}
.hamburger::before{ top:0; }
.hamburger span{ top:8px; }
.hamburger::after{ top:16px; }

/* Mostra o botão custom no mobile/tablet */
@media (max-width: 1024px){
    .icon-btn.mobile-menu-btn{ display:inline-flex; align-items:center; justify-content:center; }
}

/* Estado aberto: animação simples */
body.sidebar-open .hamburger::before{ top:8px; transform:rotate(45deg); }
body.sidebar-open .hamburger span{ opacity:0; }
body.sidebar-open .hamburger::after{ top:8px; transform:rotate(-45deg); }
/* Header Principal */
        .main-header {
            background-color: var(--white-card);
            padding: 10px 0;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
            position: sticky;
            top: 0;
            z-index: 1000;
        }
        .main-header .container {
            display: flex;
            justify-content: space-between;
            align-items: center;
        }
        .main-header .logo-area {
            display: flex;
            align-items: center;
            text-decoration: none;
            cursor: pointer;
        }
        .main-header .logo-area img {
            max-height: 70px; /* Logo maior: 50px -> 70px */
            margin-right: 15px;
            border-radius: 4px;
        }
        .main-header .logo-area span {
            font-size: 1.1em;
            font-weight: 500;
            color: var(--text-dark);
        }

        /* Botão do Menu Mobile (Hamburguer) */
        .mobile-nav-toggle {
            display: none;
            background: none;
            border: none;
            font-size: 1.5rem;
            color: var(--text-dark);
            cursor: pointer;
        }

        /* Banner de Busca (Estilo Amarelo/Dourado) */
        .search-banner {
            background: linear-gradient(135deg, var(--brand-color), var(--brand-color-dark));
            padding: 80px 0;
            color: #fff;
        }
        .search-banner h1 {
            font-size: 2.8em;
            font-weight: 700;
            margin: 0 0 25px 0;
            text-align: center;
        }
        .search-bar {
            position: relative;
            max-width: 800px;
            margin: 0 auto;
        }
        .search-bar input {
            width: 100%;
            padding: 18px 25px 18px 60px;
            border: none;
            border-radius: 10px;
            font-size: 1.2em;
            box-sizing: border-box;
            background-color: var(--white-card);
            box-shadow: 0 5px 20px rgba(0, 0, 0, 0.1);
            color: var(--text-dark);
        }
        .search-bar input::placeholder { color: #b0b0b0; }
        .search-bar .fas.fa-search {
            position: absolute;
            left: 25px;
            top: 50%;
            transform: translateY(-50%);
            color: #aaa;
            font-size: 1.4em;
        }

        /* VISÃO INICIAL: Grid de Categorias */
        .category-view {
            padding: 50px 0;
        }
        .category-view h2 {
            font-size: 1.8em;
            font-weight: 700;
            margin: 0 0 25px 0;
            color: var(--text-dark);
            text-align: center;
        }
        .category-grid {
            display: grid;
            grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
            gap: 20px;
        }
        .category-card {
            background-color: var(--white-card);
            border: 1px solid var(--border-color);
            border-radius: 10px;
            padding: 20px;
            box-shadow: var(--shadow-subtle); /* Sombra robusta */
            transition: transform 0.3s ease, box-shadow 0.3s ease;
            cursor: pointer;
            display: flex;
            align-items: center;
            gap: 15px;
            text-decoration: none;
        }
        .category-card:hover {
            transform: translateY(-5px);
            box-shadow: var(--shadow-hover); /* Efeito de elevação */
        }
        .category-card .icon-wrapper {
            width: 45px; height: 45px; border-radius: 50%;
            display: flex; justify-content: center; align-items: center;
            font-size: 1.4em; flex-shrink: 0;
            background-color: rgba(254, 198, 57, 0.1); /* Fundo dos ícones */
            color: var(--brand-color-dark);
        }
        .category-card h3 {
            font-size: 1.1em;
            font-weight: 500;
            margin: 0;
            color: var(--text-dark);
        }

        /* VISÃO DE ARTIGOS: Layout Principal (Sidebar + Conteúdo) */
        .article-view {
            display: flex;
            gap: 30px;
            padding: 30px 0;
        }

        /* Sidebar de Navegação */
        .sidebar-nav {
            width: 280px; flex-shrink: 0; position: sticky;
            top: 100px; align-self: flex-start;
            height: calc(100vh - 120px); overflow-y: auto;
            padding-right: 15px; transition: transform 0.3s ease, opacity 0.3s, visibility 0.3s;
        }
        .sidebar-nav::-webkit-scrollbar { width: 5px; }
        .sidebar-nav::-webkit-scrollbar-track { background: #f1f1f1; }
        .sidebar-nav::-webkit-scrollbar-thumb { background: #ccc; border-radius: 5px; }
        .sidebar-nav::-webkit-scrollbar-thumb:hover { background: #aaa; }
        .nav-accordion { list-style: none; padding: 0; margin: 0; }
        .nav-accordion .nav-category > button {
            display: flex; justify-content: space-between; align-items: center;
            width: 100%; padding: 12px 10px; font-family: 'Poppins', sans-serif;
            font-size: 1.05em; font-weight: 600; background: none; border: none;
            cursor: pointer; text-align: left; color: var(--text-dark);
            transition: background-color 0.3s ease; border-radius: 6px;
        }
        .nav-accordion .nav-category > button:hover { background-color: #f0f0f0; }
        .nav-accordion .nav-category > button .fa-chevron-down { transition: transform 0.3s ease; }
        .nav-accordion .nav-category > button.active .fa-chevron-down { transform: rotate(180deg); }
        .nav-accordion .nav-subcategory-list {
            list-style: none; padding-left: 15px; margin: 0; max-height: 0;
            overflow: hidden; transition: max-height 0.4s ease-out;
        }
        .nav-accordion .nav-subcategory-list a {
            display: block; padding: 8px 10px; color: var(--text-light);
            font-weight: 400; font-size: 0.95em; border-radius: 5px;
            transition: background-color 0.3s, color 0.3s; text-decoration: none;
        }
        .nav-accordion .nav-subcategory-list a:hover { background-color: var(--brand-color-light); color: var(--text-dark); }
        .nav-accordion .nav-subcategory-list a.active { background-color: var(--brand-color); color: var(--text-dark); font-weight: 500; }

        /* Área de Conteúdo */
        .content-area {
            flex-grow: 1; min-width: 0;
        }
        .content-article {
            background-color: var(--white-card); border: 1px solid var(--border-color);
            border-radius: 10px; padding: 30px; margin-bottom: 25px;
            box-shadow: var(--shadow-subtle);
        }
        .content-article h2 {
            font-size: 1.8em; margin: 0; color: var(--text-dark); padding-bottom: 15px;
            margin-bottom: 25px; border-bottom: 2px solid var(--brand-color);
            display: flex; align-items: center;
        }
        .content-article h2 .fas { margin-right: 15px; color: var(--brand-color-dark); }
        .qa-item { margin-bottom: 20px; }
        .qa-item p { margin: 0 0 5px 0; }
        .qa-item p strong { color: var(--text-dark); font-weight: 500; font-size: 1.1em; }
        .qa-item .answer { color: var(--text-light); font-size: 0.95em; padding-left: 5px; }
        
        /* Card de "Nenhum resultado" */
        .no-results-card {
            display: none; text-align: center; padding: 40px 20px;
            background-color: var(--white-card); border-radius: 10px;
            border: 1px solid var(--border-color);
        }
        .no-results-card .icon { font-size: 3.5em; color: #d0d0d0; margin-bottom: 15px; }
        .no-results-card h3 { font-size: 1.4em; color: var(--text-dark); margin-bottom: 10px; }
        .no-results-card p { color: var(--text-light); }
        
        /* Rodapé */
        .main-footer {
            background-color: var(--white-card); border-top: 1px solid var(--border-color);
            padding: 30px 0; font-size: 0.9em;
            margin-top: 40px;
        }
        .main-footer .container {
            display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap;
        }
        .footer-left { text-align: left; }
        .footer-links a { color: var(--text-light); text-decoration: none; margin-right: 15px; transition: color 0.3s ease; }
        .footer-links a:hover { color: var(--brand-color-dark); }
        .footer-left .copyright { margin: 10px 0 0 0; color: #aaa; }
        .footer-social a { color: var(--text-light); font-size: 1.5rem; margin-left: 20px; transition: color 0.3s ease; }
        .footer-social a:hover { color: var(--brand-color-dark); }
        
        /* NOVO ESTILO PARA O BLOCO DE CONTATO NO FOOTER */
        .footer-left .footer-contact {
            margin-bottom: 10px;
            padding-bottom: 5px;
            border-bottom: 1px dashed var(--border-color);
        }
        .footer-left .footer-contact strong {
            display: block;
            margin-bottom: 5px;
            color: var(--text-dark);
        }
        .footer-left .footer-contact p {
            margin: 0;
            color: var(--text-light);
        }
        .footer-left .footer-contact a {
            color: var(--brand-color-dark);
            text-decoration: underline;
        }


        /* --- ESTILOS PARA TABLET E MOBILE --- */
        
        /* Oculta a sidebar durante busca APENAS em telas grandes (desktop) */
        @media (min-width: 1025px){
            .search-active .sidebar-nav { visibility: hidden; opacity: 0; width: 0; padding-right: 0; }
        }

@media (max-width: 1024px) {
            .mobile-nav-toggle { display: block; }
            .sidebar-nav {
                position: fixed; left: 0; top: 0; width: 300px; height: 100%;
                background-color: var(--white-card); z-index: 1002;
                transform: translateX(-100%); padding: 20px; box-sizing: border-box;
                box-shadow: 5px 0 15px rgba(0,0,0,0.1);
            }
            .sidebar-nav.is-open { transform: translateX(0); }
            .article-view { flex-direction: column; }
            /* Se a busca estiver ativa, a sidebar deve sumir no desktop/tablet, mas estar disponível por padrão no mobile */
            }

        @media (max-width: 768px) {
            .search-banner h1 { font-size: 2.2em; }
            /* Logo MAIOR no Mobile (65px) e texto Central de Ajuda escondido */
            .main-header .logo-area span { display: none; }
            .main-header .logo-area img { max-height: 65px; } 

            .main-footer .container { flex-direction: column; gap: 20px; }
            .footer-left, .footer-social { text-align: center; }
            .footer-social a { margin: 0 10px; }
            .footer-left .footer-contact { text-align: left; }

            .category-view { padding: 40px 0; }
        }
        
        /* --- ESTILOS PARA CELULAR (2 COLUNAS LADO A LADO E ORGANIZAÇÃO) --- */
        @media (max-width: 500px) {
            .search-banner { padding: 50px 0; }
            .search-banner h1 { font-size: 1.8em; }
            .search-bar input { padding: 12px 20px 12px 45px; font-size: 1em; }
            .search-bar .fas.fa-search { left: 15px; font-size: 1.1em; }
            
            .category-view h2 { font-size: 1.6em; margin-bottom: 15px; }

            /* Grid: 2 COLUNAS LADO A LADO */
            .category-grid {
                grid-template-columns: repeat(2, 1fr);
                gap: 10px;
            }
            /* Card: Empilha ícone e texto para caber */
            .category-card {
                padding: 10px;
                gap: 5px;
                flex-direction: column; 
                text-align: center;
            }
            .category-card .icon-wrapper {
                width: 40px; height: 40px; font-size: 1.2em;
                margin-bottom: 5px;
            }
            .category-card h3 {
                font-size: 0.95em; 
                line-height: 1.2;
            }
            
            /* Artigos */
            .content-article {
                padding: 20px;
            }
            .content-article h2 {
                font-size: 1.6em;
            }
            .qa-item p strong { font-size: 1em; }
            .qa-item .answer { font-size: 0.9em; }
        }

        /* --- ESTILOS DO LOADER --- */
        #loader {
            position: fixed; inset: 0; background-color: #ffffff;
            display: flex; flex-direction: column; justify-content: center;
            align-items: center; z-index: 9999; transition: opacity 0.6s ease;
            font-family: 'Poppins', sans-serif;
        }
        .dots-loader { display: flex; gap: 8px; }
        .dots-loader span {
            width: 12px; height: 12px; background-color: var(--brand-color);
            border-radius: 50%; animation: bounce 1.2s infinite ease-in-out;
        }
        .dots-loader span:nth-child(2) { animation-delay: 0.2s; }
        .dots-loader span:nth-child(3) { animation-delay: 0.4s; }
        @keyframes bounce {
            0%, 80%, 100% { transform: scale(1); opacity: 0.6; }
            40% { transform: scale(1.5); opacity: 1; }
        }
        .loader-text { margin-top: 20px; font-size: 16px; color: #333; letter-spacing: 0.5px; }
    


  /* Botão VLibras no lado esquerdo, centralizado verticalmente */
  [vw] .vw-access-button {
    position: fixed !important;
    top: 50% !important;
    left: 20px !important;
    transform: translateY(-50%) !important;
    background-color: #fec639 !important; /* CORRIGIDO para o amarelo Orbizzy */
    border-radius: 50% !important;
    width: 60px !important;
    height: 60px !important;
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
    z-index: 9999 !important;
    transition: transform 0.3s ease;
  }

  [vw] .vw-access-button:hover {
    transform: translateY(-50%) scale(1.1);
  }

  /* Oculta a marca d'água do VLibras (opcional) */
  [vw] .vw-plugin-top-wrapper {
    display: none !important;
  }

  /* Responsividade para dispositivos móveis */
  @media (max-width: 768px) {
    [vw] .vw-access-button {
      width: 50px !important;
      height: 50px !important;
      left: 10px !important;
    }
  }
