/*
Theme Name: Digital Newspaper Child
Theme URI: https://blazethemes.com/theme/digital-newspaper-free/
Template: digital-newspaper
Author: BlazeThemes
Author URI: https://blazethemes.com/
Description: Digital Newspaper is now here to captivate WordPress website owners with unprecedented features you shall only find here first. The main banner has a professional 3 columns design that’s best suitable for news sites. It comes with 7 front sections with 7 different news block layouts and 9 custom Digital Newspaper widgets. You will get to choose separate colors and designs for all main elements of the page at both the initial and hover states. There are typography controls (5 font families, and font-weight) for Site title, Navigation Menu, Block Title, Post Title, Post Meta, Post Content, Archive, and Single Post. The theme provides custom breadcrumb trail options for popular plugins - Breadcrumb NavXT, Yoast SEO, and Rank Math SEO plugin. You will get a welcome dilemma in having to choose between 5 front page sidebar layouts, 5 archive sidebar layouts, 5 post sidebar layouts, 5 page sidebar layouts with sticky option in each layout, and 2 basic archive layouts. Also, the header section can be made sticky upon scrolling up and the theme has a scroll-to-top button. Enjoy the preference to select between boxed and full-width layouts in all sections. Available with 4+ pre-built starter websites, that you will get to install in one click. Demo link: https://doc.blazethemes.com/digital-newspaper/ Video tutorial: https://www.youtube.com/watch?v=h1aumrJXlyY
Tags: news,blog,entertainment,one-column,two-columns,grid-layout,block-styles,left-sidebar,right-sidebar,custom-header,flexible-header,custom-background,custom-colors,custom-menu,featured-images,full-width-template,post-formats,sticky-post,rtl-language-support,footer-widgets,theme-options,threaded-comments,translation-ready
Version: 1.1.17.1779062161
Updated: 2026-04-27

*/

@import url('https://fonts.googleapis.com/css2?family=Sora:wght@300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Lora:ital,wght@0,400..700;1,400..700&display=swap');

:root {
  --font-family-base: 'Sora', sans-serif;
  --font-family-body: "Lora", serif;
  --main-color: #000000;
  --font-body-size: 17px;
  --font-body-line-height: 30px;
  --font-entrada-size: 22px;
  --font-entrada-line-height: 30px;
  --font-T1-2: 34px;
  --font-line-height-T1-2: 38px;
  --font-weight-T1-2: 600;
  --small-text-font: 0.8rem;
  --smaller-title-font-size: 17px;
  --smaller-title-font-height: 21px;
  --font-weight-tittle-smaller: 500;
  --font-size-t2: 25px;
  --line-height-t2: 32px;
  --font-size-t1: 45px;
  --line-height-t1: 1.1;
  --font-size-t1B: 38px;
  --line-height-t1B: 45px;
  --font-size-t1C: 30px;
  --line-height-t1C: 35px;
  --grey:#d0cfcf;
}

html {
  overflow-x: hidden;
}

body {
  font-family: var(--font-family-base) !important;
  overflow-x: hidden;
}

.site-header.layout--default .top-header {
  background: var(--main-color) !important;
}

.main-navigation .menu li a,
.main-navigation .nav.menu li a {
  font-family: var(--font-family-base) !important;
  font-size: 14px !important;
  font-weight: 400 !important;
  text-transform: uppercase !important;
}

/* Active category menu link (archive/tag/single) */
.main-navigation .dlx-menu-cat-active > a,
.main-navigation .dlx-menu-cat-active > a:focus {
  color: var(--dlx-menu-category-color, inherit) !important;
  font-weight: 500 !important;
}

/*TITULO das seccoes na homepage*/
.digital-newspaper-block-title {
  font-family: var(--font-family-base) !important;
  font-size: 2rem;
  text-align: left;
  margin-bottom: 0;
}

/* Border and text color use CSS variable */
h2.digital-newspaper-block-title {
  margin-bottom: 0px !important;
  border-bottom: 1px solid var(--section-title-color) !important;
}

.digital-newspaper-block-title span,
.digital-newspaper-block-title span a {
  color: var(--section-title-color) !important;
  border-bottom: none !important;
  text-decoration: none !important;
}


/**
* Update font-family
*/
.post-title a,
.post-categories a,
.post-meta span,
.post-meta time {
  font-family: var(--font-family-base) !important;
}

.post-categories a {
  transition: none !important;
  color: inherit !important;
}

.post-categories a:visited {
  color: inherit !important;
}

.post-categories .cat-item:hover a,
.post-categories a:hover {
  color: #fff !important;
}

.post-excerpt p {
  font-family: var(--font-family-body) !important;
}

/**
* MOSTRAR O NOME DO AUTOR NO MAIN BANNER DA HOMEPAGE
*/
.main-banner-wrap .post-meta .byline,
.main-banner-wrap .post-meta .author.vcard {
  display: inline !important;
  visibility: visible !important;
}

/**
* RETIRAR ANIMAÇÃO MANHOSA DOS posts da homepage
*/
.banner-layout--six .row .main-banner-trailing-posts figure.post-thumb .post-element-wrap {
  transform: translateY(0) !important;
  transition: none !important;
}


/**
* Mostrar todas as infos dos posts da homepage
*/
.banner-layout--six .row .main-banner-trailing-posts figure.post-thumb .post-element-wrap .post-meta {
  opacity: 100% !important;
}

/**
* Tirar padding das caixas da homepage

.home.blog #theme-content .row .primary-content article .blaze_box_wrap {
  padding: 0px !important;
}*/


/**
* Passar para 3 colunas
*/
.primary-content {
  flex: 0 0 100% !important;
  max-width: 100% !important;
}



/**
* HOMAPAGE 3 COLLUMN SECTION TURNS INTO 1 COLUMN
*/
@media screen and (max-width: 1024px) {

  .top-main-banner-item .post-thumb img {
    max-height: 800px;
  }
}

.digital-newspaper-section.banner-layout--six {
  padding-top: 15px !important;
}

.banner-layout--six .row .main-banner-wrap {
  flex: 1 0 100% !important;
  max-width: 100% !important;
  padding-right: 0 !important;
}

/* Template six: force 2:3 banner aspect ratio */
.banner-layout--six .main-banner-wrap article .post-thumb {
  width: 100%;
  height: auto !important;
  aspect-ratio: 3 / 2;
}

/* Template six: allow full title without ellipsis */
.banner-layout--six .main-banner-wrap .post-element .post-title {
  overflow: visible;
  text-overflow: unset;
  display: block;
  -webkit-line-clamp: unset;
  -webkit-box-orient: initial;
  width: auto;
}

/* Template six: custom padding for the text block */
.banner-layout--six .main-banner-wrap .post-element.banner-six-info {
  padding: 30px 25px 30px !important;
}

/**
* TOP IMAGEM HOMAPAGE
*/
/* CONTAINER igual ao Main Banner */
.top-main-banner-wrap {
  width: 100%;
  margin: 0 auto 20px auto;
  position: relative;
}

/* A imagem ocupa 100% */
.top-main-banner-item .post-thumb img {
  width: 100%;
  height: auto;
  /* muda para o valor que pretendes */
  object-fit: cover;
  display: block;
}

/* Post-element igual ao main banner overlay */
.top-main-banner-item .post-element {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 10px !important;
  width: 100%;
  color: white;
  z-index: 5;
}

/* Gradient escuro igual ao main banner */
.top-main-banner-item .post-element::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, .85) 100%);
  z-index: -1;
}

/* Título igual ao main banner */
.top-main-banner-item .post-title a {
  color: #fff !important;
  font-size: 2rem;
  font-weight: 500;
  text-decoration: none;
}

/* Meta igual ao main banner */
.top-main-banner-item .post-meta span,
.top-main-banner-item .post-meta a {
  color: #fff !important;
}

/* Excerpt */
.top-main-banner-item .post-excerpt {
  color: #fff;
  font-size: 1rem;
  margin-top: 10px;
  max-width: 700px;
}

/* Default section titles */
.digital-newspaper-block-title:not(.my-main-banner-title){
  font-size: 2rem !important;
}

/* DLX section title (size + color driven by inline CSS vars) */
.digital-newspaper-block-title.my-main-banner-title{
  font-size: var(--section-title-size, 20px) !important;
  color: var(--section-title-color, inherit);
}

/* Ensure inner wrappers can't lock font size */
.digital-newspaper-block-title.my-main-banner-title > span,
.digital-newspaper-block-title.my-main-banner-title a{
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Link styling */
.digital-newspaper-block-title.my-main-banner-title a{
  color: inherit;
  text-decoration: none;
}

.digital-newspaper-block-title.my-main-banner-title a:hover{
  text-decoration: none;
  opacity: 0.85;
}

.section-title-row {
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  gap: 12px;
  flex: 1 1 100%;
  box-sizing: border-box;
}

.section-title-row.section-title-row--bottom {
  align-items: flex-end;
}

.section-title-text {
  display: inline-flex;
  align-items: center;
  flex: 1 1 auto;
}

.digital-newspaper-block-title.my-main-banner-title a.section-title-view-all {
  margin-left: auto;
  font-family: 'Sora', sans-serif;
  font-size: 15px !important;
  line-height: 1.2 !important;
  white-space: nowrap;
  color: inherit;
  text-decoration: none;
  flex: 0 0 auto;
}


h2.digital-newspaper-block-title.my-main-banner-title{
  font-size: var(--section-title-size, 20px) !important;
}

h2.digital-newspaper-block-title.my-main-banner-title a{
  font-size: inherit !important;
}

h2.digital-newspaper-block-title.my-main-banner-title a.section-title-view-all {
  font-size: 15px !important;
  line-height: 1.2 !important;
}

/* Default section titles */
.digital-newspaper-block-title:not(.my-main-banner-title){
  font-size: 2rem !important;
}

/* DLX section title */
h2.digital-newspaper-block-title.my-main-banner-title{
  font-size: var(--section-title-size, 32px) !important;
  color: var(--section-title-color, inherit);
  transition: opacity 0.2s ease;

  /* spacing so the border doesn't touch the text */
  line-height: 1.15;
  padding-bottom: .25em;
  margin: 0 0 .6rem;

  /* safety in case the theme is constraining the box */
  height: auto !important;
  overflow: visible !important;

  border-bottom: 1px solid var(--section-title-color, currentColor) !important;
}

/* Make sure inner wrappers can't lock the size/line-height */
h2.digital-newspaper-block-title.my-main-banner-title > span,
h2.digital-newspaper-block-title.my-main-banner-title a{
  font-size: inherit !important;
  line-height: inherit !important;
}

/* Link styling */
h2.digital-newspaper-block-title.my-main-banner-title a{
  color: inherit;
  text-decoration: none;
}

body:not(.category):not(.tag) .digital-newspaper-block-title.my-main-banner-title:hover,
body:not(.category):not(.tag) .digital-newspaper-block-title.my-main-banner-title:focus-within{
  opacity: 0.6;
}

/**
* VIDEOS NA HOMEPAGE ARTICLE LAYOUT
*/
.news-carousel .carousel-item .carousel-inner-wrapper {
  width: 100%;
}

.news-carousel .carousel-item article.post {
  margin-bottom: 0;
}

.news-carousel .carousel-item .blaze_box_wrap {
  height: 100%;
}

/* Video icon overlay on thumbnails */
.video-thumb-wrap {
  position: relative;
  overflow: hidden;
}

.video-thumb-wrap .video-thumb-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: 50px;
  height: 50px;
  pointer-events: none;
}

