/*

FAZER CÓPIA PARA PASTA LOCAL  

Por causa dos UPDATES

*/

/* Artigo: esconder a coluna lateral quando não tem módulo e alargar o texto */
.com-content-article .bottom-article-info .row > .col-md-3:not(:has(.t4-mod-wrap)) {
  display: none;
}
.com-content-article .bottom-article-info .row:not(:has(.t4-mod-wrap)) > .col-md-9 {
  width: 100%;
  flex: 0 0 100%;
  max-width: 100%;
}

/*
DAR DESTAQUE AOS MENU HEADING, para serem diferentes das sub-opçoes
*/

.mega-dropdown-menu a.nav-header.nav-link {
    font-weight: 700 !important;
    text-transform: uppercase !important;
    font-size: 12px !important;
    letter-spacing: 0.5px !important;
    color: #0d47a1 !important;
    border-bottom: 1px solid #ddd !important;
    padding-bottom: 6px !important;
    margin-bottom: 6px !important;
    cursor: default !important;
    pointer-events: none !important;
}


/*

Tabs and sliders - aumentar tamanho da letra

*/

div.jwts_toggleControlContainer a.jwts_toggleControl {
    font-size: 20px !important;
    padding: 8px !important;
}

.jwts_toggleContent {
    font-size: 16px !important;
    line-height: 1.6 !important;
}

/* Menu principal – tirar maiúsculas */
.t4-navbar .navbar-nav .nav-link,
.t4-megamenu .navbar-nav .nav-link,
.t4-megamenu .mega-nav > li > a,
.t4-megamenu .dropdown-item {
  text-transform: none !important;
  letter-spacing: normal; /* opcional, caso o tema aumente o espaçamento */
}

/* Menu mobile/offcanvas */
.t4-offcanvas .navbar-nav .nav-link,
.t4-offcanvas .nav > li > a {
  text-transform: none !important;
  letter-spacing: normal;
}

/* Grelha de avisos – 5 colunas */
.avisos-grid ul,
.avisos-grid .mod-articlesnews,
.avisos-grid .mod-articles-news__items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Breakpoints responsivos */
@media (max-width: 1400px) { /* desktops médios */
  .avisos-grid ul,
  .avisos-grid .mod-articlesnews,
  .avisos-grid .mod-articles-news__items {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1200px) { /* tablets landscape */
  .avisos-grid ul,
  .avisos-grid .mod-articlesnews,
  .avisos-grid .mod-articles-news__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) { /* tablets/phones grandes */
  .avisos-grid ul,
  .avisos-grid .mod-articlesnews,
  .avisos-grid .mod-articles-news__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) { /* phones */
  .avisos-grid ul,
  .avisos-grid .mod-articlesnews,
  .avisos-grid .mod-articles-news__items {
    grid-template-columns: 1fr;
  }
}

/* (opcional) altura de imagem consistente */
.avisos-grid img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}



/* Compactar as secções abaixo do slideshow */
.t4-section#slideshow,
.t4-section#section-1 {
  padding-top: 12px;
  padding-bottom: 12px;
}

/* Título "Avisos Importantes" mais justo */
.avisos-title .module-title,
.avisos-title h1, .avisos-title h2, .avisos-title h3 {
  margin: 0 0 .5rem;
}

/* Encostar o Newsflash ao título e tirar margens extra */
.avisos-grid { margin-top: .25rem; }
.avisos-grid ul,
.avisos-grid .mod-articles-news__items {
  margin-top: 0;
  margin-bottom: 0;
}

/* Menos espaço entre módulos dentro da section-1 */
#section-1 .t4-module { margin-bottom: .75rem; }

/* (opcional) menos espaço por baixo do próprio slideshow */
#slideshow .t4-module { margin-bottom: .75rem; }


/* Só na section-1 */
#section-1 .t4-module { margin-bottom: 12px !important; }
#section-1 .module-title { margin-bottom: 8px !important; }


