{"id":5290,"date":"2025-04-09T11:57:49","date_gmt":"2025-04-09T11:57:49","guid":{"rendered":"https:\/\/greenplat.com\/blog\/"},"modified":"2026-07-20T13:59:06","modified_gmt":"2026-07-20T13:59:06","slug":"blog","status":"publish","type":"page","link":"https:\/\/greenplat.com\/en\/blog\/","title":{"rendered":"Blog"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"5290\" class=\"elementor elementor-5290 elementor-1063\" data-elementor-post-type=\"page\">\n\t\t\t\t<div class=\"elementor-element elementor-element-bf06a8f e-flex e-con-boxed e-con e-parent\" data-id=\"bf06a8f\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-93b914d elementor-widget elementor-widget-html\" data-id=\"93b914d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n  .gp-destaques {\n    --gp-green: #00af55;\n    --gp-text: #333333;\n    --gp-body: #666666;\n    --gp-meta: #999999;\n    --gp-bg: #f4f4f4;\n    --gp-radius: 12px;\n\n    box-sizing: border-box;\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 40px 36px 44px;\n    background: var(--gp-bg);\n    border-radius: var(--gp-radius);\n    font-family: \"Poppins\", Arial, Helvetica, sans-serif;\n    color: var(--gp-text);\n  }\n\n  .gp-destaques *,\n  .gp-destaques *::before,\n  .gp-destaques *::after {\n    box-sizing: border-box;\n  }\n\n  .gp-destaques__brand {\n    margin: 0 0 28px;\n    font-size: 1.75rem;\n    font-weight: 400;\n    color: #555;\n    line-height: 1.2;\n  }\n\n  .gp-destaques__brand strong {\n    font-weight: 700;\n    color: var(--gp-green);\n  }\n\n  .gp-destaques__heading {\n    display: flex;\n    align-items: center;\n    gap: 16px;\n    margin: 0 0 28px;\n  }\n\n  .gp-destaques__heading h2 {\n    margin: 0;\n    flex-shrink: 0;\n    font-size: 1.05rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: var(--gp-green);\n  }\n\n  .gp-destaques__heading::after {\n    content: \"\";\n    flex: 1;\n    height: 2px;\n    background: var(--gp-green);\n  }\n\n  .gp-destaques__grid {\n    display: grid;\n    grid-template-columns: 1.55fr 1fr;\n    gap: 28px;\n    align-items: stretch;\n  }\n\n  .gp-destaques__card {\n    display: flex;\n    background: transparent;\n    min-width: 0;\n  }\n\n  .gp-destaques__card--primary {\n    flex-direction: row;\n    gap: 22px;\n  }\n\n  .gp-destaques__card--secondary {\n    flex-direction: column;\n    gap: 16px;\n  }\n\n  .gp-destaques__media {\n    display: block;\n    overflow: hidden;\n    border-radius: 10px;\n    flex-shrink: 0;\n    background: #e8e8e8;\n  }\n\n  .gp-destaques__card--primary .gp-destaques__media {\n    width: 42%;\n    min-height: 100%;\n    aspect-ratio: 3 \/ 4;\n  }\n\n  .gp-destaques__card--secondary .gp-destaques__media {\n    width: 100%;\n    aspect-ratio: 16 \/ 10;\n  }\n\n  .gp-destaques__media img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n\n  .gp-destaques__body {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    min-width: 0;\n  }\n\n  .gp-destaques__meta {\n    margin: 0 0 10px;\n    font-size: 0.72rem;\n    font-weight: 500;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: var(--gp-meta);\n  }\n\n  .gp-destaques__title {\n    margin: 0 0 12px;\n    font-size: 1.35rem;\n    font-weight: 700;\n    line-height: 1.3;\n    color: var(--gp-text);\n  }\n\n  .gp-destaques__card--secondary .gp-destaques__title {\n    font-size: 1.15rem;\n  }\n\n  .gp-destaques__title a {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  .gp-destaques__title a:hover {\n    color: var(--gp-green);\n  }\n\n  .gp-destaques__excerpt {\n    margin: 0 0 20px;\n    font-size: 0.92rem;\n    font-weight: 400;\n    line-height: 1.55;\n    color: var(--gp-body);\n    display: -webkit-box;\n    -webkit-box-orient: vertical;\n    -webkit-line-clamp: 5;\n    overflow: hidden;\n  }\n\n  .gp-destaques__card--secondary .gp-destaques__excerpt {\n    -webkit-line-clamp: 4;\n  }\n\n  .gp-destaques__cta {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    margin-top: auto;\n    width: 100%;\n    padding: 12px 20px;\n    border: none;\n    border-radius: 8px;\n    background: var(--gp-green);\n    color: #fff;\n    font-family: inherit;\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 0.06em;\n    text-transform: uppercase;\n    text-decoration: none;\n    text-align: center;\n    transition: background 0.2s ease, transform 0.2s ease;\n  }\n\n  .gp-destaques__cta:hover {\n    background: #009648;\n    color: #fff;\n  }\n\n  .gp-destaques__status {\n    margin: 0;\n    color: var(--gp-body);\n    font-size: 0.95rem;\n  }\n\n  \/* ========== IDIOMAS (WPML \u2014 body.lang-en \/ body.lang-es) ========== *\/\n  .gp-destaques .gp-lang-en,\n  .gp-destaques .gp-lang-es {\n    display: none !important;\n  }\n\n  body.lang-en .gp-destaques .gp-lang-pt,\n  body.lang-en .gp-destaques .gp-lang-es,\n  html.lang-en .gp-destaques .gp-lang-pt,\n  html.lang-en .gp-destaques .gp-lang-es,\n  body.wpml-language-en .gp-destaques .gp-lang-pt,\n  body.wpml-language-en .gp-destaques .gp-lang-es,\n  html[lang^=\"en\"] .gp-destaques .gp-lang-pt,\n  html[lang^=\"en\"] .gp-destaques .gp-lang-es {\n    display: none !important;\n  }\n\n  body.lang-en .gp-destaques .gp-lang-en,\n  html.lang-en .gp-destaques .gp-lang-en,\n  body.wpml-language-en .gp-destaques .gp-lang-en,\n  html[lang^=\"en\"] .gp-destaques .gp-lang-en {\n    display: inline !important;\n  }\n\n  body.lang-es .gp-destaques .gp-lang-pt,\n  body.lang-es .gp-destaques .gp-lang-en,\n  html.lang-es .gp-destaques .gp-lang-pt,\n  html.lang-es .gp-destaques .gp-lang-en,\n  body.wpml-language-es .gp-destaques .gp-lang-pt,\n  body.wpml-language-es .gp-destaques .gp-lang-en,\n  html[lang^=\"es\"] .gp-destaques .gp-lang-pt,\n  html[lang^=\"es\"] .gp-destaques .gp-lang-en {\n    display: none !important;\n  }\n\n  body.lang-es .gp-destaques .gp-lang-es,\n  html.lang-es .gp-destaques .gp-lang-es,\n  body.wpml-language-es .gp-destaques .gp-lang-es,\n  html[lang^=\"es\"] .gp-destaques .gp-lang-es {\n    display: inline !important;\n  }\n\n  @media (max-width: 900px) {\n    .gp-destaques {\n      padding: 28px 20px 32px;\n    }\n\n    .gp-destaques__grid {\n      grid-template-columns: 1fr;\n      gap: 36px;\n    }\n\n    .gp-destaques__card--primary {\n      flex-direction: column;\n      gap: 16px;\n    }\n\n    .gp-destaques__card--primary .gp-destaques__media {\n      width: 100%;\n      aspect-ratio: 16 \/ 10;\n      min-height: 0;\n    }\n\n    .gp-destaques__brand {\n      font-size: 1.45rem;\n    }\n\n    .gp-destaques__title {\n      font-size: 1.2rem;\n    }\n  }\n<\/style>\n\n<section class=\"gp-destaques notranslate\" aria-labelledby=\"gp-destaques-heading\" data-posts-api=\"https:\/\/greenplat.com\/wp-json\/wp\/v2\/posts\">\n  <p class=\"gp-destaques__brand\">\n    <span class=\"gp-lang gp-lang-pt\">Blog da <strong>GreenPlat<\/strong><\/span>\n    <span class=\"gp-lang gp-lang-en\"><strong>GreenPlat<\/strong> Blog<\/span>\n    <span class=\"gp-lang gp-lang-es\">Blog de <strong>GreenPlat<\/strong><\/span>\n  <\/p>\n\n  <div class=\"gp-destaques__heading\">\n    <h2 id=\"gp-destaques-heading\">\n      <span class=\"gp-lang gp-lang-pt\">Destaques<\/span>\n      <span class=\"gp-lang gp-lang-en\">Highlights<\/span>\n      <span class=\"gp-lang gp-lang-es\">Destacados<\/span>\n    <\/h2>\n  <\/div>\n\n  <div class=\"gp-destaques__grid\" data-destaques-grid>\n    <p class=\"gp-destaques__status\" data-destaques-status>\n      <span class=\"gp-lang gp-lang-pt\">Carregando destaques\u2026<\/span>\n      <span class=\"gp-lang gp-lang-en\">Loading highlights\u2026<\/span>\n      <span class=\"gp-lang gp-lang-es\">Cargando destacados\u2026<\/span>\n    <\/p>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  'use strict';\n\n  var ROOT = document.querySelector('.gp-destaques');\n  if (!ROOT) return;\n\n  var API = ROOT.getAttribute('data-posts-api') || 'https:\/\/greenplat.com\/wp-json\/wp\/v2\/posts';\n  var GRID = ROOT.querySelector('[data-destaques-grid]');\n  var HIGHLIGHT_TAGS = ['tag-destaque', 'tag-highlight', 'tag-destacado'];\n\n  var STRINGS = {\n    pt: { cta: 'Saiba mais', empty: 'Nenhum destaque encontrado.', error: 'N\u00e3o foi poss\u00edvel carregar os destaques.' },\n    en: { cta: 'Learn More', empty: 'No highlights found.', error: 'Unable to load highlights.' },\n    es: { cta: 'M\u00e1s informaci\u00f3n', empty: 'No se encontraron destacados.', error: 'No fue posible cargar los destacados.' }\n  };\n\n  function getLang() {\n    var body = document.body;\n    if (body.classList.contains('lang-en') || body.classList.contains('wpml-language-en')) return 'en';\n    if (body.classList.contains('lang-es') || body.classList.contains('wpml-language-es')) return 'es';\n\n    var htmlLang = (document.documentElement.getAttribute('lang') || '').toLowerCase();\n    if (htmlLang.indexOf('en') === 0) return 'en';\n    if (htmlLang.indexOf('es') === 0) return 'es';\n\n    var match = location.pathname.match(\/^\\\/(en|es)(\\\/|$)\/);\n    if (match) return match[1];\n\n    return 'pt';\n  }\n\n  function stripHtml(html) {\n    var el = document.createElement('div');\n    el.innerHTML = html || '';\n    return (el.textContent || el.innerText || '').replace(\/\\s+\/g, ' ').trim();\n  }\n\n  function formatDate(iso) {\n    var d = new Date(iso);\n    if (isNaN(d.getTime())) return '';\n    var day = String(d.getDate()).padStart(2, '0');\n    var month = String(d.getMonth() + 1).padStart(2, '0');\n    var year = d.getFullYear();\n    return day + '\/' + month + '\/' + year;\n  }\n\n  function categoryName(post) {\n    var terms = post._embedded && post._embedded['wp:term'];\n    if (terms && terms[0] && terms[0][0] && terms[0][0].name) {\n      return terms[0][0].name;\n    }\n\n    var list = post.class_list || [];\n    for (var i = 0; i < list.length; i++) {\n      if (list[i].indexOf('category-') === 0) {\n        return list[i]\n          .replace(\/^category-\/, '')\n          .replace(\/-(en|es)$\/, '')\n          .replace(\/-\/g, ' ');\n      }\n    }\n    return '';\n  }\n\n  function imageUrl(post) {\n    var media = post._embedded && post._embedded['wp:featuredmedia'] && post._embedded['wp:featuredmedia'][0];\n    if (!media) return '';\n\n    var sizes = media.media_details && media.media_details.sizes;\n    if (sizes) {\n      if (sizes.medium_large && sizes.medium_large.source_url) return sizes.medium_large.source_url;\n      if (sizes.large && sizes.large.source_url) return sizes.large.source_url;\n      if (sizes.medium && sizes.medium.source_url) return sizes.medium.source_url;\n    }\n    return media.source_url || '';\n  }\n\n  function isHighlight(post) {\n    var list = post.class_list || [];\n    for (var i = 0; i < HIGHLIGHT_TAGS.length; i++) {\n      if (list.indexOf(HIGHLIGHT_TAGS[i]) !== -1) return true;\n    }\n    return false;\n  }\n\n  function escapeHtml(str) {\n    return String(str)\n      .replace(\/&\/g, '&amp;')\n      .replace(\/<\/g, '&lt;')\n      .replace(\/>\/g, '&gt;')\n      .replace(\/\"\/g, '&quot;');\n  }\n\n  function renderCard(post, variant, cta) {\n    var link = post.link || '#';\n    var title = stripHtml(post.title && post.title.rendered);\n    var excerpt = stripHtml(post.excerpt && post.excerpt.rendered);\n    var img = imageUrl(post);\n    var meta = [formatDate(post.date), categoryName(post)].filter(Boolean).join(' | ');\n    var cls = 'gp-destaques__card gp-destaques__card--' + variant;\n\n    return (\n      '<article class=\"' + cls + '\">' +\n        '<a class=\"gp-destaques__media\" href=\"' + escapeHtml(link) + '\" tabindex=\"-1\" aria-hidden=\"true\">' +\n          (img\n            ? '<img loading=\"lazy\" decoding=\"async\" src=\"' + escapeHtml(img) + '\" alt=\"\" loading=\"lazy\" width=\"768\" height=\"512\" \/>'\n            : '') +\n        '<\/a>' +\n        '<div class=\"gp-destaques__body\">' +\n          (meta ? '<p class=\"gp-destaques__meta\">' + escapeHtml(meta) + '<\/p>' : '') +\n          '<h3 class=\"gp-destaques__title\"><a href=\"' + escapeHtml(link) + '\">' + escapeHtml(title) + '<\/a><\/h3>' +\n          (excerpt ? '<p class=\"gp-destaques__excerpt\">' + escapeHtml(excerpt) + '<\/p>' : '') +\n          '<a class=\"gp-destaques__cta\" href=\"' + escapeHtml(link) + '\">' + escapeHtml(cta) + '<\/a>' +\n        '<\/div>' +\n      '<\/article>'\n    );\n  }\n\n  function setStatus(message) {\n    GRID.innerHTML = '<p class=\"gp-destaques__status\">' + escapeHtml(message) + '<\/p>';\n  }\n\n  function load() {\n    var lang = getLang();\n    var t = STRINGS[lang] || STRINGS.pt;\n    var url = API + '?_embed&per_page=20' + (lang === 'pt' ? '' : '&lang=' + encodeURIComponent(lang));\n\n    fetch(url)\n      .then(function (res) {\n        if (!res.ok) throw new Error('HTTP ' + res.status);\n        return res.json();\n      })\n      .then(function (posts) {\n        var highlights = (posts || []).filter(isHighlight).slice(0, 2);\n\n        if (!highlights.length) {\n          setStatus(t.empty);\n          return;\n        }\n\n        var html = renderCard(highlights[0], 'primary', t.cta);\n        if (highlights[1]) html += renderCard(highlights[1], 'secondary', t.cta);\n        GRID.innerHTML = html;\n      })\n      .catch(function () {\n        setStatus(t.error);\n      });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', load);\n  } else {\n    load();\n  }\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-4b97bf9 elementor-widget-divider--view-line elementor-widget elementor-widget-divider\" data-id=\"4b97bf9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"divider.default\">\n\t\t\t\t\t\t\t<div class=\"elementor-divider\">\n\t\t\t<span class=\"elementor-divider-separator\">\n\t\t\t\t\t\t<\/span>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t<div class=\"elementor-element elementor-element-70e183d e-flex e-con-boxed e-con e-parent\" data-id=\"70e183d\" data-element_type=\"container\" data-e-type=\"container\">\n\t\t\t\t\t<div class=\"e-con-inner\">\n\t\t\t\t<div class=\"elementor-element elementor-element-3688500 elementor-widget elementor-widget-html\" data-id=\"3688500\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"html.default\">\n\t\t\t\t\t<style>\n  .gp-artigos {\n    --gp-green: #00af55;\n    --gp-text: #333333;\n    --gp-body: #666666;\n    --gp-meta: #999999;\n    --gp-bg: #f4f4f4;\n    --gp-control: #efefef;\n    --gp-radius: 10px;\n\n    box-sizing: border-box;\n    max-width: 1200px;\n    margin: 0 auto;\n    padding: 24px 0 48px;\n    font-family: \"Poppins\", Arial, Helvetica, sans-serif;\n    color: var(--gp-text);\n  }\n\n  .gp-artigos *,\n  .gp-artigos *::before,\n  .gp-artigos *::after {\n    box-sizing: border-box;\n  }\n\n  .gp-artigos__toolbar {\n    display: flex;\n    align-items: center;\n    justify-content: space-between;\n    gap: 20px;\n    margin-bottom: 32px;\n    flex-wrap: wrap;\n  }\n\n  .gp-artigos__title {\n    margin: 0;\n    font-size: 1.15rem;\n    font-weight: 700;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: var(--gp-green);\n  }\n\n  .gp-artigos__controls {\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    flex-wrap: wrap;\n  }\n\n  .gp-artigos__search {\n    position: relative;\n    min-width: 180px;\n  }\n\n  .gp-artigos__search input {\n    width: 100%;\n    height: 44px;\n    padding: 0 42px 0 16px;\n    border: none;\n    border-radius: 8px;\n    background: var(--gp-control);\n    color: var(--gp-text);\n    font-family: inherit;\n    font-size: 0.9rem;\n    outline: none;\n  }\n\n  .gp-artigos__search input::placeholder {\n    color: #9a9a9a;\n  }\n\n  .gp-artigos__search svg {\n    position: absolute;\n    right: 14px;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 18px;\n    height: 18px;\n    pointer-events: none;\n    color: #8a8a8a;\n  }\n\n  .gp-artigos__select {\n    position: relative;\n    display: inline-flex;\n    align-items: center;\n    min-width: 150px;\n    height: 44px;\n    padding: 0 36px 0 40px;\n    border-radius: 8px;\n    background: var(--gp-control);\n    color: var(--gp-text);\n  }\n\n  .gp-artigos__select > svg:first-child {\n    position: absolute;\n    left: 12px;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 18px;\n    height: 18px;\n    color: #555;\n    pointer-events: none;\n  }\n\n  .gp-artigos__select > svg:last-child {\n    position: absolute;\n    right: 12px;\n    top: 50%;\n    transform: translateY(-50%);\n    width: 14px;\n    height: 14px;\n    color: #666;\n    pointer-events: none;\n  }\n\n  .gp-artigos__select select {\n    appearance: none;\n    -webkit-appearance: none;\n    width: 100%;\n    height: 100%;\n    border: none;\n    background: transparent;\n    color: inherit;\n    font-family: inherit;\n    font-size: 0.9rem;\n    font-weight: 500;\n    cursor: pointer;\n    outline: none;\n  }\n\n  .gp-artigos__grid {\n    display: grid;\n    grid-template-columns: repeat(3, 1fr);\n    gap: 28px;\n  }\n\n  .gp-artigos__card {\n    display: flex;\n    flex-direction: column;\n    background: var(--gp-bg);\n    border-radius: var(--gp-radius);\n    padding: 14px;\n    min-width: 0;\n    box-shadow: 0 1px 4px rgba(0, 0, 0, 0.04);\n  }\n\n  .gp-artigos__media {\n    display: block;\n    overflow: hidden;\n    border-radius: 8px;\n    aspect-ratio: 16 \/ 10;\n    background: #e4e4e4;\n    margin-bottom: 14px;\n  }\n\n  .gp-artigos__media img {\n    display: block;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n\n  .gp-artigos__body {\n    display: flex;\n    flex-direction: column;\n    flex: 1;\n    padding: 0 4px 4px;\n  }\n\n  .gp-artigos__meta {\n    margin: 0 0 10px;\n    font-size: 0.72rem;\n    font-weight: 500;\n    letter-spacing: 0.04em;\n    text-transform: uppercase;\n    color: var(--gp-meta);\n  }\n\n  .gp-artigos__card-title {\n    margin: 0 0 20px;\n    font-size: 1.05rem;\n    font-weight: 700;\n    line-height: 1.35;\n    color: var(--gp-text);\n  }\n\n  .gp-artigos__card-title a {\n    color: inherit;\n    text-decoration: none;\n  }\n\n  .gp-artigos__card-title a:hover {\n    color: var(--gp-green);\n  }\n\n  .gp-artigos__cta {\n    display: inline-flex;\n    align-items: center;\n    justify-content: center;\n    margin-top: auto;\n    align-self: flex-start;\n    min-width: 140px;\n    padding: 10px 18px;\n    border-radius: 8px;\n    background: var(--gp-green);\n    color: #fff;\n    font-family: inherit;\n    font-size: 0.8rem;\n    font-weight: 700;\n    letter-spacing: 0.05em;\n    text-transform: uppercase;\n    text-decoration: none;\n    transition: background 0.2s ease;\n  }\n\n  .gp-artigos__cta:hover {\n    background: #009648;\n    color: #fff;\n  }\n\n  .gp-artigos__status {\n    grid-column: 1 \/ -1;\n    margin: 0;\n    color: var(--gp-body);\n    font-size: 0.95rem;\n  }\n\n  .gp-artigos__footer {\n    display: flex;\n    justify-content: center;\n    margin-top: 36px;\n  }\n\n  .gp-artigos__more {\n    display: none;\n    align-items: center;\n    justify-content: center;\n    min-width: 200px;\n    padding: 12px 28px;\n    border: 2px solid var(--gp-green);\n    border-radius: 8px;\n    background: transparent;\n    color: var(--gp-green);\n    font-family: inherit;\n    font-size: 0.85rem;\n    font-weight: 700;\n    letter-spacing: 0.05em;\n    text-transform: uppercase;\n    cursor: pointer;\n    transition: background 0.2s ease, color 0.2s ease;\n  }\n\n  .gp-artigos__more.is-visible {\n    display: inline-flex;\n  }\n\n  .gp-artigos__more:hover {\n    background: var(--gp-green);\n    color: #fff;\n  }\n\n  .gp-artigos__more:disabled {\n    opacity: 0.6;\n    cursor: wait;\n  }\n\n  \/* ========== IDIOMAS (WPML) ========== *\/\n  .gp-artigos .gp-lang-en,\n  .gp-artigos .gp-lang-es {\n    display: none !important;\n  }\n\n  body.lang-en .gp-artigos .gp-lang-pt,\n  body.lang-en .gp-artigos .gp-lang-es,\n  html.lang-en .gp-artigos .gp-lang-pt,\n  html.lang-en .gp-artigos .gp-lang-es,\n  body.wpml-language-en .gp-artigos .gp-lang-pt,\n  body.wpml-language-en .gp-artigos .gp-lang-es,\n  html[lang^=\"en\"] .gp-artigos .gp-lang-pt,\n  html[lang^=\"en\"] .gp-artigos .gp-lang-es {\n    display: none !important;\n  }\n\n  body.lang-en .gp-artigos .gp-lang-en,\n  html.lang-en .gp-artigos .gp-lang-en,\n  body.wpml-language-en .gp-artigos .gp-lang-en,\n  html[lang^=\"en\"] .gp-artigos .gp-lang-en {\n    display: inline !important;\n  }\n\n  body.lang-es .gp-artigos .gp-lang-pt,\n  body.lang-es .gp-artigos .gp-lang-en,\n  html.lang-es .gp-artigos .gp-lang-pt,\n  html.lang-es .gp-artigos .gp-lang-en,\n  body.wpml-language-es .gp-artigos .gp-lang-pt,\n  body.wpml-language-es .gp-artigos .gp-lang-en,\n  html[lang^=\"es\"] .gp-artigos .gp-lang-pt,\n  html[lang^=\"es\"] .gp-artigos .gp-lang-en {\n    display: none !important;\n  }\n\n  body.lang-es .gp-artigos .gp-lang-es,\n  html.lang-es .gp-artigos .gp-lang-es,\n  body.wpml-language-es .gp-artigos .gp-lang-es,\n  html[lang^=\"es\"] .gp-artigos .gp-lang-es {\n    display: inline !important;\n  }\n\n  @media (max-width: 1024px) {\n    .gp-artigos__grid {\n      grid-template-columns: repeat(2, 1fr);\n    }\n  }\n\n  @media (max-width: 700px) {\n    .gp-artigos__toolbar {\n      flex-direction: column;\n      align-items: stretch;\n    }\n\n    .gp-artigos__controls {\n      flex-direction: column;\n      align-items: stretch;\n    }\n\n    .gp-artigos__search,\n    .gp-artigos__select {\n      width: 100%;\n      min-width: 0;\n    }\n\n    .gp-artigos__grid {\n      grid-template-columns: 1fr;\n      gap: 20px;\n    }\n  }\n<\/style>\n\n<section\n  class=\"gp-artigos notranslate\"\n  aria-labelledby=\"gp-artigos-heading\"\n  data-posts-api=\"https:\/\/greenplat.com\/wp-json\/wp\/v2\/posts\"\n  data-categories-api=\"https:\/\/greenplat.com\/wp-json\/wp\/v2\/categories\"\n  data-per-page=\"5\"\n>\n  <div class=\"gp-artigos__toolbar\">\n    <h2 class=\"gp-artigos__title\" id=\"gp-artigos-heading\">\n      <span class=\"gp-lang gp-lang-pt\">Todos os artigos<\/span>\n      <span class=\"gp-lang gp-lang-en\">All articles<\/span>\n      <span class=\"gp-lang gp-lang-es\">Todos los art\u00edculos<\/span>\n    <\/h2>\n\n    <div class=\"gp-artigos__controls\">\n      <label class=\"gp-artigos__search\">\n        <span class=\"visually-hidden\" style=\"position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)\">\n          <span class=\"gp-lang gp-lang-pt\">Pesquisar<\/span>\n          <span class=\"gp-lang gp-lang-en\">Search<\/span>\n          <span class=\"gp-lang gp-lang-es\">Buscar<\/span>\n        <\/span>\n        <input type=\"search\" data-artigos-search autocomplete=\"off\" \/>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n          <circle cx=\"11\" cy=\"11\" r=\"7\" stroke=\"currentColor\" stroke-width=\"2\" \/>\n          <path d=\"M20 20l-3.5-3.5\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" \/>\n        <\/svg>\n      <\/label>\n\n      <div class=\"gp-artigos__select\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n          <path d=\"M8 6h13M8 12h13M8 18h13M3 6h.01M3 12h.01M3 18h.01\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" \/>\n        <\/svg>\n        <select data-artigos-category aria-label=\"Categorias\"><\/select>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n          <path d=\"M6 9l6 6 6-6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n        <\/svg>\n      <\/div>\n\n      <div class=\"gp-artigos__select\">\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n          <path d=\"M3 6h13M3 12h9M3 18h5M18 4v16m0 0l-3-3m3 3l3-3\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n        <\/svg>\n        <select data-artigos-order aria-label=\"Ordenar\"><\/select>\n        <svg viewBox=\"0 0 24 24\" fill=\"none\" aria-hidden=\"true\">\n          <path d=\"M6 9l6 6 6-6\" stroke=\"currentColor\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" \/>\n        <\/svg>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <div class=\"gp-artigos__grid\" data-artigos-grid>\n    <p class=\"gp-artigos__status\">\n      <span class=\"gp-lang gp-lang-pt\">Carregando artigos\u2026<\/span>\n      <span class=\"gp-lang gp-lang-en\">Loading articles\u2026<\/span>\n      <span class=\"gp-lang gp-lang-es\">Cargando art\u00edculos\u2026<\/span>\n    <\/p>\n  <\/div>\n\n  <div class=\"gp-artigos__footer\">\n    <button type=\"button\" class=\"gp-artigos__more\" data-artigos-more>\n      <span class=\"gp-lang gp-lang-pt\">Carregar mais<\/span>\n      <span class=\"gp-lang gp-lang-en\">Load more<\/span>\n      <span class=\"gp-lang gp-lang-es\">Cargar m\u00e1s<\/span>\n    <\/button>\n  <\/div>\n<\/section>\n\n<script>\n(function () {\n  'use strict';\n\n  var ROOT = document.querySelector('.gp-artigos');\n  if (!ROOT) return;\n\n  var POSTS_API = ROOT.getAttribute('data-posts-api') || 'https:\/\/greenplat.com\/wp-json\/wp\/v2\/posts';\n  var CATS_API = ROOT.getAttribute('data-categories-api') || 'https:\/\/greenplat.com\/wp-json\/wp\/v2\/categories';\n  var PER_PAGE = parseInt(ROOT.getAttribute('data-per-page'), 10) || 5;\n\n  var GRID = ROOT.querySelector('[data-artigos-grid]');\n  var SEARCH = ROOT.querySelector('[data-artigos-search]');\n  var CATEGORY = ROOT.querySelector('[data-artigos-category]');\n  var ORDER = ROOT.querySelector('[data-artigos-order]');\n  var MORE = ROOT.querySelector('[data-artigos-more]');\n\n  var state = {\n    page: 1,\n    totalPages: 1,\n    loading: false,\n    searchTimer: null\n  };\n\n  var STRINGS = {\n    pt: {\n      search: 'Pesquisar',\n      categories: 'Categorias',\n      allCategories: 'Todas as categorias',\n      order: 'Ordenar',\n      newest: 'Mais recentes',\n      oldest: 'Mais antigos',\n      titleAsc: 'T\u00edtulo A-Z',\n      cta: 'Saiba mais',\n      empty: 'Nenhum artigo encontrado.',\n      error: 'N\u00e3o foi poss\u00edvel carregar os artigos.',\n      loading: 'Carregando\u2026'\n    },\n    en: {\n      search: 'Search',\n      categories: 'Categories',\n      allCategories: 'All categories',\n      order: 'Sort',\n      newest: 'Newest',\n      oldest: 'Oldest',\n      titleAsc: 'Title A-Z',\n      cta: 'Learn More',\n      empty: 'No articles found.',\n      error: 'Unable to load articles.',\n      loading: 'Loading\u2026'\n    },\n    es: {\n      search: 'Buscar',\n      categories: 'Categor\u00edas',\n      allCategories: 'Todas las categor\u00edas',\n      order: 'Ordenar',\n      newest: 'M\u00e1s recientes',\n      oldest: 'M\u00e1s antiguos',\n      titleAsc: 'T\u00edtulo A-Z',\n      cta: 'M\u00e1s informaci\u00f3n',\n      empty: 'No se encontraron art\u00edculos.',\n      error: 'No fue posible cargar los art\u00edculos.',\n      loading: 'Cargando\u2026'\n    }\n  };\n\n  function getLang() {\n    var body = document.body;\n    if (body.classList.contains('lang-en') || body.classList.contains('wpml-language-en')) return 'en';\n    if (body.classList.contains('lang-es') || body.classList.contains('wpml-language-es')) return 'es';\n\n    var htmlLang = (document.documentElement.getAttribute('lang') || '').toLowerCase();\n    if (htmlLang.indexOf('en') === 0) return 'en';\n    if (htmlLang.indexOf('es') === 0) return 'es';\n\n    var match = location.pathname.match(\/^\\\/(en|es)(\\\/|$)\/);\n    if (match) return match[1];\n\n    return 'pt';\n  }\n\n  function t() {\n    return STRINGS[getLang()] || STRINGS.pt;\n  }\n\n  function langParam() {\n    var lang = getLang();\n    return lang === 'pt' ? '' : '&lang=' + encodeURIComponent(lang);\n  }\n\n  function stripHtml(html) {\n    var el = document.createElement('div');\n    el.innerHTML = html || '';\n    return (el.textContent || el.innerText || '').replace(\/\\s+\/g, ' ').trim();\n  }\n\n  function escapeHtml(str) {\n    return String(str)\n      .replace(\/&\/g, '&amp;')\n      .replace(\/<\/g, '&lt;')\n      .replace(\/>\/g, '&gt;')\n      .replace(\/\"\/g, '&quot;');\n  }\n\n  function formatDate(iso) {\n    var d = new Date(iso);\n    if (isNaN(d.getTime())) return '';\n    var day = String(d.getDate()).padStart(2, '0');\n    var month = String(d.getMonth() + 1).padStart(2, '0');\n    return day + '\/' + month + '\/' + d.getFullYear();\n  }\n\n  function categoryName(post) {\n    var terms = post._embedded && post._embedded['wp:term'];\n    if (terms && terms[0] && terms[0][0] && terms[0][0].name) {\n      return terms[0][0].name;\n    }\n\n    var list = post.class_list || [];\n    for (var i = 0; i < list.length; i++) {\n      if (list[i].indexOf('category-') === 0) {\n        return list[i]\n          .replace(\/^category-\/, '')\n          .replace(\/-(en|es)$\/, '')\n          .replace(\/-\/g, ' ');\n      }\n    }\n    return '';\n  }\n\n  function imageUrl(post) {\n    var media = post._embedded && post._embedded['wp:featuredmedia'] && post._embedded['wp:featuredmedia'][0];\n    if (!media) return '';\n\n    var sizes = media.media_details && media.media_details.sizes;\n    if (sizes) {\n      if (sizes.medium_large && sizes.medium_large.source_url) return sizes.medium_large.source_url;\n      if (sizes.large && sizes.large.source_url) return sizes.large.source_url;\n      if (sizes.medium && sizes.medium.source_url) return sizes.medium.source_url;\n    }\n    return media.source_url || '';\n  }\n\n  function orderParams() {\n    var value = ORDER.value || 'date-desc';\n    if (value === 'date-asc') return { orderby: 'date', order: 'asc' };\n    if (value === 'title-asc') return { orderby: 'title', order: 'asc' };\n    return { orderby: 'date', order: 'desc' };\n  }\n\n  function buildPostsUrl(page) {\n    var order = orderParams();\n    var url =\n      POSTS_API +\n      '?_embed&per_page=' + PER_PAGE +\n      '&page=' + page +\n      '&orderby=' + order.orderby +\n      '&order=' + order.order +\n      langParam();\n\n    var search = (SEARCH.value || '').trim();\n    if (search) url += '&search=' + encodeURIComponent(search);\n\n    var cat = CATEGORY.value;\n    if (cat) url += '&categories=' + encodeURIComponent(cat);\n\n    return url;\n  }\n\n  function renderCard(post) {\n    var link = post.link || '#';\n    var title = stripHtml(post.title && post.title.rendered);\n    var img = imageUrl(post);\n    var meta = [formatDate(post.date), categoryName(post)].filter(Boolean).join(' | ');\n    var cta = t().cta;\n\n    return (\n      '<article class=\"gp-artigos__card\">' +\n        '<a class=\"gp-artigos__media\" href=\"' + escapeHtml(link) + '\" tabindex=\"-1\" aria-hidden=\"true\">' +\n          (img ? '<img loading=\"lazy\" decoding=\"async\" src=\"' + escapeHtml(img) + '\" alt=\"\" loading=\"lazy\" width=\"768\" height=\"480\" \/>' : '') +\n        '<\/a>' +\n        '<div class=\"gp-artigos__body\">' +\n          (meta ? '<p class=\"gp-artigos__meta\">' + escapeHtml(meta) + '<\/p>' : '') +\n          '<h3 class=\"gp-artigos__card-title\"><a href=\"' + escapeHtml(link) + '\">' + escapeHtml(title) + '<\/a><\/h3>' +\n          '<a class=\"gp-artigos__cta\" href=\"' + escapeHtml(link) + '\">' + escapeHtml(cta) + '<\/a>' +\n        '<\/div>' +\n      '<\/article>'\n    );\n  }\n\n  function setStatus(message) {\n    GRID.innerHTML = '<p class=\"gp-artigos__status\">' + escapeHtml(message) + '<\/p>';\n    MORE.classList.remove('is-visible');\n  }\n\n  function updateMoreButton() {\n    if (state.page < state.totalPages) {\n      MORE.classList.add('is-visible');\n      MORE.disabled = false;\n    } else {\n      MORE.classList.remove('is-visible');\n    }\n  }\n\n  function fillOrderOptions() {\n    var s = t();\n    ORDER.innerHTML =\n      '<option value=\"date-desc\">' + escapeHtml(s.newest) + '<\/option>' +\n      '<option value=\"date-asc\">' + escapeHtml(s.oldest) + '<\/option>' +\n      '<option value=\"title-asc\">' + escapeHtml(s.titleAsc) + '<\/option>';\n    ORDER.setAttribute('aria-label', s.order);\n  }\n\n  function fillCategoryOptions(categories) {\n    var s = t();\n    var html = '<option value=\"\">' + escapeHtml(s.categories) + '<\/option>';\n    (categories || []).forEach(function (cat) {\n      if (!cat.count) return;\n      if (cat.slug === 'nao-categorizado' || cat.slug === 'uncategorized') return;\n      html += '<option value=\"' + escapeHtml(String(cat.id)) + '\">' + escapeHtml(cat.name) + '<\/option>';\n    });\n    CATEGORY.innerHTML = html;\n    CATEGORY.setAttribute('aria-label', s.categories);\n  }\n\n  function loadCategories() {\n    var url = CATS_API + '?per_page=100&hide_empty=true' + langParam();\n    return fetch(url)\n      .then(function (res) {\n        if (!res.ok) throw new Error('HTTP ' + res.status);\n        return res.json();\n      })\n      .then(fillCategoryOptions)\n      .catch(function () {\n        fillCategoryOptions([]);\n      });\n  }\n\n  function loadPosts(reset) {\n    if (state.loading) return;\n\n    var s = t();\n    if (reset) {\n      state.page = 1;\n      setStatus(s.loading);\n    }\n\n    state.loading = true;\n    MORE.disabled = true;\n\n    fetch(buildPostsUrl(state.page))\n      .then(function (res) {\n        if (!res.ok) throw new Error('HTTP ' + res.status);\n        state.totalPages = parseInt(res.headers.get('X-WP-TotalPages') || '1', 10) || 1;\n        return res.json();\n      })\n      .then(function (posts) {\n        var list = posts || [];\n\n        if (!list.length && state.page === 1) {\n          setStatus(s.empty);\n          return;\n        }\n\n        var html = list.map(renderCard).join('');\n        if (reset || state.page === 1) {\n          GRID.innerHTML = html;\n        } else {\n          GRID.insertAdjacentHTML('beforeend', html);\n        }\n\n        updateMoreButton();\n      })\n      .catch(function () {\n        if (state.page === 1) setStatus(s.error);\n        else updateMoreButton();\n      })\n      .finally(function () {\n        state.loading = false;\n        MORE.disabled = false;\n      });\n  }\n\n  function resetAndLoad() {\n    loadPosts(true);\n  }\n\n  function initPlaceholders() {\n    var s = t();\n    SEARCH.placeholder = s.search;\n  }\n\n  SEARCH.addEventListener('input', function () {\n    clearTimeout(state.searchTimer);\n    state.searchTimer = setTimeout(resetAndLoad, 350);\n  });\n\n  CATEGORY.addEventListener('change', resetAndLoad);\n  ORDER.addEventListener('change', resetAndLoad);\n\n  MORE.addEventListener('click', function () {\n    if (state.loading || state.page >= state.totalPages) return;\n    state.page += 1;\n    loadPosts(false);\n  });\n\n  function init() {\n    initPlaceholders();\n    fillOrderOptions();\n    loadCategories().then(function () {\n      resetAndLoad();\n    });\n  }\n\n  if (document.readyState === 'loading') {\n    document.addEventListener('DOMContentLoaded', init);\n  } else {\n    init();\n  }\n})();\n<\/script>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Blog da GreenPlat GreenPlat Blog Blog de GreenPlat Destaques Highlights Destacados Carregando destaques\u2026 Loading highlights\u2026 Cargando destacados\u2026 Todos os artigos All articles Todos los art\u00edculos Pesquisar Search Buscar Carregando artigos\u2026 Loading articles\u2026 Cargando art\u00edculos\u2026 Carregar mais Load more Cargar m\u00e1s<\/p>\n","protected":false},"author":6,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"elementor_header_footer","meta":{"_acf_changed":false,"footnotes":""},"class_list":["post-5290","page","type-page","status-publish","hentry"],"acf":[],"_links":{"self":[{"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/pages\/5290","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/users\/6"}],"replies":[{"embeddable":true,"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/comments?post=5290"}],"version-history":[{"count":8,"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/pages\/5290\/revisions"}],"predecessor-version":[{"id":5551,"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/pages\/5290\/revisions\/5551"}],"wp:attachment":[{"href":"https:\/\/greenplat.com\/en\/wp-json\/wp\/v2\/media?parent=5290"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}