.video-thumb-wrap .video-thumb-icon img {
  display: block;
  width: 100%;
  height: 100%;
  filter: drop-shadow(0 4px 12px rgba(0, 0, 0, 0.25));
}

/* Podcast icon overlay on thumbnails (podcasts carousel only) */
.podcast-thumb-wrap {
  position: relative;
  overflow: hidden;
}

.podcast-thumb-wrap .podcast-thumb-icon {
  position: absolute;
  top: 10px;
  right: 10px;
  z-index: 2;
  width: auto;
  height: auto;
  pointer-events: none;
}

.podcast-thumb-wrap .podcast-thumb-icon img {
  display: block;
  width: auto;
  height: auto;
  max-height: 30px;
  filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.35));
}


/**
* BG COLOR DO CAROUSEL: videos e podcasts
*/
#bottom-full-width-section {
  background-color: #fff !important;
}

/* Podcasts carousel: left + bottom aligned text/tag with tight padding */
.dlx-section-podcasts .news-carousel.layout--two .post-element {
  top: auto;
  bottom: 0;
  left: 0;
  right: 0;
  transform: none;
  text-align: left;
  padding: 5px 10px !important;
  box-sizing: border-box;
}

.dlx-section-podcasts .news-carousel.layout--two .post-title.white-font {
  margin-bottom: 0;
}

.dlx-section-podcasts .news-carousel.layout--two .post-element-inner {
  padding-top: 5px;
}

.dlx-section-podcasts .news-carousel.layout--two .digital-newspaper-block-title.my-main-banner-title {
  margin-bottom: 20px !important;
}

/***
* SECCAO HOMEPAGE 4 COLUNAS
*/
/* Wrap uses grid instead of the default layout */
.news-list-wrap.news-list-4col {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 5px;
  padding: 10px;
  padding-bottom: 60px;
}

/* Make sure article boxes behave in grid */
/* Fix Digital Newspaper forcing two columns */
.news-list-4col article.post,
.news-list-4col article {
  width: 100% !important;
  max-width: 100% !important;
  flex: 0 0 100% !important;
}

/* Ensure internal wrappers do not limit width */
.news-list-4col .blaze_box_wrap,
.news-list-4col .post-thumb-wrap,
.news-list-4col .post-element {
  width: 100% !important;
}

@media (max-width: 1024px) {
  body .news-list-wrap.news-list-4col {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 768px) {
  body .news-list-wrap.news-list-4col {
    grid-template-columns: minmax(0, 1fr) !important;
  }
}

/**
* Tirar o padding to texto dos artigos da homepage
*/

.post-element {
  padding: 0px !important;
  padding-top: 10px !important;
}

.dn-narrow-wrap {
  max-width: 700px;
  /* or 500px */
  width: 100%;
  margin-left: 0;
  /* stick to left */
  padding-left: 0;
  padding-right: 0;
}

/**
* PADDING DOS ARTIGOS CONTENT
*/
body.post-layout--two #theme-content .primary-content .news-list-wrap article {
  padding: 0px !important;
}

/***
* TAMANHO DO TITULO DE UMA PAGINA SECCAO
*/
h3.my-main-banner-title {
  font-size: var(--section-title-size, 40px) !important;
  font-weight: var(--section-title-weight, 500) !important;
  border-bottom: 0.5px solid var(--section-title-color) !important;
  margin-bottom: 10px;
}

body.archive h3.my-main-banner-title {
  border-bottom-width: 1.5px !important;
}

