/* ==========================================================================
   Global Styles for Kingster Network (Salesianos)
   Versão 2.7.0 - Fusão Final: Original + Atual + Fixes Críticos
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. DESIGN TOKENS (Variáveis)
   -------------------------------------------------------------------------- */
:root {
    --accent: #8f9ba4;
    --accent-dark: #0058b7;
    --accent-hover: #009bd8;
    --border: #f2f2f4;
    --bg-muted: #fafafa;
    --radius: 10px;
    --font-small: 14px;
    --dlm-font: 14px;
    --shadow-strong: 1px 5px 10px rgba(143, 155, 164, 0.2);
    --shadow-soft: 5px 5px 10px #fafafa;
    --shadow-element: 5px 5px 5px rgba(143, 154, 164, 0.05);

    /* Contact Form 7 Colors */
    --cf7-error: #d63638;
    --cf7-error-shadow: rgba(214, 54, 56, 0.25);
    --cf7-success: #16a34a;
}

/* --------------------------------------------------------------------------
   2. HEADER E TITULOS DE PÁGINA
   -------------------------------------------------------------------------- */
.kingster-page-title-wrap.kingster-style-custom {
    max-width: 1920px;
    margin: 0 auto;
    overflow: hidden;
    border-bottom-left-radius: var(--radius);
    border-bottom-right-radius: var(--radius);
    box-shadow: var(--shadow-element);
}

/* Largura do título em desktop (Recuperado do Original) */
@media (min-width: 1024px) {
    .kingster-page-title-wrap .kingster-page-title {
        width: 70%;
    }
}

.kingster-top-bar-menu i { 
    margin-right: 6px; 
}

/* Submenus Kingster */
.sf-mega,
.kingster-normal-menu > .sub-menu {
    border-bottom-left-radius: var(--radius) !important;
    border-bottom-right-radius: var(--radius) !important;
    overflow: hidden !important;
    box-shadow: var(--shadow-strong) !important;
}

/* Botão Especial de Menu */
.menu-botao > a {
    color: #f26722 !important;
    font-weight: 700;
}

.menu-botao > a:hover { 
    color: #e24b00 !important; 
}

/* --------------------------------------------------------------------------
   3. TIPOGRAFIA E BLOCOS
   -------------------------------------------------------------------------- */
.wp-block-image figcaption,
.wp-block-embed figcaption,
.blocks-gallery-caption.wp-element-caption {
    font-size: var(--font-small);
    color: var(--accent);
}

.blocks-gallery-caption.wp-element-caption {
    text-align: right !important;
    margin-bottom: 20px !important;
}

.wp-block-image figcaption { 
    font-size: 12px; 
}

pre {
    font-size: 16px;
    padding: 30px;
    background: #f2f2f2;
    margin-bottom: 40px;
    border-radius: var(--radius);
}

/* Títulos MDB (Snippet) */
.is-mdb .kingster-page-title-wrap .kingster-page-caption,
.is-mdb .kingster-page-title-wrap .kingster-page-title {
    color: #f26722 !important;
}

/* Adiciona espaçamento inferior a elementos media, mas ignora as imagens DENTRO das galerias */
figure.wp-block-embed,
figure.wp-block-image:not(.wp-block-gallery figure),
figure.wp-block-gallery {
    margin-bottom: 2rem; /* Mantém a consistência (ex: 30px) */
}

/* --------------------------------------------------------------------------
   4. MODULOS GDLR CORE (Arredondamento Universal)
   -------------------------------------------------------------------------- */
.kingster-content-area, 
.kingster-sidebar-area { 
    padding-top: 30px; 
}

.gdlr-core-page-list.gdlr-core-style-grid .gdlr-core-thumbnail,
.gdlr-core-class-list.gdlr-core-style-grid .gdlr-core-thumbnail,
.gdlr-core-course-info-item .gdlr-core-course-info-item-inner,
.gdlr-core-course-item.gdlr-core-course-style-list-info .gdlr-core-course-item-list,
.gdlr-core-course-item.gdlr-core-course-style-grid .gdlr-core-course-item-list-inner,
.gdlr-core-course-search-item .gdlr-core-search-frame,
.gdlr-core-portfolio-thumbnail,
.kingster-single-article-thumbnail img,
.gdlr-core-personnel-list-image,
.gdlr-core-personnel-list-image img,
.gdlr-core-hover-opacity {
    border-radius: var(--radius) !important;
    box-shadow: var(--shadow-soft);
    overflow: hidden;
}

