.elementor-3376 .elementor-element.elementor-element-db97287{--display:flex;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;}.elementor-3376 .elementor-element.elementor-element-459e879{text-align:center;}.elementor-3376 .elementor-element.elementor-element-459e879 .elementor-heading-title{font-family:"Plus Jakarta Sans", Sans-serif;font-size:20px;font-weight:800;}.elementor-3376 .elementor-element.elementor-element-b5d7e76 > .elementor-widget-container{margin:0px 0px -40px 0px;}.elementor-3376 .elementor-element.elementor-element-62460ff{columns:2;column-gap:4px;text-align:center;font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;width:100%;max-width:100%;}.elementor-3376 .elementor-element.elementor-element-62460ff p{margin-block-end:0px;}.elementor-3376 .elementor-element.elementor-element-62460ff > .elementor-widget-container{margin:-2px 31px 28px 23px;padding:0px 26px 0px 26px;}.elementor-3376 .elementor-element.elementor-element-62460ff.elementor-element{--align-self:flex-start;--order:99999 /* order end hack */;--flex-grow:1;--flex-shrink:1;}@media(max-width:1024px){.elementor-3376 .elementor-element.elementor-element-62460ff{columns:1;}.elementor-3376 .elementor-element.elementor-element-62460ff > .elementor-widget-container{margin:0px 0px 0px 0px;}}@media(max-width:767px){.elementor-3376 .elementor-element.elementor-element-b5d7e76{text-align:center;width:100%;max-width:100%;}.elementor-3376 .elementor-element.elementor-element-b5d7e76 img{width:100%;max-width:100%;}.elementor-3376 .elementor-element.elementor-element-62460ff{columns:1;column-gap:0px;}.elementor-3376 .elementor-element.elementor-element-62460ff > .elementor-widget-container{margin:0px -5px 0px -25px;}.elementor-3376 .elementor-element.elementor-element-62460ff.elementor-element{--align-self:center;}}/* Start custom CSS for container, class: .elementor-element-db97287 *//*
 * ONAD-CV — estilo responsivo para artigos (desktop, tablet e mobile)
 * Compatível com WordPress + tema Blocksy + Elementor.
 * Escopo exclusivo: conteúdo dos posts individuais; não altera header/footer.
 * Aplicação: Aparência > Personalizar > CSS adicional.
 */

/* Identidade visual ONAD-CV */
body.single-post {
  --onad-green: #75ab42;
  --onad-green-dark: #4d6f2e;
  --onad-ink: #20251f;
  --onad-text: #343b33;
  --onad-muted: #657064;
  --onad-line: #e2e9df;
  --onad-soft: #f5f8f2;
  --onad-white: #ffffff;
}

/* Estilos-base: abordagem mobile-first */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] {
  color: var(--onad-ink);
  font-family: inherit;
  font-size: 16px;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] *,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] *::before,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] *::after {
  box-sizing: border-box;
}