/**
* COLUNA TEXTO ARTIGO ALONE
*/
.single-collumn {
  max-width: 680px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

/**
* FONT-FAMILY SINGLE ARTIGO
**/
.single .post-inner .entry-content {
  font-family: var(--font-family-body) !important;
  font-size: var(--font-body-size) !important;
  line-height: var(--font-body-line-height) !important;
}

/** ARTIGO ENTRADA FONT */
.single .post-inner .entry-content strong {
  font-family: var(--font-family-body) !important;
  font-size: var(--font-entrada-size) !important;
  line-height: var(--font-entrada-line-height) !important;
  font-weight: 300;
}

/**. ARTIGO TITULO FONT*/
.entry-title {
  font-family: var(--font-family-base) !important;
  font-size: var(--font-T1-2) !important;
  line-height: var(--font-line-height-T1-2) !important;
  font-weight: var(--font-weight-T1-2) !important;
}

/**ARTIGO META FONT*/
.single .entry-header .entry-meta a,
.single .entry-header .entry-meta span {
  font-family: var(--font-family-base) !important;
  font-size: var(--small-text-font) !important;
}

/** FONT COMENTARIOS */
.comment-respond h3 {
  font-family: var(--font-family-base) !important;
}

.comment-form .form-submit input {
  font-family: var(--font-family-base) !important;
}

/* Extra padding ONLY for the main banner big story */
.banner-layout--six .main-banner-wrap .slide-item .post-element {
  padding: 20px 40px 40px !important;
  /* top right bottom left */
}

/* Extra padding ONLY for the top homepage main story */
.top-main-banner-wrap .top-main-banner-item .post-element {
  padding: 20px 0 25px !important;
}

@media (max-width: 768px) {
  .top-main-banner-wrap .top-main-banner-item .post-element {
    padding: 20px 10px 25px !important;
  }
  .top-main-banner-wrap .top-main-banner-item .post-element .digital-newspaper-container {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .post-element:not(.lca-homepage) {
    padding-left: 10px !important;
    padding-right: 10px !important;
  }
}

/** PODS AND VIDS SECTION BG DARK*/
/* Background block for podcasts & videos sections */
.pods-vids-BG {
  background-color: #171717;
  /* <<< the color you actually want */
}

.pods-title-icon {
  max-height: 45px;
  width: auto;
  height: 45px;
  margin-right: 10px;
}

.pods-vids-BG .digital-newspaper-block-title.my-main-banner-title > span,
.pods-vids-BG .digital-newspaper-block-title.my-main-banner-title a {
  display: inline-flex;
  align-items: center;
}

/**
* ENTRY DO ARTIGO*/
/* SINGLE POST – HEADER: IMAGE LEFT, TEXT RIGHT */
.single .entry-header.entry-header--with-thumb .entry-header-inner {
  display: flex;
  gap: 24px;
  align-items: center;
}

/* Left column: image */
.single .entry-header.entry-header--with-thumb .entry-header-media {
  flex: 0 0 50%;
}

.single .entry-header.entry-header--with-thumb .entry-header-media img {
  width: 100%;
  height: auto;
  display: block;
}

/* Right column: category, title, meta */
.single .entry-header.entry-header--with-thumb .entry-header-content {
  flex: 1;
}

/* Optional: reduce bottom margin on header so it sticks closer to body */
.single .entry-header.entry-header--with-thumb {
  margin-bottom: 30px;
}

@media (max-width: 1024px) {
  .single .entry-header.entry-header--with-thumb .entry-header-inner {
    display: flex;
    flex-direction: column-reverse;
    /* <— invert order */
    max-width: 720px;
    margin: 0 auto;
  }

  .single .entry-header.entry-header--with-thumb .entry-header-media,
  .single .entry-header.entry-header--with-thumb .entry-header-content {
    flex: 0 0 auto;
    width: 100%;
  }
}




h3.my-main-banner-title {
  margin-bottom: 0px !important;
}

.digital-newspaper-container {
  padding-top: 10px !important;
}

.entry-lead {
  font-family: var(--font-family-body) !important;
  font-size: var(--font-entrada-size) !important;
  line-height: var(--font-entrada-line-height) !important;
  font-weight: 500;
  margin-top: 10px;
  margin-bottom: 15px;
}

/**
* META NEXT TO CATEGORY IN HEADER OF ARTICLE
*/
.meta-header-post {
  display: flex;
  justify-content: space-between;
  /* left + right */
  align-items: center;
  gap: 10px;
  /* optional spacing between cats and meta */
}

/* just to avoid weird margins from theme defaults */
.meta-header-post .entry-meta {
  margin: 0;
}

/**
* BORDER BLACK ARTIGO BOTTOM
*/
.single .entry-header-inner {
  border-bottom: 0.5px solid #000;
  padding-bottom: 20px;
  margin-bottom: 30px;
}

/**
* PRIMEIRA LETRA BODY ARTIGO
*/
/* Primeira letra do primeiro parágrafo do artigo (single) */
/* DROP CAP no primeiro parágrafo do artigo (single) */
/* DEBUG: ver se estou a apanhar o 1.º parágrafo */
/* DROP CAP no 2.º parágrafo direto dentro de .entry-content */
.single .post-inner .entry-content.single-collumn>p:first-of-type::first-letter {
  float: left;
  font-size: 86px;
  /* ajusta até ocupar ~3 linhas */
  line-height: 1;
  font-weight: 600;
  padding-right: 8px;
  padding-top: 4px;
}

/**
* COR DA TAG NO ARTIGO
**/
/* Override parent rule so it doesn't force red on singles */
.single .entry-header .post-categories li {
  /* no background-color here on purpose */
  border-radius: 3px;
  line-height: var(--single-meta-lineheight);
  font-weight: var(--single-meta-weight);
  font-family: var(--single-meta-family);
  margin: 0 5px 5px 0;
}


/**
* AUTORES E COLUNA DE TEXTO, ARTIGO
**/
/* Wrapper: 3 colunas -> [ESQ autores] [CENTRO texto] [DIR vazio] */
.single .single-layout-wrapper {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  column-gap: 2rem;
}

/* Coluna de texto continua a ser uma coluna centrada */
.single .entry-content.single-collumn {
  grid-column: 2;
  /* coluna do meio */
  max-width: 720px;
  /* ajusta para a largura que já usavas */
  justify-self: center;
  /* garante que o texto fica mesmo centrado no meio */
}

/* Coluna dos autores ocupa o espaço à esquerda */
.single .single-authors-column {
  grid-column: 1;
  /* primeira coluna (lado esquerdo) */
  width: 100%;
  /* preenche o espaço dessa coluna */
  align-self: start;
  font-size: 0.9rem;
  margin-top: 20px;
}

.single .single-authors-title {
  margin: 0 0 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

/* Se a tua função digital_newspaper_posted_by gera .byline e .author_name */
.single .single-authors-list .byline {
  display: block;
}

.single .single-authors-list .author_name {
  display: inline-block;
  margin-bottom: 0.10rem;
}

/* Responsivo: em ecrãs pequenos, empilha tudo (autores em cima, texto em baixo) */

.single .single-layout-wrapper {
  display: block;
}

.single .single-authors-column {
  width: auto;
  margin-bottom: 1.5rem;
  display: flex;
  justify-content: center;
}


.p {
  margin-top: 0px;
}

.page-content,
.entry-content,
.entry-summary {
  margin: 0px !important;
}

.single-authors-title {
  font-size: var(--small-text-font);
  font-weight: 400 !important;
  color: #171717 !important;
}

/** TIRAR ICONE DE AUTORES */
span.author_name:before,
a.author_name::before {
  content: none !important;
}

/* Remove ONLY the icon before the author meta (first item in entry-meta) */
.single .entry-meta>span:first-child::before,
.single .entry-meta .byline::before {
  content: '' !important;
  display: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

a:visited {
  color: inherit !important;
}



/* "POR" na mesma linha dos autores */
.single .single-authors-title {
  flex: 0 0 auto;
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-weight: 600;
}

/* O bloco com os autores fica ao lado do "POR" e também pode quebrar */
.single .single-authors-list {
  flex: 0 1 auto;
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

/* NÃO metas color no wrapper */
.single .single-authors-list {
  color: inherit !important;
}

/* Cor só nos links dos autores (inclui visited) */
.single .single-authors-list a.author_name,
.single .single-authors-list a.author_name:visited {
  color: var(--dlx-cat-accent, #171717) !important;
}


/* Dentro da lista, a .byline já estava a ser usada para flex dos autores */
.single .single-authors-list .byline {
  display: flex;
  flex-wrap: wrap;
}

/* Cada autor */
.single .single-authors-list .author {
  flex: 0 0 auto;
  white-space: nowrap;
  /* mantém o nome de cada autor numa só linha */
  font-weight: 500;
}


.single-authors-row {
  display: flex;
  gap: 0.4rem;
  text-transform: uppercase;
  font-size: var(--small-text-font);
}

.dlx-content-authors {
  margin-top: 0.4rem;
  font-size: 12px;
  font-weight: 400;
}

.dlx-content-authors .single-authors-list {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  padding-top: 5px;
}

.dlx-content-authors .single-authors-list .byline {
  display: flex;
  flex-wrap: wrap;
}

.dlx-content-authors .single-authors-list .author {
  flex: 0 0 auto;
  white-space: nowrap;
  font-weight: 400;
}

.dlx-content-authors .single-authors-list a.author_name,
.dlx-content-authors .single-authors-list a.author_name:visited {
  color: var(--dlx-category-color, currentColor) !important;
  text-decoration: none !important;
  font-weight: 400;
}

/* Author archive header name should match site font */
.archive.author .digital-newspaper-container.digital-newspaper-author-section .author-name {
  font-family: 'Sora', sans-serif;
  font-weight: 500;
}

/* Vertically center author header content (avatar + name/desc). */
.archive.author .digital-newspaper-container.digital-newspaper-author-section .row {
  align-items: center;
}

/* Hide authors only where explicitly requested (podcasts/videos sections). */
.dlx-hide-content-authors .dlx-content-authors {
  display: none !important;
}

/* Ensure Fotografia main banner shows authors. */
.fotografia-main-banner .dlx-content-authors {
  display: flex !important;
}

/* Fotografia main banner author color */
.fotografia-main-banner .dlx-content-authors,
.fotografia-main-banner .dlx-content-authors a,
.fotografia-main-banner .dlx-content-authors a:visited {
  color: #ffffff !important;
}
.fotografia-main-banner .dlx-content-authors .author_name,
.fotografia-main-banner .dlx-content-authors a.author_name,
.fotografia-main-banner .dlx-content-authors a.author_name:visited,
.fotografia-main-banner .dlx-content-authors a.author_name:hover {
  color: #b0b0b0 !important;
}

.entry-meta {
  margin-bottom: 0 !important;
}

.single .entry-header .entry-meta>span {
  margin-right: 0 !important;
}

.single .entry-header .post-categories li {
  margin: 0 !important;
}


/**
* RELATED POSTS
*/
/* Same grid & spacing as homepage, but only inside the related block on singles */
.single .single-related-posts-section .news-list-wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  /* space between cards */
  margin-top: 20px;
  /* gap between title and first row of posts */
}

.single .single-related-posts-section .news-list-wrap>article {
  flex: 0 0 33.333%;
  max-width: 33.333%;
  box-sizing: border-box;
  margin-bottom: 30px;
  /* vertical spacing */
}

/* Hover effect like homepage */
.single .single-related-posts-section .news-list-wrap .post-thumb-wrap img {
  transition: transform 0.3s ease;
}

.single .single-related-posts-section .news-list-wrap>article:hover .post-thumb-wrap img {
  transform: scale(1.03);
}


/** 3 COLUNAS COM GAP 20PX */
/* NEWS LIST WRAP: 3 cols desktop, 1 col mobile + gutters */
.news-list-wrap {
  display: grid !important;
  grid-template-columns: 1fr;
  /* mobile default */
  gap: 20px;
}

/* Desktop: 3 columns */
@media (min-width: 769px) {
  .news-list-wrap {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* Reset theme widths that can break grid */
.news-list-wrap>article,
.news-list-wrap>article.post {
  width: auto !important;
  max-width: none !important;
  flex: none !important;
}

/* Center pagination below the grid on archive/author pages. */
body.archive .news-list-wrap .pagination {
  grid-column: 1 / -1;
  width: 100%;
  display: flex;
  justify-content: center;
}

body.archive .news-list-wrap .pagination ul.page-numbers,
body.archive .news-list-wrap .pagination .nav-links {
  width: 100%;
  display: flex;
  justify-content: center;
}

/* Fotografia: 2 columns on archive grid */
@media (min-width: 769px) {
  body.category-fotografia .news-list-wrap {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* content.php cards: transparent background across the child theme */
.blaze_box_wrap {
  background-color: transparent !important;
}

.blaze_box_wrap figure.post-thumb-wrap {
  position: relative;
  overflow: hidden;
}

.blaze_box_wrap figure.post-thumb-wrap .post-categories {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
}


/** TAGS SINGLE POST */
.tags-links {
  text-transform: uppercase;
  font-size: var(--small-text-font);
}

.entry-footer .tags-links a {
  background-color: transparent !important;
  text-decoration: underline;
  color: #000 !important;
}

/** TAGS */
.entry-footer {
  font-family: var(--font-family-base);
  display: flex;
  justify-content: center;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  padding: 8px 0;
  /* optional, just for breathing room */
}


.single-tags-label {
  font-size: var(--small-text-font);
  font-weight: 700;
  display: inline-flex;
  /* inline-flex is nicer for a label */
  justify-content: center;
  /* horizontal */
  align-items: center;
  /* vertical */
}

.post-meta {
  display: flex;
  /* fica em row por padrão */
  flex-direction: row;
  justify-content: space-between;
  /* um item encostado à esquerda e o outro à direita */
  align-items: center;
}

.smaller-tittle {
  font-size: var(--smaller-title-font-size) !important;
  line-height: var(--smaller-title-font-height) !important;
  font-family: var(--font-family-base) !important;
  font-weight: var(--font-weight-tittle-smaller) !important;
}

.post-title {
  font-family: var(--font-family-base) !important;
}

.post-element .post-title {
  margin-top: 0;
  margin-bottom: 0;
}


.title-no-image {
  padding-top: 15px !important;
}


a.white-font:visited {
  color: #fff !important;
}

.white-font a {
  color: #fff !important;
}


/** TEXTO ARTIGO */
.has-legenda-font-size {
  font-size: var(--small-text-font);
  font-family: var(--font-family-base);
  font-weight: 400;
  text-transform: uppercase;
}
.has-legenda-font-size strong,
.has-legenda-font-size b {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700;
  text-transform: inherit;
}

.has-corpo-texto-font-size {
  font-size: var(--font-body-size);
  line-height: var(--font-body-line-height);
  font-family: var(--font-family-body);
  font-weight: 400;
}

.has-titulo-font-size {
  font-size: 25px;
  line-height: 28px;
  font-family: var(--font-family-body);
  font-weight: 600;
  margin-bottom: 0px !important;
  margin-top: 40px !important;
  color: var(--dlx-cat-accent, transparent);
}

.has-destaque-font-size {
  font-size: 32px;
  line-height: 45px;
  font-family: var(--font-family-body);
  font-weight: 600;
  text-align: center;
  padding-bottom: 10px;
  padding-top: 10px;
  border-top: 3px solid var(--dlx-cat-accent, transparent);
  border-bottom: 3px solid var(--dlx-cat-accent, transparent);
}

.single .post-inner .entry-content .has-legenda-font-size strong,
.single .post-inner .entry-content .has-legenda-font-size b,
.single .post-inner .entry-content .has-titulo-font-size strong,
.single .post-inner .entry-content .has-titulo-font-size b {
  font-family: inherit !important;
  font-size: inherit !important;
  line-height: inherit !important;
  font-weight: 700;
  text-transform: inherit;
}








/* Base caption style */
.entry-content figure.wp-block-image figcaption {
  font-size: 12px;
  font-family: var(--font-family-base);
  font-weight: 200;
  text-transform: none;
  line-height: 15px;
}

/* Remove default gallery overlay/blur */
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image::before,
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image:has(figcaption)::before {
  content: none !important;
  display: none !important;
  background: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

/* Match gallery captions to single image captions (below the image) */
.entry-content .wp-block-gallery.has-nested-images figure.wp-block-image figcaption,
.entry-content .wp-block-gallery .wp-block-image figcaption,
.entry-content .wp-block-gallery .blocks-gallery-item__caption,
.entry-content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption,
.entry-content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,
.entry-content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,
.entry-content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption {
  font-size: 12px;
  font-family: var(--font-family-base);
  font-weight: 200;
  text-transform: none;
  line-height: 15px;
  position: static !important;
  background: none !important;
  color: inherit !important;
  padding: 0 !important;
  margin: 8px 0 0 !important;
  max-height: none !important;
  overflow: visible !important;
  width: 100% !important;
  display: block;
  text-align: left;
  text-shadow: none !important;
}

/* Hide captions in gallery layout (keep content for lightbox) */
.entry-content .wp-block-gallery .wp-block-image figcaption,
.entry-content .wp-block-gallery .blocks-gallery-item__caption,
.entry-content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figcaption,
.entry-content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figcaption,
.entry-content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figcaption,
.entry-content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figcaption {
  display: none !important;
}

/* Reset ANY bold rules inside the caption and make it match */
.single .entry-content figure.wp-block-image figcaption strong,
.single .entry-content figure.wp-block-image figcaption b,
.single .entry-content .wp-block-gallery .wp-block-image figcaption strong,
.single .entry-content .wp-block-gallery .wp-block-image figcaption b,
.single .entry-content .wp-block-gallery .blocks-gallery-item__caption strong,
.single .entry-content .wp-block-gallery .blocks-gallery-item__caption b {
  all: unset;
  display: inline;
  font-size: inherit !important;
  font-family: inherit !important;
  text-transform: inherit !important;
  line-height: inherit !important;
  font-weight: 500 !important;
}

/* Ensure older gallery markup stacks image + caption */
.entry-content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-item figure,
.entry-content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-item figure,
.entry-content .wp-block-gallery:not(.has-nested-images) .blocks-gallery-image figure,
.entry-content .blocks-gallery-grid:not(.has-nested-images) .blocks-gallery-image figure {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: flex-start;
  height: auto;
}

/** MENU COM LOGO EM CIMA */
/* Tablet+: logo centrado em cima, menu centrado em baixo */

@media (min-width: 769px) {

  /* Row em coluna — usa #masthead (ID) para ganhar sobre qualquer regra de classe do tema pai */
  #masthead.layout--three .site-branding-section .digital-newspaper-container .row {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
  }

  /* Logo centrado e full-width */
  #masthead.layout--three .site-branding {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    flex: 0 0 auto !important;
    text-align: center !important;
    margin: 0 0 1rem !important;
  }

  #masthead.layout--three .site-branding .custom-logo-link {
    margin: 0 auto;
    display: inline-block;
  }

  /* Itens do menu centrados — sobrescreve justify-content: flex-end do tema pai */
  #masthead.layout--three .main-navigation ul.menu,
  #masthead.layout--three .main-navigation ul.nav-menu {
    justify-content: center !important;
  }
}

/* LOGO SIZE */
@media (min-width: 1025px) {
  .site-header.layout--three .site-branding img.custom-logo {
    max-height: 80px !important;
    height: auto;
    width: auto;
  }
}

/** MOBILE MENU TOGGLE */
@media (max-width: 769px) {
  .menu-toggle .menu_txt {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
  }
}

/** MOBILE: MENU LEFT, SEARCH RIGHT (LAYOUT THREE) */
@media (max-width: 769px) {
  #masthead.layout--three .header-smh-button-wrap {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    width: 100%;
    max-width: 100%;
    flex: 0 0 100%;
  }

  #masthead.layout--three #site-navigation {
    width: auto;
    flex: 0 0 auto;
  }

  #masthead.layout--three .search-wrap {
    margin-left: auto;
    padding-left: 0;
  }
}

/** AUTO COLLAPSE MENU WHEN WRAPS */
#masthead.layout--three.dlx-menu-collapsed-wrap .header-smh-button-wrap {
  width: 100%;
  max-width: 100%;
  justify-content: space-between;
  align-items: flex-start;
}

#masthead.layout--three.dlx-menu-collapsed-wrap #site-navigation {
  width: auto;
  flex: 0 0 auto;
  text-align: left;
}

#masthead.layout--three.dlx-menu-collapsed-wrap .search-wrap {
  margin-left: auto;
  padding-left: 0;
}

