/*core globals css*/
.core-container {
    max-width: var(--core-container-max);
    margin: auto;
}
/*core globals css - fim*/


a {
    font-weight: bold 
}
/*video shortcodes*/

/* Remove padding e limitações do GLightbox no conteúdo inline de vídeos locais */

.gslide-inline .glightbox-inline-video {
    padding: 0;
}

.gslide-inline .glightbox-inline-video video {
    display: block;
    width: 100%;
    height: auto;
    max-width: 100%;
}
.glightbox-video-btn {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 999;
}
/*video shortcodes - fim*/


/*fade up*/
/* estados iniciais */
.fade-up {
  opacity:    0;
  transform:  translateY(20px);
/* duração 0.8s + delay 0.2s */
  transition: opacity 1s ease-out 0.3s,
              transform 1s ease-out 0.3s;
}
/* quando entrar no viewport */
.fade-up.in-view {
  opacity:   1;
  transform: translateY(0);
}

/*fade up - end*/

/*core titles*/
.core-title {
    margin-bottom: 20px
}
.core-h1-title {
    font-size: 2.2em;
}
.core-h2-title {
    font-size: 1.9em;
}
.core-h3-title {
    font-size: 1.6em;
}
.core-h4-title {
    font-size: 1.3em;
}
/*core titles - fim*/

/*core description*/
.core-description {
    margin-bottom: 20px;
}
/*core description - fim*/

