
@media (max-width: 600px) {

    
    .cf-socials {
        margin-top: 0;
        align-items: flex-start;
    }

    .cf-sep {
        margin-top: 24px !important;
        margin-bottom: 24px !important;
    }

    .cf-footer .cf-footer-inner {
        padding: 32px 16px;
    }

    .cf-top {
        flex-direction: column;
    }

    .cf-left {
        max-width: 100%;
    }

    .cf-right {
        align-self: flex-start;
    }

    .cf-menus {
        display: block;
        gap: 0;
        padding: 0;
    }

    .cf-column {
        width: 100%;
        max-width: 100%;
        flex: 0 0 100%;
        margin-bottom: 12px;
    }

    .cf-col-title {
        font-size: 16px;
    }

    /*Titulo da imagem de busca*/

    #search-box-header {
    color: var(--pure-white);
    display: block;
    font-family: var(--primary-font);
    font-size: var(--title-size-tiny);
    font-weight: var(--font-weight-medium);
    text-align: center;
    text-shadow: 2px 2px 5px rgba(0,0,0,0.5);
    text-transform: uppercase;
    /*margin: -8px auto 0; */ /*tira a search bar de centralização, deixa o espaçamento uniforme entre o texto e a barra*/
    padding-bottom: var(--spacing-medium);

    }

    /*MARK: Conteúdo de Páginas
*/

    /* ============================
    Conteúdo de Páginas
    ============================ */

    article {
        margin-top: var(--spacing-huge) !important;
    }

    .home #page .site-content {
        flex-grow: 1;
        margin-top: 248px;
    }
    /*MARK: Menu Mobile
*/

    /* ============================
    Menu Mobile
    ============================ */

    /* 1. Oculta COMPLETAMENTE o item de menu "Menu" (li.menu-item-5476) */
    .ast-off-canvas-menu #ast-hf-mobile-menu > .menu-item-5476 {
        display: none !important;
        visibility: hidden !important;
        height: 0 !important;
        overflow: hidden !important;
        padding: 0 !important;
    }
    
    /* 2. FORÇA a exibição do submenu (ul.sub-menu) que contém Prefeitura, Cultura, etc. */
    /* Usamos um seletor muito específico para garantir que ele sobreponha a regra do Astra. */
    .ast-off-canvas-menu #ast-hf-mobile-menu > .menu-item-5476 > ul.sub-menu {
        /* Anula o display: none que o Astra pode estar aplicando */
        display: block !important;
        visibility: visible !important;
        
        /* Remove o recuo padrão do submenu para alinhá-los como itens de nível superior */
        margin-left: -20px !important; 
        padding-left: 0 !important;
        
        /* Garante que o conteúdo seja exibido */
        height: auto !important;
        overflow: visible !important;
    }

    /* 3. Garante que os itens de nível 1 (Prefeitura, Cultura) dentro desse submenu também sejam exibidos */
    .ast-off-canvas-menu #ast-hf-mobile-menu > .menu-item-5476 > ul.sub-menu > li {
        margin-left: 0 !important;
        padding-left: 0 !important;
    }
    
    /* Esconde a seta/ângulo do Astra em todos os links de menu... */
    .menu-link .ast-icon.icon-arrow,
    .menu-link .ast-menu-svg {
        display: none !important;
    }

    /* Garante que o botão de submenu (seta da direita) continue visível */
    .ast-menu-toggle .ast-icon.icon-arrow,
    .ast-menu-toggle .ast-menu-svg {
        display: block !important;
        /* ou display: inline-block !important; */
    }

    /* Torna o botão de alternância do submenu (toggle) transparente e sem bordas/sombras */
    .ast-menu-toggle {
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        outline: none !important;
        color: inherit !important;
        padding-left: 100vw !important;
        padding-right: 10vw !important;
        right: -24px !important;

    }

    /* Remove qualquer efeito de fundo, borda, sombra ou contorno no HOVER e FOCO */
    .ast-menu-toggle:hover,
    .ast-menu-toggle:focus,
    .ast-menu-toggle:active {
        background-color: transparent !important;
        border: none !important;
        box-shadow: none !important;
        outline: none !important;
        
        color: inherit !important;
    }

    /* Remove o scroll lateral da pagina ao abrir o menu */
    .ast-main-header-nav-open.ast-header-break-point #ast-desktop-header .ast-desktop-header-content,
    .ast-main-header-nav-open.ast-header-break-point .ast-mobile-header-wrap .ast-mobile-header-content {
        overflow: hidden !important;
    }

    [data-section="section-header-mobile-trigger"] .ast-button-wrap .mobile-menu-toggle-icon .ast-mobile-svg {
        width: 24px !important;
        height: 24px !important;
        fill: var(--secondary-color);
    }

    /* --- CÓDIGO NOVO PARA ADICIONAR A LINHA --- */

    .ast-header-break-point .ast-mobile-menu-container .main-navigation,
    .ast-header-break-point .main-header-bar-navigation .main-navigation {
        border-left: 1px solid #e0e0e0;

        padding-left: 0;

    }

    /*MARK: Tabela Mobile
*/

    /* ============================
    Tabela Mobile
    ============================ */
 .tabela {
    max-width: none !important; /* Permite que o container se estenda */
    width: 100% !important;
    overflow-x: auto !important; /* Habilita o scroll horizontal */
    overflow-y: hidden;
    -webkit-overflow-scrolling: touch;
    display: block !important;
}