/* Mostrar "Ler +" no botão do Newsflash */
.mod-articlesnews .readmore a {
  text-transform: none;        /* sem maiúsculas forçadas */
  font-size: 0 !important;     /* esconde o texto original visualmente */
}
.mod-articlesnews .readmore a::after {
  content: "Ler +";
  font-size: 1rem;             /* ajusta ao tamanho que quiseres */
}


/* Trocar visualmente "Next/Previous" por "Próximo/Anterior" */
.pagination .page-item.next .page-link,
.pagination .next a,
.pager .next a { font-size: 0 !important; }

.pagination .page-item.next .page-link::after,
.pagination .next a::after,
.pager .next a::after { content: "Próximo"; font-size: 1rem; }

.pagination .page-item.previous .page-link,
.pagination .previous a,
.pager .previous a { font-size: 0 !important; }

.pagination .page-item.previous .page-link::after,
.pagination .previous a::after,
.pager .previous a::after { content: "Anterior"; font-size: 1rem; }

/* opcional: garantir que não fica tudo em caps */
.pagination a { text-transform: none; }


/* Home só com ícone */
.t4-navbar .nav-item.home-only > a .menu-title { display: none; }
.t4-navbar .nav-item.home-only > a i { font-size: 1.15rem; vertical-align: middle; }

/* Desktop: mostrar só o ícone no item 'Início' */
@media (min-width: 992px) {
  .t4-navbar .nav-item.home-only > a .menu-title,
  .t4-megamenu .nav-item.home-only > a .menu-title {
    display: none !important;
  }
  .t4-navbar .nav-item.home-only > a i,
  .t4-megamenu .nav-item.home-only > a i {
    font-size: 1.2rem;
    vertical-align: middle;
  }
}

/* Home só com ícone – injeta Font Awesome via ::before */
.t4-megamenu .nav-item.home-only > a span[itemprop="name"],
.t4-navbar   .nav-item.home-only > a span[itemprop="name"]{
  display: none !important;          /* esconde o texto */
}

.t4-megamenu .nav-item.home-only > a,
.t4-navbar   .nav-item.home-only > a{
  position: relative;
  padding-left: 12px;
  padding-right: 12px;
}

.t4-megamenu .nav-item.home-only > a::before,
.t4-navbar   .nav-item.home-only > a::before{
  content: "\f015";                   /* ícone 'home' */
  font-family: "Font Awesome 6 Free","Font Awesome 5 Free";
  font-weight: 900;
  font-size: 1.2rem;
  line-height: 1;
  display: inline-block;
  vertical-align: middle;
}


/* Listas dentro do artigo: sempre alinhadas à esquerda */
.article-body,
.com-content-article__body { text-align: left; }

.article-body ul,
.article-body ol,
.com-content-article__body ul,
.com-content-article__body ol { 
  text-align: left;              /* evita herdar center */
  list-style-position: outside; 
  margin-left: 1.25rem;
  padding-left: 1.25rem;
}

.article-body li,
.com-content-article__body li { 
  text-align: left;              /* garante que cada item não centra */
}

/* martelo para listas alinhadas à esq */
.article-body ul,
.article-body li { text-align: left !important; }

/* Artigo: tudo alinhado à esquerda dentro do conteúdo */
.item-page.layout-default .desc-article,
.item-page.layout-default .desc-article p,
.item-page.layout-default .desc-article h1,
.item-page.layout-default .desc-article h2,
.item-page.layout-default .desc-article h3,
.item-page.layout-default .desc-article h4,
.item-page.layout-default .desc-article h5,
.item-page.layout-default .desc-article h6,
.item-page.layout-default .desc-article ul,
.item-page.layout-default .desc-article ol,
.item-page.layout-default .desc-article li {
  text-align: left !important;
}