#masthead.layout--three.dlx-menu-collapsed-wrap .menu-toggle {
  justify-content: flex-start;
}

#site-navigation.dlx-menu-collapsed .menu-toggle {
  background-color: transparent;
  display: flex;
  align-items: center;
  border: none;
  border-radius: 3px;
  background: transparent;
  color: rgba(0, 0, 0, 0.8);
  line-height: 1;
  padding: 0.3em 0.5em 0.3em 0;
}

#site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger {
  display: flex;
  align-items: center;
  flex-direction: column;
  cursor: pointer;
}

#site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger span {
  width: 1.5em;
  height: .15em;
  margin: 0.2em 0;
  display: block;
  transition: all .4s ease;
  transform-origin: 0 0;
}

#site-navigation.dlx-menu-collapsed .menu_txt {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

/* Burger → X quando o menu collapsed está aberto */
#site-navigation.dlx-menu-collapsed.toggled #digital_newspaper_menu_burger span:nth-child(1) {
  transform: rotate(45deg) translate(1px, -1px);
}

#site-navigation.dlx-menu-collapsed.toggled #digital_newspaper_menu_burger span:nth-child(2) {
  transform: scaleX(0);
}

#site-navigation.dlx-menu-collapsed.toggled #digital_newspaper_menu_burger span:nth-child(3) {
  transform: rotate(-45deg) translate(1px, 0);
}

/* Garantir que transform no nav não quebra o position:fixed do ul */
#site-navigation.dlx-menu-collapsed {
  transform: none !important;
}

/* Menu dropdown — layout e fundo idênticos ao mobile */
#site-navigation.dlx-menu-collapsed ul.menu,
#site-navigation.dlx-menu-collapsed ul.nav-menu {
  display: none;
  background: var(--mobile-menu-bk-color, #f8f8f8) !important;
  background-color: var(--mobile-menu-bk-color, #f8f8f8) !important;
  height: auto !important;
  min-height: 0 !important;
  overflow: visible !important;
  z-index: 1000;
  position: fixed;
  left: 0 !important;
  right: 0 !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding: 10px 30px;
  box-sizing: border-box;
}

#site-navigation.dlx-menu-collapsed.toggled ul.menu,
#site-navigation.dlx-menu-collapsed.toggled ul.nav-menu {
  display: block;
}

/* Esconder a seta › do desktop nos itens com filhos */
#site-navigation.dlx-menu-collapsed ul.menu li.menu-item-has-children > a::after,
#site-navigation.dlx-menu-collapsed ul.menu li.page_item_has_children > a::after,
#site-navigation.dlx-menu-collapsed ul.nav-menu li.menu-item-has-children > a::after,
#site-navigation.dlx-menu-collapsed ul.nav-menu li.page_item_has_children > a::after,
#site-navigation.dlx-menu-collapsed ul.menu ul li.menu-item-has-children > a::after,
#site-navigation.dlx-menu-collapsed ul.nav-menu ul li.menu-item-has-children > a::after {
  content: none !important;
  display: none !important;
}

/* Mostrar o botão + dos submenus */
#site-navigation.dlx-menu-collapsed .toggle-sub-menu,
#site-navigation.dlx-menu-collapsed ul.menu .toggle-sub-menu,
#site-navigation.dlx-menu-collapsed ul.nav-menu .toggle-sub-menu {
  display: inline-block !important;
  width: 15px;
  position: absolute;
  top: 5px;
  right: 2px;
  padding-right: 20px;
  text-align: right;
}

/* Itens verticais — override do display:flex e height:inherit do tema pai a ≥769px */
#site-navigation.dlx-menu-collapsed ul.menu li,
#site-navigation.dlx-menu-collapsed ul.nav-menu li {
  display: block !important;
  height: auto !important;
  float: none;
  border-top: 0;
  position: relative;
  border-bottom: 1px solid var(--mobile-menu-border-btm-color);
}

#site-navigation.dlx-menu-collapsed ul li.menu-item-has-children {
  display: inline-block;
  width: 100%;
}

#site-navigation.dlx-menu-collapsed ul.menu li:last-child,
#site-navigation.dlx-menu-collapsed ul.nav-menu li:last-child {
  border-bottom: none;
}

/* Links com estilos mobile */
#site-navigation.dlx-menu-collapsed ul.menu li a,
#site-navigation.dlx-menu-collapsed ul.nav-menu li a {
  font-size: var(--menu-size-mobile);
  font-weight: var(--menu-weight);
  letter-spacing: var(--menu-letterspacing-mobile);
  color: var(--menu-color);
  font-family: var(--menu-family);
  float: none;
  display: block;
  padding: 9px 0;
  text-decoration: var(--menu-textdecoration-mobile);
}

/* Submenus fechados; abrem só com .isShow (clique no +) */
#site-navigation.dlx-menu-collapsed.toggled ul > li .children,
#site-navigation.dlx-menu-collapsed.toggled ul > li .sub-menu {
  display: none;
}

#site-navigation.dlx-menu-collapsed ul > li > .sub-menu.isShow,
#site-navigation.dlx-menu-collapsed ul > li > .children.isShow {
  display: block !important;
  position: relative !important;
  left: 0 !important;
  top: 0 !important;
  visibility: visible !important;
  height: auto !important;
  overflow: visible !important;
  opacity: 1 !important;
  width: 100%;
  border-top: none;
  padding-left: 20px;
  box-shadow: none;
  z-index: 1;
}

/** MOBILE MENU BURGER COLOR (HOME + SELECTED CATEGORIES) */
@media (max-width: 769px) {
  body.home #digital_newspaper_menu_burger span,
  body.front-page #digital_newspaper_menu_burger span,
  body.category-videos #digital_newspaper_menu_burger span,
  body.category-fotografia #digital_newspaper_menu_burger span,
  body.category-podcasts #digital_newspaper_menu_burger span {
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  }

  /* Em phones o tema pai usa .toggled (sem dlx-menu-collapsed).
     Garantir que o nav não tem transform e o ul ocupa o ecrã todo. */
  #site-navigation {
    transform: none !important;
  }

  #site-navigation.toggled ul.menu,
  #site-navigation.toggled ul.nav-menu {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    width: auto !important;
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding: 10px 30px;
    box-sizing: border-box;
    z-index: 1000;
    background: var(--mobile-menu-bk-color, #f8f8f8) !important;
    background-color: var(--mobile-menu-bk-color, #f8f8f8) !important;
  }

  /* Texto preto sem sombra no menu phone — homepage e categorias escuras */
  body.home:not(.dlx-scrolled) #site-navigation.toggled ul.menu a,
  body.front-page:not(.dlx-scrolled) #site-navigation.toggled ul.menu a,
  body:is(.category-fotografia, .category-podcasts, .category-videos) #site-navigation.toggled ul.menu a {
    color: #000 !important;
    text-shadow: none !important;
  }
}

body.home #site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger span,
body.front-page #site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger span,
body.category-videos #site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger span,
body.category-fotografia #site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger span,
body.category-podcasts #site-navigation.dlx-menu-collapsed #digital_newspaper_menu_burger span {
  background-color: #fff;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
}

/** HEADER SPACING */
header.site-header {
  padding-bottom: 0 !important;
}

/** LOGO ANIMADO */
/* the theme expects the logo element to size itself; give it dimensions */
.dlx-header-lottie {
  display: block;
}

.site-branding {
  margin-bottom: -1% !important;
}

/* Keep the logo area tight — overflow:hidden crops the transparent padding inside the Lottie canvas */
.site-branding .custom-logo-link.dlx-lottie-logo-link {
  display: inline-flex;
  align-items: flex-start;
  line-height: 0;
  overflow: hidden;
  max-width: none !important;
  flex: 0 0 auto;
  /* height = visible logo content only (Lottie canvas is taller than the actual logo) */
  height: 102px;
  transition: height 1s ease;
}

/* .site-branding itself can still be visible */
.site-branding {
  max-width: none !important;
  overflow: visible !important;
}

/* 2) The Lottie element is larger than the wrapper — the wrapper clips the transparent edges */
.site-branding dotlottie-wc.dlx-header-lottie {
  display: block;
  height: 155px;
  /* resize here */
  aspect-ratio: 1024 / 639;
  width: auto;
  max-width: none !important;
  /* shift up to crop the transparent area at the top */
  margin-top: -28px;
  transition: height 1s ease, margin-top 1s ease;
  will-change: height;
}

/** STICKY MENU **/
/* Layout three: keep header always visible */
#masthead.site-header.layout--three {
  position: fixed !important;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999999;

  /* stop "hide on scroll" effects */
  transform: none !important;
  transition: none !important;
  opacity: 1 !important;
  visibility: visible !important;
}

/* admin bar offset */
body.admin-bar #masthead.site-header.layout--three {
  top: var(--wp-admin--admin-bar--height, 32px);
}

:root {
  --dlx-header-h: 0px;
}

body {
  padding-top: var(--dlx-header-h);
}


.site-branding-section {
  padding: 0 !important;
}

/** MENU LINKS DESAPARECEM QUANDO SCROLL **/
/* Make sure the header stays visible (you already did something like this) */
#masthead.site-header.layout--three {
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  z-index: 999999;
  transform: none !important;
}

/* Smooth shrink/grow */
#masthead.site-header.layout--three .site-branding-section {
  transition: padding 1s ease;
  padding: 18px 0;
  /* normal header height */
}

/* Smooth fade/collapse for the menu area */
#masthead.layout--three #site-navigation,
#masthead.layout--three .header-smh-button-wrap {
  opacity: 1;
  transform: translateY(0);
  max-height: 300px;
  /* big enough for your menu */
  overflow: visible;
  transition: opacity .5s ease, transform .5s ease, max-height .5s ease;
}


/* ========== COLLAPSED STATE (when scrolling down) ========== */
body.dlx-header-collapsed #masthead.site-header.layout--three .site-branding-section {
  padding: 6px 0 0 0;
  /* collapsed height = mostly logo, no bottom padding */
}

body.dlx-header-collapsed #masthead.site-header.layout--three .site-branding .custom-logo-link.dlx-lottie-logo-link {
  height: 44px;
  margin-bottom: 0;
}

body.dlx-header-collapsed #masthead.site-header.layout--three .site-branding dotlottie-wc.dlx-header-lottie {
  height: 70px;
  margin-top: -13px !important;
}

