/* Cor dos botões das noticias nas diversas áreas */
.botao-areas {
    background-color: rgba(91, 132, 114, 0.85);
    color: #ffffff;
    padding: 10px 20px;
    border-radius: 4px;
    text-decoration: none;
    display: inline-block;
    transition: all 0.3s ease;
}

.botao-areas:hover {
    background-color: rgba(74, 102, 87, 0.85);
    color: #ffffff;
}

.sppb-sp-slider-button .sp-slider-btn-text {
    background: none;
}


/* Cor de Fundo do rodapé */
#sp-footer, #sp-bottom {
    background: #19411f;
}

/* Tipo de fonte, alinhamento e tamanhos para a página das notícias */
.itemid-115 h1 {
    font-size: 51px;
}

a.ma-title-link {
    font-size: 21px !important; /* Ajuste este valor conforme necessário */
    line-height: 1.5 !important;   /* Quanto menor o número, mais juntas as linhas ficam */
    display: block;                /* Ajuda a aplicar a altura de linha corretamente em links */
    text-transform: uppercase;
}

.ma-introtext {
    text-align: justify;
    line-height: 1.6;
}

/* Tipo de fonte e tamanhos */
/*font-family: 'Source Sans 3', 'Source Sans Pro', Helvetica, Arial, sans-serif !important;*/

.sp-megamenu-parent > li > a, .sp-megamenu-parent > li > span {
    font-family: 'Source Sans 3', 'Source Sans Pro', Helvetica, Arial, sans-serif !important;
    font-size: 18px;
}

.sp-megamenu-parent .sp-dropdown li.sp-menu-item > a, .sp-megamenu-parent .sp-dropdown li.sp-menu-item span:not(.sp-menu-badge) {
    font-family: 'Source Sans 3', 'Source Sans Pro', Helvetica, Arial, sans-serif !important;
    font-size: 17px;
}

.sppb-panel-modern .sppb-panel-heading .sppb-panel-title {
    font-family: 'Source Sans 3', 'Source Sans Pro', Helvetica, Arial, sans-serif !important;
    }


/* --- SOLUÇÃO FINAL PARA LOGO DUPLICADO E ALTURA NO IPHONE --- */
@media (max-width: 991px) {
    
    /* 1. Forçar altura rigorosa no Header */
    :root {
        --header_height: 80px !important;
    }

    #sp-header, 
    #sp-header .container, 
    #sp-header .row,
    #sp-header .sp-column {
        height: 80px !important;
        min-height: 80px !important;
        max-height: 80px !important;
        padding: 0 !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    /* 2. MATAR O LOGO DUPLICADO */
    /* Esconde qualquer imagem de logo que não seja a principal ou que o Helix tente duplicar */
    #sp-header .logo a img.sp-default-logo,
    #sp-header .logo a img:nth-child(2) { 
        display: none !important; 
    }

    /* 3. FORÇAR O LOGO QUE SOBRA A FICAR NO TAMANHO CERTO */
    #sp-header .logo img {
        display: block !important;
        height: 45px !important; /* Altura do logo */
        max-height: 45px !important;
        width: auto !important;
        visibility: visible !important;
        opacity: 1 !important;
    }

    /* 4. AJUSTE DO BOTÃO MENU (HAMBÚRGUER) */
    #offcanvas-toggler {
        height: 80px !important;
        line-height: 80px !important;
        margin: 0 !important;
        display: flex !important;
        align-items: center !important;
    }

    /* 5. SE O LOGO ESTIVER NUMA COLUNA SEPARADA (ESTRUTURA HELIX) */
    #sp-logo {
        height: 80px !important;
        display: flex !important;
        align-items: center !important;
    }
}


/* Títulos das áreas - Tamanho padrão para computadores (Desktop) */
.titulo-pequeno .sp-page-title .sp-page-title-heading {
  font-size: 60px;
}

.titulo-pequeno .sp-page-title {
  min-height: 170px;
}

/* Títulos das áreas - Ajuste para telemóveis (Ecrãs com menos de 768px) */
@media (max-width: 767px) {
  .titulo-pequeno .sp-page-title .sp-page-title-heading {
      font-size: 40px; !important; /* Tamanho reduzido para não quebrar no iPhone */
      padding-top: 20px !important;
      padding-bottom: 15px !important;
      line-height: 1.1;
    }
  .titulo-pequeno .sp-page-title {
  min-height: auto;
}
  .sppb-sp-slider-title {
  font-size: 25px;
      }
}