/*core simple calendar*/
.calendario-simples { text-align: center; max-width: 100%; margin: 0 auto 20px; }
.calendario-simples .calendario-simples-header { padding: 10px; display: flex; gap: 10px; justify-content: space-between; align-items: center; margin-bottom: 10px; background: #f4f4f4; }
.calendario-simples .calendario-controls { width: 100%; }
.calendario-simples .calendario-controls select { margin-bottom: 0 !important; height: 44px}
.calendario-simples .calendario-simples-header h2 { margin: 0 }
.calendario-simples .calendario-simples-header button { padding: 12px; min-width: 50px; }
.calendario-simples table { width: 100%; min-height: 300px; border-collapse: collapse; }
.calendario-simples th, .calendario-simples td { padding: 10px; border: 1px solid #ccc; width: 14.28%; text-align: center; vertical-align: middle }
.calendario-simples .today { background-color: #ffecb3; }
.calendario-simples .especial { background-color: #c8e6c9; font-weight: bold; cursor: default; }
.calendario-simples .legenda { margin-top: 10px; font-size: 0.9em; text-align: left; }
.calendario-simples .legenda span { display: inline-block; padding: 4px 8px; margin-right: 10px; border-radius: 4px; }
.calendario-simples .legenda .hoje { background-color: #ffecb3; }
.calendario-simples .legenda .evento { background-color: #c8e6c9; }
/* Lista de eventos do mês */
#listaEventos { margin-top: 20px; text-align: left; }
#listaEventos h4 { margin-bottom: 8px; }
#listaEventos .evento-item { margin-bottom: 10px; padding: 20px 30px; background: #f4f4f4; }
#listaEventos .evento-item a {display: block; padding-right: 20px; position: relative}
/* Pseudo-elemento com o ícone de seta à direita */
#listaEventos .evento-item a::after {
  content: "\f061";                      /* código Unicode da seta direita em FontAwesome */
  font-family: "Font Awesome 6 Free";    /* nome da família (confere na tua versão) */
  font-weight: 900;                      /* solid icons usam peso 900 */
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);           /* centra verticalmente */
  font-size: 0.9em;                      /* ajusta ao teu gosto */
  color: inherit;                        /* herda cor do link */
}
#listaEventos .evento-item h3 {
    margin-bottom: 0;
}
/*core simple calendar - fim*/

/*youtube full with*/


.youtube-full-with {
  position: relative;
  width: 100%;
  /* Proporção 16:9 = 9/16 ≈ 56.25% */
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.youtube-full-with iframe,
.youtube-full-with object,
.youtube-full-with embed {
  position: absolute;
  top:   0;
  left:  0;
  width: 100%;
  height: 100%;
  border: 0;
}

/*youtube full with - fim*/

/*loop generico*/

/* item base */
.loop-one-item {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-template-areas: "thumb content";
    gap: 50px;
    margin-bottom: 50px;
    border-radius: 0.5rem;
    align-items: center;
}

/* inverte para itens pares */
.loop-one-item:nth-child(even) {
    grid-template-areas: "content thumb";
}

/* figura (sempre 4:3) */
.loop-one-figure {
    grid-area: thumb;
    width: 100%;
    aspect-ratio: 4 / 3;
    overflow: hidden;
    border-radius: 0.5rem;
}
.loop-one-figure img.loop-one-thumb {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

/* conteúdo textual */
.loop-one-entry {
    grid-area: content;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 0 50px;
}
.loop-one-header {
    margin-bottom: 0.75rem;
}

.loop-one-excerpt {
    margin-bottom: 1rem;
    color: #555;
    line-height: 1.5;
}
.loop-one-button {
    align-self: start;
    padding: 0.6rem 1.2rem;
    text-decoration: none;
    border-radius: 0.3rem;
    font-weight: bold;
    transition: background-color 0.3s ease;
    background: #f4f4f4
}
.loop-one-button:hover {
    background-color: #005177;
}

/* responsivo: uma coluna só */
@media (max-width: 768px) {
  .loop-one-item {
    display: grid; /* reforça o grid */
    grid-template-columns: 1fr;
    grid-template-areas:
      "thumb"
      "content";
    gap: 1rem;       /* espaçamento menor no mobile */
    margin-bottom: 2rem;
    padding: 0;      /* zera padding externo */
  }

  /* remove qualquer override anterior para pares */
  .loop-one-item:nth-child(even) {
    grid-template-areas:
      "thumb"
      "content";
  }

  .loop-one-figure {
    aspect-ratio: 4/3;
  }

  .loop-one-entry {
    grid-area: content;
    padding: 0 1rem;   /* padding interno mais suave */
    text-align: center;
  }

  .loop-one-button {
    align-self: center; /* centraliza o botão */
    margin-top: 1rem;
  }
}
/*loop generico - fim*/

/*visitar*/

.visitar-subnav-container {
    margin-top: 80px;
}




/*visitar - fim*/

/*loop archive item*/
.loop-archive-thumbnail a {
    display: block;
}
.loop-archive-title {
    padding: 20px;
}
.loop-title {
    font-size: 1.6em;
}
/*loop archive item - end*/

/*MODULO DE DESTAQUES*/
/* Main Grid Layout - 4 Rows and 3 Columns */
.adsi-destaques {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 posts per row */
    grid-auto-rows: auto; /* Ensures consistent row heights */
    gap: 20px; /* Space between items */
}

/* Post title and date styling */
.adsi-destaque h3 {
    margin: 0;
    font-size: 1.2rem;
}

.adsi-destaque time {
    font-size: 0.9rem;
    color: #555;
}

/* Styles for the first 3 posts (with image overlay) */
.adsi-destaque-first {
    position: relative;
    overflow: hidden; /* Ensures overlay remains within boundaries */
    min-height: 260px; /* Adjust image height to auto on small screens */
}

/* Title and date for highlighted posts */
.adsi-destaque-first h3, 
.adsi-destaque-first time {
    position: relative;
    z-index: 3;
    color: #fff;
}

/* Text overlay for first 3 posts */
.adsi-destaque-first .adsi-destaque-text {
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
    color: #fff;
    padding: 20px;
    width: 100%;
    box-sizing: border-box;
    background: #30554d; /* Adjust opacity for readability */
    min-height: 88px;
}

.adsi-destaque-first a {
    color: #fff;
    text-decoration: none; /* Optional for cleaner design */
}

.adsi-destaque-first .adsi-destaque-image img {
    width: 100%;
    height: 360px;
    object-fit: cover;
}

/* Hide image for posts after the first 3 */
.adsi-destaque:not(.adsi-destaque-first) .adsi-destaque-image {
    display: none;
}

/* Text container for remaining posts */
.adsi-destaque-text {
    padding: 20px;
}

/* Date Badge Style */
time.adsi-destaque-date-badge {
    display: flex;
    background: #30554d;
    color: #fff;
    position: absolute !important;
    top: 0;
    right: 0;
    width: 70px;
    height: 70px;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    line-height: 1.5;
    font-size: 1.1rem;
}

.adsi-destaque-date-badge-day {
    font-size: 22px;
    font-weight: bold;
}

.adsi-destaque-date-badge-month {
    text-transform: uppercase;
    font-weight: bold;
}

/*destaques opcao a*/
.adsi-destaques-grelha-opcaoa {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(6, 1fr);  
    grid-template-areas: 
        "destaque-a destaque-a destaque-a destaque-b destaque-b destaque-b"
        "destaque-c destaque-c destaque-d destaque-d destaque-e destaque-e"; 
    grid-auto-rows: auto;
    gap: 30px;
}
.adsi-destaques-grelha-opcaoa .adsi-destaque-image  { 
    display: grid
}
.adsi-destaques-grelha-opcaoa .adsi-destaque-image .adsi-destaque-link {
    display: block;             /* garante que o link seja um box */
    width: 100%;                /* ou fixe o width que quiser */
    aspect-ratio: 16 / 9;       /* define proporção 16:9 */
    overflow: hidden;           /* esconde o que ultrapassar */
    position: relative;         /* para posicionar o img por cima */
}
.adsi-destaques-grelha-opcaoa .adsi-destaque-image .adsi-destaque-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;          /* cobre todo o container sem distorcer */
    object-position: center;    /* centraliza o corte */
}
.adsi-destaques-grelha-opcaoa .adsi-destaque-item {
    align-content: stretch;
    display: grid;
    background-color: #fff;
}
.adsi-destaques-grelha-opcaoa .adsi-destaque-item .adsi-destaque-text {
    align-content: center
}
.adsi-destaques-grelha-opcaoa .adsi-destaque-item .adsi-destaque-title {
    margin-bottom: 0
}
/*destaques opcao a - fim*/



/*destaques opcao b*/
.adsi-destaques-grelha-opcaob {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(6, 1fr);  
    grid-template-areas: 
        "destaque-a destaque-a destaque-a destaque-b destaque-b destaque-b"
        "destaque-c destaque-c destaque-d destaque-d destaque-e destaque-e"; 
    grid-auto-rows: auto;
    gap: 30px;
}

.adsi-destaques-grelha-opcaob .adsi-destaque-a { grid-area: destaque-a; }
.adsi-destaques-grelha-opcaob .adsi-destaque-b { grid-area: destaque-b; }
.adsi-destaques-grelha-opcaob .adsi-destaque-c { grid-area: destaque-c; }
.adsi-destaques-grelha-opcaob .adsi-destaque-d { grid-area: destaque-d; }
.adsi-destaques-grelha-opcaob .adsi-destaque-e { grid-area: destaque-e; }
    
.adsi-destaques-grelha-opcaob .adsi-destaque-image  { 
    display: grid
}
.adsi-destaques-grelha-opcaob .adsi-destaque-image .adsi-destaque-link {
    display: block;             /* garante que o link seja um box */
    width: 100%;                /* ou fixe o width que quiser */
    aspect-ratio: 16 / 9;       /* define proporção 16:9 */
    overflow: hidden;           /* esconde o que ultrapassar */
    position: relative;         /* para posicionar o img por cima */
}
.adsi-destaques-grelha-opcaob .adsi-destaque-image .adsi-destaque-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;          /* cobre todo o container sem distorcer */
    object-position: center;    /* centraliza o corte */
}
.adsi-destaques-grelha-opcaob .adsi-destaque-item {
    align-content: stretch;
    display: grid;
    background-color: #fff;
}
.adsi-destaques-grelha-opcaob .adsi-destaque-item .adsi-destaque-text {
    align-content: center
}
.adsi-destaques-grelha-opcaob .adsi-destaque-item .adsi-destaque-title {
    margin-bottom: 0
}
/*destaques opcao b - fim*/

/*destaques opcao c*/
.adsi-destaques-grelha-opcaoc .adsi-destaque-image  { 
    display: grid
}
.adsi-destaques-grelha-opcaoc .adsi-destaque-image .adsi-destaque-link {
    display: block;             /* garante que o link seja um box */
    width: 100%;                /* ou fixe o width que quiser */
    aspect-ratio: 16 / 9;       /* define proporção 16:9 */
    overflow: hidden;           /* esconde o que ultrapassar */
    position: relative;         /* para posicionar o img por cima */
}
.adsi-destaques-grelha-opcaoc .adsi-destaque-image .adsi-destaque-link img {
    width: 100%;
    height: 100%;
    object-fit: cover;          /* cobre todo o container sem distorcer */
    object-position: center;    /* centraliza o corte */
}
.adsi-destaques-grelha-opcaoc .adsi-destaque-item {
    align-content: stretch;
    display: grid;
    background-color: #fff;
}
.adsi-destaques-grelha-opcaoc .adsi-destaque-item .adsi-destaque-text {
    align-content: center
}
.adsi-destaques-grelha-opcaoc .adsi-destaque-item .adsi-destaque-title {
    margin-bottom: 0
}
/*destaques opcao c - fim*/

/*GRID FIVE*/
    .adsi-destaques-five {
        display: grid;
        grid-template-columns: repeat(4, 1fr); /* 4 colunas de igual largura */
        grid-template-rows: repeat(2, 1fr); /* 2 linhas de igual altura */
        gap: 10px; /* Espaço entre os itens da grelha */
    }
/*GRID FIVE - END*/

/*GRID*/
.adsi-destaques {  
        display: grid;        
        grid-auto-flow: row;             
    }
    
    .adsi-destaques-3 {  
        grid-template-columns: 3fr 2fr;
        grid-template-rows: 1fr 1fr;
        grid-template-areas:
            "destaque-a destaque-b"
            "destaque-a destaque-c";
    }
    
    .adsi-destaques-4 {  
        display: grid;
        grid-template-columns: repeat(2, 1fr); /* 2 columns */
        grid-template-rows: repeat(2, 1fr);    /* 2 rows */
        grid-template-areas: 
            "destaque-a destaque-b"
            "destaque-c destaque-d"; 
        gap: 30px; /* Optional: Adjust the gap between grid items */
    }

    /* Define the grid areas for each article */
    .adsi-destaques-4 .destaque-a { grid-area: destaque-a; }
    .adsi-destaques-4 .destaque-b { grid-area: destaque-b; }
    .adsi-destaques-4 .destaque-c { grid-area: destaque-c; }
    .adsi-destaques-4 .destaque-d { grid-area: destaque-d; }
    
    
    .adsi-destaques-4 .adsi-destaque-a,
    .adsi-destaques-4 .adsi-destaque-b,
    .adsi-destaques-4 .adsi-destaque-c,
    .adsi-destaques-4 .adsi-destaque-d {
        position: relative;
        
    }
    
    .adsi-destaques-4 .adsi-destaque-a .adsi-destaque-text,
    .adsi-destaques-4 .adsi-destaque-b .adsi-destaque-text,
    .adsi-destaques-4 .adsi-destaque-c .adsi-destaque-text,
    .adsi-destaques-4 .adsi-destaque-d .adsi-destaque-text {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 20px;
        min-height: 120px;
    }

    .adsi-destaques-5 {  
        grid-template-columns: repeat(6, 1fr); 
        grid-template-rows: 1fr 1fr; 
        grid-template-areas: 
            "destaque-a destaque-a destaque-a destaque-b destaque-b destaque-b"
            "destaque-c destaque-c destaque-d destaque-d destaque-e destaque-e"; 
    }                  
    
    .adsi-destaques-8 {  
        grid-template-columns: 1fr 1fr;   
        grid-template-areas: 
            "destaque-a destaque-b"
            "destaque-c destaque-d"
            "destaque-e destaque-f"
            "destaque-g destaque-h"; 
    }
    
   .adsi-destaques-8 {
        .adsi-destaque-c,
        .adsi-destaque-d,
        .adsi-destaque-e,
        .adsi-destaque-f,
        .adsi-destaque-g,
        .adsi-destaque-h {
            display: grid;
            grid-template-columns: 90px 1fr;
            gap: 30px;
            align-items: center;
        }
    }
    
    .adsi-destaques-8 .adsi-destaque-a,
    .adsi-destaques-8 .adsi-destaque-b {
        position: relative;
        
    }
    
    .adsi-destaques-8 .adsi-destaque-a .adsi-destaque-text,
    .adsi-destaques-8 .adsi-destaque-b .adsi-destaque-text {
        position: absolute;
        bottom: 0;
        width: 100%;
        padding: 20px;
        min-height: 120px;
    }
    
    .adsi-destaques-8 h3 {
        margin: 0
    }
    .adsi-destaques-8 .adsi-destaque-a .adsi-destaque-image a,
    .adsi-destaques-8 .adsi-destaque-b .adsi-destaque-image a {
        display: block;
        height: 300px;
        overflow: hidden;
    }

    .adsi-destaques-8 .adsi-destaque-a .adsi-destaque-image a img,
    .adsi-destaques-8 .adsi-destaque-b .adsi-destaque-image a img {
        object-fit: cover;
        height: 100%;
        width: 100%;
    }
    

    
    
    .adsi-destaque-f { grid-area: destaque-f; }
    .adsi-destaque-g { grid-area: destaque-g; }
    .adsi-destaque-h { grid-area: destaque-h; }
/*GRID - END*/

/*destaques*/
.adsi-destaque-link {
  display: block;           /* transforma em container de bloco */
  color: inherit;           /* herda cor do texto */
  text-decoration: none;    /* remove sublinhado */
  height: 100%;
}

.adsi-destaque-link:focus {
  outline: 3px solid Highlight;
  outline-offset: 2px;
}

.adsi-destaque-link:hover {
  /* opcional: adicionar um efeito de hover no card inteiro */
  background-color: rgba(0,0,0,0.05);
}

.adsi-destaque-link img {
    display: block;                /* Remove espaços indesejados */
    width: 100%;                   /* Adapta ao contêiner */
    height: auto;
    transition: transform 0.3s ease; /* Duração e curva de transição */
    transform-origin: center center; /* Origem do zoom */ 
}
.adsi-destaque-link:hover img {
     transform: scale(1.1);         /* Aumenta em 10% */
}

/*destaques - fim*/

/*DIRETORIO*/
.diretorio-single-image {
    max-height: 480px;
    overflow: hidden;
    display: flex;
    align-content: center
}
.diretorio-single-image img {
    object-fit: cover;
    min-width: 100%;
}
.adsi-diretorio-descricao {
    margin-bottom: 30px;
}
.cat-dir-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
    margin-bottom: 30px;
}
.cat-dir-grid-item .diretorio-caticon-wrapper {
  padding: 30px;
  display: flex;
  align-content: stretch;
  flex-flow: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  height: 100%;
}

.cat-dir-grid {
    display: grid;
    gap: 30px;   
}
.cat-dir-grid-item {
    border-radius: 5px;
}
.cat-dir-grid-item-txt {
    text-align: center
}
.cat-dir-grid-item-img {
    padding: 20px;
    display: flex;
    justify-content: center;
}
.cat-dir-grid-item-img img {
    max-height: 60px;
}

.diretorio-top-search {
  margin-bottom: 30px
}
.diretorio-top-search .adsi-dir-search-form ul {
  display: grid;
  margin: 0 !important;
  gap: 30px;
}
.adsi-dir-search-form ul li {
    padding: 0;
    list-style: none
}
.adsi-dir-search-form ul input, .adsi-dir-search-form ul select {
    width: 100% !important;
    display: flex;
    height: 50px;
    padding: 5px 10px !important;
    line-height: 100%;
    border-top: 0;
    border-left: 0;
    border-right: 0;
    border-radius: 5px;
}
.single-diretorio .post-thumb-img-content img {
    object-fit: cover;
    width: 100%;
    min-height: 100%;
}
/*DIRETORIO - END*/

/*FREGUESIAS*/
.freguesias-terms ul {
    display: inline-block;
    list-style: none;
    margin: 0;
}
/*FREGUESIAS - END*/

/*CONTENT NAVIGATION CONTROLS*/
.content-controls {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 20px;
    margin-bottom: 20px;
    justify-content: start;
    width: 100%;
    box-sizing: border-box;
}
.content-controls a {
    display: flex;
    justify-content: center;
    padding: 10px 20px;
    position: relative;
    background: #f4f4f4;
    border-radius: 5px;
}

.content-controls a::after {
    font-family: 'FontAwesome';
    font-size: 12px;
    color: #fff; /* Icon color */
    transition: color 0.3s ease;
    padding-left: 15px
}
.content-controls a.content-controls-inicio::after {
    content: "\f015"; /* FontAwesome arrow icon */
}
.content-controls a.content-controls-voltar::after {
    content: "\f060"; /* FontAwesome arrow icon */
}

.content-controls a:hover {
    cursor: pointer;
}
/*CONTENT NAVIGATION CONTROLS - FIM*/

/*core related documents*/
.core-related-documents ul {
    margin: 0;
}
.bo-simple-document {
  display: block;
  position: relative;      /* para posicionar o ::after */
  padding: 10px 35px 10px 15px;
  background: #f4f4f4;
  margin-bottom: 5px;
  text-decoration: none;   /* opcional, se for link */
  color: inherit;          /* opcional, herda cor do texto */
}

/* Ícone de download do FontAwesome após cada .bo-simple-document */
.bo-simple-document::after {
    content: "\f061";                    /* Unicode do fa-eye */
    font-family: "Font Awesome 6 Free";   /* ou "Font Awesome 5 Free" conforme a tua versão */
    font-weight: 900;                     /* solid icons usam peso 900 */
    position: absolute;
    right: 15px;                          /* alinha à direita, dentro do padding */
    top: 50%;
    transform: translateY(-50%);
    font-size: 1em;                       /* ajusta ao teu gosto */
    pointer-events: none;                 /* não interfere em cliques */
}

/*core related documents - fim*/

/*SIDEBAR*/
/*executivo - details*/
.core-sidebar-picture {
    margin-bottom: 30px
}
.core-sidebar-picture img {
    width: 100%;
}
/*SIDEBAR - FIM*/

/*SIDEBAR SEARCH*/
.sidebar-search form {
    padding: 30px;
    background: #f4f4f4;
    border-radius: 3px
}
.sidebar-search form li {
    padding: 0;
    margin-bottom: 5px !important
}
.sidebar-search form input, .sidebar-search form select {
    width: 100%;
    height: 42px;
    line-height: 100%;
    padding: 5px 15px;
    margin-bottom: 10px;    
}
.sidebar-search form button {
    margin-top: 5px;
    line-height: 100%;
    padding-right: 40px;
    position: relative;
}
.sidebar-search form button::after {
    content: "\f002"; /* FontAwesome arrow icon */
    font-family: 'FontAwesome';
    margin-right: 8px;
    font-size: 12px;
    color: #fff; /* Icon color */
    position: absolute;
    right: 10px
}
/*SIDEBAR SEARCH - FIM*/

/*SUBNACEGACAO DE PAGINAS*/
.adsi-subnav-grid {
    margin: auto
}
.adsi-subnav-grid > ul {
    display: grid;
    margin: 0;
    gap: 20px;
    align-items: center;
    grid-auto-rows: 1fr;
    padding: 0;
    align-items: stretch;
}
.adsi-subnav-grid > ul li {
    list-style: none;
}
.adsi-subnav-grid > ul li a {
    text-align: center;
    display: flex;
    justify-content: center;
    padding: 20px;
    border-radius: 5px;
    background: #f4f4f4;
    align-content: center;
    align-items: center;
    height: 100%;
}
.adsi-subnav-grid .current_page_item {
    border-bottom: 5px #ddd solid;
}

ul#page-subnavigation-services {
  padding: 0;  
}
/*SUBNACEGACAO DE PAGINAS - FIM*/

/*sidebar picture*/
.custom-sidebar-picture {
    margin-bottom: 30px;
}
/*sidebar picture - end*/

/*SIDEBAR*/
.main-content-wrapper.main-content-wrapper-sidebar-left {
    flex-direction: row;  
}
.main-content-wrapper.main-content-wrapper-sidebar-right {
    flex-direction: row-reverse;  
}
/*SIDEBAR - FIM*/

/* SIDEBAR MENU */
/* General menu styling */
.sidebar-menu {
    list-style-type: none;
    padding: 0;
    margin: 0;
}

/* Style for main menu items */
.sidebar-menu .menu-item {
    margin-bottom: 6px !important;
}

.sidebar-menu .menu-item:first-of-type {
    border: none;
}



.sidebar-menu .menu-item > a {
    text-decoration: none;
    color: #222;
    display: flex;
    width: 100%;
    align-items: center;
    padding: 7px 30px;
    background-color: #f4f4f4;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease;
    position: relative
}

.sidebar-menu .menu-item > a::after {
    content: "\f105"; /* FontAwesome arrow icon */
    font-family: 'FontAwesome';
    margin-right: 8px;
    font-size: 12px;
    color: #888; /* Icon color */
    transition: color 0.3s ease;
    position: absolute;
    right: 0
}

.sidebar-menu .menu-item > a:hover {
    background-color: #e0e0e0;
    color: #222;
}

.sidebar-menu .menu-item > a:hover::before {
    color: #333;
}

/* Hide all submenus by default */
.sidebar-menu .sub-menu {
    display: none;
    margin-top: 6px;
    padding-left: 15px;
    list-style-type: none;
    margin-left: 0;
}

/* Show submenus for the active item and ancestors of an active item */
.sidebar-menu .current-menu-item > .sub-menu,
.sidebar-menu .current-menu-ancestor > .sub-menu {
    display: block;
    border-left: 1px #ddd solid;
}

/* Style for submenu links */
.sidebar-menu .sub-menu .menu-item > a {
    background-color: #f1f1f1;
    color: #222;
    padding-left: 20px;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease;
}

.sidebar-menu .sub-menu .current-menu-item > a, 
.sidebar-menu .sub-menu .current-menu-ancestor > a {
    background-color: #ddd;
}

/* FontAwesome icon styling for submenu items */
.sidebar-menu .sub-menu .menu-item > a::after {
    content: "\f105"; /* FontAwesome arrow icon */
    font-family: 'FontAwesome';
    margin-right: 6px;
    font-size: 10px;
    color: #aaa; /* Submenu icon color */
    transition: color 0.3s ease;
}

/* Hover effect for submenu links */
.sidebar-menu .sub-menu .menu-item > a:hover {
    background-color: #ddd;
    color: #444;
}

.sidebar-menu .sub-menu .menu-item > a:hover::before {
    color: #666;
}

/* Indent for nested submenu items */
.sidebar-menu .sub-menu .sub-menu .menu-item > a {
    padding-left: 30px;    
}

.sidebar-menu .sub-menu .sub-menu .menu-item > a:hover {
    background-color: #ddd;
}

/*sidebar menu with image*/
 .sidebar-menu-with-image .menu-item {
    display: flex;
    align-items: center;
    margin-bottom: 10px;
}

.sidebar-menu-with-image .post-thumbnail-container {
    margin-right: 10px;
}

.sidebar-menu-with-image .post-thumbnail {
    width: 50px; /* Adjust as needed */
    height: auto;
}

.sidebar-menu-with-image .post-title {
    font-size: 16px;
}


/*sidebar menu with image -fim*/
/* SIDEBAR MENU - END */

/*freguesias*/
.freguesia-wrapper {
    width: 100%;
}
.adsi-freguesias-grid {
    display: grid;
    gap: 30px
}
.adsi-freguesias-grid-item {
    text-align: center;
    background: #f4f4f4;
    border-radius: 5px
}

.fre-repeater-row {
    display: grid;
    grid-template-columns: 140px 1fr auto;
    gap: 10px;
    border-bottom: 1px #ddd solid;
    border-top: 1px #ddd solid;
    margin-top: -1px;
}
.fre-repeater-row > div {
    padding: 5px 0;
}
.fre-row {
    margin-bottom: 20px;
}

.freguesia-wrapper h3 {
    margin-bottom: 10px;
}
.fre-imagem {
    padding: 30px;
    border: 1px #ddd solid;
    border-radius: 5px;
    margin-bottom: 30px;
    text-align: center
}
.fre-row > span {
    font-weight: bold;
}
.fre-archive-imagem {
    padding: 30px 50px 20px 50px;
}
/*freguesias - fim*/

/*reunioes*/
.reuniao-archive-item {
    background: #fff;
    margin-bottom: 15px;
}
.reuniao-archive-item a {
    display: block;
}
.reuniao-archive-item img {
    width: 100%
}
.reuniao-archive-item-inside {
    display: grid;
    gap: 30px;
    align-items: center;
    padding: 20px
}
.reu-row {
    margin-bottom: 30px
}
/*reunioes - fim*/

/*widgets*/
.widget_title { 
    padding: 10px 20px;
    margin-bottom: 5px;
    background: #333;
    color: #fff;
    border-radius: 3px;
    font-size: 1.2rem;
}
/*widgets - fim*/

/*youtube slider*/
/* Slide base */
.ytbslider {
    margin-bottom: 30px
}
.ytbslider .splide__slide {
  position: relative;
  padding-top: 56.25%;
  background: #000;
  overflow: hidden;
  border-radius: 12px;
}

/* Thumbnail como cover */
.ytbslider .ytb-cover {
  position: absolute;
  top: 0; left: 0;
  width: 100%; height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}

.ytbslider .ytb-thumb {
  position: absolute;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 12px;
}

/* Degradé nas laterais */
.ytbslider .ytb-overlay::before {
  content: "";
  position: absolute;
  top: 0; bottom: 0; left: 0; right: 0;
  pointer-events: none;
  z-index: 1;
  background: radial-gradient(circle, transparent 40%, rgba(0,0,0,0.6));
}


/* Overlay para conteúdo */
.ytbslider .ytb-overlay {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  color: #fff;
  text-align: center;
  pointer-events: none;
}

/* Ícone de play */
.ytbslider .ytb-play-icon {
  font-size: 4rem;
  pointer-events: none;
  text-shadow: 0 2px 5px rgba(0,0,0,0.5);
}

/* Legenda abaixo do play */
.ytbslider .ytv-caption {
    margin-top: 160px;
    max-width: 90%;
    font-size: 1.1rem;
    font-weight: 500;
}
.ytbslider .splide__video__play {
    border-radius: 150px;
    padding: 36px;
    background-color: #ffffff;
}

/* Esconde a cover quando o iframe aparece */
.ytbslider .splide__slide.has-video video,
.ytbslider .splide__slide.has-video iframe {
  position: absolute;
  top: 0; left: 0;
  width: 100%;
  height: 100%;
  border: none;
  z-index: 3;
}

/* Oculta a capa e legenda quando o vídeo está a tocar */
.ytbslider.is-playing .ytb-cover {
  display: none;
}


/* Capa com animação */
.ytbslider .ytb-cover {
  opacity: 1;
  transition: opacity 0.5s ease, visibility 0.5s ease;
  visibility: visible;
}

/* Quando o vídeo está a tocar (via Splide), a capa desaparece com fade */
.ytbslider.is-playing .ytb-cover {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

/*youtube slider - fim*/

/*sliders*/
.my-carousel-progress-bar {
    background: greenyellow;
    height: 2px;
    transition: width 400ms ease;
    width: 0;
}
.adsi-slide-item {
    position: relative;
    box-sizing: border-box;
}
.adsi-slide-item-caption-container {
    height: 100%;
}
.adsi-slide-item-caption.adsi-slide-item-caption-fundo {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    z-index: 1;
    background: rgba(255,255,255,0.6);
    padding: 70px;
    text-align: center
}
.adsi-slide-item-caption.adsi-slide-item-caption-lateral .adsi-slide-item-caption-overlay {
    width: 50%;
    background: #fff;
    padding: 50px;
}
.adsi-slide-item-caption.adsi-slide-item-caption-lateral {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.adsi-slide-item-caption.adsi-slide-item-caption-lateral_center {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 50%;
    height: 100%;
    padding: 50px;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
}
.adsi-slide-item-caption.adsi-slide-item-caption-centro {
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 50px;
    z-index: 1;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
}

.adsi-slide-item-img img {
    width: 100%;
    min-height: 100%;
    object-fit: cover;
    object-position: center;
}

.splide__video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: flex;
    flex-flow: column;
    align-content: center;
    justify-content: center;
    flex-wrap: wrap;
}   
.splide__video__wrapper {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}
.splide__video__wrapper iframe {
    width: 100%;
    height: 100%; 
}
.splide__video__play:after {
    transition: border-left-color .2s ease;
    border-color: #0000 #0000 #0000 #000;
    border-left-color: rgb(0, 0, 0);
    border-left-color: rgb(0, 0, 0);
    border-style: solid;
    border-width: 13px 0 13px 25px;
    content: "";
    display: inline-block;
    margin-left: 4px;
}
.splide__video__play {
    border-radius: 150px;
    padding: 20px;
    background-color: #ffffff
}
.splide__pagination {
    padding: 0 !important
}

.adsi-slide-item-video {
    background-size: cover; 
    background-position: center center;
}

.adsi-slide-item-content {
    position: relative
}
            
.msld-global-logo {
    position: absolute;
}

.msld-global-logo-fundo_direita {
    right: 50px;
    bottom: 50px;
}

.slide-scroll-down {
    font-size: 30px;
    z-index: 9999999;
    display: block;
    position: absolute;
    bottom: 100px;
    left: 50%;    
}

.splide__arrow {
  background: transparent;
}

.acore-slides .video-background {
    z-index: -1;
}

.acore-slides .video-foreground {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    display: flex;
    align-items: center;
    justify-content: center;
    /* tamanho base: preenche todo o contêiner */
    width: 100%;
    height: 100%;
}

/* vídeo/imbed não recebe clique, mas o wrapper sim */
.acore-slides .video-foreground iframe,
.acore-slides .video-foreground video {
    pointer-events: none;
}

/* COVER: preenche todo, cortando onde necessário */
.acore-slides .video-background.video-cover .video-foreground iframe,
.acore-slides .video-background.video-cover .video-foreground video {
    object-fit: cover;
    width: 100%;
    height: 100%;
}

/* — CONTAIN deixa o container “solto” e usa max-width/max-height — */
.acore-slides .video-background.video-contain .video-foreground {
    width: auto;
    height: auto;
    max-width: 100vw;
    max-height: 100vh;
}

/* object-fit continua igual: */
.acore-slides .video-background.video-contain .video-foreground iframe,
.acore-slides .video-background.video-contain .video-foreground video {
    object-fit: contain;
}


/* — COVER mantém as media-queries para full-screen crop — */
@media (min-aspect-ratio:16/9) {
  .acore-slides .video-background.video-cover .video-foreground {
    width:100vw;
    height:56.25vw;
  }
}
@media (max-aspect-ratio:16/9) {
  .acore-slides .video-background.video-cover .video-foreground {
    width:177.77vh;
    height:100vh;
  }
}


/* se precisares, adapta o parent li a position:relative */
.splide__slide.adsi-slide-item {
  position: relative;
}

/*sliders - fim*/

/*core gallery splide*/
.core-gallery-splide .splide__slide {
    position: relative;
    overflow: hidden;
  }
.core-gallery-splide .splide__slide img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
  }
/*core gallery splide - end*/

/*default buttons*/
.ac-primary-btn-wrapper {
    display: flex;
    align-items: center
}
.ac-primary-btn {
    display: flex;
    width: 100%;
    border: 5px #30554d solid;
    border-radius: 5px;
    padding: 10px 15px;
}
.ac-secondary-btn {
    display: flex;
    width: 100%;
    border: none;
    border-radius: 0px;
    padding: 10px 15px;
}
/*default buttons - fim*/
/*ticker*/
.ticker-wrapper {
    background: #222;
    
}
#avisosTicker {
    max-width: 1320px;
    margin: auto;
}
/* Aplica o separador a todos os <li> exceto o último */
.bn-news ul li:not(:last-child)::after {
  font-family: "Font Awesome 5 Free"; /* ou outra família de icon font */
  content: "\f192";                   /* código do ícone “circle” */
  font-weight: 900;                   /* necessário para FA5 */
  margin: 0 0.75em;                   /* espaçamento à esquerda e direita */
  color: #666;                        /* cor do separador */
  display: inline-block;
}

