﻿/*

Theme Name:     O Meu Tema

Theme URI:      http://www.adsi.pt

Description:    Child theme for the Enfold theme 

Author:         Jose Daniel

Author URI:     http://www.adsi.pt

Template:       enfold

Version:        1.0

*/
a {
    font-weight: bold !important;
}
strong, b {
    color: inherit !important;
}
.phone-info div {
    font-size: 16px !important
}
/* Acessibilidade - Tamanho mínimo de toque para ícones sociais na top bar */
@media only screen and (min-width: 991px) {
    .html_header_top.html_header_sticky #top #wrap_all #main {
        padding-top: 124px !important;
    }
}
#header_meta {
  min-height: 44px;
}
#top .social_bookmarks {
    height: 44px;
}
#top .social_bookmarks li {
    width: 44px;;
}
.phone-info {
    line-height: 32px;
}
#header_meta .social_bookmarks li a {
    min-width: 44px;
    min-height: 44px;
    display: flex;
    align-items: center;
    justify-content: center;
}

/* Splide (usado em vários módulos: destaques, galerias, notícias,
   quicklinks, ...): os pontos de paginação vêm da biblioteca com um
   tamanho bem abaixo do mínimo de 44x44px (WCAG 2.5.5/2.5.8). Aumenta-se a
   caixa real do botão — uma área de clique invisível sobreposta (ex.: um
   ::before só com position:absolute) não é detetada por ferramentas de
   auditoria nem é visível/confirmável, porque o próprio elemento continua
   pequeno. Em vez de alterar a cor (definida por cada módulo, ex.
   destaques.css), usa-se padding + background-clip:content-box para que o
   fundo de cor continue a preencher só o ponto visual pequeno, dentro de
   uma caixa clicável de 44x44px. */
.splide__pagination__page {
    box-sizing: border-box !important;
    width: 44px !important;
    height: 44px !important;
    padding: 18px !important;
    background-clip: content-box !important;
    border-radius: 50% !important;
}

.template-page .entry-content-wrapper h1, .template-page .entry-content-wrapper h2 {
  text-transform: none !important;
  letter-spacing: normal !important;
}

:root {
    --ae-hdr-title-color: #000;
    --core-color-primary: #1d5524;
    --core-color-white: #fff;
}

/* The Events Calendar (tribe-common): tamanho mínimo de texto legível
   (WCAG 1.4.4) — sobrepor as variáveis em vez de perseguir seletores, ver
   skill adsi-acessibilidade secção 7.1. Default do plugin: 11px / 12px /
   14px / 16px. */
:root {
    --tec-font-size-0: 1rem !important;
    --tec-font-size-1: 1rem !important;
    --tec-font-size-2: 1rem !important;
    --tec-font-size-3: 1rem !important;
}

/* Complianz (cookiebanner + manage-consent-container): tamanho mínimo de
   texto legível (WCAG 1.4.4) — mesmo padrão acima, sobrepor as variáveis
   CSS do plugin em vez de perseguir seletores (ficheiro gerado por banner
   em wp-content/uploads/complianz/css/banner-*.css). Defaults do plugin:
   título do banner 15px, texto/links/corpo da categoria 12px, título da
   categoria 14px, "sempre ativo" 12px, texto dos botões 15px. */
:root {
    --cmplz_title_font_size: 1rem !important;
    --cmplz_text_font_size: 1rem !important;
    --cmplz_link_font_size: 1rem !important;
    --cmplz_category_body_font_size: 1rem !important;
    --cmplz_category_header_title_font_size: 1rem !important;
    --cmplz_category_header_active_font_size: 1rem !important;
    --cmplz_button_font_size: 1rem !important;
}

/* Enfold (postslider.css, core do tema pai): data do slider de posts
   abaixo do mínimo legível (0.9em). Não editar o tema pai — sobrepor aqui. */
.avia-content-slider .slide-meta div,
.avia-content-slider .slide-meta time {
    font-size: 1rem !important;
}

/* The Events Calendar: anula o clip/position:absolute que o plugin aplica
   por omissão ao label do campo de pesquisa da barra de eventos — o JS em
   adsi_tribe_events_bar_a11y_fix (functions.php) move este <label> para
   fora do wrapper do campo e adiciona esta classe. Mesma técnica usada em
   cm-arganil.pt (mesma stack ADSI). */
.adsi-tribe-search-label-visible {
    display: block !important;
    position: static !important;
    clip: auto !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    border: 0;
    margin: 0 0 4px !important;
    padding: 0;
    font-size: 1rem;
    font-weight: 600;
    color: var(--core-color-primary);
}
/*ADSI EVENTOS*/

.ae-archive-header__media .ae-archive-header__title {
  color: #000;
}

.post-type-adsi_eventos .ae-wrapper {
    background-color: #f6fffb;
}

.eventos-top-search.eventos-search .md-input label {
    z-index: 9;
}

.eventos-top-search.eventos-search fieldset,  .eventos-top-search.eventos-search form {
    margin-bottom: 0 !important;
}

/*ADSI EVENTOS - FIM*/  

/*CORETITLES*/

.core-h2-title {
    font-size: 1.4em !important;
    text-transform: none !important
}

/*CORETITLES - FIM*/

/*DESTAQUES*/

.destaque-card__body {
    background: #f9f9f9;
}

/*DESTAQUES - FIM*/

/*QUICKLINKS*/

.entry-content-wrapper .quicklinks-slider li {
  margin-left: 0;
  padding: 0;
}

/*QUICKLINKS - FIM*/

/*FOOTER*/

#footer .widgettitle {
    margin-top: 0 !important;
}

.freguesias-footer {
    text-align: center;
}

.freguesias-footer img {
    height: 180px;
}

/*FOOTER*/

/*EVENTS*/

.av-upcoming-event-meta {
    line-height: 100%;
}

/*EVENTS*/

/*BALCAO-ONLINE*/

/*.bo-input.button {
    width: 100%;
}

.bo-barra-de-pesquisa {
    width: 100%;
    float: left;
    clear: both;
    padding: 20px 0;
    margin: 20px 0;
    border-top: 1px #ddd dotted;  
    border-bottom: 1px #ddd dotted;  
}

.bo-barra-de-pesquisa form, .bo-barra-de-pesquisa select {
    margin: 0 !important;
}

.full-width-btn {
    width: 100%;
    display: block
}

.text-center {
    text-align: center;
}

.loop-documento {
    margin: 0 0 10px 0 !important;
}*/