/* Regra base para a tabela */
.tabela table {
    table-layout: auto !important;
    width: 100% !important;
}

/* Ajustes de célula em Mobile */
.tabela td {
    white-space: normal !important;
    word-break: break-word;
    width: auto !important;
    min-width: unset !important;
    padding: 12px 10px; /* Padding ajustado para Mobile */
    font-size: 14px;
}

/* REGRAS PARA TABELAS LARGAS (4+ COLUNAS) */
/* Usa :has para detectar 4 ou mais colunas e forçar o layout fixo */
.tabela table:has(tr:first-child > td:nth-child(4)),
.tabela table:has(tr:first-child > th:nth-child(4)) {
    table-layout: fixed !important;
    width: auto !important;
    min-width: 600px !important; /* Largura mínima para scroll */
}

/* Largura das colunas no modo scroll */
.tabela table:has(tr:first-child > td:nth-child(4)) td,
.tabela table:has(tr:first-child > th:nth-child(4)) th {
    width: 150px !important;
    min-width: 240px !important;
    max-width: 264px !important;
}

/* DESTAQUE DE LINHA (Outline) */
.tabela tr.linha-selecionada {
    transition: border-color 0.1s ease;
}

/* Borda Topo e Fundo (em todas as células) */
.tabela tr.linha-selecionada td {
    background-color: transparent !important; /* Zera fundos de linhas alternadas */
    border-top: 4px solid var(--secondary-color) !important;
    border-bottom: 4px solid var(--secondary-color) !important;
    border-right-color: transparent !important;
}

/* Borda Esquerda (na primeira célula) */
.tabela tr.linha-selecionada td:first-child {
    border-left: 2px solid var(--primary-color) !important;
}