/*ticker - fim*/
/*lightbox*/
.gslide-image img {
    max-width: 86%; /* ou 800px, por exemplo */
    max-height: 86vh;
    object-fit: contain;
    margin: auto;
}

/*lightbox - fim*/
/*executivo - details*/
.executivo-sidebar-picture {
    margin-bottom: 30px
}
.executivo-sidebar-picture img {
    width: 100%;
}
.executivo-details-row {
    display: grid;
    grid-template-columns: 200px 1fr;
}
/*executivo - details - fim*/
/*custom loops - executivo*/
.executivo-archive-item {
    display: grid;
    grid-template-columns: 1fr 2fr; /* Image takes 1 fraction, Title takes 2 fractions */
    gap: 20px; /* Space between image and title */
    margin-bottom: 20px;
    align-items: stretch; /* Vertically align content */
    width: 100%;
}

.executivo-archive-item .executivo-archive-image a {
    display: block; /* Makes the image area a block-level link */
    text-decoration: none; /* Removes default link styling */
}

.executivo-archive-item .executivo-archive-image img {
    width: 100%;
    height: auto;
    object-fit: cover;
}

.executivo-archive-item a:hover {
    opacity: 0.8; /* Visual cue for hover interaction */
}
.executivo-archive-title {
    display: flex;
    align-content: center;
    flex-flow: column;
    justify-content: center;
    padding: 20px;
}
/*custom loops - executivo - fim*/