/*BALCAO-ONLINE*/

.av-magazine-content-wrap {
    border-bottom: medium none !important;
}

.green-color {
    color: #719430;
}

.margin-top-0 {
    margin-top: 0px !important;
} 

.margin-top-10 {
    margin-top: 10px !important;
} 

.margin-bottom-10 {
    margin-bottom: 10px !important;
}

.screen-reader-text {
    clip: rect(1px, 1px, 1px, 1px);
    position: absolute !important;
    height: 1px;
    width: 1px;
    overflow: hidden;
}

/*WEATHER FORECAST*/

.awesome-weather-forecast {
    margin-top: 0px !important; 
    padding-top: 10px;
    padding-bottom: 10px;
    width: 90%;
    font-size: 90%;
    line-height: 100%;
}

.awesome-weather-wrap {
    background: rgba(0, 0, 0, 0.5) none repeat scroll 0 0 !important;
}

.awesome-weather-current-temp {
    text-align: center;
     padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.awe_wide .awesome-weather-current-temp strong {
    font-size: 50px !important;
    color: #fff !important;
}

.awe_wide .awesome-weather-header.awecf {
    background: #1d5524 none repeat scroll 0 0;
}

/*WEATHER FORECAST*/

/*AGENDA DE EVENTOS*/

.av-upcoming-event-image {
    border-radius: 0;
    width: 80px;
}

.tribe-common-l-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
    max-width: 100% !important
}

.av-upcoming-events {
    margin-top: 30px
}

.av-upcoming-event-entry {
    background: #f1f1f1;
    margin-bottom: 10px;
    border-radius: 10px;
    display: flex;
    align-items: center;
    line-height: 130%;
    border-right: 3px #377e40 solid;
    padding: 10px
}

.tribe-common-l-container {
    padding-top: 20px !important;
    padding-bottom: 20px !important;
}

.tribe-events-single .tribe_events {
    display: grid;
    grid-template-columns: 3fr 2fr;
    gap: 30px
}

.tribe-events-event-meta::before {
   border-top: none !important
}

.tribe-events-event-meta {
    display: flex !important;
    width: 100% !important;
    margin: 0 !important
}

.av-single-event-meta-bar-inner {
    padding: 38px 38px 30px 38px !important;
    background: #f1f1f1;
    border-top: 3px #377e40 solid !important
}

.tribe-events-meta-group-details {
    padding: 0 !important;
    margin: 0 !important
}

#top.tribe-theme-enfold.single-tribe_events #tribe-events-pg-template, .tribe-events-view {
  max-width: 1210px;
  margin:auto 
}

.tribe-events-pg-template {
    padding: 50px 0 !important
}

.tribe-events-single-event-title {
    font-size: 2em !important;
    line-height: 120% !important;
}

.tribe-events-page-template .tribe-common img {
    float: right;
}

.tribe-events-calendar-list__event-date-tag-weekday {
    background: #5f7d28; /* era #719430 (branco sobre verde: ~3.65:1, falhava AA); ~4.72:1 ✓ WCAG AA */
    color: #fff !important;
    padding: 3px 0 !important
}

.tribe-events-calendar-list__event-date-tag-daynum {
    background: #377e40;
    color: #fff !important;
    padding: 3px 0 !important
}

#agenda-de-eventos-home .av-upcoming-events {
    display: grid;
    grid-template-columns: repeat( 3, minmax(250px, 1fr) );
    gap: 30px;
    overflow: auto !important;
}

#agenda-de-eventos-home .av-upcoming-event-entry {
background: #f9f9f9;
  border: none;
  margin-bottom: 10px;
  border-radius: 5px;
  display: grid;
  grid-template-columns: 1fr;
  line-height: 130%;
  padding: 25px;
  align-items: flex-start;
}

#agenda-de-eventos-home .av-upcoming-event-entry img {
    width: 100%
}

#agenda-de-eventos-home .av-upcoming-event-data {
    padding: 10px 0
}

/*AGENDA DE EVENTOS - FIM*/

/*FREGUESIAS ADSI*/

.freguesias-widget-title {
    background: #377E40;
    color: #fff;  
    padding: 5px 10px;
}

.adsi-freguesias-galeria {
    margin: 0 -3px !important;
}

.adsi-freguesias-galeria .gallery-item {
    width: 25% !important;
    margin: 0 !important;
    border: 3px #fff solid !important;
    box-sizing: border-box !important;
    height: auto !important;
}

.adsi-freguesias-galeria .gallery-item img {
    width: 100%;    
}

/*FREGUESIAS ADSI*/

/*SUBSCREVER NEWSLETTER*/

.page-id-4914 .entry-content {
    padding: 40px;
    background: #fff;
}

/*SUBSCREVER NEWSLETTER*/

.single-dir-entry-field {
    padding: 20px;
    background: #fff;
}

.dir-side-list-item a {
    padding: 7px 15px;
    background: #fff;
    margin-bottom: 2px;
    display: block;
    width: 100%;
}

.sidebar #searchform div {
    max-width: 100% !important;
}

.sidebar #searchsubmit {
    height: 40px !important;
}

.sidebar #s {
    padding-left: 15px !important;
}

/* Label real e visível do formulário de pesquisa nativo do Enfold
   (get_search_form, ver functions.php: adsi_fix_search_form_accessibility) —
   antes só tinha aria-label/placeholder. */
.adsi-search-label {
    display: block;
    margin: 16px 16px 0 16px;
    font-size: 16px;
    color: #333333;
}

/* O Enfold (layout.css) define margin:16px de um só lado para o wrapper do
   campo — reduz-se só o topo para encostar ao label acima. */
.avia-search-tooltip #searchform > div {
    margin-top: 5px !important;
}

.bo-h3 {
    margin-top: 50px;
}

.nested_nav .current_page_item, .nested_nav .current_page_ancestor {
    padding-top: 30px !important;
    padding-bottom: 30px !important;
    margin-bottom: 20px;
    background: #fff !important;
    left: -51px;
    margin-bottom: 4px;
    margin-top: -1px;
    padding-left: 51px;
    top: 1px;
    width: 100%;
}

