/*
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 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.12.3.1772713138
Updated: 2026-03-05 12:18:58
*/

/* =========================================================
   Boletins e Informações
========================================================= */

.lista-boletins-grid,
.lista-informacoes-grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 32px 24px;
    margin: 0;
    padding: 0;
}

.boletim-card,
.informacao-card {
    background: #fff;
}

.boletim-link,
.informacao-link {
    display: block;
    text-decoration: none;
    color: inherit;
}

.boletim-imagem,
.informacao-imagem {
    aspect-ratio: 2480 / 3508;
    overflow: hidden;
    background: #f2f2f2;
    margin-bottom: 18px;
}

.boletim-imagem img,
.informacao-imagem img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    display: block;
    transition: transform 0.3s ease;
}

.boletim-link:hover .boletim-imagem img,
.informacao-link:hover .informacao-imagem img {
    transform: scale(1.03);
}

.boletim-sem-imagem,
.informacao-sem-imagem {
    width: 100%;
    height: 100%;
    min-height: 320px;
    background: #e9e9e9;
}

.boletim-titulo,
.informacao-titulo {
    margin: 0;
    font-size: 1rem;
    line-height: 1.2;
    font-weight: 700;
    color: #1d2b4f;
}

.boletim-link:hover .boletim-titulo,
.informacao-link:hover .informacao-titulo {
    color: #ff5a00;
}

/* Tablet */
@media (max-width: 1024px) {
    .lista-boletins-grid,
    .lista-informacoes-grid {
        grid-template-columns: repeat(2, 1fr);
        gap: 28px 20px;
    }

    .boletim-titulo,
    .informacao-titulo {
        font-size: 1.4rem;
    }
}

/* Mobile */
@media (max-width: 640px) {
    .lista-boletins-grid,
    .lista-informacoes-grid {
        grid-template-columns: 1fr;
        gap: 24px;
    }

    .boletim-titulo,
    .informacao-titulo {
        font-size: 1.2rem;
    }
}

/* =========================================================
   WPForms
========================================================= */

div.wpforms-container-full .wpforms-form .wpforms-submit-container {
    padding: 10px 0 0 0;
    clear: both;
    position: relative;
    display: flex;
    justify-content: center;
}

div.wpforms-container-full .wpforms-form input[type=submit],
div.wpforms-container-full .wpforms-form button[type=submit],
div.wpforms-container-full .wpforms-form .wpforms-page-button {
    background-color: #FF5A00;
    border: none;
    color: #fff;
    font-size: 1.3em;
    padding: 14px 42px;
    border-radius: 200px;
}

/* =========================================================
   Modais de Documentos
========================================================= */

.docs-modal-section {
    width: 100%;
    margin: 0 auto;
}

.docs-modal-header {
    margin-bottom: 28px;
    text-align: center;
}

.docs-modal-header h2 {
    margin: 0 0 10px;
    color: #1d2b4f;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.docs-modal-header p {
    margin: 0;
    color: #555555;
    font-size: 17px;
    line-height: 1.5;
}

.docs-years-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
    width: 100%;
}

.docs-year-button {
    width: 100%;
    min-height: 76px;
    padding: 18px 20px;
    background: #ffffff;
    border: 2px solid #F56421;
    border-radius: 0;
    color: #F56421;
    font-size: 24px;
    line-height: 1.2;
    font-weight: 700;
    cursor: pointer;
    transition: background 0.25s ease, color 0.25s ease, transform 0.25s ease, box-shadow 0.25s ease;
}

.docs-year-button:hover,
.docs-year-button:focus {
    background: #F56421;
    color: #ffffff;
    transform: translateY(-3px);
    box-shadow: 0 14px 30px rgba(245, 100, 33, 0.22);
}

.docs-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    display: none;
    align-items: center;
    justify-content: center;
    padding: 24px;
}

.docs-modal.is-open {
    display: flex;
}

.docs-modal-overlay {
    position: absolute;
    inset: 0;
    background: rgba(15, 20, 30, 0.72);
}

.docs-modal-box {
    position: relative;
    z-index: 2;
    width: 100%;
    max-width: 760px;
    max-height: 82vh;
    overflow-y: auto;
    background: #ffffff;
    border-top: 6px solid #F56421;
    box-shadow: 0 24px 70px rgba(0, 0, 0, 0.28);
    padding: 36px;
}