/* Hide menu links area (and search wrapper on layout--three) */
body.dlx-header-collapsed #masthead.layout--three #site-navigation,
body.dlx-header-collapsed #masthead.layout--three .header-smh-button-wrap {
  opacity: 0;
  transform: translateY(-6px);
  pointer-events: none;

  max-height: 0;
  /* THIS is what makes it shrink */
  overflow: hidden;
}


/* Also hide title/description so it truly becomes “logo-only” */
body.dlx-header-collapsed #masthead.site-header.layout--three .site-title,
body.dlx-header-collapsed #masthead.site-header.layout--three .site-description {
  opacity: 0;
  max-height: 0;
  overflow: hidden;
  margin: 0 !important;
}

@media (min-width: 1025px) {
  .site-header.layout--three .main-navigation {
    margin-top: 0px;
  }
}


/* Always black */
#dlxHeaderLottie {
  filter: brightness(0);
}

/* Remove container padding ONLY in the header */
#masthead .digital-newspaper-container {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Show immediately + prevent the big flash by forcing a stable box */
#dlxHeaderLottie {
  display: block;
  overflow: hidden;
  /* stops oversized first paint spilling out */
}

/*** MENU HOMEPAGE DIFERENT **/
/* Smooth transitions (homepage only) */
body.home #masthead,
body.front-page #masthead,
body.home header .main-header,
body.front-page header .main-header,
body.home #masthead .top-header,
body.front-page #masthead .top-header,
body.home #masthead .site-branding-section,
body.front-page #masthead .site-branding-section,
body.home #masthead .menu-section,
body.front-page #masthead .menu-section,
body.home #masthead a,
body.front-page #masthead a,
body.home #dlxHeaderLottie,
body.front-page #dlxHeaderLottie {
  transition: height 1s ease, background-color 1s ease, color 1s ease, box-shadow 1s ease, filter 1s ease, text-shadow 1s ease;
}

/* Overlay gradient layer (exists on homepage; fades out on scroll) */
body.home #masthead,
body.front-page #masthead {
  position: relative;
}

body.home #masthead::before,
body.front-page #masthead::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0.55), rgba(0, 0, 0, 0.10));
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
  pointer-events: none;
  z-index: 0;
  opacity: 1;
  transition: opacity .6s ease;

  /* feather bottom */
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) calc(100% - 50px), rgba(0, 0, 0, 0) 100%);
  mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 1) calc(100% - 50px), rgba(0, 0, 0, 0) 100%);
}

/* Fade overlay out after scroll => theme’s normal header shows */
body.home.dlx-scrolled #masthead::before,
body.front-page.dlx-scrolled #masthead::before {
  opacity: 0;
}

/* Keep header content above overlay */
body.home #masthead>*,
body.front-page #masthead>* {
  position: relative;
  z-index: 1;
}

/* ===== NOT SCROLLED (your special homepage look) ===== */
body.home:not(.dlx-scrolled) #masthead .top-header,
body.home:not(.dlx-scrolled) #masthead .site-branding-section,
body.home:not(.dlx-scrolled) #masthead .menu-section,
body.front-page:not(.dlx-scrolled) #masthead .top-header,
body.front-page:not(.dlx-scrolled) #masthead .site-branding-section,
body.front-page:not(.dlx-scrolled) #masthead .menu-section {
  background: transparent !important;
  background-image: none !important;
}

/* remove header shadow only in the special state */
body.home:not(.dlx-scrolled) header .main-header,
body.front-page:not(.dlx-scrolled) header .main-header {
  box-shadow: none !important;
}

/* White text/icons only in the special state */
body.home:not(.dlx-scrolled) #masthead,
body.front-page:not(.dlx-scrolled) #masthead,
body.home:not(.dlx-scrolled) #masthead a,
body.front-page:not(.dlx-scrolled) #masthead a {
  color: #fff !important;
}

body.home:not(.dlx-scrolled) #masthead svg,
body.front-page:not(.dlx-scrolled) #masthead svg {
  fill: #fff !important;
  stroke: #fff !important;
}

body.home:not(.dlx-scrolled) #masthead .search-wrap .search-trigger,
body.front-page:not(.dlx-scrolled) #masthead .search-wrap .search-trigger,
body.home:not(.dlx-scrolled) #masthead .search-wrap .search-trigger i,
body.front-page:not(.dlx-scrolled) #masthead .search-wrap .search-trigger i {
  color: #fff !important;
}

body.category-podcasts #masthead .search-wrap .search-trigger,
body.category-videos #masthead .search-wrap .search-trigger,
body.category-fotografia #masthead .search-wrap .search-trigger,
body.category-podcasts #masthead .search-wrap .search-trigger i,
body.category-videos #masthead .search-wrap .search-trigger i,
body.category-fotografia #masthead .search-wrap .search-trigger i {
  color: #fff !important;
}

/* Lottie only in the special state */
body.home:not(.dlx-scrolled) #dlxHeaderLottie,
body.front-page:not(.dlx-scrolled) #dlxHeaderLottie {
  filter: brightness(1) !important;
}

/* Remove per-link/button backgrounds only in the special state */
body.home:not(.dlx-scrolled) #masthead .main-navigation a,
body.front-page:not(.dlx-scrolled) #masthead .main-navigation a,
body.home:not(.dlx-scrolled) #masthead .search-form button,
body.front-page:not(.dlx-scrolled) #masthead .search-form button {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}

/* Menu link shadow: desktop top-level links only */
@media (min-width: 770px) {
  body.home:not(.dlx-scrolled) #masthead #site-navigation:not(.dlx-menu-collapsed) ul.menu > li > a,
  body.front-page:not(.dlx-scrolled) #masthead #site-navigation:not(.dlx-menu-collapsed) ul.menu > li > a {
    text-shadow: 0 1px 2px rgba(0, 0, 0, 0.65) !important;
  }
}

/* Mobile/tablet collapsed menu: texto preto, sem sombra */
body.home:not(.dlx-scrolled) #masthead #site-navigation.dlx-menu-collapsed a,
body.front-page:not(.dlx-scrolled) #masthead #site-navigation.dlx-menu-collapsed a {
  color: #000 !important;
  text-shadow: none !important;
}

/* Fotografia/podcasts/videos: collapsed menu também a preto */
body:is(.category-fotografia, .category-podcasts, .category-videos) #masthead #site-navigation.dlx-menu-collapsed a {
  color: #000 !important;
  text-shadow: none !important;
}

/* Submenu items should keep default submenu colors on homepage overlay */
body.home:not(.dlx-scrolled) #masthead .main-navigation ul.sub-menu a,
body.front-page:not(.dlx-scrolled) #masthead .main-navigation ul.sub-menu a,
body.home:not(.dlx-scrolled) #masthead .main-navigation ul.children a,
body.front-page:not(.dlx-scrolled) #masthead .main-navigation ul.children a {
  color: var(--menu-color-submenu, #000) !important;
  text-shadow: none !important;
}

body.home:not(.dlx-scrolled) #masthead .main-navigation ul.sub-menu a:hover,
body.front-page:not(.dlx-scrolled) #masthead .main-navigation ul.sub-menu a:hover,
body.home:not(.dlx-scrolled) #masthead .main-navigation ul.children a:hover,
body.front-page:not(.dlx-scrolled) #masthead .main-navigation ul.children a:hover {
  color: var(--menu-color-submenu-hover, #fd4f18) !important;
}


/** NOTICIA PRINCIPAL **/
/* TOP IMAGEM HOMEPAGE = full screen height (HOME ONLY) */
:is(body.home, body.front-page, body.home.blog) .top-main-banner-wrap,
:is(body.home, body.front-page, body.home.blog) .top-main-banner-item,
:is(body.home, body.front-page, body.home.blog) .top-main-banner-item .post-thumb,
:is(body.home, body.front-page, body.home.blog) .top-main-banner-item .post-thumb a {
  height: 98vh;
  height: 98svh;
}

:is(body.home, body.front-page, body.home.blog) .top-main-banner-item .post-thumb img {
  width: 100%;
  height: 100%;
  max-height: none !important;
  object-fit: cover;
  object-position: center;
  display: block;
}

/* Reset everywhere else */
body:not(.home):not(.front-page):not(.blog) .top-main-banner-wrap,
body:not(.home):not(.front-page):not(.blog) .top-main-banner-item,
body:not(.home):not(.front-page):not(.blog) .top-main-banner-item .post-thumb,
body:not(.home):not(.front-page):not(.blog) .top-main-banner-item .post-thumb a {
  height: auto;
}

body:not(.home):not(.front-page):not(.blog) .top-main-banner-item .post-thumb img {
  height: auto;
  max-height: 600px;
  /* or whatever it was before */
}



/** ESPACO ENTRE HEADER E RESTO */
/* 1) Default: give ALL pages space for the header */
:root {
  --dlx-header-offset: 110px;
}

/* <-- change this to your header height */

body.archive {
  --dlx-header-offset: 160px;
  /* height of the category title section (h3 + spacing) above the banner image */
  --archive-banner-title-h: 65px;
}

body {
  padding-top: var(--dlx-header-offset) !important;
}

/* 2) Homepage: remove the space so the header overlays the main post */
body.home,
body.front-page {
  padding-top: 0 !important;
}

@media (max-width: 768px) {
  #page,
  #page.site,
  body.site-boxed--layout #page {
    margin: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
    box-shadow: none;
  }

  /* Remove full-width layout side margins on small screens */
  body .site-main.width-full-width--layout .digital-newspaper-container,
  body .site-main.width-boxed--layout .digital-newspaper-container,
  body .width-full-width--layout .digital-newspaper-container,
  body .width-boxed--layout .digital-newspaper-container {
    margin-left: 0 !important;
    margin-right: 0 !important;
    max-width: 100% !important;
  }

  body.home #main-banner-section.width-full-width--layout .digital-newspaper-container,
  body.front-page #main-banner-section.width-full-width--layout .digital-newspaper-container,
  body.home #main-banner-section.width-boxed--layout .digital-newspaper-container,
  body.front-page #main-banner-section.width-boxed--layout .digital-newspaper-container {
    margin: 0 !important;
    max-width: 100% !important;
    padding-left: 0;
    padding-right: 0;
  }

  body.home #main-banner-section.width-full-width--layout .row,
  body.front-page #main-banner-section.width-full-width--layout .row,
  body.home #main-banner-section.width-boxed--layout .row,
  body.front-page #main-banner-section.width-boxed--layout .row {
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 768px) {
  .digital-newspaper-container,
  .digital-newspaper-container-fluid {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  #theme-content,
  #theme-content .digital-newspaper-container,
  #theme-content .digital-newspaper-container-fluid,
  #theme-content .row {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  #theme-content .row > div {
    width: 100% !important;
    max-width: 100% !important;
    flex: 0 0 100% !important;
  }
}

@media (min-width: 1025px) {
  .digital-newspaper-container {
    max-width: 1110px !important;
  }

  /* Keep your container width */
  .digital-newspaper-container {
    max-width: 1150px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  /* Center the header contents (branding + menu) inside the full-width header */
  header .site-branding-section,
  header .main-navigation-section {
    width: 100%;
    display: flex;
    justify-content: center;
  }

  header .site-branding-section>.digital-newspaper-container,
  header .main-navigation-section>.digital-newspaper-container {
    width: 100%;
    max-width: 1110px !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* Main menu: full-width container + row override (prevents max-width clamp) */
#masthead .main-navigation-section > .digital-newspaper-container {
  width: 100%;
  max-width: none !important;
  padding-left: clamp(12px, 2.5vw, 28px);
  padding-right: clamp(12px, 2.5vw, 28px);
}

#masthead .main-navigation-section > .digital-newspaper-container > .row {
  width: 100%;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
}

/* Layout three: menu lives inside site-branding-section, so widen that row */
#masthead.layout--three .site-branding-section > .digital-newspaper-container {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: clamp(12px, 2.5vw, 28px);
  padding-right: clamp(12px, 2.5vw, 28px);
}