/* Indentação “normal” de listas */
.item-page.layout-default .desc-article ul,
.item-page.layout-default .desc-article ol {
  list-style-position: outside;
  margin-left: 1.25rem;
  padding-left: 1.25rem;
}



/* Footnav sem gutters nem padding lateral */
#t4-footnav .t4-section-inner { padding-left: 0; padding-right: 0; }
#t4-footnav .t4-row { --t4-gutter-x: 0; }  /* remove a calha das colunas */


/* Aumentar os ícones das redes sociais e o espaçamento */
.social-list-sm a { font-size: 1.8rem; line-height: 1; padding: 0 .25rem; }
.social-list-sm i { vertical-align: middle; }

/* espaço horizontal entre os itens */
.social-list-sm { gap: 0.6rem; }                 /* browsers modernos */
.social-list-sm li + li { margin-left: 0.6rem; } /* fallback */

/* (opcional) cor no hover 
.social-list-sm a { color: inherit; }
.social-list-sm a:hover { color: #0d6efd; } /* ajusta à tua cor */
*/


/* Esconder o slideshow nas páginas de ARTIGO */
.view-article #t4-slideshow,
.view-article .t4-section.slideshow,
.view-article .t4-slideshow,
.view-article [class*=" slideshow"] {   /* fallback */
  display: none !important;
}

/* Esconder o slideshow quando a página CONTÉM um artigo único (.item-page) */
@supports selector(:has(*)) {
  body:has(.item-page) #t4-slideshow,
  body:has(.item-page) .t4-section.t4-slideshow,
  body:has(.item-page) .t4-slideshow {
    display: none !important;
  }
}

/* (mantém também a regra se um dia o template passar a usar view-article) */
.view-article #t4-slideshow,
.view-article .t4-section.t4-slideshow,
.view-article .t4-slideshow {
  display: none !important;
}



/* Esconder slideshow em páginas de ARTIGO (componente com_content) */
body.com_content.view-article #t4-slideshow,
body.com_content.view-article .t4-section.t4-slideshow,
body.com_content.view-article .t4-slideshow {
  display: none !important;
}

/* Mantém também a regra para quando existir view-article sem com_content */
.view-article #t4-slideshow,
.view-article .t4-section.t4-slideshow,
.view-article .t4-slideshow {
  display: none !important;
}

/* Opcional: versão moderna baseada na presença do artigo */
@supports selector(:has(*)) {
  body:has(.item-page) #t4-slideshow,
  body:has(.item-page) .t4-section.t4-slideshow,
  body:has(.item-page) .t4-slideshow {
    display: none !important;
  }
}



/* Esconder o bloco de slideshow nas páginas de ARTIGO */
body.com_content.view-article #t4-slideshow,
body.com_content.view-article .t4-section.t4-slideshow,
body.com_content.view-article .t4-slideshow {
  display: none !important;
}

/* fallback moderno: se existir um .item-page (artigo renderizado) */
@supports selector(:has(*)) {
  body:has(.item-page) #t4-slideshow,
  body:has(.item-page) .t4-section.t4-slideshow,
  body:has(.item-page) .t4-slideshow {
    display: none !important;
  }
}

/* ultra-robusto (caso a tua secção use outra id/class com 'slideshow') */
body.com_content.view-article [id*="slideshow"],
body.com_content.view-article [class*="slideshow"] {
  display: none !important;
}


/* +20–50px de respiro após o sideshow (Slideshow CK) */
#t4-sideshow .t4-section-inner,
#t4-slideshow .t4-section-inner {        /* cobre ambos os nomes, por via das dúvidas */
  padding-bottom: 20px !important;       /* troca p/ 50px se quiseres */
}

/* fallbacks que também funcionam */
#t4-sideshow, #t4-slideshow {
  border-bottom: 20px solid transparent !important; /* não colapsa */
}
#t4-sideshow + .t4-section,
#t4-slideshow + .t4-section {
  margin-top: 20px !important;
}