#top .widget_nav_menu ul ul li.current_page_item::before {
    top: 35px;
}
.widget_title {    
    color: #fff !important;
}

.callout {
    background: #ffffff url("img/stripes.png") repeat scroll 0 0 !important;
    border: 1px solid #ddd;
    border-radius: 3px;
    box-shadow: 1px 1px 3px 0 rgba(180, 180, 180, 0.2);
    display: block;
    margin: 0;
    padding: 10px;
}

.callout .border {
    background: #ffffff none repeat scroll 0 0;
    border: 1px solid #e3e3e3;
    box-shadow: 1px 1px 2px 0 rgba(180, 180, 180, 0.1) inset;
    padding: 20px;
}

.callout .callout-content {
    float: left;
}

.callout .callout-button {
    float: right;
}

#top #wrap_all .tribe-events-button {
    border-bottom-style: solid;
    border-bottom-width: 1px;
    border-radius: 3px;
    font-weight: normal;
    height: auto;
    padding: 12px 16px;
    transition: all 0.4s ease-out 0s;
}

#tribe-events .tribe-events-button, .tribe-events-button {
    background-color: #666;
    background-image: none;
    border: 0 none;
    border-radius: 3px;
    box-shadow: none;
    color: #fff;
    cursor: pointer;
    display: inline-block;
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 1px;
    line-height: normal;
    padding: 6px 9px;
    text-align: center;
    text-decoration: none;
    text-transform: uppercase;
    vertical-align: middle;
}

.tribe-theme-child-light .content {
    padding-top: 0 !important
}

.widget-event-meta {
    padding: 20px !important;
    background: #f7f7f7;
}

.widget-event-meta .tribe-events-meta-group {
    width: 100% !important;
    margin-bottom: 0 !important
}

.widget-event-meta dl dd {
    font-weight: bold
}

.template-event-page .template-single-blog  {
    background: #fff
}

/*AGENDA DE EVENTOS*/

#tribe-events-bar {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.av-tribe-events-content-wrap {
    background: #fff;
    padding: 40px
}

.tribe-mini-calendar-nav td {
    background: #719430 !important;    
}

.tribe-events-day .tribe-events-day-time-slot .type-tribe_events {
    margin-left: 0 !important;
}

#tribe-events-bar {
    background: #fff !important;
    padding: 0 30px;
}

.tribe-bar-views-inner {
    min-height: 112px !important;
}

.tribe-events-sub-nav {
    margin-top: 0px !important;
    top: 0 !important
}

h2.tribe-events-page-title {
 background: #719430;
    clear: both !important;
    color: #fff;
    float: left !important;
    margin-top: 15px;
    padding: 10px;
    width: 100% !important;
}

.tribe-events-nav-previous, .tribe-events-nav-next {
    padding: 10px !important;
    background: #fff !important;
    border: 1px #e1e1e1 solid;
}

.bonline-container .pagination {
    width: 100%;
    padding: 20px 0 !important
}

.bonline-container .pagination .next.page-numbers, .bonline-container .pagination .prev.page-numbers {
    width: 80px !important;
}

.tribe-events-present {
    background: #719430 !important;
    color: #fff !important;
}

.tribe-events-present span {
    color: #fff !important;
}

/*wpgpxmaps*/

.wpgpxmaps .plot {
    padding: 30px 30px 10px 30px;
    background: #fff;
    margin-top: 5px;
    margin-bottom: 20px;
}

.wpgpxmaps .wpgpxmaps_osm_footer {
    height: auto !important;
 }

 .wpgpxmaps .wpgpxmaps_osm_footer span {
     background: none !important;
     padding: 0 6px 13px !important
 }

 .wpgpxmaps .gm-style-mtc > div {
     padding: 0 8px !important;
     line-height: 25px !important
 }

 .wpgpxmaps .gm-style-mtc > div > div {
     padding: 0 !important;
         line-height: 25px !important
 }

 .post-content {
     text-align: justify
 }

 

 /*graficoc*/

.wpgpxmaps .plot {
    background: #f7f7f7;
    padding: 30px 20px 10px 25px;
}

.wpgpxmaps .highcharts-background {
    fill: #f7f7f7 !important;
}

#elevation-div {
    width: 100%;
    max-width: 100% !important;
    overflow-x: auto;
    margin-top: 5px;
}

.lime-theme.elevation .background{
    background-color: #fff;
    -webkit-border-radius:5px;
    -moz-border-radius:5px;
    -ms-border-radius:5px;
    -o-border-radius:5px;
    border-radius:5px;
    padding: 0px;
}

.lime-theme.elevation .axis line,.lime-theme.elevation .axis path{
    fill:none;
    stroke:#566b13;
    stroke-width:2
}

.lime-theme.elevation .mouse-drag{
    fill:rgba(99,126,11,.4)
}

.lime-theme.elevation .elevation-toggle{
    cursor:pointer;
    box-shadow:0 1px 7px rgba(0,0,0,.4);
    -webkit-border-radius:5px;
    border-radius:5px;
    width:36px;
    height:36px;
    background-color:#377E40
}

.lime-theme.elevation .elevation-toggle-icon{
    background:url(/wp-content/themes/light/images/elevation-lime.png) no-repeat center center}

.lime-theme.elevation .area{
    fill:#377E40
}