#masthead.layout--three .site-branding-section > .digital-newspaper-container > .row {
  width: 100%;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

#masthead.layout--three .header-smh-button-wrap.menu-section {
  width: 100%;
  max-width: none !important;
  flex: 1 1 100%;
  min-width: 0;
}

#masthead.layout--three #site-navigation {
  flex: 1 1 auto;
  min-width: 0;
}

/* Keep the search icon right after the last menu item (layout three, not collapsed) — tablet+ only */
@media (min-width: 769px) {
  #masthead.layout--three:not(.dlx-menu-collapsed-wrap) .header-smh-button-wrap {
    justify-content: center;
    column-gap: 8px;
  }

  #masthead.layout--three:not(.dlx-menu-collapsed-wrap) #site-navigation,
  #masthead.layout--three:not(.dlx-menu-collapsed-wrap) .main-navigation {
    flex: 0 1 auto;
    width: auto;
  }

  #masthead.layout--three:not(.dlx-menu-collapsed-wrap) .search-wrap {
    margin-left: 0;
    padding-left: 8px;
  }
}

/* Ensure logo is visible above the menu (layout three) */
#masthead.layout--three .site-branding {
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  flex: 0 0 auto;
  visibility: visible;
  opacity: 1;
  max-height: none;
}

/* Only on pages whose body class contains "homesections-4columns-template" */
body[class*="homesections-4columns-template"] .news-list-4col :is(.post-title a, .entry-title a) {
  font-size: var(--smaller-title-font-size) !important;
  line-height: var(--smaller-title-font-height) !important;
  display: block;
  /* so padding/spacing actually shows */
}

/* If your theme uses .post-excerpt for the text under the title */
body[class*="homesections-4columns-template"] .news-list-4col .post-excerpt,
body[class*="homesections-4columns-template"] .news-list-4col .post-excerpt p {
  font-size: 14px !important;
  line-height: 1.45 !important;
}


/** ULTIMAS NOTICIAS HOMEPAGE PADDINGS */
/* Only: <h2 class="post-title smaller-tittle title-no-image"> */
.post-title.smaller-tittle.title-no-image {
  margin: 0 !important;
}

/* If the theme adds spacing on the link inside */
.post-title.smaller-tittle.title-no-image>a {
  margin: 0 !important;
}

/** TIRAR MARGIN TAGS **/
.cat-item {
  margin: 0px !important;
}

/** TIRAR PADDING **/
.no-padding {
  padding: 0px !important;
}

/** NO MARGIN **/
.no-margin {
  margin: 0px !important;
}

.t2 {
  font-size: var(--font-size-t2) !important;
  line-height: var(--line-height-t2) !important;
}

.t1B {
  font-size: var(--font-size-t1B) !important;
  line-height: var(--line-height-t1B) !important;
  margin-top: 20px !important;
  margin-bottom: 20px !important;
}

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

/** MENU COR PODCASTS VIDEOS FOTOGRAFIA */
/* Header style ONLY on these category pages */
/* Podcasts + Videos + Fotografia: force dark header background */
/* =========================================================
   DLX: Dark header + anti-white-flash (podcasts/videos/fotografia)
   ========================================================= */

body:is(.category-podcasts, .category-videos, .category-fotografia) {
  --dlx-dark: #171717;
  --dlx-top-cover: 260px;
  /* how far down the anti-flash dark bg goes */
  --dlx-pull-up: 220vh;
  /* how far .post-vids-bg paints upward */
  position: relative;
}

body.category-fotografia,
body.category-fotografia #page,
body.category-fotografia .site {
  background-color: #171717;
}

/* Fotografia archive title: white text + border */
body.category-fotografia .digital-newspaper-block-title.my-main-banner-title {
  --section-title-color: #747474 !important;
  color: #747474 !important;
  border-bottom-color: #747474 !important;
}

/* Fotografia list cards: white title + authors */
body.category-fotografia .news-list-wrap .post-title,
body.category-fotografia .news-list-wrap .post-title a {
  color: #fff !important;
}

body.category-fotografia .news-list-wrap .dlx-content-authors,
body.category-fotografia .news-list-wrap .dlx-content-authors a,
body.category-fotografia .news-list-wrap .dlx-content-authors a:visited,
body.category-fotografia .news-list-wrap .dlx-content-authors .author_name {
  color: #747474 !important;
}

/* Fotografia archive main banner: author in light gray */
body.category-fotografia .top-main-banner-wrap .dlx-content-authors .author_name,
body.category-fotografia .top-main-banner-wrap .dlx-content-authors a.author_name,
body.category-fotografia .top-main-banner-wrap .dlx-content-authors a.author_name:visited,
body.category-fotografia .top-main-banner-wrap .dlx-content-authors a.author_name:hover {
  color: #b0b0b0 !important;
}

/* Keep submenu text readable on dark header categories */
body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation ul.sub-menu a,
body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation ul.children a {
  color: var(--menu-color-submenu, #000) !important;
}

body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation ul.sub-menu a:hover,
body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation ul.children a:hover {
  color: var(--menu-color-submenu-hover, #fd4f18) !important;
}

/* Anti-white-flash: dark layer at top of the PAGE (scrolls away) */
body:is(.category-podcasts, .category-videos, .category-fotografia)::before {
  content: "";
  position: absolute;
  /* <-- key change (was fixed) */
  top: 0;
  left: 0;
  right: 0;
  height: var(--dlx-top-cover);
  background: var(--dlx-dark);
  z-index: 0;
  pointer-events: none;
}

/* Keep header above the anti-flash layer */
body:is(.category-podcasts, .category-videos, .category-fotografia) header {
  position: relative;
  z-index: 10;
}

/* Header bar styling */
body:is(.category-podcasts, .category-videos, .category-fotografia) .site-branding-section {
  background: var(--dlx-dark) !important;
  background-image: none !important;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.35);
  position: relative;
  z-index: 20;
}

/* If theme uses overlay pseudo-elements */
body:is(.category-podcasts, .category-videos, .category-fotografia) .site-branding-section::before,
body:is(.category-podcasts, .category-videos, .category-fotografia) .site-branding-section::after {
  background: var(--dlx-dark) !important;
  background-image: none !important;
  opacity: 1 !important;
}

/* White text + links + icons in the header */
body:is(.category-podcasts, .category-videos, .category-fotografia) .site-branding-section,
body:is(.category-podcasts, .category-videos, .category-fotografia) .site-branding-section a {
  color: #fff !important;
}

body:is(.category-podcasts, .category-videos, .category-fotografia) .site-branding-section svg {
  color: #fff !important;
  fill: #fff !important;
}

/* Logo image invert (if it's <img class="custom-logo">) */
body:is(.category-podcasts, .category-videos, .category-fotografia) .custom-logo {
  filter: brightness(0) invert(1) !important;
}

/* Active category menu link should override dark header link color */
body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation .dlx-menu-cat-active > a,
body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation .dlx-menu-cat-active > a:hover,
body:is(.category-podcasts, .category-videos, .category-fotografia) .main-navigation .dlx-menu-cat-active > a:focus {
  color: var(--dlx-menu-category-color, inherit) !important;
  font-weight: 500 !important;
}

/* =========================================================
   Post section background that "paints upward" behind header
   ========================================================= */

body:is(.category-podcasts, .category-videos, .category-fotografia) .post-vids-bg {
  position: relative;
  overflow: visible;
}

body:is(.category-podcasts, .category-videos, .category-fotografia) .post-vids-bg::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: calc(-1 * var(--dlx-pull-up));
  height: var(--dlx-pull-up);
  background: var(--dlx-dark);
  z-index: 0;
  pointer-events: none;
}

body:is(.category-podcasts, .category-videos, .category-fotografia) .post-vids-bg>* {
  position: relative;
  z-index: 1;
}

/* Create a stacking context so we can safely put ::before behind everything */
body:is(.category-podcasts, .category-videos, .category-fotografia) {
  position: relative;
  isolation: isolate;
  /* key */
}

/* Dark strip goes behind ALL content */
body:is(.category-podcasts, .category-videos, .category-fotografia)::before {
  z-index: -1;
  /* key */
  pointer-events: none;
}

/** TITULO GRANDE DA NOTICIA PRINCIPAL DA HOMEPAGE **/
/* If the H2 itself has the class */
.top-main-banner-item .post-title a {
  font-size: var(--font-size-t1);
  /* change this */
  line-height: var(--line-height-t1);
}

/* Só no banner principal da home */
body.home .top-main-banner-inner .dn-narrow-wrap,
body.front-page .top-main-banner-inner .dn-narrow-wrap {
  max-width: 700px !important;
  /* <-- troca para o que queres */
  width: 100%;
}

/* ENTRADA MAIN POST HOMEPAGE SMALLER*/
body.home .top-main-banner-inner .post-excerpt,
body.front-page .top-main-banner-inner .post-excerpt {
  max-width: 570px !important;
}




/** DESTAQUE BORDER COLORIDO ARTIGO **/
/* Destaque: top + bottom "border" using the category pill color */
.top-main-banner-item {
  position: relative;
}

.top-main-banner-item::before,
.top-main-banner-item::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  height: 3px;
  /* thickness */
  background: var(--cat-accent, transparent);
  pointer-events: none;
}

.top-main-banner-item::before {
  top: 0;
}

.top-main-banner-item::after {
  bottom: 0;
}

/** WIDTH ARTIGO **/
body.single-post .digital-newspaper-container {
  max-width: 1400px !important;
  /* <-- pick your size */
  margin-top: 100px;
}

.entry-header .entry-header--with-thumb {
  padding-bottom: 20px;
}

/* SINGLE header 60/40 on big screens */
@media (min-width: 1025px) {
  .entry-header .entry-header--with-thumb {
    padding-bottom: 20px;
  }

  .single .entry-header.entry-header--with-thumb .entry-header-inner {
    display: flex;
    /* just in case */
  }

  .single .entry-header.entry-header--with-thumb .entry-header-media {
    flex: 0 0 60% !important;
    max-width: 60% !important;
    min-width: 0;
  }

  .single .entry-header.entry-header--with-thumb .entry-header-content {
    flex: 0 0 40% !important;
    max-width: 40% !important;
    min-width: 0;
  }
}

/** SECCAO LISBOA CIDADE ABERTA HOMEPAGE */

/* =========================================================
   LCA HOMEPAGE BANNER (overlay + full-width gradient + centered inner width)
   HTML:
   .post-element.lca-homepage
     -> .back-to-normal-width (centered, 1200)
        -> .dn-narrow-wrap (left, optional 700)
   ========================================================= */

/* Wider container for this section */
.digital-newspaper-container.digital-newspaper-container-larger {
  max-width: 1400px !important;
}

/* Make sure banner item is the positioning context */
.top-main-banner-item {
  position: relative;
}

/* Overlay: FULL width of the banner (so gradient matches image width) */
.top-main-banner-item .post-element.lca-homepage {
  position: absolute;
  bottom: 0;
  left: 0 !important;
  right: 0 !important;
  transform: none !important;

  width: 100% !important;
  max-width: none !important; /* override .digital-newspaper-container caps */

  color: #fff;
  z-index: 5;

  text-align: left !important;
}