/* Borda Direita (na última célula) */
.tabela tr.linha-selecionada td:last-child {
    border-right: 2px solid var(--primary-color) !important;
}
    /*MARK: Abas mobile
*/

    /* ============================
    Abas do Portal do Cidadão Mobile
    ============================ */


    /* 1) Repor wrappers principais para comportamento padrão (não forçar flex em tudo) */
    .wp-block-atbs-tabs,
    .wp-block-atbs-tabs .tabs-container,
    .wp-block-atbs-tabs .tabs-nav {
        display: block !important;
        width: 100% !important;
        box-sizing: border-box !important;
    }

    /* 2) Só o row de TITLES vira flex e scroll (bem específico) */
    .wp-block-atbs-tabs .tabs-titles {
        /* display: flex !important;*/
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: flex-start !important;
        /* evita que itens cresçam e 'empurrem' pra baixo */
        justify-content: flex-start !important;
        gap: var(--spacing-small) !important;
        padding: var(--spacing-small) var(--spacing-medium) !important;
        width: 100% !important;
        overflow-x: auto !important;
        overflow-y: hidden !important;
        -webkit-overflow-scrolling: touch !important;
        position: relative !important;
        scrollbar-width: none !important;
    }

    .wp-block-atbs-tabs .tabs-titles::-webkit-scrollbar {
        display: none !important;
    }

    /* 3) Cada aba: não encolhe, tem min/max width, e texto interno quebra sem forçar o empilhamento */
    .wp-block-atbs-tabs .tabs-titles .tab-title {
        display: inline-flex !important;
        flex: 0 0 auto !important;
        /* não encolhe nem cresce além do necessário */
        width: auto !important;
        min-width: 120px !important;
        /* garante que não vire 100% e empilhe */
        max-width: 220px !important;
        /* não deixe ficar gigante */
        box-sizing: border-box !important;
        padding: var(--spacing-small) var(--spacing-medium) !important;
        align-items: center !important;
        justify-content: center !important;
        text-align: center !important;
        vertical-align: top !important;
    }

    /* 4) Texto interno: permite quebra de linha, sem alterar o comportamento do bloco da aba */
    .wp-block-atbs-tabs .tabs-titles .tab-title .tab-title-text {
        display: block !important;
        white-space: normal !important;
        /* quebra linhas */
        word-break: break-word !important;
        overflow-wrap: break-word !important;
        line-height: 1.2 !important;
        max-width: 100% !important;
    }

    /* 5) Aba ativa: visual, sem mexer na geometria */
    .wp-block-atbs-tabs .tabs-titles .tab-title.active,
    .wp-block-atbs-tabs .tabs-titles .tab-title[aria-selected="true"] {
        transform: none !important;
        box-shadow: 0 4px 10px rgba(0, 0, 0, 0.12) !important;
        z-index: 6 !important;
    }

    /* 6) Indicador de rolagem (fade + chevron) — mantido, não interfere no layout */
    .wp-block-atbs-tabs .tabs-titles::after {
        content: '';
        position: absolute;
        top: 0;
        right: 0;
        height: 100%;
        width: 48px;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, var(--white) 85%);
        pointer-events: none;
    }

    .wp-block-atbs-tabs .tabs-titles::before {
        content: '';
        position: absolute;
        top: 50%;
        right: 12px;
        width: 10px;
        height: 10px;
        border-right: 2px solid var(--grey);
        border-bottom: 2px solid var(--grey);
        transform: translateY(-50%) rotate(-45deg);
        opacity: 0.6;
        pointer-events: none;
    }

    .wp-block-atbs-tabs .tabs-titles {
        padding-left: 12px !important;
        padding-right: 12px !important;
    }

    .wp-block-atbs-tabs .tabs-nav .tabs-arrow {
        width: 32px;
        height: 32px;
    }



    /*MARK: Cards Noticias Mob 
    */
    /* ============================
    Cards Noticias Mobile 
    ============================ */


    /* Container principal */
    .news-cards-wrapper {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        padding: 0 !important;
        margin: 0 auto !important;
        box-sizing: border-box !important;
        background: transparent !important;
    }

    /* Um card por linha, centralizado */
    .news-cards-wrapper .latest-posts {
        display: flex !important;
        flex-direction: column !important;
        gap: 20px !important;
        align-items: center !important;
        width: 100% !important;
    }

    /* Card individual */
    .news-cards-wrapper .card-news {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
        align-items: center !important;
        width: 95% !important;
        /* ligeiro respiro nas bordas */
        max-width: 480px !important;
        margin: 0 auto 16px !important;
        padding: 0 !important;
        border-radius: 24px !important;
        box-sizing: border-box !important;
        background: #fff !important;
        box-shadow: none !important;
        overflow: hidden !important;

        max-height: 360px;
        min-height: 360px !important;
    }



    /* Contêiner da Imagem (o link <a>) */
    .news-cards-wrapper .card-news-image {
        display: block !important;
        /* Solução funcional para forçar a largura mínima */
        width: 100% !important;
        min-width: 480px !important;
        margin: 0 !important;
        padding: 0 !important;
        line-height: 0 !important;
        /* Importante: a borda da imagem DEVE ser 0 para seguir o contêiner */
        border-radius: 0 !important;
        box-sizing: border-box !important;
    }

    /* Imagem no topo (tag <img>) */
    .news-cards-wrapper .card-news-image img {
        display: block !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 100% !important;
        height: 260px !important;
        object-fit: cover !important;
        object-position: center center !important;
        /* Importante: a borda da imagem DEVE ser 0 para seguir o contêiner */
        border-radius: 0 !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* ---------------------------------------------------------------------- */


    /* Conteúdo */
    .news-cards-wrapper .card-news-content {
        flex: 1 1 auto !important;
        width: 100% !important;
        padding: 16px !important;
        /* mantém só o padding interno do texto */
        font-size: var(--font-size-small, 1rem) !important;
        line-height: 1.5 !important;
        box-sizing: border-box !important;
    }

    /* Título */
    .news-cards-wrapper .card-news-content h2 {
        font-size: var(--font-size-medium, 1.25rem) !important;
        margin-bottom: 8px !important;
        line-height: 1.3 !important;
    }

    /* Descrição */
    .news-cards-wrapper .card-news-description p {
        margin: 0 !important;
        overflow: hidden !important;
        display: -webkit-box !important;
        -webkit-line-clamp: 5 !important;
        line-clamp: 5 !important;
        -webkit-box-orient: vertical !important;
        text-overflow: ellipsis !important;
    }

    /* Seta "ler mais" */
    .news-cards-wrapper .card-news-content .arrow {
        display: inline-flex !important;
        align-self: flex-end !important;
        margin-top: auto !important;
        font-size: 1.2rem !important;
        color: var(--primary-color, #005EA2) !important;
    }

    /* ====== Data dos cards ====== */

    .news-cards-wrapper .card-news .entry-meta,
    .news-cards-wrapper .card-news .posted-on,
    .news-cards-wrapper .card-news .published {
        display: inline-flex !important;
        align-items: center !important;
        gap: 6px !important;
        font-size: 0.95rem !important;
        color: var(--grey, #71767A) !important;
        margin-bottom: 8px !important;
    }

    /* Ícone de calendário antes da data */
    .news-cards-wrapper .card-news .published::before {
        content: "\f073";
        /* Font Awesome calendar icon */
        font-family: "Font Awesome 6 Free";
        font-weight: 900;
        font-size: 0.9rem;
        color: var(--grey, #71767A);
        margin-right: 6px;
        display: inline-block;
    }

    /* Garantir que a meta apareça acima da descrição */
    .news-cards-wrapper .card-news-content {
        display: flex !important;
        flex-direction: column !important;
        justify-content: flex-start !important;
    }

    .news-cards-wrapper .card-news-content .entry-meta {
        order: 0 !important;
    }

    .news-cards-wrapper .card-news-content h2 {
        order: 1 !important;
    }

    .news-cards-wrapper .card-news-description {
        order: 2 !important;
    }

    /*MARK: Cards Principais mob 
/* ============================
    Cards Principais Mobile
    ============================ */

    /* Cards pequenos */
    .card {

        padding: var(--spacing-small) !important;
        border-radius: var(--radius-medium) !important;
        gap: var(--spacing-tiny) !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    #principais-servicos a 
    {
    height: 56px;
    padding: 0;
    }

    #principais-servicos .card-icon img,
    #principais-servicos .card-icon .icon-fallback,
    #principais-servicos .card-icon svg {
        width: 56px !important;
        height: 56px !important;
        min-width: 56px !important; 
        min-height: 56px !important;
        max-width: 56px !important;
        max-height: 56px !important;
        
        object-fit: contain !important;
        display: block !important;
        margin: 0 auto !important;
        padding-top: 0 !important; 
        padding-bottom: 0 !important;
    }

    /* Força o container do Elementor (wrapper do ícone) a aceitar o tamanho */
    #principais-servicos .card-icon .elementor-icon {
        font-size: 56px !important; /* Elementor controla SVG via font-size muitas vezes */
        width: 56px !important;
        height: 56px !important;
        display: flex !important;
        align-items: center !important;
        justify-content: center !important;
    }


    /* Centraliza o bloco do ícone dentro do card */
    #principais-servicos .card-icon {
        display: flex !important;
        justify-content: center !important;
        align-items: center !important;
        width: 100% !important;
        text-align: center !important;
    }

    /* Título dentro dos cards */
    .card-title p {
        font-size: var(--font-size-small) !important;
        line-height: var(--line-height-medium) !important;
        text-align: center;
        padding: 0 !important;
        margin: 0 !important;
    }


    /* Hover suavizado para mobile */
    .card:hover {
        transform: scale(1.03);
        transition: all .3s cubic-bezier(0, 0, .5, 1);
        box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
    }

    /*MARK: Container geral mob 
    /* ============================
    Container geral dos cards
    ============================ */
    #principais-servicos {
        display: flex !important;
        flex-wrap: wrap !important;
        /* permite 2 colunas */
        justify-content: center !important;
        /* centraliza horizontalmente */
        gap: var(--spacing-medium) !important;
        /* gap entre cards (linhas e colunas) */
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }

    /* Cada card — mantém tamanho natural, apenas largura reduzida para 2 colunas */
    #principais-servicos>.card {
        flex: 0 0 45% !important;
        /* 2 colunas */
        margin: 0 !important;
        /* sem deslocamento extra */
        box-sizing: border-box !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
        min-height: 140px !important;
        /* altura maior que antes */
        gap: var(--spacing-tiny) !important;
    }

    /* Card interno — mantém grid original */
    #principais-servicos>.card .card {
        width: 100% !important;
        height: auto !important;
        display: grid !important;
        grid-template-rows: 1fr auto !important;
        gap: var(--spacing-tiny) !important;
        /* espaçamento interno */
        padding-top: var(--spacing-medium) !important;
        /* aumenta espaço topo */
        padding-bottom: var(--spacing-medium) !important;
        /* aumenta espaço baixo */
        align-items: center !important;
        /* centraliza vertical do grid */
        justify-items: center !important;
        /* centraliza horizontal do grid */
        box-sizing: border-box !important;

    }

    /* Ícone ajustado para mobile */
    #principais-servicos .card-icon img,
    #principais-servicos .card-icon .icon-fallback {
        width: 48px !important;
        height: 48px !important;
        max-width: 48px !important;
        max-height: 48px !important;
        object-fit: contain !important;
        display: block !important;
        margin: 0 auto !important;
        /* centraliza horizontal */
        padding-top: var(--spacing-tiny) !important;
        padding-bottom: var(--spacing-tiny) !important;
    }

    /* Texto — tamanho original, centralizado */
    #principais-servicos .card-title .elementor-heading-title,
    #principais-servicos .card-title p {
        font-size: var(--font-size-medium) !important;
        line-height: var(--line-height-medium) !important;
        text-align: center !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    /* Ajuste: diminuir largura da caixa de texto */
    #principais-servicos .card-title {
        max-width: 80% !important;
        /* diminui a largura da caixa de texto */
        margin: 0 auto !important;
        /* centraliza dentro do card */
    }


    body .elementor .swiper-wrapper figure img {
        border-radius: var(--radius-large) !important;
    }

    body .elementor .swiper-wrapper figure img,
    body .elementor .swiper-slide figure img {
        border-radius: var(--radius-large) !important;
    }

    /*MARK: Sliders Universais mob

    /* ============================
    Sliders Universais Mobile 
    ============================ */


    /* remove fundo dos botões e reduz tamanho */
    .elementor-swiper-button {
        background: transparent !important;
        width: 32px;
        height: 32px;
    }

    /* move as setas mais para o canto */
    .elementor-element .swiper .elementor-swiper-button-prev,
    .elementor-element .swiper~.elementor-swiper-button-prev,
    .elementor-lightbox .swiper .elementor-swiper-button-prev,
    .elementor-lightbox .swiper~.elementor-swiper-button-prev {
        left: 8px !important;
    }

    .elementor-element .swiper .elementor-swiper-button-next,
    .elementor-element .swiper~.elementor-swiper-button-next,
    .elementor-lightbox .swiper .elementor-swiper-button-next,
    .elementor-lightbox .swiper~.elementor-swiper-button-next {

        right: 8px !important;

    }
    /*MARK: Calendário mobile
/* =========================================================
 ESTILOS GLOBAIS E RESET (APLICÁVEL A TODAS AS TELAS)
 ========================================================= */