.lime-theme.elevation .mouse-focus-line{pointer-events:none;stroke-width:1;stroke:#101404}

.lime-theme.elevation-collapsed .background{display:none}

.lime-theme.elevation-collapsed .elevation-toggle{display:block}

.lime-theme.height-focus{stroke:#9cc222;fill:#9cc222}

.lime-theme.height-focus.line{pointer-events:none;stroke-width:2}

    .background {
        width: 100% !important
    }

    #qroutput {
        text-align: center;
        padding: 10px;
        background: #fff
    }

    .gpx-options .avia-button {
        width: 100%;
    }

/*graficoc*/

.awesome-weather-attribution {
 display: none !important   
}

.tribe_events-template-default .template-event-page {
    padding: 50px 0 !important;
}

.tribe_events-template-default .av-single-event-content {
    padding: 40px;
    background: #fff;
}

.single-tribe_events .secondary .tribe-events-venue-map {
    width: 100% !important
}

.sidebar_right .ambiente-nav li {
    margin-left: 1em
}

.ambiente-nav li {
    list-style-type: none;
    padding: 0 !important
}

.ambiente-nav li a {
    padding: 6px 12px;
    background: #fff;
    margin-bottom: 3px;
    display: block;
    width: 100%
}

.ambiente-nav .children li a  {
border-left: 5px #367D40 solid
}

.ambiente-nav .current_page_item > a {
background: #367D40;
color: #fff !important
}

.relatorio-lista-link {
    display: inline-block;
    width: 100%;
    margin-bottom: 3px;
    padding: 5px 10px;
    background: #fff
}

.relatorio-lista-link span.impropria {
    display: block;
    width: 20px;
    height: 20px;    
    background: red;
    float: left;
    margin-right: 10px;
    margin-top: 2px;
    border-radius: 50%
}

.relatorio-lista-link span.propria {
    display: block;
    width: 20px;
    height: 20px;    
    background: green;
    float: left;
    margin-right: 10px;
    margin-top: 2px;
    border-radius: 50%
}

ul.fontanarios-sidebar li a {
    display: inline-block;
    width: 100%;
}

.avia-timeline .milestone_icon {
    height: 70px;
    width: 70px;
    line-height: 70px;
}

.relatorio-list-loop {
    display: inline-block;
    width: 100%;
    padding: 5px 10px 5px 40px !important;
    background: #fff;
    margin-bottom: 5px;
    margin-left: 0 !important;
}

.relatorio-list-loop .badge-impropria {
    width: 20px; 
    height: 20px;
    background: red;
    display: inline-block;
    border-radius: 50%;
    margin-right: 5px;
    margin-left: -30px;
}

.relatorio-list-loop .badge-propria {
    width: 20px; 
    height: 20px;
    background: green;
    display: inline-block;
    border-radius: 50%;
    margin-right: 5px;
    margin-left: -30px;
}

.mapa_fontanarios path:hover { 
            fill: #434343 !important;
        cursor: pointer;
        }

/*NETWORK*/

#signup-content {
    max-width: 1180px !important;
    margin: 50px auto;
    padding: 50px;
    background: #f1f1f1
}

#signup-content a {
    color: #0e9fd6 !important;
    text-decoration: underline !important
}

.mu_alert {
    text-align: center;
    padding: 10px;
    line-height: 130%
}

#setupform input {
    margin-bottom: 0 !important
}

#setupform br {
    display: none !important
}

#setupform label {
    margin-top: 30px
}

/*NETWORK- FIM*/

/*APRESENTACAO DA FATURA DE AGUA*/

#rect-5612:hover ~ #image-map-pro-1535 {
    opacity: 0.5  !important
}

#image-map-pro-1535 .imp-shape-text {
    background: #0077C0;
    width: 40px;
    height: 40px;
    text-align: center;
    color: #fff !important;
    border-radius: 50px;
    display: flex;
    align-items: center;
    justify-content: center;
}

#image-map-pro-9453, #image-map-pro-1535 {
    border: 1px #323232 solid
}

.imp-tooltip {
    max-width: 98% !important
}

.page-id-16561 .av-tab-section-container.main_color {
    background: #f1f1f1 !important
}

.page-id-16561 .av-active-tab-title .av-tab-section-image {
    border: 1px #323232 solid;
    transition: transform .2s; /* Animation */
    width: 100px;
    height: 100px;
}

.entrada-adsi-locais {
    padding: 50px 0;
}

/*FORUNS*/

.forum-icon {
    border-radius: 50px;
    border: 2px #2D8ACC solid !important;
    max-height: 130px;
    width: auto
}

.bbp-forum-info .bbp-forum-content {
    line-height: 130% !important
}

.bbp-template-notice ul {
    margin-bottom: 0 !important
}

#top .bbp-login-form label {
    width: auto !important;   
}

#top .bbp_widget_login .bbp-submit-wrapper {
    float: none;
    margin-right: 0;
    margin-top: 10px;
}

.bbp-login-links a {
    display: block;
    width: 100%;
    padding: 10px 15px !important;
    font-size: 14px;
    margin-top: 10px;
    background: #fff;
    box-sizing: border-box;
    border: 1px #ccc solid;
    border-radius: 5px;
    text-align: center;
}

#top .bbp_widget_login .button {
    border-radius: 5px;
    width: 100%;
}

div.nsl-container-block .nsl-container-buttons a {
    max-width: 100% !important;
}

.bbp-login-form .bbp-login-links {
    display: grid;
    grid-template-columns: 1fr 1fr;
    grid-gap: 5px;
}

/*BIRDWATCHING */

.birds-sidebar {
    padding: 10px 0
}

.btn-mapa-explorar {
    background: #1b9af7;
    color: #fff;
    padding: 8px 12px;
    border-radius: 15px
}

/*BIRDWATCHING - Fim*/

.ods-wrapper-outside {
    margin: 30px 0 10px;
    float: left;
    clear: both;
    width: 100%
}

.ods-wrapper {
    display: grid;
    width: 100%;
    grid-template-columns: repeat(auto-fill, minmax(80px, 1fr));
    clear: both;
    grid-gap: 10px;
    margin: 10px 0;
    float: left;
}

.links-uteis-biodiversidade .slide-image {
    background: none !important;
    padding: 20px
}

.histotico-de-obsercacao {
    padding: 30px 0;
}

.nespecies-observadas {
    padding: 5px 10px;
    color: #fff;
    display: inline-block;
    border-radius: 10px;
}

/*DOCS CONTRATACAO PUBLICA*/

.docs-contratacao-publica {
    display: grid;
    gap: 5px;
    margin: 0 !important;
    list-style: none !important 
}

.docs-contratacao-publica li {
    margin: 0 !important
}

.docs-contratacao-publica a {
    background: #fff;
    display: flex;
    padding: 5px 15px
}

.docs-contratacao-publica a image-overlay {
    display: none !important
}

.documentos_contratacao_publica_separador h2 {
    padding: 5px 15px;
    background: #377e40;
    color: #fff;
    font-size: 1.3em;
    margin-top: 30px;
    line-height: 1.2em
}

/*DOCS CONTRATACAO PUBLICA - FIM*/

.adsi-responsive-table {
    overflow-x: auto;
    scrollbar-width: thin;
    scrollbar-color: #377e40 #fff;
    margin-bottom: 20px;
}