/* Barra do Footer mais pequeno*/
#sp-bottom {
  padding: 0px 0px 30px 0px;
}
#sp-footer > .container {
    padding-top:20px
}

/* Empurra as 2 linhas nas FAQ para os 20 px e não apenas a 1ª*/
.sppb-panel-modern .sppb-panel-heading .sppb-panel-title {
  display: block;
}

/* Retirar a capitalização das palavras nos botões*/
body .sppb-btn, body .btn {
  text-transform: none;
  
}

/* Altera apenas o estado HOVER do botão Default */
/* Forçar a alteração sobrepondo a lista exata de seletores do template */
/* Seletor Universal para forçar a cor em todas as páginas */
html body .sppb-btn.btn-default:hover, 
html body .btn.btn-default:hover,
html body .sppb-btn-default:hover {
  background-color: #a1b8ab !important;
  border-color: #a1b8ab !important;
  color: #031f0f !important;
  background-image: none !important; /* Remove gradientes se existirem */
}

/* Alter na vista de artigos o padding e tamanho dos titulos e justificar o texto das notícias*/
.article-details {
    text-align: justify;
}

.left-sidebar-top, .article-details-top {
  padding-top: 10px;
}
.article-details .article-header h1 {
  font-size: 30px;
  font-weight: 600;
  line-height: 1.2;
  margin: 0px;
  font-family: 'Playfair Display', Georgia, 'Times New Roman', serif;
  text-transform: uppercase;
  text-align: left;
}