/* Garante que o padding e a borda não aumentem o tamanho total do elemento */
.eael-event-calendar-cls table,
.eael-event-calendar-cls table *,
.eael-event-calendar-cls .fc-scrollgrid table,
.eael-event-calendar-cls .fc-scrollgrid table *,
.eael-event-calendar-wrapper {
    box-sizing: border-box !important;
}

/* 1. CONTAINER PRINCIPAL (.events) - Lógica de Quebra de Contêiner do Desktop */
.events {
    display: block !important;
    padding: 0 !important;
    /* Aplica margem negativa para forçar o elemento a quebrar o limite do contêiner pai */
    margin: 0 -10px !important; 
    min-height: 0 !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important; 
    position: relative !important; 
    width: auto !important; 
}


/* 2. WRAPPER DO CALENDÁRIO (CAIXA BRANCA) - Largura e Padding do Desktop */
.eael-event-calendar-wrapper {
    min-width: 460px !important; /* LARGURA MÍNIMA: 460px (Conforme solicitado) */
    width: 100% !important; /* LARGURA: 100% */
    max-width: 800px !important; /* LARGURA MÁXIMA: 800px */
    margin: 10px 0 !important; /* Corrigido para não usar 'auto' */
    height: 500px !important; 
    
    /* CENTRALIZAÇÃO COM TRANSFORM */
    position: relative !important; 
    /* left: 50% !important; REMOVIDO */
    /* transform: translateX(-50%) !important; REMOVIDO */
    left: -5vh !important; /* ALTERADO: Nova posição baseada na altura do Viewport (5vh) */

    box-shadow: 0 2px 6px rgba(0, 0, 0, 0.05) !important;
    overflow: hidden !important;
    border-radius: 24px !important;
    background: white !important;
    
    /* Padding do Desktop */
    padding: 24px !important; 
}