.adsi-responsive-table table {
    margin-bottom: 5px !important;
}

.docs-loop-list {
    display: flex;
    flex-flow: column;
    padding-top: 20px
}

.docs-loop-item {
  display: flex;
  justify-content: space-between;
  padding: 5px 0;
  align-items: center
}

.docs-loop-alldocs {
    margin-top: 20px;
    margin-bottom: 20px;
    display: flex;
}

.docs-loop-nodocs {
    padding: 20px 0;
}

.propose-details-row {
    padding: 30px;
    background: #fff;
    margin: 15px 0;
}

.servicos-single-content li.splide__slide {
    padding: 0;
    margin: 0
}

.embed-container {
    overflow: hidden;
    position: relative;
    width:100%;
}

.embed-container::after {
    padding-top: 56.25%;
    display: block;
    content: '';
}

.embed-container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

/*AV UPCOMING EVENTS - OVERLAY DATA*/

.av-upcoming-event-image-wrap {
    display: block;
    position: relative;
    overflow: hidden;
    border-radius: 5px 5px 0 0;
}

.av-upcoming-event-image-wrap .av-upcoming-event-schedule {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    background: #1d5524;
    color: #fff;
    font-size: 1em;
    font-weight: 600;
    line-height: 1.5;
    padding: 8px 12px;
    display: block;
}

.av-upcoming-event-image-wrap .av-upcoming-event-schedule * {
    color: #fff;
    font-size: inherit;
}

.av-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;
}

/*AV UPCOMING EVENTS - TIPOGRAFIA*/

.av-upcoming-event-title {
    font-size: 1.4em;
    line-height: 1.5;
    display: block;
    margin-bottom: 4px;
}

.av-upcoming-event-meta {
    font-size: 0.875rem;
    line-height: 1.6;
}

/*AV UPCOMING EVENTS - IMAGEM 1:1*/

.av-upcoming-event-image {
    aspect-ratio: 1 / 1;
    object-fit: cover;
    width: 100%;
    height: auto;
}

/*AV UPCOMING EVENTS - FIM*/

.ser-blocos-de-conteudo {
    padding: 3px 15px;
    background: #fff;
    margin: 3px 0;
}

.core-button--primary,

.avia-button.avia-color-theme-color {
    background: var(--core-color-primary) !important;
    color: var(--core-color-white) !important;
    border-color: var(--core-color-primary) !important;
    font-size: 16px !important;
    padding: 12px 30px !important;
    line-height: 1.5em !important;
    border-radius: 3px !important;
}

.core-button--primary:hover,

.core-button--primary:focus,

.avia-button.avia-color-theme-color:hover,

.avia-button.avia-color-theme-color:focus {
    background: color-mix(in srgb, var(--core-color-primary) 85%, black) !important;
    border-color: color-mix(in srgb, var(--core-color-primary) 85%, black) !important;
    color: var(--core-color-white) !important;
}

.splide__arrow, #av-layout-grid-1 .acore-slides .splide__arrow {
  background: #fff !important;
  color: #1d5524 !important;
  opacity: 0.9 !important;
  padding: 10px !important;
  min-width: 46px !important;
  min-height: 46px !important;
  width: 46px !important;
  height: 46px !important;
}

.splide__arrow svg {
    fill: #1d5524 !important;
}

.fornos-entry-content-header h1 {
    font-size: 2em !important;
    margin-bottom: 0 !important;
}
#top .avia-post-nav:hover {
  background: rgba(0,0,0,1) !important;
}
.avia-post-nav .entry-info {
    display: grid !important;
    height: 80px;
    width: 220px;
    grid-template-columns: auto auto !important;
    align-items: center;
    gap: 10px;
}
.avia-post-nav .entry-title {
    display: -webkit-box !important;
    -webkit-line-clamp: 3 !important;
    line-clamp: 3 !important;
    -webkit-box-orient: vertical !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    line-height: 1.4;
    font-size: 15px !important;
    font-weight: normal !important;
}
.avia-post-nav .entry-image {
    height: 40px !important;
    width: 40px !important;
}

/* ==========================================================================
   ACESSIBILIDADE (WCAG AA) — ver skill adsi-acessibilidade
   ========================================================================== */

/* --- Foco de teclado visível (secção 2) --- */
#top input[type="text"]:focus-visible,
#top input[type="password"]:focus-visible,
#top input[type="email"]:focus-visible,
#top input[type="number"]:focus-visible,
#top input[type="url"]:focus-visible,
#top input[type="tel"]:focus-visible,
#top input[type="search"]:focus-visible,
#top input[type="submit"]:focus-visible,
#top input[type="checkbox"]:focus-visible,
#top input[type="radio"]:focus-visible,
#top input[type="file"]:focus-visible,
#top input[type="date"]:focus-visible,
#top textarea:focus-visible,
#top select:focus-visible,
#top button:focus-visible {
  outline: 3px solid #1a73e8;
  outline-offset: 2px;
  box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.25);
}

@media (forced-colors: active) {
  :focus, :focus-visible {
    outline: 2px solid CanvasText;
    outline-offset: 2px;
    box-shadow: none !important;
  }
}

/* --- Contraste de bordas em campos de formulário (secção 3) --- */
#top input[type="text"],
#top input[type="password"],
#top input[type="email"],
#top input[type="number"],
#top input[type="url"],
#top input[type="tel"],
#top input[type="search"],
#top input[type="date"],
#top textarea,
#top select {
  border: 1px solid #767676 !important;
  border-radius: 3px;
}

/* --- Gravity Forms (markup legacy neste site) — texto legível, botão,
   upload, checkbox de consentimento (secção 5, adaptado a legacy) --- */
.gform_wrapper .gfield_label,
.gform_wrapper legend,
.gform_wrapper .gfield_required,
.gform_wrapper .gfield_description,
.gform_wrapper .gsection_description,
.gform_wrapper .instruction,
.gform_wrapper .gform_description,
.gform_wrapper .validation_message,
.gform_wrapper .gform_validation_errors > h2,
.gform_wrapper .gform_validation_errors > ol a,
.gform_wrapper .gform_validation_errors > ol li,
.gform_wrapper label,
.gform_button {
    font-size: 1rem !important;
    letter-spacing: normal !important;
}
.gform_button {
    padding: 15px 30px !important;
    min-height: 44px !important;
    box-sizing: border-box !important;
}
/* Contador de caracteres (ginput_counter) — cinzento por omissão do Gravity
   Forms fica abaixo de 4.5:1 sobre fundo branco (WCAG 1.4.3). */