/* Gradient: fills overlay area (width = banner, height = overlay) */
.top-main-banner-item .post-element.lca-homepage::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 0%, rgba(0,0,0,.85) 100%);
  z-index: -1;
  pointer-events: none;
}

/* Center the "normal width" wrapper inside the full-width overlay */
.top-main-banner-item .post-element.lca-homepage .back-to-normal-width {
  width: 100%;
  max-width: 1150px;
  margin-left: auto;
  margin-right: auto;

  padding-left: 1.5rem;
  padding-right: 1.5rem;

  text-align: left !important;
}

/* Keep the inner text block SMALL and LEFT (adjust to taste) */
.top-main-banner-item .post-element.lca-homepage .back-to-normal-width .dn-narrow-wrap {
  width: 100%;
  max-width: 700px;   /* <-- change this if you want */
  margin: 0 !important; /* left on desktop */
  padding-left: 0;
  padding-right: 0;

  text-align: left !important;
}

/* Center on iPad (769px–1024px) */
@media (min-width: 769px) and (max-width: 1024px) {
  .top-main-banner-item .post-element.lca-homepage .back-to-normal-width .dn-narrow-wrap {
    margin: 0 auto !important;
  }
}

/* Ensure meta + title links stay white inside this overlay */
.top-main-banner-item .post-element.lca-homepage .post-meta,
.top-main-banner-item .post-element.lca-homepage .post-meta a,
.top-main-banner-item .post-element.lca-homepage .post-title a {
  color: #fff !important;
}


/*** LISBOA CIDADE ABERTA BORDER **/
h2.digital-newspaper-block-title.bigger-border{
  border-bottom: 3px solid var(--section-title-color, currentColor) !important;
}


/** LCA shorter height **/
/* SHORT variant only inside the LCA container */
:is(body.home, body.front-page, body.home.blog)
.digital-newspaper-container.lca-shorter
:is(.top-main-banner-wrap,
    .top-main-banner-item,
    .top-main-banner-item .post-thumb,
    .top-main-banner-item .post-thumb a){
  height: 70svh !important; /* change */
}

/* keep the image filling */
:is(body.home, body.front-page, body.home.blog)
.digital-newspaper-container.lca-shorter
.top-main-banner-item .post-thumb img{
  height: 100% !important;
  width: 100% !important;
  object-fit: cover;
}


/*** LCA - IMAGE TEXT SIDE BY SIDE **/
/* NEW replacement for .primary-content just for this block */
/* row + gutter */
.lca-blaze-box-row{
  display: flex;
  align-items: flex-start;
  gap: 40px;                /* gutter */
  width: 100%;
}

/* imagem = 1/3 */
.lca-blaze-box-row > .post-thumb-wrap{
  flex: 0 0 calc(41.6667% - 8.3333px); /* tira 5/12 do gap (20px * 5/12) */
  margin: 0;
  position: relative;
  overflow: hidden;
}

.lca-blaze-box-row > .post-thumb-wrap .post-categories {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
}

/* garante que a imagem ocupa o espaço todo do 1/3 */
.lca-blaze-box-row > .post-thumb-wrap img{
  display: block;
  width: 100%;
  height: auto;
}

/* texto = resto */
.lca-blaze-box-row > .post-element{
  flex: 1 1 0;
  min-width: 0;
}

/* opcional: mobile empilha */
@media (max-width: 768px) {
  .lca-blaze-box-row{
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .lca-blaze-box-row > .post-thumb-wrap{
    flex-basis: auto;
    width: 100%;
  }
  .lca-blaze-box-row .post-element h2.post-title {
    margin-top: 0 !important;
  }
  /* quando o texto vem antes da imagem no DOM (ex: Especiais),
     puxar a figura para cima visualmente */
  .lca-blaze-box-row > figure.post-thumb-wrap:last-child {
    order: -1;
  }
}


#theme-content .row .lca-primary-column{
  width: 100%;
  flex: 1 1 100%;
  display: flex;
  flex-direction: column;
}

/* Force the posts list to stack vertically (kills grid/row layouts) */
#theme-content .row .lca-primary-column .news-list-wrap{
  display: flex !important;
  flex-direction: column !important;
  gap: 50px;
}

/* Safety: each item takes full width */
#theme-content .row .lca-primary-column .news-list-wrap > *{
  width: 100%;
  min-width: 0;
}

/** SECCOES LAYOUTS **/
/* ===== BATCH LAYOUT (2 rows stacked in a column) ===== */
.lca-batches{
  display: flex;
  flex-direction: column; /* stack row 1 + row 2 */
  gap: 30px;              /* vertical gap between the two rows */
}

/* each row */
.lca-batch-row{
  display: flex;
  gap: 30px;              /* horizontal gap inside each row */
}

.border-gray {
      border-bottom: 1px solid var(--grey) !important;
}

.lca-batch-row {
    gap: 0;
}

.lca-col-divider {
    border-right: 1px solid var(--grey);
    padding-right: 20px;
}

.lca-batch-row .lca-col-right {
    padding-left: 20px;
    display: flex;
    flex-direction: column;
}


.lca-post-top {
    border-bottom: 1px solid var(--grey);
    padding-bottom: 20px;
}

.lca-post-top > *:last-child {
    margin-bottom: 0 !important;
}

.lca-post-top + .lca-post-top,
.lca-post-top + .lca-post-bottom {
    padding-top: 20px;
}


/* =========================
   ROW 1 (top): 3/4 + 1/4
   ========================= */
.lca-row-top .lca-col-left{
  flex: 0 0 calc(75% - 15px);
  min-width: 0;
}

.lca-row-top .lca-col-right{
  flex: 0 0 calc(25% - 15px);
  min-width: 0;
}

/* Vertical divider between post 1 and post 3 (top row) */
.lca-row-top{
  gap: 0;
}

.lca-row-top .lca-col-left{
  padding-right: 15px;
  border-right: 1px solid var(--grey);
}

.lca-row-top .lca-col-right{
  padding-left: 15px;
}

/* Extra spacing after the top row */
.lca-row-top{
  padding-bottom: 20px;
}

/* Keep category tag over the image for the right-top card */
.lca-row-top .lca-col-right .post-thumb-wrap {
  position: relative;
  overflow: hidden;
}

.lca-row-top .lca-col-right .post-thumb-wrap .post-categories {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
}

/* =========================
   ROW 2 (bottom): adjust if you want
   (default: same ratio as row 1)
   ========================= */
.lca-row-bottom .lca-col-left{
  flex: 0 0 calc(75% - 15px);
  min-width: 0;
}

.lca-row-bottom .lca-col-right{
  flex: 0 0 calc(25% - 15px);
  min-width: 0;
}

/* Vertical divider between post 2 and posts 4/5 (bottom row) */
.lca-row-bottom{
  gap: 0;
}

.lca-row-bottom .lca-col-left{
  padding-right: 15px;
  border-right: 1px solid var(--grey);
}

.lca-row-bottom .lca-col-right{
  padding-left: 15px;
}

/* 4 + 5 stacked */
.lca-slot-45{
  display: flex;
  flex-direction: column;
  gap: 30px;
}

/* desktop: show desktop cards, hide mobile cards */
.lca-desktop-card { display: block; }
.lca-mobile-card  { display: none; }

/* tablet */
@media (max-width: 1024px) {
  .lca-batch-row {
    flex-direction: column;
  }

  .lca-row-top .lca-col-left,
  .lca-row-top .lca-col-right,
  .lca-row-bottom .lca-col-left,
  .lca-row-bottom .lca-col-right {
    flex: 0 0 auto;
    width: 100%;
  }

  /* left column: keep side-by-side layout (post 1 text+image, post 2 image+text) */
  .lca-batch-row .lca-col-left .dlx-feature-row {
    flex-direction: row;
  }
  .lca-batch-row .lca-col-left .dlx-feature-text {
    flex: 0 0 calc(33.333% - 15px);
    width: auto;
  }
  .lca-batch-row .lca-col-left .dlx-feature-figure {
    flex: 0 0 calc(66.666% - 15px);
    width: auto;
  }
  .lca-batch-row .lca-col-left .lca-blaze-box-row {
    flex-direction: row;
  }
  .lca-batch-row .lca-col-left .lca-blaze-box-row > .post-thumb-wrap {
    flex: 0 0 calc(41.6667% - 8.3333px);
    width: auto;
  }

  /* left column: remove vertical divider, add horizontal divider below */
  .lca-batch-row .lca-col-divider {
    border-right: none;
    padding-right: 0;
    border-bottom: 1px solid var(--grey);
    padding-bottom: 20px;
    margin-bottom: 20px;
  }

  /* right column: becomes a horizontal row */
  .lca-batch-row .lca-col-right {
    flex-direction: row;
    flex-wrap: nowrap;
    gap: 16px;
    padding-left: 0;
  }

  /* each card in the right row: equal width, reset divider styles */
  .lca-batch-row .lca-col-right .lca-post-top,
  .lca-batch-row .lca-col-right .lca-post-bottom {
    flex: 1;
    min-width: 0;
    border-bottom: none;
    padding-bottom: 0;
    padding-top: 0;
  }

  /* right column: swap desktop→mobile card */
  .lca-batch-row .lca-col-right .lca-desktop-card { display: none; }
  .lca-batch-row .lca-col-right .lca-mobile-card  { display: block; }
}

/* phone only */
@media (max-width: 768px) {
  /* left column: remove divider */
  .lca-batch-row .lca-col-divider {
    border-bottom: none;
    padding-bottom: 0;
    margin-bottom: 0;
  }

  /* 50px gap between all 5 posts in secções */
  .lca-batch-row {
    gap: 50px;
  }
  .lca-batch-row .lca-col-left {
    display: flex;
    flex-direction: column;
    gap: 50px;
  }
  .lca-batch-row .lca-col-right {
    flex-direction: column;
    gap: 50px;
  }

  /* all posts: reset divider styles */
  .lca-batch-row .lca-col-left .lca-post-top,
  .lca-batch-row .lca-col-left .lca-post-bottom,
  .lca-batch-row .lca-col-right .lca-post-top,
  .lca-batch-row .lca-col-right .lca-post-bottom {
    border-bottom: none;
    padding-bottom: 0;
    padding-top: 0;
  }

  /* left column: swap desktop→mobile card */
  .lca-batch-row .lca-col-left .lca-desktop-card { display: none; }
  .lca-batch-row .lca-col-left .lca-mobile-card  { display: block; }

  /* títulos das secções, destaque, últimas, podcasts → 26px/31px em phone */
  .post-title.t2,
  .post-title.t2 a,
  .post-title.smaller-tittle,
  .post-title.smaller-tittle a {
    font-size: 26px !important;
    line-height: 31px !important;
  }
}


/*** SECCOES **/
/* ===== Feature layout: text (1/3) + image (2/3) ===== */
.dlx-feature-row{
  display: flex;
  gap: 30px;
  align-items: flex-start; /* IMPORTANT: don't stretch heights */
}

.dlx-feature-text{
  flex: 0 0 calc(33.333% - 15px);
  min-width: 0;
}

/* image takes 2/3 width + forced 2x3 ratio */
.dlx-feature-figure{
  flex: 0 0 calc(66.666% - 15px);
  min-width: 0;
  margin: 0;

  aspect-ratio: 3 / 2;   /* 2x3 portrait */
  overflow: hidden;
  align-self: flex-start;
  position: relative;
}