/* Portfolio Badge (Recuperado) */
.gdlr-core-portfolio-badge.gdlr-core-outer-frame-element {
    width: auto !important; 
    height: auto !important; 
    min-width: unset !important;
    border-radius: var(--radius) !important; 
    padding: 5px 15px !important;
    white-space: nowrap !important; 
    display: inline-block !important;
    line-height: 1.2 !important; 
    text-align: center !important;
}

/* Alert Box (Consolidado) */
.gdlr-core-alert-box-item-inner {
    border-radius: 10px !important;
    box-shadow: var(--shadow-element) !important;
    padding-top: 25px !important; 
    padding-bottom: 10px !important;
    border-style: solid; 
    overflow: hidden;
}

/* --------------------------------------------------------------------------
   5. BLOG E ARTIGOS
   -------------------------------------------------------------------------- */

h1.kingster-single-article-title {
    font-size: clamp(24px, 5vw, 36px) !important;
    line-height: 1.25 !important;
}

.kingster-single-related-post-title { 
    font-size: 21px !important; 
    font-weight: 500 !important; 
}

.gdlr-core-blog-grid.gdlr-core-blog-grid-with-frame {
    border-radius: var(--radius);
    outline: 1px solid var(--border);
    box-shadow: var(--shadow-element) !important;
}

/* Títulos dos artigos relacionados */
.kingster-single-related-post-wrap .gdlr-core-blog-title.gdlr-core-skin-title a {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: #333 !important;
}

.kingster-single-related-post-wrap .gdlr-core-blog-title.gdlr-core-skin-title a:hover {
    color: var(--accent-dark) !important;
}

/* Social Share Bolinhas (Recuperado) */
.gdlr-core-social-share-wrap a {
    background-color: #f2f2f4 !important;
    border-radius: 50% !important;
    width: 40px !important;
    height: 40px !important;
    display: inline-flex !important;
    justify-content: center !important;
    align-items: center !important;
    margin-right: 10px !important;
}

.gdlr-core-social-share-wrap a i { 
    font-size: 18px !important; 
    color: var(--accent) !important; 
}

.gdlr-core-social-share-wrap a:hover { 
    background-color: #ddd !important; 
}

.gdlr-core-social-share-wrap a:hover i { 
    color: var(--accent-dark) !important; 
}


/* Wrapper geral da data */
.kingster-single-article-date-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    min-width: 72px;
    padding: 2px 18px 2px 0;
    margin-right: 26px;
    border-right: 1px solid rgba(54, 64, 72, 0.12);
    line-height: 1;
    box-sizing: border-box;
    flex-shrink: 0;
}

/* Dia */
.kingster-single-article-date-day {
    font-size: 2.15rem;
    font-weight: 700;
    letter-spacing: -0.03em;
    color: #1f3b5b;
    margin-bottom: 6px;
}

/* Mês */
.kingster-single-article-date-month {
    font-size: 0.82rem;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.14em;
    color: #6e87a0;
    margin-bottom: 4px;
}

/* Ano */
.kingster-single-article-date-year {
    font-size: 0.74rem;
    font-weight: 500;
    letter-spacing: 0.08em;
    color: #8a96a3;
}

/* Área do cabeçalho do artigo */
.kingster-single-article-head {
    display: flex;
    align-items: flex-start;
}

/* Coluna da direita */
.kingster-single-article-head-right {
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    min-width: 0;
}

/* Título */
h1.kingster-single-article-title {
    font-size: clamp(24px, 5vw, 36px) !important;
    line-height: 1.25 !important;
    margin-bottom: 10px;
    font-weight: 700;
    letter-spacing: -0.02em;
    color: #2f4358;
}

/* Meta informação por baixo do título */
.kingster-blog-info-wrapper,
.kingster-single-article-head-right .kingster-blog-info-wrapper {
    margin-top: 8px;
    font-size: 0.95rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: #7b8896;
}

@media (max-width: 767px) {
    .kingster-single-article-date-wrapper {
        min-width: 56px;
        padding-right: 14px;
        margin-right: 16px;
    }

    .kingster-single-article-date-day {
        font-size: 1.7rem;
    }

    .kingster-single-article-date-month {
        font-size: 0.72rem;
    }

    .kingster-single-article-date-year {
        font-size: 0.68rem;
    }
}

/* --------------------------------------------------------------------------
   6. FORMULÁRIOS (Contact Form 7 Otimizado)
   -------------------------------------------------------------------------- */