.gform_wrapper .ginput_counter.gfield_description {
    color: #232323 !important;
}
.gform_wrapper input[type="file"] {
  min-height: 44px !important;
  padding: 10px !important;
  box-sizing: border-box !important;
}
/* Checkbox de consentimento (ex.: RGPD) — alvo de toque e foco visível.
   Não é uma lista .gchoice (markup legacy), é um checkbox único junto do
   label; aumenta-se a área clicável via padding no label em vez de redesenhar
   a caixa (evita replicar às cegas o truque de opacity da secção 5 sem um
   campo real para validar visualmente). */
.gform_wrapper .ginput_container_consent label {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding-left: 4px;
  cursor: pointer;
}
.gform_wrapper .ginput_container_consent input[type="checkbox"] {
  width: 20px;
  height: 20px;
  margin-right: 8px;
  cursor: pointer;
}
/* NOTA: se um formulário vier a ter campos radio/checkbox "normais" (não
   consent), o bloco completo de redesenho visual da secção 5 da skill
   (área de toque 44x44 via opacity + ::before/::after) tem de ser adaptado
   aos seletores legacy (.gfield_radio li, .gfield_checkbox li) e testado
   visualmente antes de fixar aqui — não replicado às cegas sem um campo
   real para validar. */

/* --- Tamanho mínimo de texto legível (secção 7) --- */
.main_menu ul:first-child > li > a { font-size: 16px !important; }
table, td, th, table caption { font-size: 16px !important; }
#top label, #top label span, #top legend span { font-size: 16px !important; }
.pagination span, .pagination a, .pagination .current { font-size: 16px !important; }
#top .widget_nav_menu li { font-size: 16px !important; }
#socket { font-size: 16px !important; }
.tribe-events-c-nav__next-label, .tribe-events-c-nav__prev-label {
    color: #222222 !important;
    font-size: 1rem !important;
}

/* Alvos de toque ≥44x44px (WCAG 2.5.5/2.5.8): barra superior de navegação
   de eventos (setas anterior/seguinte, botão "Hoje", botão do datepicker). */
.tribe-events-c-top-bar__nav-link--prev,
.tribe-events-c-top-bar__nav-link--next {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    width: 46px !important;
    height: 46px !important;
    line-height: 46px !important;
}
.tribe-events-c-top-bar__today-button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-height: 46px !important;
    min-width: 46px !important;
    line-height: 46px !important;
}
.tribe-events-c-top-bar__datepicker-button {
    display: inline-flex !important;
    align-items: center !important;
    min-height: 46px !important;
    line-height: 46px !important;
    padding: 10px 12px !important;
    box-sizing: border-box !important;
}

