/*
Theme Name: Astra Child
Theme URI: https://wpastra.com/
Template: astra
Author: Brainstorm Force
Author URI: https://wpastra.com/about/?utm_source=theme_preview&utm_medium=author_link&utm_campaign=astra_theme
Description: The Astra WordPress theme is lightning-fast and highly customizable. It has over 1 million downloads and the only theme in the world with 6,000+ five-star reviews! It’s ideal for professional web designers, solopreneurs, small businesses, eCommerce, membership sites and any type of website. It offers special features and templates so it works perfectly with all page builders like Spectra, Elementor, Beaver Builder, etc. Fast performance, clean code, mobile-first design and schema markup are all built-in, making the theme exceptionally SEO-friendly. It’s fully compatible with WooCommerce, SureCart and other eCommerce plugins and comes with lots of store-friendly features and templates. Astra also provides expert support for free users. A dedicated team of fully trained WordPress experts are on hand to help with every aspect of the theme. Try the live demo of Astra: https://zipwp.org/themes/astra/
Tags: custom-menu,custom-logo,entertainment,one-column,two-columns,left-sidebar,e-commerce,right-sidebar,custom-colors,editor-style,featured-images,full-width-template,microformats,post-formats,rtl-language-support,theme-options,threaded-comments,translation-ready,blog
Version: 4.11.13.1761217470
Updated: 2025-10-23 08:04:30

*/
@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap');

        /* ==============================================
           Estilos do Header (CORRIGIDO)
           ============================================== */

        /* Fontes e Reset Básico */
        .site-header {
            font-family: "Roboto", sans-serif;
            box-sizing: border-box;
        }
        .site-header *, .site-header *::before, .site-header *::after {
            box-sizing: border-box;
        }

        /* Barras Horizontais */
       
        .header-bottom-bar { height: 1px; background-color: #e0e0e0; }

        /* Container Principal do Header */
        .site-header {
            width: 100%;
            background-color: #fff;
            padding: 15px 0;
            position: relative; /* Para o z-index do menu mobile */
            z-index: 1000;
            font-weight: normal !important;
        }

        .header-container {
            max-width: 1200px; /* Ajuste a largura máxima */
            margin: 0 auto;
            padding: 0 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        /* Logo */
        .header-logo img {
            max-height: 60px; /* Ajuste a altura da logo */
            width: auto;
            display: block;
        }

        /* --- Navegação Principal (Corrigido) --- */
        .header-nav {
            margin-left: 20px;
        }
        /* Aplica flex APENAS ao UL principal */
        .header-nav > ul {
            margin: 0;
            padding: 0;
            list-style: none;
            display: flex;
        }
        /* Aplica APENAS ao LI principal */
        .header-nav > ul > li {
            margin-left: 25px;
            position: relative; /* Para o dropdown */
        }
        /* Aplica APENAS ao A principal */
        .header-nav > ul > li > a {
            text-decoration: none;
            color: #333;
            font-size: 16px;
            font-weight: normal;
            padding: 10px 0;
            display: block;
        }

        /* --- Estilos do Dropdown (Corrigido) --- */
        .menu-item-has-children {
            display: flex;
            align-items: center;
        }
        .menu-item-has-children > a {
            padding-right: 5px; /* Espaço para a seta */
        }

        .dropdown-toggle {
            display: inline-block;
            width: 8px;
            height: 8px;
            border-bottom: 2px solid #555;
            border-right: 2px solid #555;
            transform: rotate(45deg);
            margin-left: 5px;
            margin-top: -4px;
            cursor: pointer;
        }

        .sub-menu {
            display: none; /* CORREÇÃO: Agora funciona, pois não é mais display:flex */
            position: absolute;
            top: 100%;
            left: 0;
            background-color: #fff;
            border: 1px solid #eee;
            box-shadow: 0 4px 10px rgba(0,0,0,0.1);
            min-width: 280px; /* Largura do dropdown */
            z-index: 100;
            padding: 10px 0;
            border-radius: 5px;
            list-style: none; /* Adicionado para garantir */
            margin: 0; /* Adicionado para garantir */
        }
        .sub-menu li {
            margin: 0;
            width: 100%;
            display: block;
        }
        .sub-menu a {
            display: block;
            padding: 10px 20px;
            font-size: 15px;
            white-space: nowrap;
            text-decoration: none;
            color: #333;
            font-weight: 500;
        }
        .sub-menu a:hover {
            background-color: #f5f5f5;
        }

        /* Mostrar dropdown no hover (Desktop) (Corrigido) */
        .header-nav > ul > li:hover > .sub-menu {
            display: block;
        }

        /* Seção da Direita (Botão e Sociais) */
        .header-right {
            display: flex;
            align-items: center;
            margin-left: auto; /* Empurra para a direita */
        }

        .header-button {
            background-color: #2F4989;
            color: #ffffff;
            padding: 12px 20px;
            border-radius: 5px;
            text-decoration: none;
            font-weight: bold;
            font-size: 14px;
            white-space: nowrap;
            transition: background-color 0.3s ease;
            margin-right: 20px; /* Separar do social */
        }
        .header-button:hover {
            background-color: #FFBD58;
            color: white;
        }

        /* Ícones de Redes Sociais */
        .header-social ul {
            display: flex;
            list-style: none;
            margin: 0;
            padding: 0;
        }
        .header-social li {
            margin-left: 8px;
        }
        .social-icon {
            display: flex;
            justify-content: center;
            align-items: center;
            width: 32px;
            height: 32px;
            border-radius: 100%;
            color: #fff;
            font-size: 18px;
            text-decoration: none;
            transition: opacity 0.3s ease;
        }
        .social-icon:hover { opacity: 0.85; }
        .social-facebook { background-color: #3b5998; }
        .social-linkedin { background-color: #0077b5; }
        .social-instagram {
            background: #d6249f;
            background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
        }
        .social-youtube { background-color: #ff0000; }

        /* Botão "Hambúrguer" (Móvel) */
        .mobile-menu-toggle {
            display: none; /* Escondido em desktop */
            background: none;
            border: none;
            font-size: 24px;
            color: #333;
            cursor: pointer;
            z-index: 1001; /* Acima do menu */
        }

        /* ==============================================
           CSS RESPONSIVO (MOBILE) (Corrigido)
           ============================================== */

        @media (max-width: 1024px) { 

            .header-container {
                flex-wrap: wrap; 
            }

            .header-nav {
                display: none;
            }
            .header-right {
                display: none;
            }

            .mobile-menu-toggle {
                display: block;
                order: 3; 
                margin-left: auto; 
            }

            .header-logo {
                order: 1;
            }

            /* Estilo do Menu quando aberto em mobile */
            .header-nav.menu-is-open {
                display: block;
                flex-basis: 100%; 
                order: 4; 
                margin: 20px 0 0 0;
                border-top: 1px solid #eee;
                background: #fff;
            }

            .header-nav.menu-is-open > ul {
                flex-direction: column; /* Itens um embaixo do outro */
            }

            .header-nav.menu-is-open > ul > li {
                margin: 0;
                border-bottom: 1px solid #eee;
            }

            .header-nav.menu-is-open > ul > li > a {
                padding: 15px 10px;
            }
            
            /* Re-estilo do dropdown em mobile */
            .menu-item-has-children {
                flex-wrap: wrap; 
                justify-content: space-between;
            }
            .menu-item-has-children > a {
                flex-grow: 1; 
            }
            .dropdown-toggle {
                margin: 0;
                padding: 15px 20px; 
                transform: rotate(45deg); 
                transition: transform 0.3s ease;
            }
            .dropdown-toggle.is-open {
                transform: rotate(225deg); 
            }

            /* No mobile, o dropdown não é hover (Corrigido) */
            .header-nav > ul > li:hover > .sub-menu {
                display: none;
            }

            .sub-menu {
                position: static; 
                display: none; 
                width: 100%;
                border: none;
                box-shadow: none;
                padding: 0;
                background-color: #f9f9f9; 
                margin: 0;
            }
            
            .sub-menu.is-open {
                display: block; /* Mostra quando clicado */
            }

            .sub-menu li {
                border-top: 1px solid #eee;
            }
            .sub-menu a {
                padding-left: 30px; 
                font-size: 14px;
            }

            /* Exibir o botão CTA no mobile, mas separado */
            .header-right {
                display: block;
                order: 2; /* Entre a logo e o hamburger */
                margin-left: auto; /* Empurra para perto do hamburger */
            }

            .header-button {
                margin-right: 15px; /* Reduz a margem */
            }

            .header-social {
                display: none; /* Oculta ícones sociais em telas menores */
            }
        }

        /* Ajuste fino para telas bem pequenas */
        @media (max-width: 480px) {
            .header-logo img {
                max-height: 50px;
            }
            .header-button {
                padding: 10px 15px;
                font-size: 13px;
                margin-right: 10px;
            }
        }
    /* ==============================================
   Layout da Seção do Blog (Largura Padronizada)
============================================== */
.blog-section-wrapper {
    width: 100%;
    padding: 40px 0; /* Espaçamento vertical */
    background-color: #f9f9f9; /* Cor de fundo opcional para a seção */
}

div#comments{
    display: none !important;
}

.ast-plain-container.ast-no-sidebar #primary{
    margin-top: 0px;
    margin-bottom: 0px;
}

/* Container padronizado (mesma largura do seu site) */
.blog-container {
    max-width: 1200px; /* Largura máxima idêntica ao seu header */
    margin: 0 auto;
    padding: 0 20px; /* Espaçamento lateral para telas menores */
}

/* O Grid de 3 colunas */
.posts-grid {
    display: grid;
    /* Desktop: 3 colunas por fileira */
    grid-template-columns: repeat(3, 1fr);
    gap: 30px; /* Espaço entre os cards */
}

/* ==============================================
   Estilo do Card do Post (Idêntico ao Layout)
============================================== */
.post-card {
    background-color: #fff;
    border: 2px solid #111;
    border-radius: 15px; /* Cantos arredondados */
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); /* Sombra suave */
    overflow: hidden; /* Garante que a imagem se ajuste aos cantos */
    display: flex;
    flex-direction: column;
    height: 100%; /* Faz todos os cards da fileira terem a mesma altura */
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.post-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 20px rgba(0, 0, 0, 0.15);
}

.post-card-image-link {
    display: block;
}

.post-card-image {
    width: 100%;
    height: auto; /* Mantém a proporção */
    display: block;
    /* Define uma proporção fixa para todas as imagens */
    aspect-ratio: 16 / 10; 
    object-fit: cover; /* Faz a imagem preencher o espaço sem distorcer */
}

.post-card-content {
    padding: 25px;
    display: flex;
    flex-direction: column;
    flex-grow: 1; /* Faz o conteúdo crescer para preencher o espaço */
}

.post-card-title {
    margin: 0 0 15px 0;
    font-size: 21px; 
    line-height: 1.3;
}

.post-card-title a {
    color: #3e588f; /* Cor azul do seu header */
    text-decoration: none;
    font-family: "Roboto", sans-serif; 
}

.post-card-title a:hover {
    text-decoration: underline;
}

.post-card-excerpt {
    font-family: "Montserrat", sans-serif;
    font-size: 16px;
    color: #555;
    line-height: 1.6;
    margin: 0 0 20px 0;
    flex-grow: 1; /* Empurra o link "Ver mais" para baixo */
}

/* O WordPress envolve o 'the_excerpt' em tags <p> */
.post-card-excerpt p {
    margin: 0;
}

.post-card-link {
    font-family: "Roboto", sans-serif;;
    font-size: 16px;
    color: #222;
    text-decoration: none;
    font-weight: bold;
}

.post-card-link:hover {
    color: #000;
}

/* ==============================================
   Responsividade (Tablet e Mobile)
============================================== */

/* Tablet: 2 colunas */
@media (max-width: 992px) {
    .posts-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Mobile: 1 coluna */
@media (max-width: 767px) {
    .posts-grid {
        grid-template-columns: 1fr;
    }
}


/* ==============================================
   Estilos do Rodapé
============================================== */
.site-footer {
    font-family: "Roboto", sans-serif;
    color: #ffffff;
    line-height: 1.6;
}

.site-footer a {
    color: #ffffff;
    text-decoration: none;
    transition: opacity 0.3s ease;
}
.site-footer a:hover {
    opacity: 0.8;
}

.site-footer ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

/* --- Seção Principal do Rodapé --- */
.footer-main {
    background-color: #2F4989; /* Cor fornecida */
    padding: 60px 0 40px 0;
}

.footer-container {
    max-width: 1200px; /* Mesma largura do header e blog */
    margin: 0 auto;
    padding: 0 20px;
}

.footer-grid {
    display: grid;
    /* 3 colunas: Logo/Social | Menu | Endereços */
    grid-template-columns: 25% 25% 50%;
    gap: 30px; /* Espaço entre as colunas */
}

/* Coluna 1: Logo e Social */
.footer-logo img {
    max-height: 55px;
    margin-bottom: 20px;
}

.footer-social-title {
    font-size: 16px;
    margin-bottom: 10px;
    font-weight: 500;
}

.footer-social ul {
    display: flex;
    gap: 10px;
    margin-bottom: 25px;
}

/* Ícones sociais circulares (diferente do header) */
.footer-social .social-icon {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 36px;
    height: 36px;
    border-radius: 50%; /* Círculo */
    color: #fff;
    font-size: 20px;
    text-decoration: none;
}
.footer-social .social-facebook { background-color: #3b5998; }
.footer-social .social-linkedin { background-color: #0077b5; }
.footer-social .social-instagram {
    background: #d6249f;
    background: radial-gradient(circle at 30% 107%, #fdf497 0%, #fdf497 5%, #fd5949 45%,#d6249f 60%,#285AEB 90%);
}
.footer-social .social-youtube { background-color: #ff0000; }

.footer-webmail-link {
    font-size: 15px;
    font-weight: 500;
}

/* Coluna 2: Menu de Navegação */
.footer-nav li {
    margin-bottom: 12px;
}
.footer-nav a {
    font-size: 16px;
    font-weight: 500;
}

/* Coluna 3: Endereços */
.footer-address-block {
    margin-bottom: 25px;
}
.footer-address-block strong {
    font-size: 16px;
    font-weight: bold;
    display: block;
    margin-bottom: 5px;
}
.footer-address-block p {
    font-size: 15px;
    margin: 0;
}
.footer-map-link {
    font-size: 15px;
    font-weight: 500;
    text-decoration: underline; /* Como na imagem */
}
.footer-map-link:hover {
    text-decoration: none;
    opacity: 0.8;
}

/* --- Barra Inferior do Rodapé (Copyright) --- */
.footer-bottom-bar {
    background-color: #2F4989; /* Continua a mesma cor */
    padding: 20px 0;
}

.footer-divider {
    border: 0;
    height: 1px;
    background-color: #ffffff;
    opacity: 0.2;
    margin: 0 0 20px 0;
}

.footer-copyright {
    text-align: center;
    font-size: 14px;
    opacity: 0.9;
}
.footer-copyright a {
    font-weight: bold;
    text-decoration: underline;
}
.footer-copyright a:hover {
    text-decoration: none;
}

.ast-separate-container #primary, .ast-separate-container.ast-left-sidebar #primary, .ast-separate-container.ast-right-sidebar #primary{
    margin: 0 !important;
}

/* ==============================================
   CSS RESPONSIVO (MOBILE)
============================================== */

/* Tablet */
@media (max-width: 992px) {
    .footer-grid {
        /* Muda para 2 colunas: (Logo+Menu) | (Endereços) */
        grid-template-columns: 1fr 1fr;
    }
}

/* Mobile */
@media (max-width: 767px) {
    .footer-grid {
        /* Uma coluna */
        grid-template-columns: 1fr;
        gap: 40px; /* Aumenta o espaço vertical */
    }
    .footer-copyright {
        text-align: left;
        font-size: 13px;
        line-height: 1.5;
    }
}


/* ==============================================
   Estilos da Paginação (NOVO)
   ============================================== */
.pagination-wrapper {
    margin-top: 40px; /* Espaço acima da paginação */
    padding-bottom: 20px; /* Espaço extra abaixo se for o fim da seção */
    text-align: center; /* Centraliza os links */
    font-family: "Roboto", sans-serif;
}

/* A função 'paginate_links' com 'type' => 'list' gera um <ul> */
.pagination-wrapper ul.page-numbers {
    display: inline-flex; /* Alinha os itens horizontalmente */
    list-style: none;
    margin: 0;
    padding: 0;
    border: 2px solid #ddd;
    border-radius: 8px; /* Cantos arredondados no container */
    overflow: hidden; /* Garante que os filhos se ajustem aos cantos */
    box-shadow: 0 2px 5px rgba(0,0,0,0.05);
    background-color: #fff;
}

.pagination-wrapper li {
    margin: 0;
    display: block; /* Garante que o item preencha o espaço */
    border-left: 1px solid #eee; /* Linha divisória */
}

.pagination-wrapper li:first-child {
    border-left: none; /* Remove a borda do primeiro item */
}

/* Estilo de todos os links e spans dentro da paginação */
.pagination-wrapper .page-numbers {
    display: block;
    padding: 12px 18px;
    text-decoration: none;
    color: #3e588f; /* Cor azul dos títulos */
    font-weight: bold;
    font-size: 16px;
    transition: background-color 0.2s ease, color 0.2s ease;
}

/* Efeito Hover para links (<a>) */
.pagination-wrapper a.page-numbers:hover {
    background-color: #f5f5f5;
    color: #2F4989; /* Azul mais escuro */
}

/* Estilo do número da página atual (<span>) */
.pagination-wrapper .page-numbers.current {
    background-color: #2F4989; /* Cor principal */
    color: #fff;
    cursor: default;
}

/* Estilo para "Anterior" e "Próximo" */
.pagination-wrapper .prev,
.pagination-wrapper .next {
    font-weight: 500;
    color: #555;
    font-size: 15px;
}

.pagination-wrapper .prev:hover,
.pagination-wrapper .next:hover {
    background-color: #f0f0f0;
    color: #000;
}

/* Oculta "..." (dots) se houverem muitos números */
.pagination-wrapper .dots {
    color: #999;
    padding: 12px 10px;
}

/* Responsividade para paginação */
@media (max-width: 480px) {
    .pagination-wrapper .page-numbers {
        padding: 10px 14px;
        font-size: 14px;
    }
    
    /* Opcional: Ocultar links de números em telas muito pequenas,
       mostrando apenas "Anterior", "Atual" e "Próximo" */
    .pagination-wrapper li .page-numbers:not(.current):not(.prev):not(.next) {
        display: none;
    }
    
    /* Mostrar o primeiro e o último se forem necessários */
    .pagination-wrapper li:first-child,
    .pagination-wrapper li:last-child {
         display: block;
    }
    
    /* Garante que os "dots" também sumam */
     .pagination-wrapper li .dots {
         display: none;
     }
}