/* 3. Container Principal do Calendário (eael-event-calendar-cls) - Flex para layout interno */
.eael-event-calendar-cls {
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    display: flex !important;
    flex-direction: column !important;
    margin: 0 !important;
    padding: 0 !important; 
}

/* Altura do corpo do calendário */
.eael-event-calendar-cls .fc-view-harness,
.eael-event-calendar-cls .fc-view-harness-active {
    min-height: 0 !important;
    height: 420px !important; /* AUMENTADO para melhorar a distribuição vertical e centralização */
    flex: 1 1 auto !important;
    overflow: hidden !important;
}

/* Tabela: Garante largura total e layout fixo */
.eael-event-calendar-cls .fc-scrollgrid,
.eael-event-calendar-cls .fc-scrollgrid table {
    width: 100% !important;
    table-layout: fixed !important; 
    border-collapse: collapse !important;
    border: none !important;
    margin: 0 !important;
    height: 100% !important;
}

/* Remove margens/paddings laterais da grade */
.eael-event-calendar-cls .fc-daygrid-body,
.eael-event-calendar-cls .fc-daygrid-body-body {
    padding: 0 !important; 
    margin: 0 !important; 
    width: 100% !important; 
}

/* Linhas do body do calendário - DISTRIBUIÇÃO UNIFORME DE ALTURA */
.eael-event-calendar-cls .fc-daygrid-body tr {
    height: 16.666% !important; 
}