/* Complianz (cookiebanner + manage-consent-container) — redesenho do
   cabeçalho das categorias "Preferências"/"Estatísticas"/"Marketing"
   (ver histórico completo no topo do template
   wp-content/themes/light/complianz-gdpr/templates/cookiebanner.php):
   - Removido o <span class="cmplz-category-title"> duplicado (o nome já
     vem da label visível junto ao switch).
   - Texto da label empilhado por cima do switch, em vez de lado a lado
     numa grid larga (mais fácil de alinhar sem depender da coluna "1fr"
     que aqui já não existe).
   - input.cmplz-consent-checkbox voltou ao tamanho/posição ORIGINAL do
     plugin (40x20px, opacity:0) — uma tentativa anterior punha o próprio
     <input> a 44x44px, o que fazia o checkbox nativo aparecer visível e
     enorme nalguns browsers/estados. Em vez disso, quem cresce para
     ≥44x44px é a LABEL visível (min-height/min-width), que já ativa o
     checkbox ao clicar em qualquer parte dela (for="..."), sem precisar
     de mexer no input.
   - O botão "Ver detalhes" ganha texto visível a par do ícone. */
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-category-header,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-category-header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox {
    position: relative;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox input.cmplz-consent-checkbox {
width: 44px !important;
  height: 20px !important;
  top: 0 !important;
  left: 0 !important;
  margin: 0px !important;
  transform: none !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label {
display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 6px !important;
  padding-left: 0 !important;
  padding-top: 0 !important;
  min-height: 44px !important;
  min-width: 44px !important;
  box-sizing: border-box !important;
  line-height: 44px;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:before {
    top: auto !important;
    bottom: 4px !important;
    left: 0 !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:after {
    top: auto !important;
    bottom: 6px !important;
    left: 4px !important;
}
/* A label passou a vir ANTES do input no HTML (cookiebanner.php) — o
   seletor de irmão adjacente "+" só funciona nesse sentido (A + B == B
   logo a seguir a A), por isso deixou de bater certo tanto aqui como nas
   regras nativas do próprio plugin para o mesmo efeito
   (input.cmplz-consent-checkbox:checked + .cmplz-label::before, que muda a
   cor de fundo do switch, e :focus + .cmplz-label:before, o contorno de
   foco) — nenhuma delas voltará a aplicar-se com a ordem atual. Repõe-se
   aqui com :has(), que não depende da ordem dos irmãos. */
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:has(~ input.cmplz-consent-checkbox:checked):before,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:has(~ input.cmplz-consent-checkbox:checked):before {
    background-color: var(--cmplz_slider_active_color) !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:has(~ input.cmplz-consent-checkbox:checked):after,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:has(~ input.cmplz-consent-checkbox:checked):after {
    left: 14px !important;
}
.cmplz-cookiebanner .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:has(~ input.cmplz-consent-checkbox:focus):before,
#cmplz-manage-consent-container .cmplz-categories .cmplz-category .cmplz-banner-checkbox .cmplz-label:has(~ input.cmplz-consent-checkbox:focus):before {
    box-shadow: 0 0 0 2px #245fcc !important;
}
.cmplz-cookiebanner .cmplz-category-toggle,
#cmplz-manage-consent-container .cmplz-category-toggle {
    display: inline-flex !important;
    align-items: center !important;
    gap: 4px !important;
    width: auto !important;
    flex-shrink: 0 !important;
    font-size: 1rem !important;
    white-space: nowrap !important;
}
/* Conteúdo de páginas interiores: o Enfold (parent, avia-layout-css) baixa
   para 13-14px na página de resultados de pesquisa e em breakpoint mobile
   do template de blog/listagem — issue #13, report_153. Seletores tão
   específicos quanto os do tema para não sobrepor os tamanhos maiores já
   corretos noutros templates (ex.: single-post "fullsize", 1.15em). */
#top .template-search.content .entry-content-wrapper { font-size: 16px !important; }
.responsive .fullsize div .template-blog .entry-content-wrapper { font-size: 16px !important; }
.avia-post-nav .entry-title { font-size: 16px !important; }

/* Auditoria adicional (2026-08-14) — outros textos abaixo de 16px,
   confirmados como visíveis por uso real no site (widgets ativos/shortcodes
   na base de dados), não apenas CSS de módulos por instalar. */

/* Submenu do menu principal (dropdown multi-nível) — só o nível 1 estava
   coberto pela regra acima; o .av-main-nav ul>li>a do dynamic-css do tema
   (opções do Enfold) continua a colocar os submenus a 12-14px. */
.main_menu .sub-menu a, .main_menu .avia_mega_div { font-size: 16px !important; }

/* Caixa de partilha social [av_social_share] — usada em 490 posts publicados */
.av-share-box, .av-share-box ul li a { font-size: 16px !important; }

/* Comentários — comment_status "open" em 367 posts publicados */
#comment,
#commentform label,
.comment_text,
.commentmetadata,
.comment-reply-link,
#cancel-comment-reply-link,
.comment_page_nav_links,
.form-allowed-tags { font-size: 16px !important; }

/* Widget do Facebook (avia_fb_likebox) — ativo na sidebar "Diretório" */
.avia_fb_likebox .av_facebook_widget_add_info,
.avia_fb_likebox .av_facebook_widget_button,
.avia_fb_likebox .av_facebook_widget_page_title_container .av_facebook_widget_content { font-size: 16px !important; }

/* Separadores/tabs e toggles (Avia Builder) — [av_toggle] usado 9x, tabs usados */
.av-inner-tab-title, .av-elegant-toggle .toggle_content { font-size: 16px !important; }

/* Breadcrumb — visível em todas as páginas interiores por omissão do Enfold */
.title_container .breadcrumb { font-size: 16px !important; }

/* Tabela de dados [av_table] — usada em 2 posts */
.avia-data-table .avia-pricing-row .avia-desc-col,
.avia-data-table .avia-pricing-row small { font-size: 16px !important; }

/* Testemunhos [av_testimonials] — usado em 2 posts */
.avia-slider-testimonials .avia-testimonial-meta,
.avia-slider-testimonials .avia-testimonial-name { font-size: 16px !important; }

/* Grelha de portfólio (CPT portfolio) — 10 entradas publicadas */
.grid-entry-title, .grid-entry-excerpt { font-size: 16px !important; }

/* Categoria/autor por baixo do título dos posts de blog (.blog-categories,
   .blog-author) — o Enfold define .minor-meta a 0.9em (layout.css). */
.minor-meta { font-size: 16px !important; }

/* Widget do tempo (Awesome Weather, rodapé) — renderiza via JS, por isso não
   aparecia na análise do HTML servido; confirmado por inspeção direta do
   utilizador. */
.awesome-weather-todays-stats,
.awesome-weather-todays-stats .awe_desc,
.awesome-weather-todays-stats .awe_humidty,
.awesome-weather-todays-stats .awe_wind,
.awesome-weather-todays-stats .awe_highlow { font-size: 16px !important; }

/* Próximos Eventos (elemento nativo do Enfold, av_upcoming_events) —
   confirmado por inspeção direta do utilizador. */
.av-upcoming-event-meta,
.av-upcoming-event-cost,
.av-upcoming-event-venue { font-size: 16px !important; }

/* Agenda de eventos (The Events Calendar) — página pública ativa */
.single-tribe_events .tribe-events-schedule,
.single-tribe_events .tribe-events-schedule .tribe-events-divider,
.tribe-events-single ul.tribe-related-events .tribe-related-events-title,
#top.single-tribe_events .recurringinfo,
#tribe-events .tribe-events-button, .tribe-events-button { font-size: 16px !important; }

/* --- Alvo de toque da paginação nativa (secção 4) --- */
.pagination span, .pagination a,
#top .pagination .current, #top .pagination a {
  height: 48px !important;
  width: 48px !important;
  line-height: 48px !important;
}

/* --- Cor e sublinhado dos links de texto corrido (secção 8) ---
   Substitui as regras antigas mais estreitas (.entry-content-wrapper a,
   #top .widget_nav_menu li a, #footer .textwidget a, .alternate_color
   .breadcrumb a) — esta regra global já as cobre a todas, com uma lista de
   exceções para elementos que não são "links de texto corrido" (botões,
   menu, ícones sociais, .sidenav/.widget_wp_nav_menu_desc e
   .bo-inline-cat-button do adsi-balcao-online, .content-controls do
   adsi-core). Ajustar a lista de exceções se surgir outro componente com
   estilo de botão/ícone que não deva levar sublinhado. */
a:where(:not(.wp-element-button, .menu-item a, .avia-button, .core-button, .av-share-box-list a, .social_bookmarks a, .content-controls a, #wpadminbar a, .bo-inline-cat-button, .sidenav a, .widget_wp_nav_menu_desc a)) {
    color: var(--core-color-primary) !important;
    text-decoration: underline !important;
}
a:where(:not(.wp-element-button, .menu-item a, .avia-button, .core-button, .av-share-box-list a, .social_bookmarks a, .content-controls a, #wpadminbar a, .bo-inline-cat-button, .sidenav a, .widget_wp_nav_menu_desc a)):visited {
    color: var(--core-color-primary) !important;
}
a:where(:not(.wp-element-button, .menu-item a, .avia-button, .core-button, .av-share-box-list a, .social_bookmarks a, .content-controls a, #wpadminbar a, .bo-inline-cat-button, .sidenav a, .widget_wp_nav_menu_desc a)):hover,
a:where(:not(.wp-element-button, .menu-item a, .avia-button, .core-button, .av-share-box-list a, .social_bookmarks a, .content-controls a, #wpadminbar a, .bo-inline-cat-button, .sidenav a, .widget_wp_nav_menu_desc a)):focus-visible {
    color: color-mix(in srgb, var(--core-color-primary) 85%, black) !important;
}
/* O Enfold remove o outline nativo de todos os links (base.css: a, a:focus
   { outline: 0 }) sem repor nenhum indicador visível — só a mudança de cor
   acima não chega como indicador de foco (WCAG 2.4.7). #top garante
   especificidade suficiente para ganhar ao seletor do tema pai.
   Usa-se :focus (não :focus-visible, ver exceção do <select> na secção 2 da
   skill adsi-acessibilidade): muitos validadores automáticos testam o foco
   chamando .focus() via script, o que ativa :focus mas normalmente não
   ativa :focus-visible (só reage a interação real por teclado) — com
   :focus-visible o validador continua a ver o outline:0 do Enfold. */
#top a:where(:not(.wp-element-button, .menu-item a, .avia-button, .core-button, .av-share-box-list a, .social_bookmarks a, .content-controls a, #wpadminbar a, .bo-inline-cat-button, .sidenav a, .widget_wp_nav_menu_desc a)):focus {
    outline: 3px solid #1a73e8 !important;
    outline-offset: 2px;
    box-shadow: 0 0 0 4px rgba(26, 115, 232, 0.25);
}

/* --- Title bar (6.18/6.23) e breadcrumb em secção própria (6.21) --- */
#top .title_container .container {
    padding-top: 30px;
    padding-bottom: 30px;
    min-height: 40px;
    width: 100% !important;
}
#top .title_container .container,
#top .title_container .container * {
    line-height: 2rem !important;
}
h1.main-title, h2.main-title {
    font-size: 2rem !important;
    line-height: 2rem !important;
    margin-bottom: 10px !important;
    min-height: auto !important;
}
#top .title_container .main-title {
    margin: 10px 0;
}
/* Data de atualização (e, em posts, categorias) antes do título — ver adsi_build_updated_date_html() em functions.php. */
#top .title_container .adsi-updated-date.minor-meta {
    font-size: 1rem;
    margin: 0 0 0.5em 0;
    color: #fff;
}
/* Excerto logo a seguir ao título, só em páginas/posts — ver adsi_title_bar_args() em functions.php. */
#top .title_container .the_excerpt {
    font-size: 19px;
    font-weight: 700;
}
#top .title_container .the_excerpt p {
    margin-bottom: 0;
}