/*freguesias*/
.freguesia-archive-item-inside {
    padding: 30px;
    background: #fff;
}
.freguesia-archive-title h2 {
    font-size: 1.5em;
    margin-top: 15px;
    text-align: center;   
}
/*freguesias - fim*/

/*mediacenter*/
.mediacenter-archive-item-inside {
    padding: 30px;
    background: #fff;
}
.mediacenter-archive-title h2 {
    font-size: 1.5em;
    margin-top: 15px;
    text-align: center;
}
.mc-galeria-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* ajustável */
    gap: 1rem;
}

.mc-galeria-item {
    display: flex;
    flex-direction: column;
}

.mc-galeria-thumb {
    position: relative;
    width: 100%;
    padding-top: 100%; /* 1:1 ratio */
    overflow: hidden;
    border-radius: 8px;
}

.mc-galeria-thumb img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.mc-galeria-item figcaption {
    margin-top: 0.5rem;
    text-align: center;
    font-size: 0.9rem;
    color: #333;
}
/*medaicenter - fim*/


/* usearch - start */
.usearch {
  width: 100%;
  display: grid;
  gap: 12px;
}

/* Layout variants */
.usearch.usearch--inline {
  align-items: end;
  grid-template-columns: 1fr auto;
}
.usearch.usearch--sidebar {
  grid-template-columns: 1fr;
}