/* Borda apenas abaixo do cabeçalho dos dias */
.eael-event-calendar-cls .fc-scrollgrid-section-header table tr {
    border-bottom: 4px solid var(--light-grey, #ccc) !important;
}

/* CORREÇÃO SOLICITADA: LARGURA DA BARRA DE FERRAMENTAS PARA 50% */
.fc-toolbar.fc-header-toolbar {
    width: 50% !important;
}

/* * TOOLBAR CORRIGIDA: 
 * Aplica layout flex e corrige os 'chunks' para evitar o espaçamento excessivo, restaurando o layout correto.
 */
.eael-event-calendar-cls .fc-header-toolbar {
    height: 60px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    margin-bottom: var(--spacing-small) !important;
    padding: 0 8px !important; 
    font-family: var(--primary-font);
    font-size: 14px !important;
    font-weight: 600 !important;
    background: transparent !important;
    flex-direction: row !important;
}

/* CORREÇÃO CHAVE: Impede que os blocos da toolbar se expandam, causando espaçamento gigante */
.eael-event-calendar-cls .fc-header-toolbar > div {
    flex-grow: 0 !important;
    flex-shrink: 0 !important;
    margin: 0 !important; /* Adicionado para remover margens indesejadas (regra solicitada) */
}

/* CORREÇÃO SOLICITADA: ALINHAR TÍTULO DO MÊS À ESQUERDA */
.eael-event-calendar-cls .fc-toolbar-title {
    text-align: left !important;
    width: 100% !important; /* Garante que o título ocupe o espaço disponível no bloco central */
}

/* --- REGRAS ADICIONADAS PELO USUÁRIO --- */

/* Remove margem padrão do título do calendário */
.fc .fc-toolbar-title {
    margin: 0 !important;
}

/* Remove margem total da toolbar (regra solicitada) */
.fc .fc-toolbar.fc-header-toolbar {
    margin: 0 !important;
}

/* Adiciona 15px de margem à esquerda no bloco de botões de navegação e define gap (regras solicitadas) */
.eael-event-calendar-cls .fc-toolbar-chunk:first-child {
    margin: 0 !important; /* Zera margens existentes */
    margin-left: 15px !important; /* Aplica o recuo de 15px */
    gap: 8px !important; /* Adicionado para espaçamento entre itens (Botão Hoje e Grupo de Setas) */
}

/* --- ESTILOS DE BOTÕES DE NAVEGAÇÃO (SETAS) --- */

/* 1. Garante que o grupo de botões ocupe apenas o espaço necessário */
.eael-event-calendar-cls .fc-button-group {
    flex-shrink: 0 !important;
    flex-grow: 0 !important;
    border: none !important;
}

/* CORREÇÃO DO USUÁRIO: Garante que os botões do primeiro bloco da toolbar (Hoje + Setas) tenham tamanho MÍNIMO e MÁXIMO de 56px */
.eael-event-calendar-cls .fc-toolbar-chunk:first-child .fc-button {
    min-height: 56px !important;
    min-width: 56px !important;
    max-height: 56px !important; /* Adicionado max-height */
    max-width: 56px !important;  /* Adicionado max-width */
}
/* SOBRESCREVENDO para que o botão "Hoje" não fique muito pequeno (mantendo max-width: none, mas agora garantindo o min-width) */
.eael-event-calendar-cls .fc-toolbar-chunk:first-child .fc-today-button {
    max-width: none !important; /* Reverte max-width para o botão 'Hoje' para permitir o texto */
}


/* 2. Estilo BÁSICO para todos os botões (para garantir altura e cor) */
.eael-event-calendar-cls .fc-button {
    height: 56px !important; /* Mantido em 56px */
    line-height: 56px !important; /* Centraliza o ícone/texto verticalmente */
    font-size: 18px !important; 
    color: #333 !important;
    background: transparent !important;
    border: 2px solid #ccc !important;
    border-radius: 8px !important;
    /* CORREÇÃO DE LARGURA: Reduz o padding base para que as setas fiquem menores antes de remover o padding */
    padding: 0 8px !important; 
}

/* 3. Estiliza SOMENTE as setas (<< e >>) para torná-las circulares e compactas */
.eael-event-calendar-cls .fc-prev-button,
.eael-event-calendar-cls .fc-next-button {
    width: 56px !important; /* Mantido em 56px */
    height: 56px !important; /* Garante a dimensão exata */
    padding: 0 !important; /* Remove padding lateral do .fc-button para ser um círculo perfeito */
    border-radius: 50% !important; /* Deixa os botões redondos */
    text-align: center !important; 
}

/* 4. Estilo para o botão "Hoje" (Sobrescrevendo o estilo base) */
.eael-event-calendar-cls .fc-today-button {
    background: #00AEEF !important;
    color: white !important;
    border-radius: 8px !important;
    /* CORREÇÃO: Restaura o padding de texto específico para o botão "Hoje" e ajusta a altura */
    padding: 16px 20px !important; /* Aumentado para acompanhar o tamanho do botão */
    height: 56px !important; /* Mantido em 56px */
    font-size: 16px !important; 
    border: none !important; /* Remove a borda para o estilo sólido */
    line-height: 24px !important; /* Ajuste a linha para centralizar o texto "Hoje" (56px - 32px de padding = 24px) */
    
    /* Adiciona margem à direita para separar do grupo de setas */
    margin-right: 12px !important; /* Aumentado o espaçamento */
    margin-left: 0 !important; /* Garante que não haja margem à esquerda indesejada */
}

/* CORREÇÃO DE AGRUPAMENTO: Garante que as setas estejam grudadas ou com espaçamento mínimo */
.eael-event-calendar-cls .fc-button-group > .fc-button {
    /* Adiciona um pequeno espaçamento entre as setas */
    margin-left: 6px !important; /* Ligeiramente aumentado o espaçamento */
}

/* Remove a margem da primeira seta (que se segue ao botão "Hoje") */
.eael-event-calendar-cls .fc-button-group > .fc-button:first-child {
    margin-left: 0 !important;
}

/* --- FIM ESTILOS BOTÕES DE NAVEGAÇÃO --- */

/* --- ESTILOS DE COMPONENTES (CABEÇALHO, DIAS, EVENTOS) --- */

/* Cabeçalho dos dias (D, S, T) */
.eael-event-calendar-cls .fc-col-header-cell,
.eael-event-calendar-cls .fc-scrollgrid-section-header th {
    width: 14.28% !important; 
    min-width: 14.28% !important; 
    height: 72px !important;
    padding: 0 !important;
    border: none !important;
    position: relative !important; 
}

.eael-event-calendar-cls .fc-col-header-cell-cushion {
    visibility: hidden !important;
    display: block !important;
    width: 100% !important; 
    padding: 0 !important;
    margin: 0 !important;
    height: 100% !important;
    position: relative !important;
}

.eael-event-calendar-cls .fc-col-header-cell-cushion::before {
    content: " " !important;
    visibility: visible !important;
    font-size: 24px !important;
    line-height: 72px !important;
    font-weight: 600 !important;
    color: var(--black) !important;
    position: absolute !important;
    top: 0 !important;
    left: 50% !important;
    transform: translateX(-50%) !important;
    white-space: nowrap !important; 
}

/* Definição dos Conteúdos das Letras */
.eael-event-calendar-cls .fc-day-sun .fc-col-header-cell-cushion::before { content: "D" !important; color: var(--secondary-color) !important; }
.eael-event-calendar-cls .fc-day-mon .fc-col-header-cell-cushion::before { content: "S" !important; }
.eael-event-calendar-cls .fc-day-tue .fc-col-header-cell-cushion::before { content: "T" !important; }
.eael-event-calendar-cls .fc-day-wed .fc-col-header-cell-cushion::before { content: "Q" !important; }
.eael-event-calendar-cls .fc-day-thu .fc-col-header-cell-cushion::before { content: "Q" !important; }
.eael-event-calendar-cls .fc-day-fri .fc-col-header-cell-cushion::before { content: "S" !important; }
.eael-event-calendar-cls .fc-day-sat .fc-col-header-cell-cushion::before { content: "S" !important; color: var(--secondary-color) !important; }


/* Células dos dias (TD) */
.eael-event-calendar-cls .fc-daygrid-day {
    width: 14.28% !important; 
    min-width: 14.28% !important; 
    border: none !important;
    padding: 0 !important; 
    position: relative !important; 
    overflow: visible !important; 
    vertical-align: middle !important;
}

/* Número do dia */
.eael-event-calendar-cls .fc-daygrid-day-number {
    font-size: 20px !important;
    font-weight: 600;
    color: var(--dark-grey);
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important; 
    width: 48px !important; 
    height: 48px !important; 
    line-height: 48px !important; 
    text-align: center;
    border-radius: 50%;
    z-index: 10 !important; 
    background: transparent !important;
}

/* Bolinha de Evento (Harness) - AGORA 48X48 PARA ALINHAR COM O NÚMERO */
.eael-event-calendar-cls .fc-daygrid-event-harness {
    position: absolute !important;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%) !important; 
    z-index: 15 !important; 
    width: 48px !important; 
    height: 48px !important; 
    /* REMOVIDAS as restrições max-width/height para evitar desalinhamento */
    cursor: pointer !important;
}