/* Título principal do post */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .elementor-section:first-child .elementor-widget-heading .elementor-heading-title {
  max-width: 1080px;
  margin: 0 auto 20px;
  padding: 20px 18px;
  border-left: 4px solid var(--onad-green);
  border-radius: 0 8px 8px 0;
  background: linear-gradient(110deg, #f4f8ef 0%, #ffffff 82%);
  color: #253321;
  font-size: 28px;
  font-weight: 700;
  line-height: 1.22;
  letter-spacing: -0.02em;
  overflow-wrap: anywhere;
}

/* Títulos e subtítulos */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading .elementor-heading-title {
  color: #253321;
  font-weight: 700;
  line-height: 1.3;
  letter-spacing: -0.015em;
  overflow-wrap: anywhere;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h2.elementor-heading-title {
  margin-top: 30px;
  margin-bottom: 14px;
  font-size: 24px;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h3.elementor-heading-title {
  margin-top: 24px;
  margin-bottom: 12px;
  font-size: 21px;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h4.elementor-heading-title {
  margin-top: 20px;
  margin-bottom: 10px;
  font-size: 18px;
}

/* Texto corrido: alinhado à esquerda para facilitar a leitura */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content {
  color: var(--onad-text);
  font-size: inherit;
  line-height: inherit;
  text-align: left;
  overflow-wrap: break-word;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor p,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content p {
  margin-top: 0;
  margin-bottom: 1.15em;
}

/* Links */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor a,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content a {
  color: var(--onad-green-dark);
  font-weight: 600;
  text-decoration: underline;
  text-decoration-color: rgba(77, 111, 46, 0.45);
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
  overflow-wrap: anywhere;
  transition: color 160ms ease, text-decoration-color 160ms ease;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor a:hover,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content a:hover {
  color: #36521f;
  text-decoration-color: currentColor;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] a:focus-visible {
  outline: 3px solid rgba(117, 171, 66, 0.55);
  outline-offset: 3px;
  border-radius: 2px;
}

/* Imagens e legendas */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-image img,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content img {
  display: block;
  max-width: 100%;
  height: auto;
  border: 1px solid rgba(31, 48, 25, 0.08);
  border-radius: 9px;
  box-shadow: 0 8px 22px rgba(28, 43, 24, 0.09);
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] figure {
  max-width: 100%;
  margin: 22px 0;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] figcaption,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .wp-caption-text {
  margin-top: 9px;
  color: var(--onad-muted);
  font-size: 14px;
  line-height: 1.5;
  text-align: center;
}

/* Citações */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] blockquote,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor blockquote {
  margin: 22px 0;
  padding: 16px 18px;
  border-left: 4px solid var(--onad-green);
  border-radius: 0 7px 7px 0;
  background: var(--onad-soft);
  color: #354330;
  font-size: 1.05em;
  font-weight: 500;
  line-height: 1.65;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] blockquote p:last-child {
  margin-bottom: 0;
}

/* Listas */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor ul,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor ol,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content ul,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content ol {
  margin: 0 0 1.3em;
  padding-left: 1.35em;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor li,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content li {
  margin-bottom: 0.5em;
  padding-left: 0.2em;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor ul li::marker,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content ul li::marker {
  color: var(--onad-green-dark);
}

/* Tabelas; em ecrãs pequenos podem ser percorridas horizontalmente */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] table {
  display: block;
  width: 100%;
  margin: 22px 0;
  border: 1px solid var(--onad-line);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: 7px;
  overflow-x: auto;
  font-size: 15px;
  line-height: 1.55;
  -webkit-overflow-scrolling: touch;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] th {
  background: #edf4e7;
  color: #2f4424;
  font-weight: 700;
  text-align: left;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] th,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] td {
  min-width: 110px;
  padding: 11px 13px;
  border-right: 1px solid var(--onad-line);
  border-bottom: 1px solid var(--onad-line);
  vertical-align: top;
}

/* Botões no corpo dos artigos */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-button .elementor-button,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .wp-block-button__link {
  display: inline-block;
  max-width: 100%;
  padding: 12px 18px;
  border: 1px solid var(--onad-green-dark);
  border-radius: 6px;
  background: var(--onad-green-dark);
  color: var(--onad-white);
  font-size: 16px;
  font-weight: 700;
  line-height: 1.35;
  text-align: center;
  text-decoration: none;
  overflow-wrap: anywhere;
  transition: background-color 160ms ease, border-color 160ms ease, transform 160ms ease;
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-button .elementor-button:hover,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .wp-block-button__link:hover {
  border-color: #36521f;
  background: #36521f;
  color: var(--onad-white);
  transform: translateY(-1px);
}

/* Separadores e seleção de texto */
body.single-post main.site-main .elementor[data-elementor-post-type="post"] hr,
body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-divider .elementor-divider-separator {
  border: 0;
  border-top: 1px solid var(--onad-line);
}

body.single-post main.site-main .elementor[data-elementor-post-type="post"] ::selection {
  background: #dceacb;
  color: #24341c;
}

/* MOBILE — telemóveis, até 767 px */
@media (max-width: 767px) {
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] {
    font-size: 16px;
    line-height: 1.72;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .elementor-section:first-child .elementor-widget-heading .elementor-heading-title {
    margin-bottom: 16px;
    padding: 17px 15px;
    border-left-width: 4px;
    border-radius: 0 6px 6px 0;
    font-size: clamp(25px, 7vw, 30px);
    line-height: 1.2;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h2.elementor-heading-title {
    margin-top: 25px;
    font-size: 22px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h3.elementor-heading-title {
    margin-top: 21px;
    font-size: 19px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h4.elementor-heading-title {
    margin-top: 18px;
    font-size: 17px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-image img,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content img {
    border-radius: 7px;
    box-shadow: 0 5px 14px rgba(28, 43, 24, 0.08);
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] figure {
    margin: 17px 0;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] blockquote,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor blockquote {
    margin: 18px 0;
    padding: 14px 15px;
    font-size: 1em;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] th,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] td {
    padding: 9px 11px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-button .elementor-button,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .wp-block-button__link {
    padding: 11px 16px;
    font-size: 15px;
  }
}

/* TABLET — 768 px a 1024 px */
@media (min-width: 768px) and (max-width: 1024px) {
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] {
    font-size: 17px;
    line-height: 1.78;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .e-con,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .elementor-section {
    max-width: 100%;
    margin-right: auto;
    margin-left: auto;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .elementor-section:first-child .elementor-widget-heading .elementor-heading-title {
    margin-bottom: 22px;
    padding: 23px 25px;
    font-size: clamp(31px, 4vw, 38px);
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h2.elementor-heading-title {
    font-size: 27px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h3.elementor-heading-title {
    font-size: 22px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-image img,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .entry-content img {
    border-radius: 8px;
  }
}

/* DESKTOP — 1025 px ou mais */
@media (min-width: 1025px) {
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] {
    font-size: 18px;
    line-height: 1.85;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .e-con,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .elementor-section {
    max-width: 1200px;
    margin-right: auto;
    margin-left: auto;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .e-con:first-child .elementor-widget-heading .elementor-heading-title,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] > .elementor-section:first-child .elementor-widget-heading .elementor-heading-title {
    margin-bottom: 28px;
    padding: 30px 34px 30px 38px;
    border-left-width: 5px;
    border-radius: 0 10px 10px 0;
    font-size: clamp(36px, 3vw, 46px);
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h2.elementor-heading-title {
    margin-top: 34px;
    margin-bottom: 16px;
    font-size: 30px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h3.elementor-heading-title {
    margin-top: 28px;
    margin-bottom: 12px;
    font-size: 24px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-heading h4.elementor-heading-title {
    margin-top: 24px;
    margin-bottom: 10px;
    font-size: 20px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] figure {
    margin: 28px 0;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] blockquote,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] .elementor-widget-text-editor blockquote {
    margin: 28px 0;
    padding: 20px 26px;
    font-size: 20px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] table {
    font-size: 16px;
  }

  body.single-post main.site-main .elementor[data-elementor-post-type="post"] th,
  body.single-post main.site-main .elementor[data-elementor-post-type="post"] td {
    padding: 13px 16px;
  }
}/* End custom CSS */