/* Base form elements */
.usearch label {
  display: block;
  font-size: 0.9rem;
  margin-bottom: 6px;
}
.usearch input[type="text"],
.usearch input[type="search"],
.usearch select {
  width: 100%;
  padding: 10px 12px;
  font-size: 1rem;
  line-height: 1.4;
  border-radius: 6px;
  border: 1px solid #d6d6d6;
  background: #fff;
  transition: border-color .2s, box-shadow .2s;
}
.usearch button[type="submit"] {
  padding: 10px 16px;
  font-size: 1rem;
  border-radius: 5px;
  background: #0d6efd;
  color: #fff;
  cursor: pointer;
}
.usearch button[type="submit"]:hover {
  background: #0b5ed7;
  border-color: #0b5ed7;
}

/* Classic design */
.usearch.usearch--classic input[type="text"],
.usearch.usearch--classic input[type="search"],
.usearch.usearch--classic select {
  box-shadow: inset 0 1px 2px rgba(0,0,0,0.04);
}
.usearch.usearch--classic input:focus,
.usearch.usearch--classic select:focus {
  outline: none;
  border-color: #86b7fe;
  box-shadow: 0 0 0 .2rem rgba(13,110,253,.25);
}

/* Material-ish design */
/* Material styling aligned with diretorio */
.usearch.usearch--material label { font-size: 0.9rem; color: #6b7280; font-weight: 600; }
.usearch.usearch--material input[type="text"],
.usearch.usearch--material input[type="search"],
.usearch.usearch--material select {
  border: 1.5px solid rgba(0,0,0,0.28);
  border-radius: 5px;
  padding: 12px 14px;
  background: #fff;
  appearance: none;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.usearch.usearch--material select {
  background-image: linear-gradient(45deg, transparent 50%, #6b7280 50%), linear-gradient(135deg, #6b7280 50%, transparent 50%);
  background-position: calc(100% - 18px) calc(1em + 2px), calc(100% - 12px) calc(1em + 2px);
  background-size: 6px 6px, 6px 6px;
  background-repeat: no-repeat;
}
.usearch.usearch--material input:focus,
.usearch.usearch--material select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}
.usearch.usearch--material button[type="submit"] {
  border-radius: 5px;
  padding: 14px 18px;
  background: #2563eb;
  transition: all .2s linear;
}
.usearch.usearch--material button[type="submit"]:hover {
  filter: brightness(0.95);
  box-shadow: 0 4px 10px rgba(37,99,235,0.3);
}

/* Material container panel (matches diretorio-search base) */
.usearch.usearch--material {
  padding: 30px;
  background: #fff;
  border-radius: 5px;
  border: 1px #ddd solid;
}

/* Sidebar (stacked) spacing for material */
.usearch.usearch--material.usearch--sidebar > div { margin-bottom: 12px; }

/* Material floating label input (md-input) */
.usearch.usearch--material .md-input { position: relative; }
.usearch.usearch--material .md-input input[type="search"] {
  width: 100%;
  border: 1.5px solid rgba(0,0,0,0.28);
  border-radius: 8px;
  padding: 18px 14px 10px; /* extra top to make room for floating label */
  background: #fff;
  font-size: 1rem;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.usearch.usearch--material .md-input input[type="search"]:focus {
  outline: none;
  border-color: #2563eb; /* primary */
  box-shadow: 0 0 0 3px rgba(37,99,235,0.15);
}
.usearch.usearch--material .md-input label {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  background: #fff;
  padding: 0 4px;
  color: #6b7280; /* slate-500 */
  pointer-events: none;
  transition: all .15s ease;
}
.usearch.usearch--material .md-input input[type="search"]:focus + label,
.usearch.usearch--material .md-input input[type="search"]:not(:placeholder-shown) + label {
  top: 8px;
  transform: none;
  font-size: 12px;
  color: #2563eb;
}

/* Material outlined select with anchored label (md-select) */
.usearch.usearch--material .md-select { position: relative; }
.usearch.usearch--material .md-select label {
  position: absolute;
  left: 12px;
  top: -7px;
  padding: 0 6px;
  font-size: 12px;
  background: #fff;
  color: #6b7280;
  line-height: 120%;
}

/* Inline layout: match diretorio flex behavior for material */
.usearch.usearch--material.usearch--inline {
    display: grid;
    gap: 15px;  
    grid-template-columns: 1fr;
}
.usearch.usearch--material.usearch--inline > div { flex: 1 1 220px; }
.usearch.usearch--material.usearch--inline > div:first-child { flex: 2 1 320px; }
.usearch.usearch--material.usearch--inline button[type="submit"] { height: 100%; }
@media (max-width: 640px) {
  .usearch.usearch--material.usearch--inline > div { flex-basis: 100%; min-width: 100%; }
}

/* Grouping spacing for inline layout */
.usearch.usearch--inline > div,
.usearch.usearch--inline > button,
.usearch.usearch--inline > select,
.usearch.usearch--inline > input {
  margin: 0;
}

/* Sidebar compact tweaks */
.usearch.usearch--sidebar select,
.usearch.usearch--sidebar input[type="text"],
.usearch.usearch--sidebar input[type="search"] {
  min-height: 40px;
}
/* usearch - end */

/*custom loops - search*/
.search-result-item {
      
    margin-bottom: 20px;
    width: 100%;
}

.search-result-item .search-result-image a {
    display: block; /* Makes the image area a block-level link */
    text-decoration: none; /* Removes default link styling */
    height: 100%;
}

.search-result-item .search-result-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    
}

.search-result-item a:hover {
    opacity: 0.8; /* Visual cue for hover interaction */
}
.search-result-content {
    display: flex;
    align-content: center;
    flex-flow: column;
    justify-content: center;
    padding: 20px 30px;
}
.search-result-content h2 {
    font-size: 1.5em
}
/*custom loops - search - fim*/

/*search results page*/
.custom-search-results-wrapper {
    display: flex;
}
.custom-search-results {
    width: 100%
}
.custom-search-results .pagination {
    text-align: center;
}
/*search results page - fim*/



/* Responsive adjustments */
@media (max-width: 1024px) {
    .usearch.usearch--material.usearch--inline {
        flex-wrap: wrap;
    }
    /*destaques opcao a*/
    .adsi-destaques.adsi-destaques-grelha-opcaoa {
        grid-template-columns: repeat(4, 1fr);  
        grid-template-areas: 
            "destaque-a destaque-a destaque-a destaque-a"
            "destaque-b destaque-b destaque-c destaque-c"
            "destaque-d destaque-d destaque-e destaque-e"; 
        grid-auto-rows: auto;
        gap: 30px;
    }
    /*destaques opcao a - fim*/

    /*destaques opcao b*/
    .adsi-destaques.adsi-destaques-grelha-opcaob {
        grid-template-columns: repeat(4, 1fr);  
        grid-template-areas: 
            "destaque-a destaque-a destaque-a destaque-a"
            "destaque-b destaque-b destaque-c destaque-c"
            "destaque-d destaque-d destaque-e destaque-e"; 
        grid-auto-rows: auto;
        gap: 30px;
    }
    /*destaques opcao b - fim*/
}

@media (max-width: 768px) {
    /*destaques opcao a*/
    .adsi-destaques.adsi-destaques-grelha-opcaoa {
        grid-template-columns: repeat(1, 1fr);  
        grid-template-areas: 
            "destaque-a"
            "destaque-b"
            "destaque-c" 
            "destaque-d" 
            "destaque-e"; 
        grid-auto-rows: auto;
        gap: 30px;
    }
    /*destaques opcao a - fim*/

    /*destaques opcao b*/
    .adsi-destaques.adsi-destaques-grelha-opcaob {
        grid-template-columns: repeat(1, 1fr);  
        grid-template-areas: 
            "destaque-a"
            "destaque-b"
            "destaque-c" 
            "destaque-d" 
            "destaque-e"; 
        grid-auto-rows: auto;
        gap: 30px;
    }
    /*destaques opcao a - fim*/
    
    .adsi-destaques {
        grid-template-columns: 1fr; /* Single column layout on smaller screens */
        gap: 20px; /* Adjust gap for smaller screens */
    }
    .adsi-destaque-first .adsi-destaque-image img {
        height: auto; /* Adjust image height to auto on small screens */
       
    }
}
/*MODULO DE DESTAQUES - FIM*/

/*bootstrap*/
/* Main Container */
.main-content-wrapper {
    display: flex;
    flex-direction: column;
    max-width: 1200px;
    width: 100%;
    margin: 0 auto;
    gap: 50px;
    padding: 50px 0;
    box-sizing: border-box;
}

/* Responsive Layout */
@media (min-width: 768px) {
    .usearch.usearch--material.usearch--inline {
        grid-template-columns: 1fr 1fr;
    }
    
    /*balcao online*/
    
    .borec-item-doc-complete {
        grid-template-columns: 1fr 150px;
    }
    .borec-item-doc-right {
        flex-flow: column;
        gap: 5px;
    }
    
    /*balcao online - fim*/
    
    .main-content-wrapper {
        flex-direction: row;
    }
    .main-sidebar {
        flex: 1; /* 1/3 */
        margin-bottom: 0;
    }
    .main-content {
        flex: 2; /* 2/3 */
    }
}

/* Larger Screens Adjustments */
@media (min-width: 992px) {
    
    .bo-duas-colunas-grid {        
        grid-template-columns: 1fr 1fr;
    }
    
    /*reunioes*/
    .reuniao-archive-item-inside {
        grid-template-columns: 1fr 3fr;        
    }
    /*reunioes - fim*/
    
    .adsi-slide-item-caption.adsi-slide-item-caption-fundo {
        text-align: left
    }
}

/* Larger Screens Adjustments */


@media (min-width: 1024px) {

    
    /* Custom Archive Pages - layout base */
    .custom-archive-page {
        display: grid;
        gap: 3rem; /* 48px é mais acessível que 50px e mantém consistência com sistemas de grid */
    }

    /* Arquivo de serviços - Layouts responsivos com diferentes colunas */
    .custom-archive-page.core-cols-2 {
        grid-template-columns: repeat(2, 1fr);
    }

    .custom-archive-page.core-cols-3 {
        grid-template-columns: repeat(3, 1fr);
    }

    .custom-archive-page.core-cols-4 {
        grid-template-columns: repeat(4, 1fr);
    }

    /*archive pages*/
    .freguesias-archive-page, .mediacenter-archive-page {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 50px;
    }
    /*archive pages - fim*/

    /*mediacenter*/
    .mc-galeria-grid {
        display: grid;
        grid-template-columns: 1fr 1fr 1fr;
        gap: 30px;
    }

}

@media (min-width: 1280px) {
    .usearch.usearch--material.usearch--inline {
        grid-template-columns: 1fr 1fr 1fr auto;
    }

    .main-content-wrapper {
        max-width: 1320px;
    }
}
/*bootstrap - end*/

/* CORE PAGINATION (inspired by Astra) */
/* Works with WP core markup: .navigation.pagination > .nav-links > .page-numbers */
.navigation.pagination {
    display: inline-block;
    width: 100%;
    padding-top: 2em;
    text-align: center;
}
.navigation.pagination .nav-links {
    display: inline-block;
    width: 100%;
}
.navigation.pagination .page-numbers {
    display: inline-block;
    width: auto;
    min-width: 40px;
    min-height: 40px;
    line-height: 40px;
    font-size: 16px;
    font-weight: 500;
    color: var(--ast-global-color-2, inherit);
}
.navigation.pagination a.page-numbers,
.nav-links a.page-numbers {
    color: var(--ast-global-color-2, inherit);
}
.navigation.pagination a.page-numbers:hover,
.navigation.pagination a.page-numbers:focus,
.navigation.pagination > .page-numbers:hover:not(.dots),
.navigation.pagination > .page-numbers.current {
    color: var(--ast-global-color-1, inherit);
}
.navigation.pagination .prev.page-numbers,
.navigation.pagination .next.page-numbers {
    padding: 0 1.5em;
    height: 40px;
    line-height: 40px;
}
.navigation.pagination .prev.page-numbers { float: left; }
.navigation.pagination .next.page-numbers { float: right; }

/* Default shape adjustments similar to Astra */
.ast-pagination-default .post-page-numbers.current .page-link,
.ast-pagination-default .navigation.pagination .page-numbers.current {
    border-radius: 2px;
}

/* Icon sizing alignment for potential SVG arrows */
.navigation.pagination .prev svg,
.navigation.pagination .next svg {
    height: 16px;
    position: relative;
    top: 0.2em;
}
.navigation.pagination .prev svg { margin-right: 0.3em; }
.navigation.pagination .next svg { margin-left: 0.3em; }

/* Responsive tweaks */
@media (max-width: 544px) {
    .navigation.pagination .next:focus,
    .navigation.pagination .prev:focus {
        width: 100% !important;
    }
}
@media (max-width: 420px) {
    .navigation.pagination .prev.page-numbers,
    .navigation.pagination .next.page-numbers {
        width: 100%;
        text-align: center;
        margin: 0;
    }
    .navigation.pagination .next.page-numbers { margin-top: 10px; }
    .navigation.pagination .prev.page-numbers { margin-bottom: 10px; }
}

/* ===== Splide preloader ===== */
.core-gallery-splide { position: relative; }
.core-gallery-splide.is-loading .splide-preloader { opacity: 1; pointer-events: auto; }
.splide-preloader {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  background: rgba(255,255,255,0.85);
  transition: opacity .2s ease;
  opacity: 0;
  pointer-events: none;
  z-index: 2;
}
.splide-preloader .spinner {
  width: 28px;
  height: 28px;
  border: 3px solid #d1d5db; /* gray-300 */
  border-top-color: #2563eb;  /* primary */
  border-radius: 50%;
  animation: adsi-spin .8s linear infinite;
}
@keyframes adsi-spin { to { transform: rotate(360deg); } }
/* Screen-reader only utility */
.sr-only {
  position: absolute;
  width: 1px; height: 1px;
  padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0,0,0,0);
  white-space: nowrap; border: 0;
}