/* Layout personalizado para TODOS os artigos ajuste das 2 colunas */
@media (min-width: 992px) {
.com_content.view-article .col-md-8 {
  flex: 0 0 85%;
  max-width: 85%;
}

.com_content.view-article .col-md-4 {
  flex: 0 0 15%;
  max-width: 15%;
}

.article-info > span {
  font-size: 1.813rem;
}

/*Diminui o espaço nos add-ons TABS com estilo moderno*/  
.sppb-modern-tab .sppb-nav-modern li {
  margin: 15px 8px;
}  


/* ---------- LINKS ESTILO MEDIUM / APPLE (P + LI) ---------- */

/* Seletor combinado para Parágrafos e Itens de Lista */
.com_content.view-article .article-details-content p a,
.com_content.view-article .article-details-content li a,
.com_content.view-article .article-details-content > div:not(.sppb-addon) p a,
.com_content.view-article .article-details-content > div:not(.sppb-addon) li a {
  text-decoration: none;
  background-image: linear-gradient(currentColor, currentColor);
  background-position: 0 100%;
  background-size: 30% 1.5px; /* Underline discreto inicial */
  background-repeat: no-repeat;
  transition: background-size 0.3s ease, background-position 0.3s ease;
  padding-bottom: 2px;
  text-decoration-skip-ink: auto;
}

/* Hover para ambos */
.com_content.view-article .article-details-content p a:hover,
.com_content.view-article .article-details-content li a:hover,
.com_content.view-article .article-details-content > div:not(.sppb-addon) p a:hover,
.com_content.view-article .article-details-content > div:not(.sppb-addon) li a:hover {
  background-size: 100% 2px; /* Underline expande no hover */
  background-position: 0 100%;
}

.com_content.view-article .article-details-content li {
    line-height: 1.8; /* Aumenta o espaço entre linhas da lista */
}


/* Classe personalizada para as imagens da pesquisa */
.img-pesquisa-pequena {
    width: 50% !important;
    height: auto !important;
    display: block !important;
    margin-bottom: 10px; /* Espaço opcional entre a imagem e o texto */
}

/* Ajuste opcional: se quiser que em ecrãs muito pequenos (iPhone) 
ela volte a ocupar 100% para não ficar minúscula */
@media (max-width: 575px) {
    .img-pesquisa-pequena {
        width: 100% !important;
    }
}
/* ==========================================================================
   Estilos para o addon Audio Carousel das notícias na 1 página
   ========================================================================== */


/*Estilos para o addon Audio Carousel das notícias na 1 página*/
.sppb-addon-audio-carousel .sc-player.audio-link{width:56px;overflow:hidden;height:65px}.sppb-addon-audio-carousel .sppb-addon-content{position:relative;left:-200px;margin-right:-400px}.sppb-addon-audio-carousel .sppb-articles-carousel-img{background-repeat:no-repeat;background-position:center;background-size:cover;height:550px;overflow:hidden;box-shadow:none;display:flex;align-items:flex-end;z-index:10;position:relative;color:#fff;background-blend-mode:multiply;transition:.3s}.sppb-addon-audio-carousel .sppb-articles-carousel-img:hover{background-color:rgba(0,0,0,.6)}.sppb-addon-audio-carousel .sppb-articles-carousel-img a{color:#fff}.sppb-addon-audio-carousel .sppb-articles-carousel-img a:hover,.sppb-addon-audio-carousel .sppb-articles-carousel-img a:focus{color:#fff}.sppb-addon-audio-carousel .sppb-articles-carousel-img:after{content:"";background:linear-gradient(180deg, rgba(0, 0, 0, 0.0001) 0%, #000000 100%);mix-blend-mode:normal;opacity:.9;position:absolute;bottom:0;left:0;right:0;height:50%;z-index:-1}.sppb-addon-audio-carousel .sppb-articles-carousel-left{border-right:1px solid rgba(255,255,255,.4);padding-right:30px;margin-right:30px}.sppb-addon-audio-carousel .sppb-articles-carousel-left .category-wrap{font-weight:600;font-size:14px}.sppb-addon-audio-carousel .sppb-articles-carousel-left .sppb-articles-carousel-link{font-family: 'Playfair Display', Georgia, serif !important;font-size:20px;line-height:1.2;font-weight:600;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;height:50px;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;-moz-box-orient:vertical;-ms-box-orient:vertical;box-orient:vertical}.sppb-addon-audio-carousel .sppb-articles-carousel-right .audio-icon{width:56px;height:56px;display:inline-block;line-height:56px;text-align:center;background:#fff;color:#000;border-radius:50px;margin-top:20px}.sppb-addon-audio-carousel .sppb-articles-carousel-content{background:none;padding:45px;margin:0;align-items:center;font-weight:600;font-size:14px}.sppb-addon-audio-carousel .bx-controls{top:auto !important;bottom:-20px !important}.sppb-addon-audio-carousel .bx-controls .bx-pager.bx-default-pager{text-align:center;margin-top:40px}.sppb-addon-audio-carousel .bx-controls .bx-pager.bx-default-pager .bx-pager-item a{text-indent:0px;background:rgba(0,0,0,0);color:#6f6f6f;display:inline-block;font-size:20px !important;font-weight:500 !important;width:30px;height:30px;line-height:30px !important;transition:.3s}.sppb-addon-audio-carousel .bx-controls .bx-pager.bx-default-pager .bx-pager-item a.active{color:#17161a;padding-right:80px;position:relative}.sppb-addon-audio-carousel .bx-controls .bx-pager.bx-default-pager .bx-pager-item a.active:after{content:"";width:50px;display:block;height:2px;background:#17161a;position:absolute;top:13px;left:30px}.sppb-addon-audio-carousel .bx-controls .bx-pager.bx-default-pager a{height:5px}.sppb-addon-audio-carousel.layout-classic .bx-pager{display:none !important}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-column{transition:.3s}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-column.active-slide{opacity:.2}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content{padding:30px}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content .sppb-articles-carousel-left{border:none;padding:0px;margin:0px}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content .sppb-articles-carousel-left .category-wrap{display:flex;flex-direction:column-reverse}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content .sppb-articles-carousel-left .category-wrap .sppb-articles-carousel-meta-category{line-height:1;margin:0px}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content .sppb-articles-carousel-left .category-wrap .sppb-articles-carousel-meta-category a{font-size:110px;margin-left:-9px}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content .sppb-articles-carousel-left .sppb-articles-carousel-link{display:none}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-content .sppb-articles-carousel-right{display:none}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-img{height:300px;margin-bottom:20px}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-title-wrap{display:block !important}.sppb-addon-audio-carousel.layout-classic .sppb-articles-carousel-link{font-size:20px !important;font-weight:400 !important;line-height:1.4 !important;height:50px;-webkit-line-clamp:2;line-clamp:2;color:#000}.sppb-addon-audio-carousel .audio-timeline{display:none}.sppb-addon-audio-carousel; }
  
.sppb-addon-audio-carousel .sppb-articles-carousel-left .sppb-articles-carousel-link {
text-transform: uppercase; }


/* Remove o arredondamento das imagens do Audio Carousel */
.sppb-addon-audio-carousel .sppb-articles-carousel-img {
  border-radius: 0 !important;
}

/* Garante que o efeito de overflow não arredonde cantos escondidos */
.sppb-addon-audio-carousel .sppb-articles-carousel-img:after {
  border-radius: 0 !important;
}

/* tira as setas do Articles Carousel do SP Page Builder */
.sppb-addon-audio-carousel .bx-wrapper .bx-controls-direction{display:flex;justify-content:center;margin-top:10px}.sppb-addon-audio-carousel
.sppb-articles-carousel-right,
.sppb-articles-carousel .sppb-carousel-control {
  display: none !important;
}


/* ==========================================================================
   CORREÇÃO PARA TELEMÓVEIS (Ecrãs até 767px)
   ========================================================================== */
@media (max-width: 767px) {
    
    /* Centraliza o carrossel no ecrã do telemóvel */
    .sppb-addon-audio-carousel .sppb-addon-content {
        left: 0 !important;
        margin-right: 0 !important;
    }

    /* Garante a visibilidade e altura da imagem no telemóvel */
    .sppb-addon-audio-carousel .sppb-articles-carousel-img {
        height: 300px !important;
    }
}


/* ==========================================================================
   CORREÇÃO DO BUG DE URL DO JOOMLA (Limpa o código '#' que bloqueia no mobile)
   ========================================================================== */
.sppb-addon-audio-carousel .sppb-articles-carousel-img[style*="entrega_casas.jpg"] {
    background-image: url('https://www.cm-vilareal.pt/images/noticias/2026/entrega_casas.jpg') !important;
}

  
/*1. FORMATACAO PARA O ACCORDION FICAR COM 1 COLUNA NO ARTIGO acao social e que está na page Ação Social
Mata o Flexbox - Isso impede as 2 colunas de existirem
.sppb-panel-modern, 
.sppb-panel-modern .sppb-panel-heading, 
.sppb-panel-modern .sppb-panel-collapse {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

Remove a linha vertical (que é um desenho via CSS)
.sppb-panel-modern:before,
.sppb-panel-modern:after,
.sppb-panel-modern .sppb-panel-heading:before,
.sppb-panel-modern .sppb-panel-heading:after,
.sppb-panel-modern .sppb-panel-collapse:before,
.sppb-panel-modern .sppb-panel-collapse:after,
.sppb-panel-modern .sppb-panel-body:before,
.sppb-panel-modern .sppb-panel-body strong:before {
  display: none !important;
  content: none !important; 
}

Remove a margem e a borda que criam o efeito de coluna
.sppb-panel-modern .sppb-panel-body {
  margin-left: 0 !important;
  padding-left: 15px !important;
  border-left: none !important;
}

Limpa o elemento 'strong' que o estilo Modern usa para a 2ª coluna
.sppb-panel-modern .sppb-panel-body strong {
  border-left: none !important;
  padding-left: 0 !important;
  margin-left: 0 !important;
  display: inline !important;
}

.sppb-panel-modern .sppb-panel-heading, .sppb-panel-modern .sppb-panel-collapse {
  padding-left: 5%;
  position: relative;
}

Força o bloco que expande (collapse) a ocupar a largura toda desde o início
.sppb-panel-modern .sppb-panel-collapse {
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;   
  padding-left: 65px !important;
  left: 0 !important;
}

Garante que o corpo do texto lá dentro ignora o recuo de 30% do estilo Modern
.sppb-panel-modern .sppb-panel-body {
  width: 100% !important;
  margin-left: 0 !important;
  padding-left: 15px !important; 
}

.sppb-panel-modern .sppb-panel-body > div {
  width:96%
}

.sppb-panel-modern .sppb-panel-body {
  font-weight: 400;
  text-align: justify;
}*/
