/* ==========================================================================
   Global Styles for Kingster Network (Salesianos)
   Versão 2.8.3 - Camada de adaptação Kingster/GoodLayers ao SDB Design System
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. ALIASES DE COMPATIBILIDADE
   --------------------------------------------------------------------------
   Este ficheiro não é fonte de verdade visual.
   Mantém apenas aliases históricos para compatibilidade com regras antigas.
   A identidade visual deve vir dos tokens --sdb-* do SDB — Design System.
   -------------------------------------------------------------------------- */
:root {
    --accent: var(--sdb-color-muted, #8f9ba4);
    --accent-dark: var(--sdb-color-primary, #0058b7);
    --accent-hover: var(--sdb-color-secondary, #009bd8);
    --border: var(--sdb-color-border, #eef3f8);
    --bg-muted: var(--sdb-color-background, #f5f8fb);
    --radius: var(--sdb-radius-md, 10px);
    --font-small: var(--sdb-font-size-sm, 14px);
    --dlm-font: var(--sdb-font-size-sm, 14px);
    --shadow-strong: var(--sdb-shadow-card, 1px 5px 10px rgba(143, 155, 164, 0.2));
    --shadow-soft: var(--sdb-shadow-element, 5px 5px 10px rgba(143, 155, 164, 0.08));
    --shadow-element: var(--sdb-shadow-element, 5px 5px 5px rgba(143, 154, 164, 0.05));

    /* Contact Form 7 Colors */
    --cf7-error: var(--sdb-color-danger, #d63638);
    --cf7-error-shadow: var(--sdb-focus-shadow, rgba(214, 54, 56, 0.25));
    --cf7-success: var(--sdb-color-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; 
}

/* Botão Especial de Menu */
.menu-botao > a {
    color: var(--sdb-project-mdb-primary, var(--sdb-color-secondary, #f26722)) !important;
    font-weight: 700;
}

.menu-botao > a:hover { 
    color: var(--sdb-project-mdb-dark, var(--sdb-color-primary, #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: var(--sdb-color-surface-muted, var(--sdb-color-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: var(--sdb-project-mdb-primary, var(--sdb-color-secondary, #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: var(--sdb-radius-md, 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: var(--sdb-color-text, #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: var(--sdb-color-surface-muted, var(--sdb-color-background, #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: var(--sdb-color-border, #ddd) !important; 
}

.gdlr-core-social-share-wrap a:hover i { 
    color: var(--accent-dark) !important; 
}

/* 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: var(--sdb-color-text, #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: var(--sdb-color-muted, #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: var(--sdb-focus-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: var(--sdb-color-overlay, 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: var(--sdb-color-surface, #fff); 
    border-radius: var(--sdb-radius-lg, 16px); 
    padding: 30px;
    text-align: center; 
    z-index: 999999; 
    box-shadow: var(--sdb-shadow-modal, 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: var(--sdb-color-surface, #fff);
}

.candid1 { 
    background-color: var(--sdb-color-surface-muted, var(--sdb-color-background, #f2f2f4)); 
    padding: 30px; 
}

.candid2 { 
    border: 1px solid var(--accent-hover); 
}

/* Caixa Master Curso (Fundação) */
.caixa-master-curso {
    background: var(--sdb-color-surface, #fff); 
    border: 1px solid var(--sdb-color-border, #e0e0e0);
    border-radius: var(--sdb-radius-md, 8px); 
    overflow: hidden;
    box-shadow: var(--sdb-shadow-element, 0 4px 6px rgba(0, 0, 0, 0.05)); 
    margin-bottom: 30px;
}

/* ==========================================================================
   DESIGN SYSTEM UNIFICADO DE TABELAS - REDE MULTISITE
   VERSÃO AJUSTADA PARA NÃO INTERFERIR COM O PLUGIN DE TORNEIOS
   Exclui:
   - .sls-standings-table
   - conteúdo dentro de .sls-tournament-app
   ========================================================================== */

/* --------------------------------------------------------------------------
   1. CONTENTORES ESPECÍFICOS (Gutenberg, Agenda e Kingster)
   NOTA:
   Aplicamos apenas a tabelas gerais do site, não ao plugin de torneios.
   -------------------------------------------------------------------------- */
.wp-block-table:not(:has(.sls-tournament-app)),
.sls-sessions-table-wrap:not(:has(.sls-tournament-app)),
.gdlr-core-text-box-item-content:has(table):not(:has(.sls-tournament-app)) {
    background-color: transparent !important;
    border: none !important;
    padding: 0 0 10px 0 !important;
    margin: 0.5em 0 1.5em 0 !important;
    width: 100% !important;
    position: relative;
    box-shadow: none !important;
    border-radius: var(--sdb-radius-lg, 12px) !important;
}

/* --------------------------------------------------------------------------
   2. A TABELA UNIVERSAL (Design Base)
   EXCLUI explicitamente a tabela do plugin
   -------------------------------------------------------------------------- */
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) {
    border-collapse: separate !important;
    border-spacing: 0 !important;
    width: 100% !important;
    table-layout: auto !important;
    border-radius: var(--sdb-radius-lg, 12px) !important;
    box-shadow: var(--sdb-shadow-element, 0px 5px 5px rgba(143, 155, 164, 0.05)) !important;
    border: 1px solid var(--sdb-color-border, #e2e8f0) !important;
    margin: 0.5em 0 1.5em 0 !important;
    background-color: transparent !important;
}

/* Tabelas dentro de wrappers específicos mantêm margem zero */
div.wp-block-table table:not(.sls-standings-table),
div.sls-sessions-table-wrap table:not(.sls-standings-table),
div.gdlr-core-text-box-item-content table:not(.sls-standings-table) {
    margin: 0 !important;
}

/* Anula padding ou margin extra de divs intermédias manuais */
div.gdlr-core-text-box-item-content > div:not(.sls-tournament-app) {
    margin: 0 !important;
    padding: 0 !important;
}

/* --------------------------------------------------------------------------
   3. TIPOGRAFIA E CÉLULAS
   EXCLUI explicitamente a tabela do plugin
   -------------------------------------------------------------------------- */
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) th,
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) td {
    font-size: calc(1em - 2px) !important;
    padding: 16px 20px !important;
    border: none !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    text-wrap: balance !important;
    vertical-align: middle !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) thead th,
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) thead td,
.gdlr-core-text-box-item-content table:not(.sls-standings-table) tbody tr:first-child th {
    background-color: var(--sdb-color-background, #f8fafc) !important;
    color: var(--sdb-color-text, #334155) !important;
    font-weight: bold !important;
    text-align: left !important;
    box-shadow: inset 0 -2px 0 0 var(--sdb-color-border, #cbd5e1) !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) tbody td {
    background-color: var(--sdb-color-surface, #ffffff) !important;
    border-bottom: 1px solid var(--sdb-color-border, #f1f5f9) !important;
    color: var(--sdb-color-muted, #64748b) !important;
    text-align: left !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) tbody tr:nth-child(even) td {
    background-color: var(--sdb-color-surface-muted, #fbfcfd) !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) tbody tr:last-child td {
    border-bottom: none !important;
}

/* --------------------------------------------------------------------------
   4. CANTOS ARREDONDADOS E SEGURANÇA
   EXCLUI explicitamente a tabela do plugin
   -------------------------------------------------------------------------- */
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) thead tr:first-child th:first-child,
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) thead tr:first-child td:first-child,
.gdlr-core-text-box-item-content table:not(.sls-standings-table) tbody tr:first-child th:first-child {
    border-top-left-radius: 12px !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) thead tr:first-child th:last-child,
:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) thead tr:first-child td:last-child,
.gdlr-core-text-box-item-content table:not(.sls-standings-table) tbody tr:first-child th:last-child {
    border-top-right-radius: 12px !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) tbody tr:last-child td:first-child {
    border-bottom-left-radius: 12px !important;
}

:where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) tbody tr:last-child td:last-child {
    border-bottom-right-radius: 12px !important;
}

/* ==========================================================================
   5. COMPORTAMENTO MOBILE E SCROLL UNIFICADO
   EXCLUI explicitamente o plugin de torneios
   ========================================================================== */
@media screen and (max-width: 768px) {

    /* 1. Contentores assumem o scroll apenas para tabelas gerais */
    .wp-block-table:not(:has(.sls-tournament-app)),
    .sls-sessions-table-wrap:not(:has(.sls-tournament-app)),
    .gdlr-core-text-box-item-content:has(table):not(:has(.sls-tournament-app)) {
        display: block !important;
        overflow-x: auto !important;
        -webkit-overflow-scrolling: touch !important;
        width: 100% !important;
        border: none !important;
        box-shadow: none !important;
    }

    /* 2. As tabelas gerais lá dentro mantêm a sua estrutura */
    .wp-block-table table:not(.sls-standings-table),
    .sls-sessions-table-wrap table:not(.sls-standings-table),
    .gdlr-core-text-box-item-content table:not(.sls-standings-table) {
        display: table !important;
        min-width: 700px !important;
    }

    /* Previne quebra do texto apenas nas tabelas gerais */
    :where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) th,
    :where(.wp-block-table, .sls-sessions-table-wrap, .gdlr-core-text-box-item-content) table:not(.ui-datepicker-table):not(.sls-standings-table) td {
        white-space: nowrap !important;
        text-wrap: nowrap !important;
    }

    /* 3. Aviso de scroll apenas para tabelas gerais, não para o plugin */
    .wp-block-table:not(:has(.sls-tournament-app))::after,
    .sls-sessions-table-wrap:not(:has(.sls-tournament-app))::after,
    .gdlr-core-text-box-item-content:has(table):not(:has(.sls-tournament-app))::after {
        content: "← Deslize para ver mais →" !important;
        display: block !important;
        text-align: center !important;
        font-size: 11px !important;
        font-weight: 600 !important;
        color: var(--sdb-color-muted, #94a3b8) !important;
        padding: 15px 0 5px 0 !important;
        text-transform: uppercase !important;
        letter-spacing: 1px !important;
        background: transparent !important;
        z-index: 10 !important;
        position: sticky !important;
        left: 0 !important;
    }

    /* Limpeza de segurança */
    table:not(.ui-datepicker-table):not(.sls-standings-table)::after {
        display: none !important;
        content: none !important;
    }
}