/* O círculo de evento preenche o harness limitado */
.eael-event-calendar-cls .fc-event {
    background: rgba(46, 183, 252, 0.1) !important; /* Opacidade para 0.1 */
    border: none !important; 
    width: 100% !important; 
    height: 100% !important; 
    border-radius: 50% !important;
    z-index: 9 !important; 
    color: transparent !important;
    font-size: 0 !important;
    padding: 0 !important;
    line-height: 0 !important;
    overflow: hidden !important; 
    position: relative !important;
    display: block !important;
    min-width: 48px !important; 
    min-height: 48px !important; 
}

/* Estilos de Dias Marcados (Para referência) */
.eael-event-calendar-cls .fc-daygrid-day.fc-day-12 .fc-daygrid-day-number { background: #50B848 !important; color: white !important; }
.eael-event-calendar-cls .fc-daygrid-day.fc-day-15 .fc-daygrid-day-number { background: #00AEEF !important; color: white !important; }
.eael-event-calendar-cls .fc-daygrid-day.fc-day-28 .fc-daygrid-day-number { background: var(--dark-grey) !important; color: white !important; }

/* Feriados com fundo verde translúcido */
.eael-event-calendar-cls .fc-event.feriado-event {
    background: rgba(80, 184, 72, 0.1) !important; /* Opacidade para 0.1 */
    border: none !important;
}

}