/* X simples e discreto */
.docs-modal-close {
    position: absolute;
    top: 18px;
    right: 22px;
    width: auto;
    height: auto;
    padding: 0;
    border: none;
    background: transparent;
    box-shadow: none;
    color: #ffffff;
    font-size: 28px;
    font-weight: 300;
    line-height: 1;
    cursor: pointer;
    opacity: 0.75;
    transition: opacity 0.15s ease;
    z-index: 5;
}

.docs-modal-close:hover,
.docs-modal-close:focus {
    background: transparent;
    color: #ffffff;
    box-shadow: none;
    opacity: 1;
    transform: none;
    outline: none;
}

.docs-modal-title {
    margin-bottom: 28px;
    padding-right: 50px;
}

.docs-modal-title span {
    display: block;
    margin-bottom: 8px;
    color: #F56421;
    font-size: 13px;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.docs-modal-title h3 {
    margin: 0;
    color: #1d2b4f;
    font-size: 34px;
    line-height: 1.2;
    font-weight: 700;
}

.docs-modal-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.docs-modal-list li {
    margin: 0;
    border-bottom: 1px solid #eeeeee;
}

.docs-modal-list li:last-child {
    border-bottom: none;
}

.docs-modal-list a {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    padding: 18px 0;
    color: #1d2b4f;
    font-size: 17px;
    line-height: 1.4;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.25s ease, padding-left 0.25s ease;
}

.docs-modal-list a::after {
    content: "Abrir PDF";
    flex: 0 0 auto;
    padding: 8px 12px;
    background: rgba(245, 100, 33, 0.09);
    color: #F56421;
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.docs-modal-list a:hover {
    color: #F56421;
    padding-left: 6px;
}

body.docs-modal-open {
    overflow: hidden;
}

@media (max-width: 1024px) {
    .docs-years-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 768px) {
    .docs-years-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        gap: 14px;
    }

    .docs-year-button {
        min-height: 68px;
        font-size: 21px;
    }

    .docs-modal-box {
        padding: 30px 24px;
    }

    .docs-modal-title h3 {
        font-size: 30px;
    }

    .docs-modal-list a {
        display: block;
        font-size: 16px;
    }

    .docs-modal-list a::after {
        display: inline-flex;
        margin-top: 10px;
    }
}

@media (max-width: 480px) {
    .docs-years-grid {
        grid-template-columns: 1fr;
    }

    .docs-modal {
        padding: 16px;
    }

    .docs-modal-box {
        max-height: 86vh;
        padding: 28px 20px;
    }

    .docs-modal-title h3 {
        font-size: 28px;
    }
}

/* =========================================================
   Galerias de Fotos
========================================================= */

.mv-eventos-lista {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.mv-evento-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    padding: 20px;
    border: 1px solid #ddd;
    border-radius: 8px;
}

.mv-evento-item h3 {
    margin: 0 0 5px;
}

.mv-data {
    font-size: 14px;
    opacity: 0.75;
}

.mv-open-lightbox {
    cursor: pointer;
    padding: 10px 18px;
    border: 0;
    border-radius: 5px;
    background: none;
    color: #fff;
}

.mv-gallery-hidden {
    display: none;
}

/* X simples para fechar modais/galerias */
.mv-eventos-modal-close,
.mv-photo-lightbox-close {
    width: auto !important;
    height: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 28px !important;
    font-weight: 300 !important;
    line-height: 1 !important;
    opacity: 0.75 !important;
    transform: none !important;
    transition: opacity 0.15s ease !important;
}

.mv-eventos-modal-close:hover,
.mv-eventos-modal-close:focus,
.mv-photo-lightbox-close:hover,
.mv-photo-lightbox-close:focus {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    opacity: 1 !important;
    transform: none !important;
    outline: none !important;
}

/* Setas maiores, mais grossas e sem background */
.mv-photo-lightbox-nav {
    width: auto !important;
    height: auto !important;
    padding: 10px !important;
    border: none !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    font-size: 72px !important;
    font-weight: 800 !important;
    line-height: 1 !important;
    opacity: 0.75 !important;
    transform: translateY(-50%) !important;
    transition: opacity 0.15s ease !important;
}

.mv-photo-lightbox-nav:hover,
.mv-photo-lightbox-nav:focus {
    border: none !important;
    background: transparent !important;
    box-shadow: none !important;
    color: #ffffff !important;
    opacity: 1 !important;
    transform: translateY(-50%) !important;
    outline: none !important;
}

.mv-photo-lightbox-prev {
    left: -72px !important;
}

.mv-photo-lightbox-next {
    right: -72px !important;
}

@media (max-width: 760px) {
    .mv-photo-lightbox-nav {
        font-size: 54px !important;
        width: auto !important;
        height: auto !important;
        padding: 8px !important;
        border: none !important;
        background: transparent !important;
        box-shadow: none !important;
    }

    .mv-photo-lightbox-prev {
        left: 4px !important;
    }

    .mv-photo-lightbox-next {
        right: 4px !important;
    }
}

/* =========================================================
   Header Astra
   Evita duplicação entre header desktop e mobile
========================================================= */

/* Desktop: mostra apenas o header desktop */
@media (min-width: 922px) {
    .ast-desktop-header {
        display: block !important;
    }

    .ast-mobile-header-wrap {
        display: none !important;
    }
}

/* Tablet e mobile: mostra apenas o header mobile */
@media (max-width: 921px) {
    .ast-desktop-header {
        display: none !important;
    }

    .ast-mobile-header-wrap {
        display: block !important;
    }
}

/* =========================================================
   Desktop intermédio
   Mantém o menu numa só linha sem desformatar
========================================================= */

@media (min-width: 922px) and (max-width: 1320px) {
    .main-header-menu,
    .ast-builder-menu .main-header-menu,
    .ast-nav-menu {
        flex-wrap: nowrap !important;
        column-gap: 0 !important;
    }

    .main-header-menu > .menu-item > .menu-link,
    .ast-nav-menu > .menu-item > .menu-link,
    .site-navigation .menu-link {
        white-space: nowrap !important;
        padding-left: 7px !important;
        padding-right: 7px !important;
        font-size: clamp(13px, 0.35vw + 9px, 14px) !important;
        font-weight: 600 !important;
        letter-spacing: 0.01em;
        line-height: 1.15 !important;
    }

    .main-header-menu > .menu-item > .menu-link span,
    .ast-nav-menu > .menu-item > .menu-link span,
    .site-navigation .menu-link span {
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
    }

    .ast-site-identity img,
    .site-logo-img img,
    .custom-logo {
        max-width: 140px !important;
        height: auto !important;
    }

    .ast-header-button-1 .ast-custom-button,
    .ast-header-button-2 .ast-custom-button {
        padding-left: 16px !important;
        padding-right: 16px !important;
        font-size: 13px !important;
        font-weight: 600 !important;
        white-space: nowrap !important;
    }
}

/* =========================================================
   Desktop grande
   Aumenta ligeiramente a letra e dá mais destaque
========================================================= */

@media (min-width: 1321px) {
    :root {
        --header-nav-size: clamp(14px, 0.45vw + 8px, 17px);
        --header-nav-gap: clamp(12px, 1.2vw, 28px);
        --header-nav-padding-x: clamp(6px, 0.55vw, 14px);

        --header-button-size: clamp(13px, 0.4vw + 8px, 16px);
        --header-button-padding-y: clamp(8px, 0.35vw + 4px, 12px);
        --header-button-padding-x: clamp(12px, 0.7vw, 20px);
    }

    .main-header-menu,
    .ast-nav-menu {
        column-gap: var(--header-nav-gap);
        flex-wrap: nowrap;
    }

    .main-header-menu > .menu-item > .menu-link,
    .ast-nav-menu > .menu-item > .menu-link,
    .site-navigation .menu-link {
        font-size: var(--header-nav-size) !important;
        font-weight: 600 !important;
        letter-spacing: 0.01em;
        line-height: 1.15;
        padding-left: var(--header-nav-padding-x);
        padding-right: var(--header-nav-padding-x);
        white-space: nowrap;
    }

    .main-header-menu > .menu-item > .menu-link span,
    .ast-nav-menu > .menu-item > .menu-link span,
    .site-navigation .menu-link span {
        font-size: inherit !important;
        font-weight: inherit !important;
        line-height: inherit !important;
    }

    .ast-header-button-1 .ast-custom-button,
    .ast-header-button-2 .ast-custom-button {
        font-size: var(--header-button-size) !important;
        font-weight: 600 !important;
        padding-top: var(--header-button-padding-y) !important;
        padding-bottom: var(--header-button-padding-y) !important;
        padding-left: var(--header-button-padding-x) !important;
        padding-right: var(--header-button-padding-x) !important;
        white-space: nowrap;
    }
}