/* === CLONAR O LOOK DOS AVISOS PARA Clubes e Projetos 'clubes-grid' === */

/* Contêiner da grelha (funciona tanto com Newsflash como com Articles – Category) */
:is(.avisos-grid, .clubes-grid) ul,
:is(.avisos-grid, .clubes-grid) .mod-articlesnews,
:is(.avisos-grid, .clubes-grid) .mod-articles-news__items,
:is(.avisos-grid, .clubes-grid) .mod-articles-category__items {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.25rem;               /* 20px – igual aos Avisos */
  list-style: none;
  padding: 0;
  margin: 0;
}

/* Breakpoints responsivos (iguais aos Avisos) */
@media (max-width: 1400px) {
  :is(.avisos-grid, .clubes-grid) ul,
  :is(.avisos-grid, .clubes-grid) .mod-articlesnews,
  :is(.avisos-grid, .clubes-grid) .mod-articles-news__items,
  :is(.avisos-grid, .clubes-grid) .mod-articles-category__items {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media (max-width: 1200px) {
  :is(.avisos-grid, .clubes-grid) ul,
  :is(.avisos-grid, .clubes-grid) .mod-articlesnews,
  :is(.avisos-grid, .clubes-grid) .mod-articles-news__items,
  :is(.avisos-grid, .clubes-grid) .mod-articles-category__items {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 768px) {
  :is(.avisos-grid, .clubes-grid) ul,
  :is(.avisos-grid, .clubes-grid) .mod-articlesnews,
  :is(.avisos-grid, .clubes-grid) .mod-articles-news__items,
  :is(.avisos-grid, .clubes-grid) .mod-articles-category__items {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 480px) {
  :is(.avisos-grid, .clubes-grid) ul,
  :is(.avisos-grid, .clubes-grid) .mod-articlesnews,
  :is(.avisos-grid, .clubes-grid) .mod-articles-news__items,
  :is(.avisos-grid, .clubes-grid) .mod-articles-category__items {
    grid-template-columns: 1fr;
  }
}

/* Altura de imagem consistente (opcional – igual aos Avisos) */
:is(.avisos-grid, .clubes-grid) img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  display: block;
}

/* Ajustes de espaçamento iguais aos Avisos */
:is(.avisos-grid, .clubes-grid) { margin-top: .25rem; }
:is(.avisos-grid, .clubes-grid) ul,
:is(.avisos-grid, .clubes-grid) .mod-articles-news__items,
:is(.avisos-grid, .clubes-grid) .mod-articles-category__items {
  margin-top: 0;
  margin-bottom: 0;
}

/* fim clubes */


/* Título do módulo "Clubes e Projetos" com o mesmo estilo do H1 da página */
#section-4 .clubes-grid .section-heading .mod-title,
#section-4 .clubes-title .section-heading .mod-title,
#section-4 .clubes-grid .module-title,
#section-4 .clubes-title .module-title,
#section-4 .clubes-grid h3.mod-title,
#section-4 .clubes-title h3.mod-title {
  font-size: var(--h1-font-size);
  line-height: var(--h1-line-height);
  font-family: var(--heading-font-family);
  font-weight: var(--heading-font-weight);
  letter-spacing: var(--heading-letter-spacing);
  color: var(--headings-color);
  margin: 0 0 .5rem;          /* igual ao “Informações.” */
}

/* (opcional) aproximar o espaçamento vertical do bloco do título */
#section-4 .clubes-grid .section-heading,
#section-4 .clubes-title .section-heading { margin-bottom: .5rem; }

/* CLUBES – título com o look de H1 e alinhado à esquerda (cont) */
#section-4 .clubes-title .section-heading { 
  text-align: left !important;              /* vence o .text-center */
}

#section-4 .clubes-title .mod-title {
  font-size: var(--h1-font-size) !important;
  line-height: var(--h1-line-height) !important;
  font-family: var(--heading-font-family) !important;
  font-weight: var(--heading-font-weight) !important;
  letter-spacing: var(--heading-letter-spacing) !important;
  color: var(--headings-color) !important;
  margin: 0 0 .5rem !important;
}