.dlx-feature-figure .post-categories {
  position: absolute;
  bottom: 10px;
  left: 10px;
  z-index: 2;
  display: flex;
  flex-wrap: wrap;
}

.dlx-feature-figure a{
  display: block;
  width: 100%;
  height: 100%;
}

.dlx-feature-figure img{
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* mobile */
@media (max-width: 1024px) {
  .dlx-feature-row{
    flex-direction: column;
  }

  .dlx-feature-text,
  .dlx-feature-figure{
    flex: 0 0 auto;
    width: 100%;
  }
}

.t1C {
  font-size: var(--font-size-t1C);
  line-height: var(--line-height-t1C);
  margin-bottom: 0px;
  margin-top: 10px;
}

footer.site-footer.dark_bk {
  border-top: 0;
}

.footer-logo-text {
  font-family: var(--font-family-base);
  font-size: 12px;
  color: #ffffff;
  text-align: left;
  display: inline-block;
}

.footer-contact-text {
  padding-right: 35px;
  border-right: 0.5px solid #ffffff;
}

@media (max-width: 768px) {
  .footer-contact-text {
    display: block;
    width: 100%;
    padding-right: 0;
    padding-bottom: 12px;
    border-right: 0;
    border-bottom: 0.5px solid #ffffff;
    text-align: center;
  }
}

/**
* Disable parent image zoom-out hover effect (effect-six).
*/
body.digital-newspaper-image-hover--effect-six .post-thumb img,
body.digital-newspaper-image-hover--effect-six .post-thumb-wrap img {
  transform: scale(1) !important;
  transition: none !important;
}

body.digital-newspaper-image-hover--effect-six .post-thumb:hover img,
body.digital-newspaper-image-hover--effect-six .post-thumb-wrap:hover img {
  transform: scale(1) !important;
}

/**
* Remove hover lift on post blocks (effect-one).
*/
body.digital-newspaper-post-blocks-hover--effect-one .digital-newspaper-section .row .primary-content .blaze_box_wrap:hover,
body.digital-newspaper-post-blocks-hover--effect-one .full-width-section .row > div .blaze_box_wrap:hover,
body.digital-newspaper-post-blocks-hover--effect-one .bottom-full-width-section .row > div .blaze_box_wrap:hover,
body.digital-newspaper-post-blocks-hover--effect-one .banner-layout--five .main-banner-list-posts article:not(:first-child):hover,
body.digital-newspaper-post-blocks-hover--effect-one .widget_digital_newspaper_author_info_widget .author-wrap:hover,
body.digital-newspaper-post-blocks-hover--effect-one #theme-content article .blaze_box_wrap:hover,
body.digital-newspaper-post-blocks-hover--effect-one .widget .post-item:hover,
body.digital-newspaper-post-blocks-hover--effect-one .widget.widget_block:hover,
body.digital-newspaper-post-blocks-hover--effect-one .widget.widget_digital_newspaper_social_icons_widget .social-block-widget:hover,
body.digital-newspaper-post-blocks-hover--effect-one .widget.widget_nav_menu:hover,
body.digital-newspaper-post-blocks-hover--effect-one .widget.widget_meta ul:hover,
body.digital-newspaper-post-blocks-hover--effect-one .row .news-carousel-post-wrap > div .blaze_box_wrap:hover {
  box-shadow: none !important;
  -webkit-box-shadow: none !important;
  -moz-box-shadow: none !important;
  transform: none !important;
}

/**
* Remove post title hover underline effects.
*/
body.digital-newspaper-title-one .post-title a:hover,
body.digital-newspaper-title-one .news-carousel .post-title a:hover,
body.digital-newspaper-title-three .post-title a:hover,
body.digital-newspaper-title-three .news-carousel .post-title a:hover,
body.digital-newspaper-title-four .post-title a:hover,
body.digital-newspaper-title-four .news-carousel .post-title a:hover,
body.digital-newspaper-title-five .post-title a:hover,
body.digital-newspaper-title-five .news-carousel .post-title a:hover {
  background-image: none !important;
  background-size: 0 !important;
  text-decoration: none !important;
}

/**
* Hover: match title/excerpt color to category tag color.
*/
.dlx-category-hover .post-title a,
.dlx-category-hover .post-excerpt,
.dlx-category-hover .post-excerpt p,
.dlx-category-hover .post-content,
.dlx-category-hover .post-content p {
  transition: color 0.3s ease;
}

.dlx-category-hover .post-title,
.dlx-category-hover .post-title a {
  transition: color 0.3s ease !important;
}

.dlx-category-hover:hover .post-title a,
.dlx-category-hover:hover .post-title,
.dlx-category-hover:hover .post-excerpt,
.dlx-category-hover:hover .post-excerpt p,
.dlx-category-hover:hover .post-content,
.dlx-category-hover:hover .post-content p {
  color: var(--dlx-category-color, inherit) !important;
}

/* Ensure LCA banner title can override the forced white color on hover */
.top-main-banner-item .post-element.lca-homepage .dn-narrow-wrap.dlx-category-hover:hover .post-title a,
.top-main-banner-item .post-element.lca-homepage .dn-narrow-wrap.dlx-category-hover:hover .post-title {
  color: var(--dlx-category-color, inherit) !important;
}

/**
* Fotografia main banner title sizing.
*/
.fotografia-main-banner .post-title,
.fotografia-main-banner .post-title a {
  font-size: var(--font-size-t1B);
  line-height: var(--line-height-t1B);
}

/* Lighter hover color for Fotografia main banner title */
.fotografia-main-banner .dlx-category-hover:hover .post-title,
.fotografia-main-banner .dlx-category-hover:hover .post-title a {
  color: #ffffff !important;
  color: color-mix(in srgb, var(--dlx-category-color) 40%, #ffffff) !important;
}


/* Active category menu link (ensure weight wins everywhere) */
#masthead .main-navigation .menu li.dlx-menu-cat-active > a,
#masthead .main-navigation .nav.menu li.dlx-menu-cat-active > a,
#masthead .main-navigation .menu li.dlx-menu-cat-active > a:hover,
#masthead .main-navigation .nav.menu li.dlx-menu-cat-active > a:hover,
#masthead .main-navigation .menu li.dlx-menu-cat-active > a:focus,
#masthead .main-navigation .nav.menu li.dlx-menu-cat-active > a:focus {
  color: var(--dlx-menu-category-color, inherit) !important;
  font-weight: 500 !important;
}

/* Fotografia menu link: heavier + custom color when active */
#masthead .main-navigation .menu li.dlx-menu-cat-active.dlx-menu-cat-fotografia > a,
#masthead .main-navigation .nav.menu li.dlx-menu-cat-active.dlx-menu-cat-fotografia > a,
#masthead .main-navigation .menu li.dlx-menu-cat-active.dlx-menu-cat-fotografia > a:hover,
#masthead .main-navigation .nav.menu li.dlx-menu-cat-active.dlx-menu-cat-fotografia > a:hover,
#masthead .main-navigation .menu li.dlx-menu-cat-active.dlx-menu-cat-fotografia > a:focus,
#masthead .main-navigation .nav.menu li.dlx-menu-cat-active.dlx-menu-cat-fotografia > a:focus {
  color: #747474 !important;
  font-weight: 650 !important;
}

/* Quem Somos editor spacing */
body.page-id-627 .quem-somos-editors,
body.page-slug-quem-somos .quem-somos-editors,
.post-627 .quem-somos-editors {
  gap: 80px !important;
}

/* Main homepage featured title size on tablet/mobile widths */
@media (max-width: 1024px) {
  :root {
    --font-size-t2: 18px;
    --line-height-t2: 22px;
  }

  body.home,
  body.front-page {
    --font-size-t1B: 26px;
    --line-height-t1B: 31px;
  }

  .main-home-top-banner .top-main-banner-item .post-title,
  .main-home-top-banner .top-main-banner-item .post-title a,
  .archive-banner-text-pad .post-title,
  .archive-banner-text-pad .post-title a {
    font-size: 26px !important;
    line-height: 31px !important;
  }

  h2.post-title.t1B a {
    font-size: 26px !important;
    line-height: 31px !important;
  }

  body.home .main-home-top-banner .top-main-banner-inner .dn-narrow-wrap,
  body.front-page .main-home-top-banner .top-main-banner-inner .dn-narrow-wrap {
    width: min(400px, 100%) !important;
    max-width: 400px !important;
  }

  /* Lisboa, Cidade Aberta — section title mobile size */
  h2.digital-newspaper-block-title.my-main-banner-title.bigger-border {
    --section-title-size: 27px !important;
  }
}

/* LCA — imagem ocupa full-width em iPad e mobile */
@media (max-width: 1024px) {
  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter {
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    width: 100% !important;
  }

  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter
  .top-main-banner-wrap,
  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter
  .top-main-banner-item,
  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter
  .top-main-banner-item .post-thumb,
  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter
  .top-main-banner-item .post-thumb a {
    width: 100% !important;
  }

  :is(body.home, body.front-page, body.home.blog)
  .digital-newspaper-container.lca-shorter
  .top-main-banner-item .post-thumb img {
    width: 100% !important;
    max-width: 100% !important;
  }
}

@media (max-width: 1024px) {
  .footer-logo-row {
    flex-wrap: wrap !important;
  }
}

/* Títulos a 18px/22px abaixo de 300px */
@media (max-width: 300px) {
  body.home .post-title,
  body.home .post-title a {
    font-size: 18px !important;
    line-height: 22px !important;
  }
}

/* Archive banner text lateral padding */
.archive-banner-text-pad {
  padding-left: 1.5rem;
  padding-right: 1.5rem;
}

/* Category/tag page: title shrinks to 26px below 500px */
@media (max-width: 500px) {
  body.category h3.my-main-banner-title,
  body.tag h3.my-main-banner-title {
    font-size: 26px !important;
    line-height: 31px !important;
  }
}

/* ------------------------------------------------------------------ *
 * Archive category banner: full-width + fill remaining viewport       *
 * height on mobile (≤ 768px)                                          *
 * ------------------------------------------------------------------ */
@media (max-width: 768px) {
  /* break out of the 1.5rem container padding → 100vw */
  body.category .top-main-banner-wrap,
  body.tag .top-main-banner-wrap {
    width: calc(100% + 2 * var(--bs-gutter-x, 1.5rem));
    margin-left: calc(-1 * var(--bs-gutter-x, 1.5rem));
  }

  /* stretch article from its natural top to the viewport bottom */
  body.category .top-main-banner-item,
  body.tag .top-main-banner-item {
    height: calc(
      100svh - var(--dlx-header-offset) - var(--archive-banner-title-h, 65px)
    );
    max-height: none !important;
    overflow: hidden;
  }

  /* figure fills the article height */
  body.category .top-main-banner-item .post-thumb,
  body.tag .top-main-banner-item .post-thumb {
    display: block;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: unset !important;
  }

  /* anchor must be block so height: 100% is honoured */
  body.category .top-main-banner-item .post-thumb a,
  body.tag .top-main-banner-item .post-thumb a {
    display: block;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: unset !important;
  }

  /* image fills the anchor */
  body.category .top-main-banner-item .post-thumb img,
  body.tag .top-main-banner-item .post-thumb img {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    aspect-ratio: unset !important;
    object-fit: cover;
    object-position: center;
  }
}

/* Category/tag pages: all post titles → 18px/22px below 350px */
@media (max-width: 350px) {
  body.category .post-title,
  body.category .post-title a,
  body.tag .post-title,
  body.tag .post-title a {
    font-size: 18px !important;
    line-height: 22px !important;
  }
}