/* Breadcrumb em secção própria, separada do title_container — ver adsi_render_breadcrumb_section() em functions.php. */
.adsi-breadcrumb-container {
    background: #f7f7f7;
    padding: 6px 0;
}
.adsi-breadcrumb-container .breadcrumb {
    position: static !important;
    float: none;
    top: auto;
    right: auto;
    margin: 0 !important;
    display: block;
    font-size: 16px !important;
    line-height: 1.5rem;
}
.adsi-breadcrumb-container .breadcrumb-trail {
    display: block;
    white-space: nowrap;
    overflow-x: auto;
}
/* O Enfold define trail-before/trail-end/sep/links como display:block + float:left, o que
   quebra a linha independentemente do white-space:nowrap acima (floats ignoram nowrap). */
.adsi-breadcrumb-container .breadcrumb-trail .trail-before,
.adsi-breadcrumb-container .breadcrumb-trail .trail-end,
.adsi-breadcrumb-container .breadcrumb-trail .sep,
.adsi-breadcrumb-container .breadcrumb-trail a {
    display: inline !important;
    float: none !important;
}
.adsi-breadcrumb-container .breadcrumb a {
    color: var(--core-color-primary);
    text-decoration: underline;
}

/* Rodapé (socket): "adsi.pt" à direita, copyright mantém-se à esquerda — ver span .adsi-footer-credit em footer.php. */
#socket .adsi-footer-credit {
    float: right;
}

@media only screen and (max-width: 767px) {
    .responsive #socket .adsi-footer-credit {
        display: block;
        float: none;
        width: 100%;
        clear: both;
        margin: 8px 0 0 0;
    }
}

/* O Enfold define #top .avia_hidden_link_text{display:none} (enfold/css/base.css), o que esconde o texto
   do botão "voltar ao topo" também do leitor de ecrã, não só visualmente — por isso fica sem nome acessível.
   Aplica aqui a técnica correta (clip), tal como .av-sr-only acima, scoped ao #scroll-top-link. */
#top #scroll-top-link .avia_hidden_link_text {
    display: inline;
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0,0,0,0);
    white-space: nowrap;
    border: 0;
}
#spl-1087-track .ql-link-title {
    color: #fff !important;
    text-decoration: underline !important;
}


/* Limpeza de estilos padrão da lista */
.list-body {
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Formatação de cada item como um cartão individual */
.list-item {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 15px;
  margin-bottom: 0;
  background-color: #fff;
   margin-left: 0 !important;
}

.combatentes-list {
  border: 1px solid #ccc;
  border-radius: 8px;
  padding: 15px;
}

.list-item [role="cell"] {
  padding: 5px 10px;
}

/* Mostra os nomes dos campos antes do valor no mobile */
.list-item [role="cell"]::before {
  content: attr(data-label) " ";
  font-weight: bold;
  display: inline-block;
  margin-right: 5px;
}

/* Esconde o cabeçalho estático no ecrã do telemóvel */
.list-header {
  display: none;
}

/* Layout em Tabela/Grelha para Desktop (ecrãs > 768px) */
@media (min-width: 768px) {
  .list-header, .list-item {
    display: grid;
    grid-template-columns: 2fr 1.5fr 1.5fr 0.8fr 1.5fr;
    gap: 10px;
    align-items: center;
  }
  
  .list-header {
    font-weight: bold;
    border-bottom: 2px solid #333;
    padding-bottom: 8px;
  }
  
  .list-item {
    border: none;
    border-bottom: 1px solid #eee;
    border-radius: 0;
    margin-bottom: 0;
    margin-left: 0 !important;
  }

  .list-item [role="cell"]::before {
    display: none; /* Esconde os rótulos data-label no desktop */
  }
}

.tribe-common .tribe-common-form-control-text__label {
  padding: 0 20px !important;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-events-c-search {
  gap: 30px;
}
.tribe-common--breakpoint-medium.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
    height: 100% !important;
}