/* 1) Forçar o bloco do título a ocupar a largura toda e alinhar à esquerda */
#section-4 .clubes-title .section-heading {
  text-align: left !important;       /* já tinhas, mantemos */
  margin-left: 0 !important;         /* vence o .mx-auto */
  margin-right: 0 !important;
}
#section-4 .clubes-title .section-heading[class*="col-"] {
  flex: 0 0 100% !important;         /* vence col-md-8/col-lg-6 */
  max-width: 100% !important;
}

/* 2) Garantir que o <span> dentro do título herda o tamanho/linha do “H1” */
#section-4 .clubes-title .mod-title,
#section-4 .clubes-title .mod-title span {
  font-size: var(--h1-font-size) !important;
  line-height: var(--h1-line-height) !important;
  font-family: var(--heading-font-family) !important;
  font-weight: var(--heading-font-weight) !important;
  letter-spacing: var(--heading-letter-spacing) !important;
  color: var(--headings-color) !important;
  margin: 0 0 .5rem !important;
}



/* Menos espaço entre módulos em section-6 */
#section-6 .t4-module { margin-bottom: 12px !important; }
#section-6 .module-title { margin-bottom: 8px !important; }


/* Section-7 sem limites de largura nem padding lateral */
#section-7 .t4-section-inner.container-xxl,
#section-7 .t4-section-inner.container,
#section-7 .container-xxl,
#section-7 .container {
  max-width: 100% !important;
  width: 100% !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* remover “gutter” entre colunas nessa secção */
#section-7 .t4-row { --t4-gutter-x: 0; }

/* o wrapper do módulo sem padding */
#section-7 .module-inner { padding-left: 0 !important; padding-right: 0 !important; }

/* faz o slider sangrar até às bordas da viewport */
#section-7 .t4-mod-wrap,
#section-7 .t4-module {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
}




/* JT Content Slider — setas grandes e nítidas (PURO CSS, sem FontAwesome) */
#section-7 .jtcs_item_wrapper .owl-nav {
  display: block;
}

#section-7 .jtcs_item_wrapper .owl-nav button.owl-prev,
#section-7 .jtcs_item_wrapper .owl-nav button.owl-next {
  /* ---- ajustes rápidos ---- */
  --jtcs-arrow-size: 48px;                 /* diâmetro do botão */
  --jtcs-arrow-stroke: 3px;                /* espessura da seta */
  --jtcs-arrow-bg: rgba(0,0,0,.20);        /* fundo normal */
  --jtcs-arrow-bg-hover: rgba(0,0,0,.35);  /* fundo no hover */

  width: var(--jtcs-arrow-size);
  height: var(--jtcs-arrow-size);
  line-height: var(--jtcs-arrow-size);
  border-radius: 9999px;
  background: var(--jtcs-arrow-bg);
  color: transparent;                      /* esconde qualquer char do plugin */
  font-size: 0;
  margin: 0;
  padding: 0;

  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;                              /* acima do conteúdo */
}

#section-7 .jtcs_item_wrapper .owl-nav button.owl-prev  { left: 8px; }
#section-7 .jtcs_item_wrapper .owl-nav button.owl-next  { right: 8px; }

#section-7 .jtcs_item_wrapper .owl-nav button.owl-prev::before,
#section-7 .jtcs_item_wrapper .owl-nav button.owl-next::before {
  content: "";
  display: block;
  width: calc(var(--jtcs-arrow-size) * .4);   /* tamanho da seta */
  height: calc(var(--jtcs-arrow-size) * .4);
  border: var(--jtcs-arrow-stroke) solid #fff;
  border-top-color: transparent;
  border-left-color: transparent;

  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%,-50%) rotate(135deg); /* seta ESQUERDA */
}