.wpcf7-form input:not([type="submit"]):not([type="checkbox"]):not([type="radio"]),
.wpcf7-form textarea,
.wpcf7-form select {
    border: 1px solid var(--border);
    padding: 10px; 
    border-radius: var(--radius);
    background-color: var(--bg-muted);
    transition: all 0.3s ease-in-out; 
    margin-bottom: 10px;
    box-sizing: border-box; 
    width: 100%;
}

.wpcf7-form input:focus, 
.wpcf7-form textarea:focus {
    outline: none !important;
    border: 2px solid var(--accent-dark) !important;
    box-shadow: 0 0 5px rgba(0, 88, 183, 0.3) !important;
}

/* Erros CF7 */
.wpcf7-form .wpcf7-not-valid {
    border: 2px solid var(--cf7-error) !important;
    box-shadow: 0 0 0 4px var(--cf7-error-shadow) !important;
}

.wpcf7-form .wpcf7-not-valid-tip { 
    color: var(--cf7-error) !important; 
    font-weight: 600; 
    margin-top: 6px; 
}

/* Radios tipo Caixa */
.wpcf7-form .wpcf7-radio.radio-box {
    display: flex; 
    flex-wrap: wrap; 
    align-items: center; 
    gap: 18px;
    border: 1px solid var(--border); 
    background-color: var(--bg-muted);
    border-radius: var(--radius); 
    padding: 10px; 
    min-height: 44px; 
    margin-bottom: 10px;
}

.wpcf7-form .wpcf7-radio.radio-box .wpcf7-list-item-label { 
    margin-left: 6px; 
}

/* Success Modal: Escondido por defeito, ativo apenas com classe .active */
#cf7-success-modal { 
    display: none !important; 
}

#cf7-success-modal.active { 
    display: block !important; 
}

.cf7-success-backdrop {
    position: fixed; 
    inset: 0; 
    background: rgba(17, 24, 39, 0.6);
    backdrop-filter: blur(4px); 
    z-index: 999998;
}

.cf7-success-box {
    position: fixed; 
    left: 50%; 
    top: 50%; 
    transform: translate(-50%, -50%);
    width: min(520px, 90%); 
    background: #fff; 
    border-radius: 16px; 
    padding: 30px;
    text-align: center; 
    z-index: 999999; 
    box-shadow: 0 20px 40px rgba(0, 0, 0, 0.2);
}

/* --------------------------------------------------------------------------
   7. DOWNLOAD MONITOR (Recuperado)
   -------------------------------------------------------------------------- */
.dlm-pa-download-table-filters select,
.dlm-pa-download-table-pre input[type="text"] {
    border: 1px solid var(--accent) !important;
    border-radius: var(--radius) !important;
    padding: 5px 10px !important;
}

.dlm-pa-download-table {
    border-collapse: separate !important;
    border-radius: var(--radius) !important;
    border: 1px solid var(--border) !important;
    overflow: hidden; 
    width: 100% !important;
}

/* --------------------------------------------------------------------------
   8. VISIBILIDADE E RESPONSIVIDADE
   -------------------------------------------------------------------------- */
.only-mobile, 
.only-mobile--wide { 
    display: none !important; 
}

@media screen and (max-width: 1260px) { 
    .only-mobile--wide { 
        display: block !important; 
    } 
}

@media screen and (max-width: 768px) {
    .only-mobile { 
        display: block !important; 
    }
    
    #formulario-donativos { 
        height: 1350px !important; 
        pointer-events: auto !important; 
    }
    
    .gdlr-core-columnize-item-content.gdlr-core-skin-divider {
        column-count: 1 !important;
        -webkit-column-count: 1 !important;
    }
}

/* --------------------------------------------------------------------------
   9. PLUGINS E CAIXAS ESPECÍFICAS
   -------------------------------------------------------------------------- */
.single-tribe_events .secondary .tribe-events-venue-map {
    margin-top: 30px !important; 
    margin-left: 0 !important;
}

/* Candid Boxes */
.candid1, 
.candid2, 
.candid3, 
.candid4 {
    box-shadow: var(--shadow-soft); 
    border-radius: var(--radius);
    margin-bottom: 30px; 
    padding: 20px; 
    background-color: #fff;
}

.candid1 { 
    background-color: #f2f2f4; 
    padding: 30px; 
}

.candid2 { 
    border: 1px solid var(--accent-hover); 
}

/* Caixa Master Curso (Fundação) */
.caixa-master-curso {
    background: #fff; 
    border: 1px solid #e0e0e0;
    border-radius: 8px; 
    overflow: hidden;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); 
    margin-bottom: 30px;
}
```