#section-7 .jtcs_item_wrapper .owl-nav button.owl-next::before {
  transform: translate(-50%,-50%) rotate(-45deg); /* seta DIREITA */
}

#section-7 .jtcs_item_wrapper .owl-nav button:hover {
  background: var(--jtcs-arrow-bg-hover);
}

/* opcional: quando o owl desativa a seta */
#section-7 .jtcs_item_wrapper .owl-nav button.disabled {
  opacity: .35;
  pointer-events: none;
}

/* JTCS – reset a qualquer ícone/texto que venha do módulo */
#section-7 .jtcs_item_wrapper .owl-nav .owl-prev i,
#section-7 .jtcs_item_wrapper .owl-nav .owl-next i {
  display: none !important;
}
#section-7 .jtcs_item_wrapper .owl-nav .owl-prev,
#section-7 .jtcs_item_wrapper .owl-nav .owl-next {
  font-size: 0 !important;          /* esconde “‹ ›” se o plugin usar texto */
}
#section-7 .jtcs_item_wrapper .owl-nav .owl-prev::before,
#section-7 .jtcs_item_wrapper .owl-nav .owl-prev::after,
#section-7 .jtcs_item_wrapper .owl-nav .owl-next::before,
#section-7 .jtcs_item_wrapper .owl-nav .owl-next::after {
  content: none !important;          /* neutraliza pseudo-elementos do tema */
}


/* JT Content Slider – mover os dots um pouco mais para baixo (≈5–10px) */
#t4-section-7 .jtcs_item_wrapper .owl-theme .owl-dots{
  bottom: -22px !important;   /* estava -15 → desce ~7px */
  margin-top: 0 !important;
}

/* alternativa/fallback: em vez de mexer no bottom, empurra visualmente */
#t4-section-7 .jtcs_item_wrapper .owl-theme .owl-dots{
  transform: translateY(6px); /* +6px para baixo */
}

/* um bocadinho de respiro extra dentro do slider (opcional) */
#t4-section-7 .jtcs_item_wrapper .owl-stage-outer{
  padding-bottom: 6px;
}



/* Lightbox para os artigos - Modal: ocupar bem o ecrã e sem barras desnecessárias (também tem no before body)*/
#articleModal .modal-body { padding: 0; }
#articleModal iframe {
  display: block;
  width: 100%;
  height: calc(100vh - 3.5rem); /* ajusta conforme a tua header do modal */
  border: 0;
}


/* Aumenta o “tamanho base” da letra do site */
html { font-size: 18px; }                 /* valor padrão */
@media (min-width: 992px)  { html { font-size: 17px; } }
@media (min-width: 1400px) { html { font-size: 18px; } }

/* (se o teu tema usar variáveis, isto também costuma funcionar) */
:root{
  /* experimente 1.05rem–1.125rem */
  --body-font-size: 1.0625rem;
}

/* ARTIGOS - Só quando estás a ver um artigo (com_content → item-page) */
.view-article .article-body,
.view-article .com-content-article__body {
  font-size: clamp(1.05rem, 0.95rem + 0.6vw, 1.20rem);  /* ~16.8–19.2px */
  line-height: 1.7;
}

/* Garante que parágrafos e listas seguem o tamanho acima */
.view-article .article-body p,
.view-article .article-body li,
.view-article .com-content-article__body p,
.view-article .com-content-article__body li {
  font-size: inherit;
  line-height: inherit;
  margin: 0 0 0.9em;
}

/* (Opcional) melhorar legibilidade de listas e citações */
.view-article .article-body ul,
.view-article .article-body ol,
.view-article .com-content-article__body ul,
.view-article .com-content-article__body ol { padding-left: 1.25rem; }

.view-article blockquote { 
  font-size: 1.05em; 
  border-left: 3px solid rgba(0,0,0,.1);
  padding-left: .9rem;
}



