/* =====================================================
   ZILOR BLOCKS · Design System v2.0
   Portado e limpo (sem fight de specificity contra Elementor).
   Os tokens já vêm do theme.json — aqui só estilos de
   utilidade e patterns customizados.
   ===================================================== */

/* ---------------------------------------------------
   TOKENS LOCAIS (espelhando theme.json pra uso CSS)
   --------------------------------------------------- */
:root {
  /* Cores */
  --z-green-900: #0E3B26;
  --z-green-800: #155634;
  --z-green-700: #1F6A45;
  --z-green-500: #2E9A6B;
  --z-lime:      #A6CE39;
  --z-lime-br:   #BFDA45;
  --z-sand:      #F4F1EA;
  --z-cream:     #FAF8F2;
  --z-ink-900:   #1A2620;
  --z-ink-700:   #3F4E47;
  --z-ink-500:   #6A7F89;
  --z-line:      #E5E1D6;
  --z-white:     #FFFFFF;
  --z-blue-date: #3B9CE0;

  /* Categorias Negócios */
  --z-cat-acucar:   #E07A2A;
  --z-cat-etanol:   #7B3DBA;
  --z-cat-bio:      #2E9A6B;
  --z-cat-leveduras:#A6CE39;

  /* Spacing scale (4-based) */
  --z-s-1: 8px;
  --z-s-2: 16px;
  --z-s-3: 24px;
  --z-s-4: 32px;
  --z-s-5: 48px;
  --z-s-6: 64px;
  --z-s-7: 96px;
  --z-s-8: 128px;

  /* Radius — forma gota assimétrica (signature Zilor) */
  --z-radius-card:    56px 16px 56px 16px;
  --z-radius-card-lg: 96px 24px 96px 24px;
  --z-radius-card-sm: 32px 8px 32px 8px;
  --z-radius-pill:    999px;

  /* Sombras */
  --z-shadow-sm: 0 4px 14px rgba(14,59,38,.08);
  --z-shadow-md: 0 18px 44px rgba(14,59,38,.12);
  --z-shadow-lg: 0 32px 72px rgba(14,59,38,.18);

  /* Container max */
  --z-container: 1280px;
}

/* ---------------------------------------------------
   RESET / BASE
   --------------------------------------------------- */
body {
  font-family: "Lato", -apple-system, BlinkMacSystemFont, sans-serif;
  font-weight: 300;
  color: var(--z-ink-900);
  background: var(--z-white);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ---------------------------------------------------
   ZERA GAP ENTRE SEÇÕES TOP-LEVEL (remove traços brancos)
   --------------------------------------------------- */
.entry-content > .wp-block-group,
.entry-content > .wp-block-cover,
.wp-site-blocks .wp-block-post-content > .wp-block-group,
.wp-site-blocks .wp-block-post-content > .wp-block-cover,
main > .wp-block-group,
main > .wp-block-cover {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* Remove blockGap default entre seções */
.entry-content,
.wp-block-post-content {
  --wp--style--block-gap: 0 !important;
}

/* Zera espaço entre header / main / footer (wp-site-blocks layout) */
.wp-site-blocks > *,
.wp-site-blocks > header,
.wp-site-blocks > main,
.wp-site-blocks > footer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

.wp-site-blocks {
  --wp--style--block-gap: 0 !important;
}

main > .wp-block-post-content,
main > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Zera root padding do tema pai (Twenty Twenty-Five) na home blocks */
.wp-block-post-content,
main .wp-block-post-content,
.wp-site-blocks main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  --wp--style--root--padding-top: 0;
  --wp--style--root--padding-right: 0;
  --wp--style--root--padding-bottom: 0;
  --wp--style--root--padding-left: 0;
}

/* Garante que groups full-width não respeitem container limits do tema pai */
body .wp-block-post-content > .wp-block-group.alignfull,
body .wp-block-post-content > .wp-block-cover.alignfull {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100% !important;
  max-width: none !important;
}

/* Override agressivo: zera padding do wrapper que Twenty Twenty-Five injeta entre main e post-content */
body .wp-site-blocks main,
body .wp-site-blocks main > .wp-block-group,
body .wp-site-blocks main > div,
body main > .wp-block-group.has-global-padding {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

/* Zera as variáveis spacing root do tema pai pro contexto do front-page */
.wp-site-blocks,
.wp-site-blocks main,
.wp-site-blocks main > .wp-block-group,
.wp-site-blocks header,
.wp-site-blocks footer,
.z-site-header,
.z-site-footer,
.wp-block-template-part {
  --wp--preset--spacing--60: 0 !important;
  --wp--preset--spacing--50: 0 !important;
  --wp--preset--spacing--40: 0 !important;
  --wp--style--block-gap: 0 !important;
}

/* Zera margens entre children dos template parts header e footer */
.z-site-header > *,
.z-site-footer > *,
header.z-site-header > *,
footer.z-site-footer > *,
.wp-block-template-part > * {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* ---------------------------------------------------
   PADDING LATERAL GLOBAL (maior e uniforme)
   --------------------------------------------------- */
:root {
  --z-section-x: 64px;        /* lateral maior (era 32) */
  --z-container: 1240px;      /* container ligeiramente menor pra dar respiro */
}

.z-hero,
.z-stats,
.z-about,
.z-biz-header,
.z-biz-grid,
.z-sust-header,
.z-sust-pillars,
.z-sust-badges,
.z-careers,
.z-careers-cta,
.z-blog-header,
.z-blog-grid,
.z-quick,
.z-section {                     /* ← UTILITÁRIA: use em qualquer seção full-width nova */
  padding-left: var(--z-section-x) !important;
  padding-right: var(--z-section-x) !important;
  box-sizing: border-box;
}

/* Inner containers — max width uniforme + centralizado */
.z-hero .wp-block-cover__inner-container,
.z-hero .wp-block-cover__inner-container > .wp-block-group,
.z-stats > .wp-block-columns,
.z-about > .wp-block-columns,
.z-biz-grid > .wp-block-columns,
.z-sust-pillars > .wp-block-columns,
.z-sust-pillars > .z-sust-certs,
.z-sust-pillars > .wp-block-buttons,
.z-blog-header > .wp-block-group,
.z-blog-grid > .wp-block-columns,
.z-quick > .wp-block-columns,
.z-careers .wp-block-cover__inner-container > .wp-block-group,
.z-section > .wp-block-columns,
.z-section > .wp-block-group,
.z-section > .wp-block-buttons,
.z-section > h1,
.z-section > h2,
.z-section > h3,
.z-section > p,
.z-section > .wp-block-html {
  max-width: var(--z-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

/* Eyebrow precisa de display:block pra margin:auto funcionar (default é inline-flex) */
.z-section > .z-eyebrow {
  display: block !important;
  max-width: var(--z-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
}

/* Headings + parágrafos diretos dentro de headers de seção (eyebrow, h2, p) */
.z-biz-header > .z-eyebrow,
.z-biz-header > h2,
.z-biz-header > p,
.z-sust-header > .z-eyebrow,
.z-sust-header > h2,
.z-sust-header > p,
.z-sust-badges > .wp-block-buttons,
.z-careers-cta > .wp-block-buttons {
  max-width: var(--z-container) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: 100%;
  display: block !important;
}

/* Eyebrow é inline-flex por design — força width auto MAS aplica margin auto ao parent */
.z-biz-header > .z-eyebrow,
.z-sust-header > .z-eyebrow {
  display: flex !important;
  width: 100%;
}

/* Mobile responsive */
@media (max-width: 768px) {
  :root {
    --z-section-x: 24px;
  }
}

/* ---------------------------------------------------
   BOTÃO PADRÃO ZILOR (pill verde escuro + chevron lima)
   Aplicável a qualquer .wp-block-button__link
   --------------------------------------------------- */
.wp-block-button .wp-block-button__link,
a.z-btn,
button.z-btn {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  background: var(--z-green-900);
  color: var(--z-white);
  font-weight: 700;
  font-size: 14px;
  padding: 12px 24px 12px 12px;
  border-radius: var(--z-radius-pill);
  border: none;
  text-decoration: none;
  box-shadow: var(--z-shadow-sm);
  transition: all .2s ease;
  cursor: pointer;
}

.wp-block-button .wp-block-button__link::before,
a.z-btn::before,
button.z-btn::before {
  content: "→";
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  background: var(--z-lime);
  color: var(--z-green-900);
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}

.wp-block-button .wp-block-button__link:hover,
a.z-btn:hover,
button.z-btn:hover {
  background: var(--z-green-700);
  transform: translateY(-2px);
  box-shadow: var(--z-shadow-md);
}

/* Variante: botão lima (pra fundos escuros) */
.wp-block-button.is-style-z-lime .wp-block-button__link,
a.z-btn__lime {
  background: var(--z-lime);
  color: var(--z-green-900);
}
.wp-block-button.is-style-z-lime .wp-block-button__link::before,
a.z-btn__lime::before {
  background: var(--z-green-900);
  color: var(--z-lime);
}
.wp-block-button.is-style-z-lime .wp-block-button__link:hover,
a.z-btn__lime:hover {
  background: var(--z-lime-br);
}

/* ---------------------------------------------------
   EYEBROW (rótulo pré-título)
   --------------------------------------------------- */
.z-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--z-green-700);
  margin: 0 0 var(--z-s-3);
}

.z-eyebrow::before {
  content: "";
  width: 32px;
  height: 2px;
  background: var(--z-lime);
  border-radius: 2px;
  flex-shrink: 0;
}

/* Eyebrow pílula (usada no Hero e em fundos escuros) */
.z-eyebrow__pill {
  padding: 8px 18px 8px 12px;
  background: rgba(166,206,57,.18);
  border: 1px solid rgba(166,206,57,.4);
  border-radius: var(--z-radius-pill);
  color: #DBEC95;
  backdrop-filter: blur(8px);
  letter-spacing: 0.18em;
}
.z-eyebrow__pill::before {
  content: "";
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--z-lime);
}

/* ---------------------------------------------------
   SECTION PADRÃO
   --------------------------------------------------- */
.z-section {
  padding: var(--z-s-7) 0;
  width: 100%;
}
.z-section__tight   { padding: var(--z-s-5) 0; }
.z-section__large   { padding: var(--z-s-8) 0; }
.z-section__container {
  max-width: var(--z-container);
  margin: 0 auto;
  padding-left: var(--z-s-4);
  padding-right: var(--z-s-4);
}

/* ---------------------------------------------------
   ALINHAMENTO LATERAL UNIVERSAL — inner wrapper 1240
   Padrão: faixa tem padding 64 lateral, inner wrapper centraliza max 1240.
   Resultado em viewport 1440: conteúdo começa em px 100 (igual dobras).
   --------------------------------------------------- */

/* Faixas (full-width) com padding lateral padrão */
.z-topbar,
.z-header-main,
.z-newsletter,
.z-footer-links,
.z-copyright {
  padding-left: var(--z-section-x, 64px) !important;
  padding-right: var(--z-section-x, 64px) !important;
}

/* Inner wrappers — só centralizam, SEM padding lateral extra */
.z-topbar__inner,
.z-header-main__inner,
.z-copyright__inner {
  max-width: var(--z-container, 1240px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  width: 100% !important;
  box-sizing: border-box;
}

/* Newsletter e Footer Links — inner columns também */
.z-newsletter > .wp-block-columns,
.z-footer-links > .wp-block-columns {
  max-width: var(--z-container, 1240px) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box;
}

@media (max-width: 768px) {
  .z-topbar,
  .z-header-main,
  .z-newsletter,
  .z-footer-links,
  .z-copyright {
    padding-left: var(--z-section-x, 24px) !important;
    padding-right: var(--z-section-x, 24px) !important;
  }
}

/* ---------------------------------------------------
   HEADER
   --------------------------------------------------- */
.z-site-header { width: 100%; }

/* Top bar */
.z-topbar { font-family: "Lato", sans-serif; }
.z-topbar__nav a,
.z-topbar .wp-block-navigation-item a {
  color: rgba(255,255,255,0.85) !important;
  text-decoration: none;
  transition: color .2s ease;
  font-size: 13px;
  font-weight: 500;
}
.z-topbar__nav a:hover,
.z-topbar .wp-block-navigation-item a:hover { color: var(--z-lime) !important; }
.z-topbar .wp-block-navigation__container { gap: 24px !important; }
.z-topbar .wp-block-social-link { background: transparent !important; }

/* Main header */
.z-header-main { font-family: "Lato", sans-serif; }
.z-logo {
  display: inline-flex;
  flex-direction: column;
  text-decoration: none;
  line-height: 1;
}
.z-logo__name {
  font-family: "Lato", sans-serif;
  font-weight: 900;
  font-size: 36px;
  color: var(--z-green-700);
  letter-spacing: -0.04em;
  line-height: 1;
}
.z-logo__tag {
  font-size: 10.5px;
  color: var(--z-green-500);
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
  margin-top: 2px;
}
.z-logo__light .z-logo__name { color: var(--z-lime); }
.z-logo__light .z-logo__tag  { color: rgba(255,255,255,0.7); }

/* SVG logo nativo (wp:site-logo) — header e footer */
.wp-block-site-logo {
  display: inline-block;
  line-height: 0;
  width: auto;
}
.wp-block-site-logo a {
  display: inline-block;
  line-height: 0;
}
.wp-block-site-logo img,
.wp-block-site-logo .custom-logo {
  display: block;
  width: 140px !important;
  height: auto !important;
  max-width: none !important;
}

/* Footer: logo em variante clara (filtro pra branquear SVG) */
.z-logo-img--light img,
.z-logo-img--light .custom-logo {
  width: 160px !important;
  filter: brightness(0) invert(1);
  opacity: 0.92;
}
.z-logo-img--light img:hover {
  opacity: 1;
}

/* Main nav */
.z-mainnav a,
.z-mainnav .wp-block-navigation-item a {
  color: var(--z-green-900) !important;
  text-decoration: none;
  font-size: 15px;
  font-weight: 500;
  padding: 8px 4px;
  position: relative;
  transition: color .2s ease;
}
.z-mainnav a:hover,
.z-mainnav .wp-block-navigation-item a:hover { color: var(--z-green-500) !important; }
.z-mainnav .wp-block-navigation-item.current-menu-item a { color: var(--z-green-700) !important; }
.z-mainnav .wp-block-navigation__container { gap: 32px !important; }

/* ---------------------------------------------------
   FOOTER
   --------------------------------------------------- */
.z-site-footer { width: 100%; }

/* Newsletter */
.z-newsletter__form {
  display: flex;
  gap: 0;
  background: rgba(255,255,255,0.08);
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  padding: 6px;
  max-width: 480px;
}
.z-newsletter__input {
  flex: 1;
  background: transparent;
  border: none;
  color: var(--z-white);
  padding: 12px 20px;
  font-size: 15px;
  font-family: "Lato", sans-serif;
  font-weight: 300;
  outline: none;
  min-width: 0;
}
.z-newsletter__input::placeholder { color: rgba(255,255,255,0.45); }
.z-newsletter__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--z-lime);
  color: var(--z-green-900);
  border: none;
  padding: 10px 22px 10px 12px;
  border-radius: 999px;
  font-family: "Lato", sans-serif;
  font-weight: 700;
  font-size: 14px;
  cursor: pointer;
  transition: background .2s ease;
}
.z-newsletter__btn:hover { background: var(--z-lime-br); }
.z-newsletter__btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px; height: 24px;
  background: var(--z-green-900);
  color: var(--z-lime);
  border-radius: 999px;
  font-weight: 700;
}
.z-newsletter__legal {
  font-size: 12px;
  color: rgba(255,255,255,0.5);
  margin-top: 12px;
}
.z-newsletter__legal a { color: var(--z-lime); text-decoration: underline; }

/* Footer links — contraste melhorado pra leitura confortável */
.z-footer-nav .wp-block-navigation__container {
  flex-direction: column !important;
  gap: 10px !important;
  align-items: flex-start;
}
.z-footer-nav .wp-block-navigation-item a {
  color: rgba(255,255,255,0.88) !important;
  text-decoration: none;
  font-size: 14px;
  font-weight: 400;
  transition: color .2s ease;
}
.z-footer-nav .wp-block-navigation-item a:hover { color: var(--z-lime) !important; }

/* Footer brand col — descrição com contraste melhor */
.z-footer-links .wp-block-column:first-child p {
  color: rgba(255,255,255,0.88) !important;
  font-weight: 400 !important;
}

/* Headings das colunas do footer — branco puro pra hierarquia */
.z-footer-links h4 {
  color: var(--z-white) !important;
  font-weight: 700 !important;
  letter-spacing: 0.02em;
}

/* Copyright bar — contraste WCAG AA */
.z-copyright p {
  color: rgba(255,255,255,0.78) !important;
  font-weight: 400 !important;
}
.z-copyright .z-copyright__legal a {
  color: rgba(255,255,255,0.78) !important;
  font-weight: 400 !important;
  transition: color .2s ease;
}
.z-copyright .z-copyright__legal a:hover { color: var(--z-lime) !important; }
.z-copyright a:hover { color: var(--z-lime) !important; }

/* Newsletter legal text contraste */
.z-newsletter__legal {
  color: rgba(255,255,255,0.78) !important;
}
.z-newsletter__legal a {
  color: var(--z-lime) !important;
  text-decoration: underline;
}

/* Newsletter — body descritivo com contraste melhor */
.z-newsletter .wp-block-column p,
.z-newsletter p:not(.z-eyebrow):not(.z-newsletter__legal) {
  color: rgba(255,255,255,0.92) !important;
}
.z-newsletter h2 { color: var(--z-white) !important; }
.z-newsletter .z-eyebrow { color: var(--z-lime) !important; }
.z-newsletter .z-eyebrow::before { background: var(--z-lime) !important; }

/* Placeholder do input email mais visível */
.z-newsletter__input::placeholder {
  color: rgba(255,255,255,0.6) !important;
}
.z-newsletter__input {
  color: var(--z-white) !important;
}

/* Esconder título h1 da página (Home Blocks) — antes do hero */
/* removido v2.2c: post-title não é mais escondido (page.html resolve; posts precisam dele) */
.entry-header,
.wp-block-template-part header.entry-header { display: none !important; }

/* ---------------------------------------------------
   HERO CINEMATIC
   --------------------------------------------------- */
.z-hero {
  position: relative;
  min-height: 62vh;
  display: flex;
  align-items: center;
  overflow: hidden;
  background: #0E3B26;
}
.z-hero__inner {
  position: relative;
  z-index: 1;
  max-width: var(--z-container);
  margin: 0 auto;
  padding: var(--z-s-7) var(--z-s-4);
  width: 100%;
}
.z-hero__content { max-width: 680px; }
.z-hero h1 {
  color: var(--z-white);
  font-size: clamp(32px, 3.8vw, 52px);
  font-weight: 700;
  line-height: 1.05;
  letter-spacing: -0.03em;
  margin: 0 0 var(--z-s-3);
  text-shadow: 0 2px 16px rgba(0,0,0,.25);
  max-width: 18ch;
}
.z-hero p {
  color: rgba(255,255,255,.86);
  font-size: clamp(15px, 1.05vw, 17px);
  line-height: 1.6;
  font-weight: 300;
  max-width: 58ch;
  margin: 0 0 var(--z-s-4);
  text-shadow: 0 1px 12px rgba(0,0,0,.3);
}
.z-hero .wp-block-button .wp-block-button__link {
  background: var(--z-lime);
  color: var(--z-green-900);
  font-size: 14.5px;
  padding: 14px 28px 14px 14px;
  box-shadow: 0 20px 50px rgba(0,0,0,.25);
}
.z-hero .wp-block-button .wp-block-button__link::before {
  background: var(--z-green-900);
  color: var(--z-lime);
  width: 28px; height: 28px;
}
.z-hero .wp-block-button .wp-block-button__link:hover {
  background: var(--z-lime-br);
  transform: translateY(-3px);
}
/* (REMOVIDO) — era decorativo lima do hero antigo, conflitava com ::after do overlay novo */

/* ---------------------------------------------------
   STATS (3 colunas com stripe lateral colorida)
   --------------------------------------------------- */
.z-stats {
  background: var(--z-sand);
  padding: var(--z-s-7) 0;
}
.z-stats__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--z-s-5);
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 0 var(--z-s-4);
}
.z-stats__item {
  padding: 0 var(--z-s-3);
  border-left: 3px solid var(--z-lime);
}
.z-stats__item:nth-child(1) { border-left-color: var(--z-green-500); }
.z-stats__item:nth-child(3) { border-left-color: var(--z-green-700); }
.z-stats__number {
  font-size: clamp(44px, 4.5vw, 64px);
  font-weight: 400;
  color: var(--z-green-900);
  line-height: 1;
  margin: 0 0 var(--z-s-1);
  letter-spacing: -0.03em;
}
.z-stats__label {
  color: var(--z-ink-500);
  font-size: 14px;
  margin: 0;
  max-width: 28ch;
}

/* ---------------------------------------------------
   ABOUT (2 col texto + foto)
   --------------------------------------------------- */
.z-about {
  background: var(--z-cream);
  padding: var(--z-s-8) 0;
}
.z-about__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--z-s-6);
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 0 var(--z-s-4);
  align-items: center;
}
.z-about__photo {
  min-height: 540px;
  border-radius: var(--z-radius-card-lg);
  background:
    linear-gradient(180deg, rgba(14,59,38,.15) 0%, rgba(14,59,38,.55) 100%),
    var(--z-about-photo) center/cover no-repeat;
  display: flex;
  align-items: flex-end;
  padding: var(--z-s-5);
}
.z-about__caption {
  color: var(--z-white);
  font-size: 13px;
  background: rgba(0,0,0,.45);
  padding: 12px 20px;
  border-radius: var(--z-radius-pill);
  backdrop-filter: blur(8px);
  font-weight: 500;
}

/* ---------------------------------------------------
   NEGÓCIOS (4 cards cinematográficos com overlay por categoria)
   --------------------------------------------------- */
.z-biz-header {
  background: var(--z-white);
  padding: var(--z-s-7) 0 var(--z-s-4);
}
.z-biz-grid {
  background: var(--z-white);
  padding: var(--z-s-4) 0 var(--z-s-7);
}
.z-biz-grid__grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: var(--z-s-3);
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 0 var(--z-s-4);
}
.z-biz-card {
  position: relative;
  overflow: hidden;
  border-radius: var(--z-radius-card);
  background-size: cover;
  background-position: center;
  min-height: 460px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  padding: var(--z-s-4);
  color: var(--z-white);
  transition: transform .3s ease;
}
.z-biz-card:hover { transform: translateY(-6px); }
.z-biz-card::after {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  z-index: 0;
}
.z-biz-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 3px;
  z-index: 2;
  opacity: 0.85;
  border-radius: 4px 0 4px 0;
}
.z-biz-card__body { position: relative; z-index: 1; }

/* Cover block: empurra conteúdo interno pra base do card */
.wp-block-cover.z-biz-card .wp-block-cover__inner-container {
  margin-top: auto !important;
  width: 100%;
  position: relative;
  z-index: 1;
}
.z-biz-card h3 {
  color: var(--z-white);
  font-size: 26px;
  font-weight: 700;
  margin: 0 0 var(--z-s-2);
}
.z-biz-card p {
  color: rgba(255,255,255,.92);
  font-size: 14.5px;
  margin: 0 0 var(--z-s-3);
}
.z-biz-card .wp-block-button .wp-block-button__link {
  padding: 10px 20px 10px 10px;
  font-size: 13px;
}
.z-biz-card .wp-block-button .wp-block-button__link::before {
  width: 24px; height: 24px;
}

/* Variantes por categoria */
.z-biz-card__acucar::after {
  background: linear-gradient(180deg, rgba(224,122,42,.10) 0%, rgba(196,90,18,.45) 45%, rgba(120,50,8,.95) 100%);
}
.z-biz-card__acucar::before { background: var(--z-cat-acucar); }
.z-biz-card__acucar .wp-block-button .wp-block-button__link { background: var(--z-cat-acucar); color: var(--z-white); }
.z-biz-card__acucar .wp-block-button .wp-block-button__link::before { background: var(--z-white); color: var(--z-cat-acucar); }
.z-biz-card__acucar .wp-block-button .wp-block-button__link:hover { background: #C45A12; }

.z-biz-card__etanol::after {
  background: linear-gradient(180deg, rgba(123,61,186,.10) 0%, rgba(108,46,173,.50) 45%, rgba(50,18,90,.95) 100%);
}
.z-biz-card__etanol::before { background: var(--z-cat-etanol); }
.z-biz-card__etanol .wp-block-button .wp-block-button__link { background: var(--z-cat-etanol); color: var(--z-white); }
.z-biz-card__etanol .wp-block-button .wp-block-button__link::before { background: var(--z-white); color: var(--z-cat-etanol); }
.z-biz-card__etanol .wp-block-button .wp-block-button__link:hover { background: #6C2EAD; }

.z-biz-card__bio::after {
  background: linear-gradient(180deg, rgba(46,154,107,.10) 0%, rgba(31,106,69,.50) 45%, rgba(14,59,38,.95) 100%);
}
.z-biz-card__bio::before { background: var(--z-cat-bio); }
.z-biz-card__bio .wp-block-button .wp-block-button__link { background: var(--z-cat-bio); color: var(--z-white); }
.z-biz-card__bio .wp-block-button .wp-block-button__link::before { background: var(--z-white); color: var(--z-cat-bio); }
.z-biz-card__bio .wp-block-button .wp-block-button__link:hover { background: var(--z-green-700); }

.z-biz-card__leveduras::after {
  background: linear-gradient(180deg, rgba(166,206,57,.15) 0%, rgba(92,138,27,.55) 45%, rgba(40,65,12,.95) 100%);
}
.z-biz-card__leveduras::before { background: var(--z-cat-leveduras); }
.z-biz-card__leveduras .wp-block-button .wp-block-button__link { background: var(--z-cat-leveduras); color: var(--z-green-900); }
.z-biz-card__leveduras .wp-block-button .wp-block-button__link::before { background: var(--z-green-900); color: var(--z-cat-leveduras); }
.z-biz-card__leveduras .wp-block-button .wp-block-button__link:hover { background: var(--z-lime-br); }

/* ---------------------------------------------------
   SUSTENTABILIDADE (header + pillars + badges)
   --------------------------------------------------- */
/* Sustentabilidade: foto canavial de fundo cobrindo header+pillars com overlay verde gradient */
.z-sust-header {
  background:
    linear-gradient(180deg, rgba(14,59,38,0.88) 0%, rgba(14,59,38,0.92) 70%, rgba(14,59,38,0.96) 100%),
    url('/wp-content/uploads/2026/05/3430f318-e295-4cbe-9e62-ad2933c5381a.jpg') center top/cover no-repeat fixed !important;
  color: var(--z-white);
  padding-top: var(--z-s-8) !important;
  padding-bottom: var(--z-s-5) !important;
  padding-left: var(--z-section-x) !important;
  padding-right: var(--z-section-x) !important;
  position: relative;
  z-index: 1;
}
.z-sust-header h2 { color: var(--z-white); }
.z-sust-header p  { color: rgba(255,255,255,.85); }
.z-sust-header .z-eyebrow { color: var(--z-lime); }
.z-sust-header .z-eyebrow::before { background: var(--z-lime); }

.z-sust-pillars {
  background:
    linear-gradient(180deg, rgba(14,59,38,0.96) 0%, rgba(14,59,38,0.92) 100%),
    url('/wp-content/uploads/2026/05/3430f318-e295-4cbe-9e62-ad2933c5381a.jpg') center bottom/cover no-repeat fixed !important;
  padding-top: var(--z-s-5) !important;
  padding-bottom: var(--z-s-8) !important;
  padding-left: var(--z-section-x) !important;
  padding-right: var(--z-section-x) !important;
  position: relative;
  z-index: 1;
}
.z-sust-pillars__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--z-s-3);
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 0 var(--z-s-4);
}
.z-sust-pillar {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.14);
  border-radius: var(--z-radius-card-lg);
  padding: var(--z-s-5) var(--z-s-4);
  backdrop-filter: blur(6px);
  text-align: center;
  transition: all .25s ease;
}
.z-sust-pillar:hover {
  background: rgba(255,255,255,.10);
  transform: translateY(-4px);
}
.z-sust-pillar__number {
  font-size: clamp(44px, 4.5vw, 64px);
  font-weight: 400;
  color: var(--z-lime);
  margin: 0 0 var(--z-s-2);
  line-height: 1;
  letter-spacing: -0.03em;
}
.z-sust-pillar h4 {
  font-size: 15.5px;
  color: var(--z-white);
  margin: 0 0 var(--z-s-2);
  font-weight: 700;
  text-wrap: balance;
  line-height: 1.3;
}
.z-sust-pillar p {
  color: rgba(255,255,255,.7);
  font-size: 14.5px;
  margin: 0;
}

/* Badges antigos como dobra separada — esconder (foram movidos pra dentro de z-sust-pillars) */
.z-sust-badges { display: none !important; }

/* Certificações em 1 LINHA dentro da seção pillars */
.z-sust-certs {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 8px;
  max-width: 100%;
  margin: var(--z-s-5) auto 0;
  padding: 0 var(--z-s-3);
  overflow-x: auto;
  scrollbar-width: none;
}
.z-sust-certs::-webkit-scrollbar { display: none; }
.z-sust-certs .z-cert {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--z-radius-pill);
  font-size: 12.5px;
  font-weight: 500;
  color: var(--z-white);
  white-space: nowrap;
  flex: 0 0 auto;
}
.z-sust-certs .z-cert::before {
  content: "";
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: var(--z-lime);
  flex-shrink: 0;
}

/* Mobile: vira scroll horizontal */
@media (max-width: 768px) {
  .z-sust-certs { justify-content: flex-start; }
}

.z-sust-badges-LEGACY {
  background: var(--z-green-900);
  color: var(--z-white);
  padding: var(--z-s-4) 0 var(--z-s-7);
  text-align: center;
}
.z-sust-badges__row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  max-width: 900px;
  margin: 0 auto var(--z-s-3);
  padding: 0 var(--z-s-4);
}
.z-cert {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 18px;
  background: rgba(255,255,255,.08);
  border: 1px solid rgba(255,255,255,.18);
  border-radius: var(--z-radius-pill);
  font-size: 13.5px;
  font-weight: 500;
  color: var(--z-white);
}
.z-cert::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--z-lime);
}
.z-sust-badges .wp-block-button .wp-block-button__link {
  background: var(--z-lime);
  color: var(--z-green-900);
}
.z-sust-badges .wp-block-button .wp-block-button__link::before {
  background: var(--z-green-900);
  color: var(--z-lime);
}

/* ---------------------------------------------------
   CARREIRAS — Estilo Braskem: fundo claro + 2 fotos com pessoas
   --------------------------------------------------- */
.z-careers {
  background: var(--z-cream) !important;
  color: var(--z-ink-900) !important;
}
.z-careers .z-eyebrow { color: var(--z-green-700) !important; }
.z-careers .z-eyebrow::before { background: var(--z-lime) !important; }
.z-careers h2 { color: var(--z-ink-900) !important; }
.z-careers p  { color: var(--z-ink-500) !important; }

/* Composição das 2 fotos com pessoas (estilo Braskem) */
.z-careers__photos {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  aspect-ratio: 1 / 0.95;
}

/* Foto principal (grande) — equipe pôr-do-sol */
.z-careers__photo--main {
  position: absolute;
  top: 0;
  left: 0;
  width: 80%;
  height: 78%;
  border-radius: 56px 16px 56px 16px;
  background:
    linear-gradient(180deg, rgba(14,59,38,0) 60%, rgba(14,59,38,.08) 100%),
    url('/wp-content/uploads/2026/05/b5cffa12-02e3-41e4-90f0-977e55f92bcf.jpg') center/cover no-repeat;
  box-shadow: 0 18px 44px rgba(14,59,38,.18);
  z-index: 2;
}

/* Foto inset (menor, sobreposta no canto inferior direito) — colaboradora close-up */
.z-careers__photo--inset {
  position: absolute;
  right: 0;
  bottom: 0;
  width: 42%;
  height: 52%;
  border-radius: 56px 16px 56px 16px;
  background: url('/wp-content/uploads/2026/05/9142b0b4-0cd3-4946-97ab-bee1453148dc.jpg') center/cover no-repeat;
  box-shadow: 0 18px 44px rgba(14,59,38,.22);
  border: 6px solid var(--z-cream);
  z-index: 3;
}

/* Forma decorativa (folha lima translúcida) atrás */
.z-careers__deco {
  position: absolute;
  top: 8%;
  right: -32px;
  width: 38%;
  height: 70%;
  border-radius: 56px 16px 56px 16px;
  background: transparent;
  border: 1.5px solid rgba(166,206,57,.5);
  z-index: 1;
  pointer-events: none;
}

/* Esconder CTA stripe legado (não usamos mais — botão fica embutido) */
.z-careers-cta { display: none !important; }

@media (max-width: 1024px) {
  .z-careers__photos {
    max-width: 480px;
    margin: 32px auto 0;
  }
}

@media (max-width: 640px) {
  .z-careers__photos {
    aspect-ratio: 1 / 0.75;
    max-width: 100%;
  }
  .z-careers__photo--main { width: 78%; height: 75%; }
  .z-careers__photo--inset { width: 50%; height: 55%; border-width: 4px; }
}

/* ---------------------------------------------------
   BLOG (header com "Mais notícias" + 3 cards foto separada + texto branco abaixo)
   --------------------------------------------------- */
.z-blog-header {
  background: var(--z-white);
  padding: var(--z-s-7) 0 var(--z-s-4);
  position: relative;
}
.z-blog-header__inner {
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 0 var(--z-s-4);
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: var(--z-s-4);
  flex-wrap: wrap;
}
.z-blog-header__link {
  font-size: 15px;
  font-weight: 700;
  color: var(--z-green-700);
  border-bottom: 2px solid var(--z-green-700);
  padding-bottom: 4px;
  text-decoration: none;
  letter-spacing: -0.01em;
}
.z-blog-header__link:hover {
  color: var(--z-lime);
  border-bottom-color: var(--z-lime);
}
.z-blog-grid {
  background: var(--z-white);
  padding: var(--z-s-4) 0 var(--z-s-7);
}
.z-blog-grid__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--z-s-3);
  max-width: var(--z-container);
  margin: 0 auto;
  padding: 0 var(--z-s-4);
}
.z-blog-card {
  display: flex;
  flex-direction: column;
  cursor: pointer;
}
.z-blog-card__photo {
  width: 100%;
  height: 280px;
  border-radius: 56px 16px 0 0;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}
.z-blog-card__body {
  background: var(--z-white);
  border: 1px solid var(--z-line);
  border-top: none;
  border-radius: 0 0 16px 56px;
  padding: var(--z-s-4);
  min-height: 130px;
  transition: border-color .2s ease;
}
.z-blog-card:hover .z-blog-card__body { border-color: rgba(166,206,57,.6); }
.z-blog-card__date {
  color: var(--z-blue-date);
  font-size: 15px;
  font-weight: 700;
  margin: 0 0 var(--z-s-2);
  line-height: 1;
}
.z-blog-card__title {
  color: var(--z-green-900);
  font-size: 18.5px;
  font-weight: 700;
  line-height: 1.35;
  letter-spacing: -0.005em;
  text-wrap: balance;
  margin: 0;
}
.z-blog-card--featured .z-blog-card__title { font-size: 22px; }

/* Tira sublinhado/link styling default que o tema pai aplica nos blog cards */
.z-blog-card,
.z-blog-card:visited,
.z-blog-card:hover,
.z-blog-card a,
.z-blog-card a:visited,
.z-blog-card__date,
.z-blog-card__title {
  text-decoration: none !important;
  color: inherit;
}
.z-blog-card * { text-decoration: none !important; }
.z-blog-card__date { color: var(--z-blue-date) !important; }
.z-blog-card__title { color: var(--z-green-900) !important; }

/* ---------------------------------------------------
   QUICK ACCESS — Estilo Braskem (fundo branco + foto gota)
   --------------------------------------------------- */
.z-quick {
  background: var(--z-white) !important;
}

.z-quick-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0;
  background: transparent;
  border: none;
  position: relative;
  height: 100%;
  text-align: left;
}

/* Stripe lima decorativa no topo (signature Braskem) */
.z-quick-card__stripe {
  display: block;
  width: 64px;
  height: 3px;
  background: var(--z-lime);
  border-radius: 2px;
  margin-bottom: var(--z-s-3);
}

/* Foto em formato gota (signature Zilor) */
.z-quick-card__photo {
  width: 88px;
  height: 88px;
  border-radius: 32px 8px 32px 8px;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  margin-bottom: var(--z-s-3);
  box-shadow: 0 8px 22px rgba(14,59,38,.14);
  transition: transform .25s ease;
}
.z-quick-card:hover .z-quick-card__photo {
  transform: translateY(-3px) rotate(-2deg);
}

/* Título — mix de pesos (último em bold) */
.z-quick-card__title {
  font-family: "Lato", sans-serif;
  font-size: 22px;
  font-weight: 300;
  color: var(--z-green-900);
  line-height: 1.2;
  letter-spacing: -0.015em;
  margin: 0 0 var(--z-s-2);
  text-wrap: balance;
}
.z-quick-card__title strong {
  font-weight: 700;
  color: var(--z-green-900);
}

/* Descrição */
.z-quick-card__desc {
  color: var(--z-ink-500);
  font-size: 14px;
  line-height: 1.55;
  font-weight: 300;
  margin: 0 0 var(--z-s-4);
  flex: 1;
}

/* Botão pill verde escuro (padrão Zilor) */
.z-quick-card__btn {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  background: var(--z-green-900);
  color: var(--z-white);
  padding: 10px 22px 10px 10px;
  border-radius: 999px;
  font-family: "Lato", sans-serif;
  font-size: 13.5px;
  font-weight: 700;
  text-decoration: none;
  box-shadow: 0 4px 14px rgba(14,59,38,.18);
  transition: all .2s ease;
  align-self: flex-start;
  margin-top: auto;
}
.z-quick-card__btn:hover {
  background: var(--z-green-700);
  transform: translateY(-2px);
  box-shadow: 0 8px 18px rgba(14,59,38,.25);
}
.z-quick-card__btn-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  border-radius: 999px;
  background: var(--z-lime);
  color: var(--z-green-900);
  font-weight: 700;
  font-size: 13px;
  flex-shrink: 0;
}

/* Garantir que columns no z-quick não cortem altura */
.z-quick .wp-block-columns { align-items: stretch !important; }
.z-quick .wp-block-column { display: flex !important; flex-direction: column !important; }

/* ---------------------------------------------------
   RESPONSIVE
   --------------------------------------------------- */
@media (max-width: 1024px) {
  .z-biz-grid__grid,
  .z-blog-grid__grid,
  .z-quick__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .z-sust-pillars__grid {
    grid-template-columns: repeat(2, 1fr);
  }
  .z-careers__perks {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 768px) {
  :root {
    --z-s-7: 64px;
    --z-s-8: 80px;
    --z-s-5: 32px;
    --z-s-4: 20px;
  }
  .z-section__container,
  .z-hero__inner,
  .z-stats__grid,
  .z-about__grid,
  .z-biz-grid__grid,
  .z-blog-header__inner,
  .z-blog-grid__grid,
  .z-quick__grid,
  .z-sust-pillars__grid,
  .z-careers__inner {
    padding-left: 20px;
    padding-right: 20px;
  }
  .z-stats__grid,
  .z-about__grid,
  .z-biz-grid__grid,
  .z-blog-grid__grid,
  .z-quick__grid,
  .z-sust-pillars__grid,
  .z-careers__perks {
    grid-template-columns: 1fr;
  }
  .z-careers__header { margin: 0; max-width: 100%; }
  .z-blog-card__photo { height: 220px; }
  .z-biz-card { min-height: 380px; }
}

/* =========================================================
   CARREIRA — Pessoas & Carreiras (page /carreira/)
   V2: editorial — SVG icons, status badges, contraste subido,
   numeração princípios tipográfica.
   ========================================================= */

/* --- HERO CARREIRA — wp:group com bg image + gradient (substitui wp:cover instável) --- */
.z-hero__carreira {
    background-image:
        linear-gradient(110deg,
            rgba(14,59,38,0.92) 0%,
            rgba(14,59,38,0.78) 35%,
            rgba(14,59,38,0.45) 70%,
            rgba(14,59,38,0.20) 100%),
        url('/wp-content/uploads/2026/05/267537e6-896f-4abe-8177-457cea42d8d3.jpg');
    background-position: center, center;
    background-size: cover, cover;
    background-repeat: no-repeat, no-repeat;
    min-height: 62vh;
    color: #FFFFFF;
    position: relative;
    display: flex;
    align-items: center;
}
.z-hero__carreira .z-eyebrow { color: #A6CE39; }
.z-hero__carreira .z-eyebrow::before { background: #A6CE39; }
.z-hero__carreira h1 {
    color: #FFFFFF !important;
    font-size: clamp(32px, 3.8vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 var(--z-s-3) !important;
    text-shadow: 0 2px 16px rgba(0,0,0,.25);
    max-width: 18ch;
}
.z-hero__carreira p {
    color: rgba(255,255,255,.92);
    font-size: clamp(15px, 1.05vw, 17px);
    line-height: 1.6;
}


/* --- Stats numbers (mantido) --- */
.z-stats__number {
    font-size: clamp(36px, 4vw, 56px) !important;
    font-weight: 900 !important;
    line-height: 1.05 !important;
    color: #0E3B26 !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.02em;
}
.z-stats__label {
    font-size: 14px !important;
    color: #4A5D52 !important;
    font-weight: 300 !important;
    line-height: 1.5 !important;
    margin: 0 !important;
}

/* --- PRINCÍPIOS — numeração editorial grande --- */
.z-principle {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    padding: 28px 32px;
    box-sizing: border-box;
    transition: transform 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
    position: relative;
    overflow: hidden;
    height: 100%;
}
.z-principle::before {
    content: "";
    position: absolute;
    top: 0; left: 0;
    width: 100%; height: 3px;
    background: linear-gradient(90deg, #A6CE39 0%, #2E9A6B 100%);
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.4s ease;
}
.z-principle:hover {
    transform: translateY(-4px);
    border-color: #A6CE39 !important;
    box-shadow: 0 12px 28px rgba(14, 59, 38, 0.08);
}
.z-principle:hover::before { transform: scaleX(1); }

.z-principle__num {
    font-size: 32px !important;
    font-weight: 900 !important;
    color: #A6CE39 !important;
    line-height: 1 !important;
    margin: 0 0 12px 0 !important;
    letter-spacing: -0.04em;
    font-feature-settings: "tnum";
}
.z-principle__title {
    font-size: 18px !important;
    font-weight: 700 !important;
    color: #1A2620 !important;
    line-height: 1.25 !important;
    margin: 0 0 8px 0 !important;
    letter-spacing: -0.01em;
}
.z-principle__desc {
    font-size: 14px !important;
    color: #3A4D43 !important;     /* contraste subido de #4A5D52 → #3A4D43 (4.8:1+) */
    font-weight: 400 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}

/* --- BENEFÍCIOS — estilo Quick (6 lado-a-lado, sem botão, icon gota lima) --- */

/* Força 6 colunas no benefits row em desktop largo */
.z-benefits-row.wp-block-columns {
    flex-wrap: nowrap !important;
    gap: var(--z-s-3);
}
.z-benefits-row .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    min-width: 0;
}

/* Variante --benefit do quick-card: sem botão, icon SVG centralizado em gota lima */
.z-quick-card--benefit { padding-right: 8px; }

.z-benefit-icon-gota {
    width: 64px !important;
    height: 64px !important;
    background: linear-gradient(135deg, rgba(166,206,57,0.20) 0%, rgba(46,154,107,0.12) 100%) !important;
    box-shadow: 0 6px 16px rgba(14,59,38,.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #1F6A45;
    border-radius: 24px 6px 24px 6px !important;
}
.z-benefit-icon-gota svg {
    width: 28px;
    height: 28px;
    stroke-width: 1.5;
}

/* Title menor pra caber em 6 colunas */
.z-quick-card--benefit .z-quick-card__title {
    font-size: 17px;
    line-height: 1.25;
    margin-bottom: 8px;
}
.z-quick-card--benefit .z-quick-card__desc {
    font-size: 13.5px;
    line-height: 1.5;
    color: #3A4D43;
    margin-bottom: 0;
}

/* Hover sutil — só o icon gira */
.z-quick-card--benefit:hover .z-benefit-icon-gota {
    transform: translateY(-3px) rotate(-3deg);
}

/* Responsivo: 3 colunas em laptop, 2 em tablet, 1 em mobile */
@media (max-width: 1100px) {
    .z-benefits-row.wp-block-columns {
        flex-wrap: wrap !important;
    }
    .z-benefits-row .wp-block-column {
        flex-basis: calc(33.333% - var(--z-s-3)) !important;
    }
}
@media (max-width: 781px) {
    .z-benefits-row .wp-block-column {
        flex-basis: calc(50% - var(--z-s-3)) !important;
    }
}
@media (max-width: 520px) {
    .z-benefits-row .wp-block-column {
        flex-basis: 100% !important;
    }
}

/* --- CARDS DE PROGRAMA — layout stacked (foto em cima + card branco abaixo) --- */
.z-program-card {
    display: flex;
    flex-direction: column;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}
.z-program-card:hover {
    transform: translateY(-4px);
}
.z-program-card:hover .z-program-card__photo img {
    transform: scale(1.04);
}

/* Foto topo — cantos gota, sem overlay */
.z-program-card__photo {
    margin: 0 !important;
    border: 1px solid #E8E1D2;
    border-bottom: none;
    border-radius: 56px 16px 0 0;
    overflow: hidden;
    aspect-ratio: 4 / 3;
    background: #F4F1EA;
    box-sizing: border-box;
}
.z-program-card__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Card branco abaixo — espelha cantos gota */
.z-program-card__body {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-top: none;
    border-radius: 0 0 16px 56px;
    padding: 28px 28px 32px;
    display: flex;
    flex-direction: column;
    gap: 12px;
    flex: 1;
    box-sizing: border-box;
    width: 100%;
}

/* Status badge dentro do card branco (cor por programa) */
.z-program-card__status {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    padding: 6px 12px;
    border-radius: 99px;
    margin: 0 0 4px 0;
}
.z-program-card__status--aprendiz { background: rgba(166,206,57,0.18);  color: #5A7A1A; border: 1px solid rgba(166,206,57,0.4); }
.z-program-card__status--energia  { background: rgba(224,122,42,0.15);  color: #B05A12; border: 1px solid rgba(224,122,42,0.4); }
.z-program-card__status--tecnico  { background: rgba(46,154,107,0.15);  color: #1F6A45; border: 1px solid rgba(46,154,107,0.4); }
.z-program-card__status--superior { background: rgba(123,61,186,0.15);  color: #5B2A9E; border: 1px solid rgba(123,61,186,0.4); }

.z-program-card__title {
    font-size: 22px !important;
    font-weight: 700 !important;
    color: #1A2620 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.015em !important;
    margin: 0 !important;
}
.z-program-card__desc {
    font-size: 14.5px !important;
    color: #3A4D43 !important;
    font-weight: 400 !important;
    line-height: 1.55 !important;
    margin: 0 !important;
}
.z-program-card__meta {
    font-size: 11.5px !important;
    color: #6A7D72 !important;
    font-weight: 700 !important;
    letter-spacing: 0.05em !important;
    text-transform: uppercase !important;
    margin: 4px 0 8px 0 !important;
    padding-top: 12px;
    border-top: 1px solid #F0EAD8;
}

.z-program-card .wp-block-buttons {
    margin-top: auto !important;
}

/* Botões dos cards de programa */
.wp-block-button.is-style-z-verde > .wp-block-button__link,
.wp-block-button.is-style-z-verde .wp-element-button {
    background: #2E9A6B !important;
    color: #FFFFFF !important;
    border: 1px solid #2E9A6B !important;
    border-radius: 99px;
    padding: 10px 22px;
    font-weight: 700;
    font-size: 13.5px;
    transition: background 0.3s ease, transform 0.3s ease;
}
.wp-block-button.is-style-z-verde > .wp-block-button__link:hover,
.wp-block-button.is-style-z-verde .wp-element-button:hover {
    background: #1F6A45 !important;
    transform: translateY(-2px);
}

/* Botões outline (D&I + CTA final) */
.wp-block-button.is-style-z-outline-dark > .wp-block-button__link,
.wp-block-button.is-style-z-outline-dark .wp-element-button {
    background: transparent !important;
    color: #0E3B26 !important;
    border: 1.5px solid #0E3B26 !important;
    border-radius: 99px;
    padding: 12px 24px;
    font-weight: 700;
    font-size: 14px;
    transition: background 0.3s ease, color 0.3s ease;
}
.wp-block-button.is-style-z-outline-dark > .wp-block-button__link:hover,
.wp-block-button.is-style-z-outline-dark .wp-element-button:hover {
    background: #0E3B26 !important;
    color: #FFFFFF !important;
}
.wp-block-button.is-style-z-outline-light > .wp-block-button__link,
.wp-block-button.is-style-z-outline-light .wp-element-button {
    background: transparent !important;
    color: #FFFFFF !important;
    border: 1.5px solid rgba(255, 255, 255, 0.6) !important;
    border-radius: 99px;
    padding: 12px 24px;
    font-weight: 700;
    font-size: 14px;
    transition: background 0.3s ease, border-color 0.3s ease;
}
.wp-block-button.is-style-z-outline-light > .wp-block-button__link:hover,
.wp-block-button.is-style-z-outline-light .wp-element-button:hover {
    background: rgba(255, 255, 255, 0.12) !important;
    border-color: #FFFFFF !important;
}

/* --- FAQ accordion (mantido + contraste body subido) --- */
.z-faq-list {
    /* Sem max-width: ocupa largura inteira do container (1240px) igual ao resto */
    /* Margens laterais herdadas do .z-section (64px) */
    margin: 0;
    display: flex;
    flex-direction: column;
    gap: 14px;
}
.z-faq-item {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 16px;
    overflow: hidden;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}
.z-faq-item[open] {
    border-color: #A6CE39;
    box-shadow: 0 6px 20px rgba(14, 59, 38, 0.06);
}
.z-faq-item summary {
    list-style: none;
    cursor: pointer;
    padding: 24px 32px;
    font-size: 16px;
    font-weight: 700;
    color: #1A2620;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    transition: background 0.2s ease;
    letter-spacing: -0.01em;
}
.z-faq-item summary::-webkit-details-marker { display: none; }
.z-faq-item summary:hover { background: rgba(166, 206, 57, 0.06); }
.z-faq-item summary::after {
    content: "+";
    font-size: 24px;
    font-weight: 300;
    color: #A6CE39;
    line-height: 1;
    transition: transform 0.3s ease;
    flex-shrink: 0;
}
.z-faq-item[open] summary::after { transform: rotate(45deg); }
.z-faq-item__body {
    padding: 0 32px 28px;
    font-size: 15px;            /* subido de 14.5 */
    color: #3A4D43;             /* subido de #4A5D52 */
    font-weight: 400;
    line-height: 1.7;
}
.z-faq-item__body p { margin: 0 0 12px 0; }
.z-faq-item__body p:last-child { margin: 0; }

/* --- CTA FINAL (banner gradient) --- */
.z-careers-cta-final {
    position: relative;
    overflow: hidden;
}
.z-careers-cta-final::before {
    content: "";
    position: absolute;
    top: -50%; right: -10%;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(166, 206, 57, 0.18) 0%, transparent 60%);
    pointer-events: none;
}
.z-careers-cta-final > * { position: relative; z-index: 1; }
.z-careers-cta-final__eyebrow {
    color: #A6CE39 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin: 0 0 14px 0 !important;
}
.z-careers-cta-final__title {
    font-size: clamp(28px, 3vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    margin: 0 auto 18px auto !important;
    max-width: 720px;
    letter-spacing: -0.02em;
}
.z-careers-cta-final__desc {
    color: rgba(255, 255, 255, 0.92) !important;   /* subido de 0.82 */
    font-size: 16px !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    margin: 0 auto !important;
    max-width: 620px;
}

/* --- Responsivo Carreira --- */
@media (max-width: 781px) {
    .z-faq-item summary { padding: 16px 20px; font-size: 15px; }
    .z-faq-item__body { padding: 0 20px 20px; }
    .z-status-badge { position: static; display: inline-block; margin-bottom: 12px; }
    .z-program-card__title { font-size: 22px !important; }
    .z-principle__num { font-size: 28px !important; }
}


/* =========================================================
   ARQUITETURA EDITÁVEL — Hero / seções com foto editável
   Princípio: wp:image standalone (editável via "Substituir mídia"
   no editor) + CSS posiciona como background absoluto.
   ZERO style inline. ZERO `--` em classNames. Markup mínimo.
   ========================================================= */

/* Wrapper externo — robusto contra is-layout-flow do WP */
.wp-block-group.z-hero-editable,
.z-hero-editable {
    position: relative !important;
    overflow: hidden !important;
    min-height: 62vh !important;
    padding: 0 !important;
    background: #0E3B26 !important;
}

/* Foto vira background absoluto */
.z-hero-editable > .z-hero-editable__photo,
.z-hero-editable .z-hero-editable__photo {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    z-index: 0 !important;
    width: 100% !important;
    height: 100% !important;
}
.z-hero-editable .z-hero-editable__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}

/* Overlay gradient via pseudo-element */
.z-hero-editable::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(110deg,
        rgba(14,59,38,0.92) 0%,
        rgba(14,59,38,0.75) 35%,
        rgba(14,59,38,0.45) 70%,
        rgba(14,59,38,0.25) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
}

/* Conteúdo acima do bg+overlay — container respeitando 1240px max */
.z-hero-editable .z-hero-editable__content {
    position: relative !important;
    z-index: 2 !important;
    max-width: var(--z-container) !important;
    margin: 0 auto !important;
    padding: 96px 64px !important;
    color: var(--z-white) !important;
}
.z-hero-editable .z-hero-editable__content > * {
    max-width: 680px !important;
}
.z-hero-editable .z-hero-editable__title {
    color: var(--z-white) !important;
    font-size: clamp(32px, 3.8vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 var(--z-s-3) !important;
    text-shadow: 0 2px 16px rgba(0,0,0,.25) !important;
    max-width: 18ch !important;
}
.z-hero-editable .z-hero-editable__desc {
    color: rgba(255,255,255,0.92) !important;
    font-size: clamp(15px, 1.05vw, 17px) !important;
    line-height: 1.6 !important;
    font-weight: 300 !important;
    margin: 0 0 var(--z-s-4) !important;
    max-width: 680px !important;
}
.z-hero-editable .z-eyebrow {
    color: #A6CE39 !important;
    margin-bottom: var(--z-s-3) !important;
}

/* Mobile */
@media (max-width: 768px) {
    .z-hero-editable .z-hero-editable__content {
        padding: 64px 24px !important;
    }
}

/* No editor visual, mostrar a foto inline pra ficar editável */
.editor-styles-wrapper .z-hero-editable {
    min-height: auto !important;
    background: transparent !important;
}
.editor-styles-wrapper .z-hero-editable .z-hero-editable__photo {
    position: relative !important;
    inset: auto !important;
    width: auto !important;
    height: auto !important;
}
.editor-styles-wrapper .z-hero-editable::after {
    display: none !important;
}
.editor-styles-wrapper .z-hero-editable .z-hero-editable__content {
    margin: 0 !important;
    padding: 24px !important;
    color: inherit !important;
}
.editor-styles-wrapper .z-hero-editable__title,
.editor-styles-wrapper .z-hero-editable__desc {
    color: inherit !important;
    text-shadow: none !important;
}


/* =========================================================
   FIX: garantir gradient overlay dos cards de Negócios
   O span .wp-block-cover__background do wp:cover precisa estar
   ACIMA da img de fundo pra renderizar o gradient temático.
   ========================================================= */
.z-biz-card.wp-block-cover {
    position: relative;
    overflow: hidden;
    border-radius: 56px 16px 56px 16px;
    min-height: 460px;
    display: flex;
    flex-direction: column;
    justify-content: flex-end;
    color: #FFFFFF;
}
.z-biz-card.wp-block-cover .wp-block-cover__image-background {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    z-index: 0 !important;
}
.z-biz-card.wp-block-cover .wp-block-cover__background {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
}
.z-biz-card.wp-block-cover .wp-block-cover__inner-container {
    position: relative !important;
    z-index: 2 !important;
    margin-top: auto !important;
}

/* Botões coloridos por categoria (caso o markup tenha is-style-z-acucar/etc) */
.z-biz-card .wp-block-button.is-style-z-acucar .wp-block-button__link,
.z-biz-card .wp-block-button.is-style-z-acucar .wp-element-button {
    background: #E07A2A !important; color: #FFFFFF !important; border-radius: 99px !important; padding: 10px 22px !important; font-weight: 700 !important; font-size: 13.5px !important; border: none !important;
}
.z-biz-card .wp-block-button.is-style-z-etanol .wp-block-button__link,
.z-biz-card .wp-block-button.is-style-z-etanol .wp-element-button {
    background: #7B3DBA !important; color: #FFFFFF !important; border-radius: 99px !important; padding: 10px 22px !important; font-weight: 700 !important; font-size: 13.5px !important; border: none !important;
}
.z-biz-card .wp-block-button.is-style-z-bio .wp-block-button__link,
.z-biz-card .wp-block-button.is-style-z-bio .wp-element-button {
    background: #2E9A6B !important; color: #FFFFFF !important; border-radius: 99px !important; padding: 10px 22px !important; font-weight: 700 !important; font-size: 13.5px !important; border: none !important;
}
.z-biz-card .wp-block-button.is-style-z-leveduras .wp-block-button__link,
.z-biz-card .wp-block-button.is-style-z-leveduras .wp-element-button {
    background: #A6CE39 !important; color: #0E3B26 !important; border-radius: 99px !important; padding: 10px 22px !important; font-weight: 700 !important; font-size: 13.5px !important; border: none !important;
}


/* =========================================================
   OVERLAY FORTE pros cards de Negócios — contraste pra leitura
   Pseudo-element ::after garante gradient escuro embaixo
   independente do span do cover.
   ========================================================= */

/* Esconder o span do gradient do cover (vai ser substituído pelo ::after) */
.z-biz-card.wp-block-cover .wp-block-cover__background,
.z-biz-card--acucar .wp-block-cover__background,
.z-biz-card--etanol .wp-block-cover__background,
.z-biz-card--bio .wp-block-cover__background,
.z-biz-card--leveduras .wp-block-cover__background,
.z-biz-card__acucar .wp-block-cover__background,
.z-biz-card__etanol .wp-block-cover__background,
.z-biz-card__bio .wp-block-cover__background,
.z-biz-card__leveduras .wp-block-cover__background {
    display: none !important;
}

/* Aplicar overlay forte via ::after (180deg, transparente em cima → cor sólida embaixo) */
.z-biz-card--acucar::after,
.z-biz-card__acucar::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
        rgba(120, 50, 8, 0.05) 0%,
        rgba(120, 50, 8, 0.45) 50%,
        rgba(80, 30, 5, 0.95) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: inherit !important;
}
.z-biz-card--etanol::after,
.z-biz-card__etanol::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
        rgba(50, 18, 90, 0.05) 0%,
        rgba(50, 18, 90, 0.50) 50%,
        rgba(35, 10, 70, 0.95) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: inherit !important;
}
.z-biz-card--bio::after,
.z-biz-card__bio::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
        rgba(14, 59, 38, 0.05) 0%,
        rgba(14, 59, 38, 0.55) 50%,
        rgba(10, 42, 27, 0.97) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: inherit !important;
}
.z-biz-card--leveduras::after,
.z-biz-card__leveduras::after {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(180deg,
        rgba(40, 60, 10, 0.05) 0%,
        rgba(60, 90, 15, 0.50) 50%,
        rgba(40, 60, 10, 0.95) 100%) !important;
    z-index: 1 !important;
    pointer-events: none !important;
    border-radius: inherit !important;
}

/* Garantir que o conteúdo (texto + botão) fica acima do overlay */
.z-biz-card .wp-block-cover__inner-container,
.z-biz-card.wp-block-cover .wp-block-cover__inner-container {
    position: relative !important;
    z-index: 2 !important;
}

/* Text-shadow sutil pra reforço */
.z-biz-card h3,
.z-biz-card .wp-block-heading {
    text-shadow: 0 2px 12px rgba(0,0,0,0.35) !important;
}
.z-biz-card p {
    text-shadow: 0 1px 6px rgba(0,0,0,0.3) !important;
}


/* =========================================================
   Blog cards — "Leia mais →" via CSS (card todo é o link)
   ========================================================= */
.z-blog-card__body {
    display: flex !important;
    flex-direction: column !important;
}
.z-blog-card__body::after {
    content: "Leia mais →";
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    margin-top: 18px;
    padding: 8px 18px;
    background: #0E3B26;
    color: #FFFFFF;
    font-size: 13px;
    font-weight: 700;
    border-radius: 99px;
    letter-spacing: 0.02em;
    transition: background 0.25s ease, transform 0.25s ease, gap 0.25s ease;
}
.z-blog-card:hover .z-blog-card__body::after {
    background: #1F6A45;
    transform: translateX(3px);
}


/* =========================================================
   PADRONIZAÇÃO — trazer qualidade dos cards da Carreira
   pros cards de Notícia da Home (e qualquer card futuro).
   ========================================================= */

/* Blog cards: zoom da foto + transições suaves */
.z-blog-card {
    transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
    display: flex !important;
    flex-direction: column !important;
    height: 100% !important;
}
.z-blog-card:hover {
    transform: translateY(-4px) !important;
}
.z-blog-card__photo {
    overflow: hidden !important;
    background: #F4F1EA;
}
.z-blog-card__photo::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: inherit;
    background-size: cover !important;
    background-position: center !important;
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}
.z-blog-card:hover .z-blog-card__photo {
    transform: scale(1.04);
    transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1);
}

/* Body: flex column + alinhamento padronizado */
.z-blog-card__body {
    display: flex !important;
    flex-direction: column !important;
    flex: 1 !important;
    gap: 10px !important;
    padding: 24px 28px 28px !important;
}

/* Date com linha divisória decorativa (acima do título, abaixo da data) */
.z-blog-card__date {
    margin: 0 !important;
    padding-bottom: 12px !important;
    border-bottom: 1px solid #F0EAD8 !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    color: #4A90E2 !important;
    letter-spacing: 0.02em !important;
}

/* Título maior, ink-900, letter-spacing tight (igual programas) */
.z-blog-card__title {
    font-size: 19.5px !important;
    font-weight: 700 !important;
    color: #1A2620 !important;
    line-height: 1.3 !important;
    letter-spacing: -0.015em !important;
    margin: 0 !important;
    flex: 1 !important;
}

/* Botão "Leia mais" alinhado ao fim, gap natural */
.z-blog-card__body::after {
    margin-top: auto !important;
}

/* Responsivo */
@media (max-width: 781px) {
    .z-blog-card__body { padding: 20px 22px 24px !important; }
    .z-blog-card__title { font-size: 18px !important; }
}


/* =========================================================
   FOTOS EDITÁVEIS via wp:image — sistema universal
   Quando uma seção tem padrão "foto fundo + texto sobreposto",
   a foto é wp:image .z-*__photo dentro do parent, posicionada
   como background absoluto via CSS.
   ========================================================= */

/* HERO: foto absoluta + overlay gradient + content acima */
.z-hero .z-hero__photo {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
}
.z-hero .z-hero__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.z-hero::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(110deg,
        rgba(14,59,38,0.92) 0%,
        rgba(14,59,38,0.75) 35%,
        rgba(14,59,38,0.45) 70%,
        rgba(14,59,38,0.25) 100%);
    z-index: 1;
    pointer-events: none;
}
.z-hero .z-hero__content {
    position: relative !important;
    z-index: 2 !important;
    max-width: var(--z-container) !important;
    width: 100%;
    margin: 0 auto !important;
    padding: var(--z-s-7) var(--z-s-6) !important;
    color: #fff;
}
.z-hero .z-hero__content > * {
    max-width: 680px;
}
.z-hero .z-hero__title {
    color: #fff !important;
    font-size: clamp(32px, 3.8vw, 52px) !important;
    font-weight: 700 !important;
    line-height: 1.05 !important;
    letter-spacing: -0.03em !important;
    margin: 0 0 var(--z-s-3) !important;
    text-shadow: 0 2px 16px rgba(0,0,0,.25);
    max-width: 18ch;
}
.z-hero .z-hero__desc {
    color: rgba(255,255,255,0.92) !important;
    font-size: clamp(15px, 1.05vw, 17px) !important;
    line-height: 1.6 !important;
    font-weight: 300 !important;
    margin: 0 0 var(--z-s-4) !important;
}
.z-hero .z-eyebrow { color: #A6CE39 !important; margin-bottom: var(--z-s-2) !important; }
.z-hero .z-eyebrow::before { background: #A6CE39 !important; }

/* No editor visual, foto aparece inline (não absolute) pra ser editável */
.editor-styles-wrapper .z-hero { min-height: auto !important; }
.editor-styles-wrapper .z-hero .z-hero__photo { position: relative !important; inset: auto !important; }
.editor-styles-wrapper .z-hero::after { display: none !important; }
.editor-styles-wrapper .z-hero .z-hero__content { color: inherit !important; padding: 24px !important; }
.editor-styles-wrapper .z-hero .z-hero__title,
.editor-styles-wrapper .z-hero .z-hero__desc { color: inherit !important; text-shadow: none !important; }

/* BIZ CARDS: foto absoluta + overlay categoria + body acima */
.z-biz-card {
    position: relative;
    overflow: hidden;
    border-radius: 56px 16px 56px 16px;
    min-height: 460px;
    color: #fff;
    isolation: isolate;
}
.z-biz-card .z-biz-card__photo {
    position: absolute !important;
    inset: 0 !important;
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    z-index: 0 !important;
}
.z-biz-card .z-biz-card__photo img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
    display: block !important;
}
.z-biz-card::after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 1;
    pointer-events: none;
    border-radius: inherit;
}
.z-biz-card__acucar::after    { background: linear-gradient(180deg, rgba(224,122,42,0.10) 0%, rgba(196,90,18,0.45) 45%, rgba(80,30,5,0.95) 100%); }
.z-biz-card__etanol::after    { background: linear-gradient(180deg, rgba(123,61,186,0.10) 0%, rgba(108,46,173,0.50) 45%, rgba(35,10,70,0.95) 100%); }
.z-biz-card__bio::after       { background: linear-gradient(180deg, rgba(46,154,107,0.10) 0%, rgba(31,106,69,0.50) 45%, rgba(10,42,27,0.97) 100%); }
.z-biz-card__leveduras::after { background: linear-gradient(180deg, rgba(166,206,57,0.15) 0%, rgba(92,138,27,0.55) 45%, rgba(40,60,10,0.95) 100%); }

.z-biz-card .z-biz-card__body {
    position: relative !important;
    z-index: 2 !important;
    margin-top: auto !important;
    padding: var(--z-s-4) !important;
}
.z-biz-card .z-biz-card__title {
    color: #fff !important;
    font-size: 26px !important;
    font-weight: 700 !important;
    margin: 0 0 var(--z-s-2) !important;
}
.z-biz-card .z-biz-card__desc {
    color: rgba(255,255,255,0.92) !important;
    font-size: 14.5px !important;
    margin: 0 0 var(--z-s-3) !important;
}

/* Editor: cards inline */
.editor-styles-wrapper .z-biz-card { min-height: auto !important; }
.editor-styles-wrapper .z-biz-card .z-biz-card__photo { position: relative !important; inset: auto !important; }
.editor-styles-wrapper .z-biz-card::after { display: none !important; }
.editor-styles-wrapper .z-biz-card .z-biz-card__body { color: inherit !important; }


/* FIX: garantir texto/conteúdo do hero sempre acima do overlay gradient */
.z-hero > .wp-block-cover__inner-container,
.z-hero .wp-block-cover__inner-container,
.z-hero .z-hero__content,
.z-hero > .wp-block-group {
    position: relative !important;
    z-index: 5 !important;
}
.z-hero .wp-block-cover__background,
.z-hero .wp-block-cover__image-background {
    z-index: 0 !important;
}


/* FIX: eliminar gap natural do WP group entre foto e body do card de programa */
.z-program-card.wp-block-group,
.z-program-card {
    gap: 0 !important;
    --wp--style--block-gap: 0 !important;
    row-gap: 0 !important;
}
.z-program-card > * + * {
    margin-top: 0 !important;
}
.z-program-card .z-program-card__photo + .z-program-card__body,
.z-program-card .z-program-card__body {
    margin-top: 0 !important;
}


/* =========================================================
   DESIGN SYSTEM CANÔNICO — Páginas internas
   (A Companhia, Produtos, Sustentabilidade, Comunicação, Contato)
   ========================================================= */

/* Seção padrão: padding lateral + container */
.z-section {
    padding-left: 64px !important;
    padding-right: 64px !important;
    box-sizing: border-box;
}
.z-section > .wp-block-columns,
.z-section > .wp-block-group,
.z-section > .wp-block-buttons,
.z-section > h1,
.z-section > h2,
.z-section > h3,
.z-section > p {
    max-width: 1240px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100%;
}
.z-section > .z-eyebrow {
    display: block !important;
    max-width: 1240px !important;
    margin: 0 auto var(--z-s-2) auto !important;
    width: 100%;
}

/* H2 das seções — padrão canônico */
.z-section__title {
    font-size: clamp(32px, 3.6vw, 44px) !important;
    font-weight: 700 !important;
    color: #1A2620 !important;
    line-height: 1.1 !important;
    letter-spacing: -0.025em !important;
    margin: 0 0 var(--z-s-4) 0 !important;
}
.z-section p {
    font-size: 16px;
    line-height: 1.65;
    color: #3A4D43;
    margin: 0 0 var(--z-s-3) 0;
    max-width: 720px;
}
.z-section a {
    color: #1F6A45;
    font-weight: 700;
    text-decoration: underline;
}
.z-section a:hover {
    color: #0E3B26;
}
.z-section strong {
    color: #1A2620;
}

/* CTA banner final (verde gradient) — usado nas 5 páginas */
.z-cta-banner {
    background: linear-gradient(135deg, #0E3B26 0%, #1F6A45 60%, #2E9A6B 100%);
    border-radius: 56px 16px 56px 16px;
    padding: var(--z-s-7) var(--z-s-6) !important;
    text-align: center;
    max-width: 1240px;
    margin: 0 auto;
    position: relative;
    overflow: hidden;
}
.z-cta-banner::before {
    content: "";
    position: absolute;
    top: -50%; right: -10%;
    width: 600px; height: 600px;
    background: radial-gradient(circle, rgba(166, 206, 57, 0.18) 0%, transparent 60%);
    pointer-events: none;
}
.z-cta-banner > * {
    position: relative;
    z-index: 1;
}
.z-cta-banner__eyebrow {
    color: #A6CE39 !important;
    font-size: 12px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin: 0 0 var(--z-s-2) 0 !important;
}
.z-cta-banner__title {
    color: #FFFFFF !important;
    font-size: clamp(28px, 3vw, 40px) !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.02em !important;
    margin: 0 auto var(--z-s-3) auto !important;
    max-width: 720px;
}
.z-cta-banner__desc {
    color: rgba(255, 255, 255, 0.92) !important;
    font-size: 16px !important;
    line-height: 1.65 !important;
    font-weight: 400 !important;
    margin: 0 auto var(--z-s-4) auto !important;
    max-width: 620px;
}

/* Botão lima padrão — funciona em qualquer contexto */
.wp-block-button.z-btn-lime > .wp-block-button__link,
.wp-block-button.z-btn-lime .wp-element-button {
    background: #A6CE39 !important;
    color: #0E3B26 !important;
    border: 1px solid #A6CE39 !important;
    border-radius: 99px !important;
    padding: 14px 28px !important;
    font-weight: 700 !important;
    font-size: 14.5px !important;
    transition: background 0.3s ease, transform 0.3s ease, box-shadow 0.3s ease !important;
}
.wp-block-button.z-btn-lime > .wp-block-button__link:hover,
.wp-block-button.z-btn-lime .wp-element-button:hover {
    background: #B8DE4D !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 22px rgba(166, 206, 57, 0.35) !important;
}

/* Eyebrow garantido com decoration line + tipografia */
.z-section .z-eyebrow {
    color: #2E9A6B !important;
    font-size: 13px !important;
    font-weight: 800 !important;
    letter-spacing: 0.12em !important;
    text-transform: uppercase !important;
    margin: 0 0 12px 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    gap: 14px !important;
}
.z-section .z-eyebrow::before {
    content: "";
    display: block;
    width: 32px;
    height: 2px;
    background: #A6CE39;
}

/* Imagens das seções com radius gota */
.z-section figure.wp-block-image img {
    border-radius: 56px 16px 56px 16px;
    width: 100%;
    height: auto;
    display: block;
}

/* Responsivo */
@media (max-width: 768px) {
    .z-section {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    .z-cta-banner {
        padding: var(--z-s-6) var(--z-s-4) !important;
        border-radius: 32px 12px 32px 12px;
    }
}


/* =========================================================
   RESPONSIVE FIX — colunas + imagens nas páginas internas
   ========================================================= */
@media (max-width: 781px) {
    /* Forçar colunas a empilhar em mobile (override de flex-basis inline) */
    .z-section .wp-block-columns,
    .z-section > .wp-block-columns {
        flex-direction: column !important;
        gap: var(--z-s-4) !important;
    }
    .z-section .wp-block-column,
    .z-section .wp-block-columns > .wp-block-column {
        flex-basis: 100% !important;
        flex-grow: 1 !important;
        width: 100% !important;
        max-width: 100% !important;
    }
    /* Imagens das seções: garantir não vazar */
    .z-section figure.wp-block-image,
    .z-section figure.wp-block-image img {
        max-width: 100% !important;
        width: 100% !important;
        height: auto !important;
        box-sizing: border-box;
    }
    /* Hero: padding lateral menor + tamanho de texto adequado */
    .z-hero .z-hero__content {
        padding: var(--z-s-6) var(--z-s-4) !important;
    }
    .z-hero .z-hero__title {
        font-size: clamp(28px, 8vw, 42px) !important;
    }
    /* Section: padding lateral menor */
    .z-section {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
    /* H2 menor */
    .z-section__title {
        font-size: clamp(26px, 6vw, 36px) !important;
    }
    /* CTA banner menor */
    .z-cta-banner {
        padding: var(--z-s-6) var(--z-s-4) !important;
        border-radius: 32px 12px 32px 12px !important;
    }
    .z-cta-banner__title {
        font-size: clamp(22px, 6vw, 32px) !important;
    }
}

/* Garantir que TUDO no body respeite o viewport */
html, body {
    overflow-x: hidden;
    max-width: 100vw;
}


/* =========================================================
   EYEBROW TEMÁTICO — variantes por categoria de produto
   Mantém estrutura padrão (linha decorativa + texto upper),
   só muda a cor pra cada categoria.
   ========================================================= */
.z-section .z-eyebrow.z-eyebrow--acucar,
.z-eyebrow.z-eyebrow--acucar    { color: #E07A2A !important; }
.z-section .z-eyebrow.z-eyebrow--acucar::before,
.z-eyebrow.z-eyebrow--acucar::before { background: #E07A2A !important; }
.z-section .z-eyebrow.z-eyebrow--etanol,
.z-eyebrow.z-eyebrow--etanol    { color: #7B3DBA !important; }
.z-section .z-eyebrow.z-eyebrow--etanol::before,
.z-eyebrow.z-eyebrow--etanol::before { background: #7B3DBA !important; }
.z-section .z-eyebrow.z-eyebrow--bio,
.z-eyebrow.z-eyebrow--bio       { color: #1F6A45 !important; }
.z-section .z-eyebrow.z-eyebrow--bio::before,
.z-eyebrow.z-eyebrow--bio::before { background: #2E9A6B !important; }
.z-section .z-eyebrow.z-eyebrow--leveduras,
.z-eyebrow.z-eyebrow--leveduras { color: #6E8A1A !important; }
.z-section .z-eyebrow.z-eyebrow--leveduras::before,
.z-eyebrow.z-eyebrow--leveduras::before { background: #A6CE39 !important; }

/* PADRONIZAÇÃO — colunas das z-section: align center vertical */
.z-section .wp-block-columns {
    align-items: center !important;
}
/* IMPORTANTE: NÃO forçar flex-basis aqui — deixar o inline declarado no markup
   governar. Forçar 55/45 quebra páginas com layout invertido (foto primeiro,
   texto depois) — ex: A Companhia "Quatro unidades". */

/* Imagens nas seções com cantos gota uniforme */
.z-section figure.wp-block-image {
    margin: 0 !important;
    border-radius: 56px 16px 56px 16px;
    overflow: hidden;
}
.z-section figure.wp-block-image img {
    border-radius: 0 !important;
    aspect-ratio: 4 / 3 !important;
    object-fit: cover !important;
}

/* Parágrafos com max-width pra evitar linha longa */
.z-section p {
    max-width: 60ch !important;
}

@media (max-width: 781px) {
    .z-section .wp-block-column:first-child,
    .z-section .wp-block-column:last-child {
        flex-basis: 100% !important;
    }
}




/* =========================================================
   FIX CIRÚRGICO: eyebrow direto em .z-section alinha com H2
   Eyebrow original é inline-flex → não respeita margin auto.
   Aqui forçamos block + max-width 1240 só pros que estão como
   filho direto de .z-section.
   ========================================================= */
.z-section > .z-eyebrow {
    display: block !important;
    max-width: var(--z-container) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}


/* =========================================================
   OVERRIDE FINAL — restaurar grids de 3, 4 e 6 colunas
   da Carreira. Anula qualquer 55/45 forçado.
   ========================================================= */

/* Stats: 3 colunas iguais */
.z-stats .wp-block-columns > .wp-block-column,
.z-jeito-grid .wp-block-columns > .wp-block-column,
.z-programas-grid .wp-block-columns > .wp-block-column,
.z-beneficios-grid .wp-block-columns > .wp-block-column {
    flex-basis: 0 !important;
    flex-grow: 1 !important;
    flex-shrink: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

/* Forçar wp-block-columns a manter direção horizontal nestes grids */
.z-stats .wp-block-columns,
.z-jeito-grid .wp-block-columns,
.z-programas-grid .wp-block-columns,
.z-beneficios-grid .wp-block-columns {
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    gap: var(--z-s-3) !important;
}

/* Cards têm height 100% pra alinhar bem */
.z-programas-grid .z-program-card,
.z-jeito-grid .z-principle,
.z-beneficios-grid .z-quick-card--benefit {
    height: 100% !important;
}

@media (max-width: 781px) {
    .z-stats .wp-block-columns,
    .z-jeito-grid .wp-block-columns,
    .z-programas-grid .wp-block-columns,
    .z-beneficios-grid .wp-block-columns {
        flex-direction: column !important;
        flex-wrap: wrap !important;
    }
}

/* Quick Links — fotos via CSS class (kses-safe, evita stripping de url() inline) */
.z-quick-card__photo--etica {
    background-image: url('/wp-content/uploads/2026/05/4cb51dcc-b864-463c-918a-3a38dd29992c.jpg');
}
.z-quick-card__photo--sustentabilidade {
    background-image: url('/wp-content/uploads/2026/05/41ec26ad-128c-43bb-98ab-f801e753944c.jpg');
}
.z-quick-card__photo--comunidade {
    background-image: url('/wp-content/uploads/2026/05/9142b0b4-0cd3-4946-97ab-bee1453148dc.jpg');
}
.z-quick-card__photo--carreira {
    background-image: url('/wp-content/uploads/2026/05/024bd9ee-d3c6-4d60-a545-5d1044797833.jpg');
}

/* Blog Cards — fotos via CSS class (kses-safe) */
.z-blog-card__photo--zilor-1t26 {
    background-image: url('/wp-content/uploads/2026/05/24a0e028-79e0-4392-9c4b-f24657305850.jpg');
}
.z-blog-card__photo--novo-site-ri {
    background-image: url('/wp-content/uploads/2026/05/376c57f3-038d-4c81-ba1f-7bbafdcb5794.jpg');
}
.z-blog-card__photo--jv-lesaffre {
    background-image: url('/wp-content/uploads/2026/05/134817f8-7885-4d3b-8393-2cd23fd6d714.jpg');
}

/* FIX: parágrafos diretos em .z-section pegando max-width 35rem do Twenty Twenty-Five */
.z-section > p.wp-block-paragraph,
.z-section > .wp-block-paragraph:not(.z-eyebrow),
.wp-block-group.z-section.is-layout-constrained > p {
    max-width: var(--z-container, 1240px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
}

/* ========================================================
   PADRÃO DE ESPAÇAMENTO ENTRE ELEMENTOS (design system)
   Canônico: eyebrow→H2 24px · H2→p 24px · p→p 16px
   Aplica em z-section direta e em wp-block-column dentro
   ======================================================== */
.z-section .z-eyebrow,
.z-section .wp-block-column > .z-eyebrow,
.z-section .wp-block-column > p.z-eyebrow {
    margin-bottom: var(--z-s-3, 24px) !important;
}

.z-section h2.wp-block-heading,
.z-section .z-section__title,
.z-section .wp-block-column > h2,
.z-section .wp-block-column > h2.wp-block-heading {
    margin-bottom: var(--z-s-3, 24px) !important;
}

.z-section h3.wp-block-heading,
.z-section .wp-block-column > h3 {
    margin-bottom: var(--z-s-2, 16px) !important;
}

.z-section .wp-block-paragraph:not(.z-eyebrow),
.z-section .wp-block-column > .wp-block-paragraph:not(.z-eyebrow),
.z-section p.wp-block-paragraph:not(.z-eyebrow) {
    margin-bottom: var(--z-s-2, 16px) !important;
}

/* Último elemento da column/section não precisa de margem */
.z-section .wp-block-column > *:last-child,
.z-section > *:last-child {
    margin-bottom: 0 !important;
}

/* Botões CTA têm respiro maior antes (24-32px conforme DS) */
.z-section .wp-block-buttons,
.z-section .wp-block-column > .wp-block-buttons {
    margin-top: var(--z-s-4, 32px) !important;
}

/* ============================================
 * LINHA DO TEMPO — cards de marcos
 * ============================================ */
.z-timeline-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 28px 32px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-timeline-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

/* Sombra leve quando em fundo cream */
.z-timeline-era[style*="FAF8F2"] .z-timeline-card,
.z-timeline-era[style*="F4F1EA"] .z-timeline-card {
    box-shadow: 0 1px 3px rgba(14, 59, 38, 0.04);
}

.z-section .z-timeline-card .z-timeline-year {
    color: #A6CE39;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0 0 12px !important;
    display: block;
    font-variant-numeric: tabular-nums;
}

.z-section .z-timeline-card .z-timeline-title.wp-block-heading {
    font-size: 20px;
    font-weight: 700;
    letter-spacing: -0.01em;
    color: #1A2620;
    line-height: 1.25;
    margin: 0 0 12px !important;
}

.z-section .z-timeline-card .z-timeline-desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: #4A5D52;
    margin: 0 0 10px !important;
}

.z-section .z-timeline-card .z-timeline-desc:last-child {
    margin-bottom: 0 !important;
}

/* Sequência de wp:columns dentro da era — gap vertical consistente */
.z-timeline-era .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-timeline-era .wp-block-columns:last-child {
    margin-bottom: 0;
}

/* Igualar altura entre cards na mesma linha */
.z-timeline-era .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-timeline-era .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

/* Em mobile, esconde coluna vazia que serve só de preenchimento ímpar */
@media (max-width: 781px) {
    .z-timeline-era .wp-block-column:empty {
        display: none;
    }
    .z-timeline-card {
        padding: 24px 24px;
    }
    .z-section .z-timeline-card .z-timeline-year {
        font-size: 32px;
    }
}

/* ============================================
 * PRÊMIOS E CERTIFICAÇÕES — cards Biorigin + prêmios por ano
 * ============================================ */

/* Cards de certificação Biorigin (Halal, GMP, Kosher, Bonsucro) */
.z-cert-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 28px 32px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-cert-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

.z-section .z-cert-card .z-cert-card__title.wp-block-heading {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: #1A2620;
    line-height: 1.25;
    margin: 0 0 12px !important;
}

.z-section .z-cert-card .z-cert-card__desc {
    font-size: 15px;
    line-height: 1.6;
    color: #4A5D52;
    margin: 0 !important;
}

/* Cards de prêmios por ano */
.z-prize-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 28px 32px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-prize-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

.z-prizes[style*="FAF8F2"] .z-prize-card,
.z-prizes[style*="F4F1EA"] .z-prize-card {
    box-shadow: 0 1px 3px rgba(14, 59, 38, 0.04);
}

.z-section .z-prize-card .z-prize-year {
    color: #A6CE39;
    font-size: 36px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0 0 20px !important;
    display: block;
    font-variant-numeric: tabular-nums;
}

.z-section .z-prize-card ul.z-prize-list,
.z-section .z-prize-card .wp-block-list.z-prize-list {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
}

.z-section .z-prize-card .z-prize-list li {
    position: relative;
    padding-left: 18px;
    font-size: 14.5px;
    line-height: 1.55;
    color: #4A5D52;
    margin: 0 0 12px !important;
}

.z-section .z-prize-card .z-prize-list li::before {
    content: "•";
    color: #A6CE39;
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
}

.z-section .z-prize-card .z-prize-list li:last-child {
    margin-bottom: 0 !important;
}

/* Sequência de wp:columns dentro de prizes — gap vertical consistente */
.z-prizes .wp-block-columns,
.z-certs-biorigin .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-prizes .wp-block-columns:last-child,
.z-certs-biorigin .wp-block-columns:last-child {
    margin-bottom: 0;
}

/* Igualar altura entre cards na mesma linha */
.z-prizes .wp-block-columns > .wp-block-column,
.z-certs-biorigin .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-prizes .wp-block-columns > .wp-block-column > .wp-block-group,
.z-certs-biorigin .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

@media (max-width: 781px) {
    .z-prize-card,
    .z-cert-card {
        padding: 24px 24px;
    }
    .z-section .z-prize-card .z-prize-year {
        font-size: 32px;
    }
    .z-section .z-cert-card .z-cert-card__title.wp-block-heading {
        font-size: 22px;
    }
}

/* ============================================
 * NOSSOS NÚMEROS — stat-card + region-card
 * ============================================ */
.z-stat-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 32px 32px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-stat-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

.z-section .z-stat-card .z-stat-card__number {
    color: #0E3B26;
    font-size: clamp(36px, 4.4vw, 56px);
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.025em;
    margin: 0 0 12px !important;
    font-variant-numeric: tabular-nums;
}

.z-stat-card--accent .z-stat-card__number,
.z-section .z-stat-card--accent .z-stat-card__number {
    color: #2E9A6B;
}

.z-section .z-stat-card .z-stat-card__label {
    color: #1A2620;
    font-size: 16px;
    font-weight: 600;
    letter-spacing: -0.005em;
    line-height: 1.4;
    margin: 0 0 12px !important;
}

.z-section .z-stat-card .z-stat-card__desc {
    font-size: 14.5px;
    line-height: 1.6;
    color: #4A5D52;
    margin: 0 !important;
}

.z-section .z-stat-card ul.z-stat-card__details,
.z-section .z-stat-card .wp-block-list.z-stat-card__details {
    list-style: none !important;
    padding: 16px 0 0 !important;
    margin: 4px 0 0 !important;
    border-top: 1px solid #E8E1D2;
}

.z-section .z-stat-card .z-stat-card__details li {
    position: relative;
    padding-left: 18px;
    font-size: 14px;
    line-height: 1.55;
    color: #4A5D52;
    margin: 0 0 8px !important;
}

.z-section .z-stat-card .z-stat-card__details li::before {
    content: "•";
    color: #A6CE39;
    position: absolute;
    left: 0;
    top: 0;
    font-weight: 700;
    font-size: 18px;
    line-height: 1.3;
}

.z-section .z-stat-card .z-stat-card__details li:last-child {
    margin-bottom: 0 !important;
}

/* Region card (Estados Unidos, Europa) */
.z-region-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 32px 32px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-region-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

.z-section .z-region-card .z-region-card__flag {
    font-size: 44px;
    line-height: 1;
    margin: 0 0 16px !important;
}

.z-section .z-region-card .z-region-card__title.wp-block-heading {
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.015em;
    color: #1A2620;
    line-height: 1.25;
    margin: 0 0 8px !important;
}

.z-section .z-region-card .z-region-card__desc {
    font-size: 15px;
    line-height: 1.55;
    color: #4A5D52;
    margin: 0 !important;
}

/* Footnote */
.z-section .z-footnote {
    margin-top: var(--z-s-3, 24px) !important;
    margin-bottom: 0 !important;
    font-style: italic;
}

/* Igualar alturas + gap vertical entre wp:columns nas seções de stats */
.z-numbers .wp-block-columns,
.z-producao .wp-block-columns,
.z-social-numbers .wp-block-columns,
.z-exterior .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-numbers .wp-block-columns:last-of-type,
.z-social-numbers .wp-block-columns:last-of-type,
.z-exterior .wp-block-columns:last-of-type {
    margin-bottom: 0;
}

.z-numbers .wp-block-columns > .wp-block-column,
.z-producao .wp-block-columns > .wp-block-column,
.z-social-numbers .wp-block-columns > .wp-block-column,
.z-exterior .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-numbers .wp-block-columns > .wp-block-column > .wp-block-group,
.z-producao .wp-block-columns > .wp-block-column > .wp-block-group,
.z-social-numbers .wp-block-columns > .wp-block-column > .wp-block-group,
.z-exterior .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

@media (max-width: 781px) {
    .z-producao .wp-block-column:empty,
    .z-numbers .wp-block-column:empty {
        display: none;
    }
    .z-stat-card,
    .z-region-card {
        padding: 24px 24px;
    }
}

/* ============================================
 * INTEGRIDADE E TRANSPARÊNCIA — channel + attribution
 * ============================================ */
.z-channel-card {
    background: linear-gradient(135deg, #0E3B26 0%, #1F6A45 60%, #2E9A6B 100%);
    color: #FFFFFF;
    border-radius: 24px 8px 24px 8px;
    padding: 36px 36px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    box-shadow: 0 8px 24px rgba(14, 59, 38, 0.12);
}

.z-channel-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 16px 36px rgba(14, 59, 38, 0.18);
}

.z-section .z-channel-card .z-channel-card__icon {
    font-size: 44px;
    line-height: 1;
    margin: 0 0 16px !important;
}

.z-section .z-channel-card .z-channel-card__label {
    color: #A6CE39;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    line-height: 1.2;
    margin: 0 0 8px !important;
}

.z-section .z-channel-card .z-channel-card__value.wp-block-heading {
    color: #FFFFFF;
    font-size: 26px;
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0 0 8px !important;
}

.z-section .z-channel-card .z-channel-card__desc {
    color: rgba(255, 255, 255, 0.85);
    font-size: 14.5px;
    line-height: 1.55;
    margin: 0 !important;
}

.z-channel-card .wp-block-buttons {
    margin-top: auto !important;
}

/* Cards de atribuição (Comissão Deliberativa) */
.z-attribution-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 28px 32px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-attribution-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

.z-section .z-attribution-card .z-attribution-card__num {
    color: #A6CE39;
    font-size: 44px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: -0.02em;
    margin: 0 0 16px !important;
    font-variant-numeric: tabular-nums;
}

.z-section .z-attribution-card .z-attribution-card__desc {
    color: #4A5D52;
    font-size: 15px;
    line-height: 1.6;
    margin: 0 !important;
}

/* Gap vertical + altura igual nas seções de integridade */
.z-canal-etica .wp-block-columns,
.z-comissao .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-canal-etica .wp-block-columns:last-of-type,
.z-comissao .wp-block-columns:last-of-type {
    margin-bottom: 0;
}

.z-canal-etica .wp-block-columns > .wp-block-column,
.z-comissao .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-canal-etica .wp-block-columns > .wp-block-column > .wp-block-group,
.z-comissao .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

@media (max-width: 781px) {
    .z-channel-card,
    .z-attribution-card {
        padding: 24px 24px;
    }
    .z-section .z-channel-card .z-channel-card__value.wp-block-heading {
        font-size: 22px;
    }
    .z-section .z-attribution-card .z-attribution-card__num {
        font-size: 40px;
    }
}

/* ============================================
 * CULTURA EMPRESARIAL — pillar card (Missão + Propósito)
 * ============================================ */
.z-pillar-card {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 24px 8px 24px 8px;
    border-left: 4px solid #A6CE39;
    padding: 36px 36px;
    height: 100%;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.3s cubic-bezier(0.16, 1, 0.3, 1), border-left-color 0.3s ease;
}

.z-pillar-card:hover {
    transform: translateY(-3px);
    box-shadow: 0 10px 28px rgba(14, 59, 38, 0.08);
    border-left-color: #2E9A6B;
}

.z-section .z-pillar-card .z-pillar-card__label {
    color: #A6CE39;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    line-height: 1.2;
    margin: 0 0 16px !important;
}

.z-section .z-pillar-card .z-pillar-card__title.wp-block-heading {
    color: #1A2620;
    font-size: 28px;
    font-weight: 700;
    letter-spacing: -0.02em;
    line-height: 1.2;
    margin: 0 0 16px !important;
}

.z-section .z-pillar-card .z-pillar-card__text {
    color: #4A5D52;
    font-size: 16px;
    line-height: 1.65;
    margin: 0 !important;
}

.z-missao-proposito .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-missao-proposito .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

/* Gap vertical entre wp:columns na seção de princípios */
.z-principios .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-principios .wp-block-columns:last-of-type {
    margin-bottom: 0;
}

.z-principios .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-principios .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

@media (max-width: 781px) {
    .z-pillar-card {
        padding: 28px 24px;
    }
    .z-section .z-pillar-card .z-pillar-card__title.wp-block-heading {
        font-size: 24px;
    }
}

/* Variantes de cor por produto (Açúcar, Etanol, Bio, Leveduras) */
.z-pillar-card--acucar,
.is-style-z-pillar-acucar.z-pillar-card { border-left-color: #E07A2A; }
.z-pillar-card--acucar:hover,
.is-style-z-pillar-acucar.z-pillar-card:hover { border-left-color: #C45A12; }
.z-section .z-pillar-card--acucar .z-pillar-card__label,
.z-section .is-style-z-pillar-acucar.z-pillar-card .z-pillar-card__label { color: #C45A12; }

.z-pillar-card--etanol,
.is-style-z-pillar-etanol.z-pillar-card { border-left-color: #7B3DBA; }
.z-pillar-card--etanol:hover,
.is-style-z-pillar-etanol.z-pillar-card:hover { border-left-color: #6C2EAD; }
.z-section .z-pillar-card--etanol .z-pillar-card__label,
.z-section .is-style-z-pillar-etanol.z-pillar-card .z-pillar-card__label { color: #6C2EAD; }

.z-pillar-card--bio,
.is-style-z-pillar-bio.z-pillar-card { border-left-color: #2E9A6B; }
.z-pillar-card--bio:hover,
.is-style-z-pillar-bio.z-pillar-card:hover { border-left-color: #1F6A45; }
.z-section .z-pillar-card--bio .z-pillar-card__label,
.z-section .is-style-z-pillar-bio.z-pillar-card .z-pillar-card__label { color: #1F6A45; }

.z-pillar-card--leveduras,
.is-style-z-pillar-leveduras.z-pillar-card { border-left-color: #A6CE39; }
.z-pillar-card--leveduras:hover,
.is-style-z-pillar-leveduras.z-pillar-card:hover { border-left-color: #85AA28; }
.z-section .z-pillar-card--leveduras .z-pillar-card__label,
.z-section .is-style-z-pillar-leveduras.z-pillar-card .z-pillar-card__label { color: #6B8D1E; }

/* ============================================
 * HERO — block style variations (cores temáticas)
 * Aplica gradient via classe is-style-z-hero-* que o WP gera quando cliente
 * seleciona a Style na sidebar. Override o customGradient inline do markup.
 * ============================================ */
.is-style-z-hero-acucar.wp-block-cover .wp-block-cover__background {
    background: linear-gradient(110deg,rgba(120,50,8,0.92) 0%,rgba(196,90,18,0.65) 45%,rgba(224,122,42,0.25) 100%) !important;
}
.is-style-z-hero-etanol.wp-block-cover .wp-block-cover__background {
    background: linear-gradient(110deg,rgba(50,18,90,0.92) 0%,rgba(108,46,173,0.65) 45%,rgba(123,61,186,0.25) 100%) !important;
}
.is-style-z-hero-bio.wp-block-cover .wp-block-cover__background {
    background: linear-gradient(110deg,rgba(14,59,38,0.92) 0%,rgba(31,106,69,0.65) 45%,rgba(46,154,107,0.25) 100%) !important;
}
.is-style-z-hero-leveduras.wp-block-cover .wp-block-cover__background {
    background: linear-gradient(110deg,rgba(60,90,15,0.92) 0%,rgba(133,170,40,0.65) 45%,rgba(166,206,57,0.25) 100%) !important;
}
.is-style-z-hero-default.wp-block-cover .wp-block-cover__background {
    background: linear-gradient(110deg,rgba(14,59,38,0.92) 0%,rgba(14,59,38,0.65) 45%,rgba(14,59,38,0.25) 100%) !important;
}

/* Tipos de produto — gap + alturas */
.z-tipos-acucar .wp-block-columns > .wp-block-column,
.z-tipos-etanol .wp-block-columns > .wp-block-column,
.z-tipos-bio .wp-block-columns > .wp-block-column,
.z-tipos-leveduras .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-tipos-acucar .wp-block-columns > .wp-block-column > .wp-block-group,
.z-tipos-etanol .wp-block-columns > .wp-block-column > .wp-block-group,
.z-tipos-bio .wp-block-columns > .wp-block-column > .wp-block-group,
.z-tipos-leveduras .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

/* ============================================
 * RESPONSABILIDADE SOCIAL — chips de modalidades
 * ============================================ */
.z-mod-chip {
    background: #FFFFFF;
    border: 1px solid #E8E1D2;
    border-radius: 999px;
    padding: 14px 24px;
    text-align: center;
    transition: background 0.3s ease, border-color 0.3s ease, transform 0.3s ease;
}

.z-mod-chip:hover {
    background: #A6CE39;
    border-color: #A6CE39;
    transform: translateY(-2px);
}

.z-mod-chip:hover .z-mod-chip__text {
    color: #0E3B26;
}

.z-section .z-mod-chip .z-mod-chip__text {
    color: #1A2620;
    font-size: 14.5px;
    font-weight: 600;
    letter-spacing: -0.005em;
    margin: 0 !important;
    line-height: 1.3;
}

.z-incentivos .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-incentivos .wp-block-columns:last-of-type {
    margin-bottom: 0;
}

/* Alert pill (avisos importantes em seções de texto) */
.z-section .z-alert-pill {
    background: #FFF8DA;
    border-left: 4px solid #E07A2A;
    border-radius: 12px;
    padding: 16px 20px;
    color: #4A3208;
    font-size: 15px;
    line-height: 1.55;
    margin: 0 !important;
}

/* Gap entre wp:columns em projetos incentivados + alturas iguais */
.z-tematicas .wp-block-columns,
.z-calendario .wp-block-columns {
    margin-bottom: var(--z-s-3, 24px);
}

.z-tematicas .wp-block-columns:last-of-type,
.z-calendario .wp-block-columns:last-of-type {
    margin-bottom: 0;
}

.z-tematicas .wp-block-columns > .wp-block-column,
.z-calendario .wp-block-columns > .wp-block-column {
    display: flex;
}

.z-tematicas .wp-block-columns > .wp-block-column > .wp-block-group,
.z-calendario .wp-block-columns > .wp-block-column > .wp-block-group {
    width: 100%;
}

@media (max-width: 781px) {
    .z-tematicas .wp-block-column:empty {
        display: none;
    }
}

/* ============================================
 * MEGA-MENU — z-mainnav + z-megamenu + z-mobile-drawer
 * ============================================ */

/* Container */
.z-mainnav {
    position: relative;
}

.z-mainnav__list {
    list-style: none;
    display: flex;
    gap: var(--z-s-4, 32px);
    margin: 0;
    padding: 0;
    align-items: center;
}

.z-mainnav__link {
    display: inline-block;
    padding: 16px 4px;
    font-weight: 600;
    font-size: 15px;
    color: #1A2620;
    text-decoration: none;
    transition: color 0.2s ease;
    position: relative;
}

.z-mainnav__trigger {
    background: none;
    border: 0;
    padding: 16px 4px;
    font-family: inherit;
    font-weight: 600;
    font-size: 15px;
    color: #1A2620;
    cursor: pointer;
    position: relative;
    transition: color 0.2s ease;
}

.z-mainnav__trigger::after,
.z-mainnav__link::after {
    content: "";
    position: absolute;
    bottom: 10px;
    left: 4px;
    right: 4px;
    height: 2px;
    background: #A6CE39;
    transform: scaleX(0);
    transform-origin: left;
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
}

.z-mainnav__trigger:hover::after,
.z-mainnav__trigger[aria-expanded="true"]::after,
.z-mainnav__trigger:focus-visible::after,
.z-mainnav__link:hover::after,
.z-mainnav__link:focus-visible::after {
    transform: scaleX(1);
}

.z-mainnav__trigger:focus-visible,
.z-mainnav__link:focus-visible {
    outline: 2px solid #A6CE39;
    outline-offset: 4px;
    border-radius: 2px;
}

.z-mainnav__hamburger {
    display: none;
    background: none;
    border: 0;
    width: 44px;
    height: 44px;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #1A2620;
}

/* MEGA-MENU overlay */
.z-mainnav__item--has-overlay {
    position: static;
}

.z-megamenu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: #FFFFFF;
    border-top: 1px solid #E8E1D2;
    box-shadow: 0 12px 32px rgba(14, 59, 38, 0.08);
    padding: 48px 0 56px;
    opacity: 0;
    visibility: hidden;
    transform: translateY(-8px);
    transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                transform 0.25s cubic-bezier(0.16, 1, 0.3, 1),
                visibility 0s 0.25s;
    z-index: 100;
}

.z-megamenu:not([hidden]) {
    opacity: 1;
    visibility: visible;
    transform: translateY(0);
    transition: opacity 0.25s, transform 0.25s, visibility 0s 0s;
}

.z-megamenu__inner {
    max-width: var(--z-container, 1240px);
    margin: 0 auto;
    padding: 0 var(--z-section-x, 64px);
    display: grid;
    grid-template-columns: 1fr 360px;
    gap: 64px;
    align-items: start;
}

.z-megamenu__list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px 32px;
}

.z-megamenu__link {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 12px 10px;
    color: #1A2620;
    font-size: 15px;
    font-weight: 500;
    line-height: 1.4;
    border-radius: 8px;
    transition: background 0.2s ease, color 0.2s ease, padding-left 0.2s ease;
    text-decoration: none;
}

.z-megamenu__link::before {
    content: "→";
    color: #A6CE39;
    opacity: 0;
    transition: opacity 0.2s ease, transform 0.2s ease;
    font-size: 14px;
    transform: translateX(-4px);
}

.z-megamenu__link:hover,
.z-megamenu__link:focus-visible {
    background: #FAF8F2;
    color: #0E3B26;
    padding-left: 14px;
}

.z-megamenu__link:hover::before,
.z-megamenu__link:focus-visible::before {
    opacity: 1;
    transform: translateX(0);
}

.z-megamenu__link:focus-visible {
    outline: 2px solid #A6CE39;
    outline-offset: 2px;
}

/* Variantes de cor por produto (Açúcar, Etanol, Bio, Leveduras) */
.z-megamenu__link--acucar:hover,
.z-megamenu__link--acucar:focus-visible { color: #C45A12; }
.z-megamenu__link--etanol:hover,
.z-megamenu__link--etanol:focus-visible { color: #6C2EAD; }
.z-megamenu__link--bio:hover,
.z-megamenu__link--bio:focus-visible { color: #1F6A45; }
.z-megamenu__link--leveduras:hover,
.z-megamenu__link--leveduras:focus-visible { color: #6B8D1E; }

/* Featured (lateral) */
.z-megamenu__featured {
    background: #FAF8F2;
    border-radius: 24px 8px 24px 8px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    border: 1px solid #E8E1D2;
}

.z-megamenu__featured-photo {
    aspect-ratio: 16 / 10;
    background-size: cover;
    background-position: center;
    background-color: #1F6A45;
}

.z-megamenu__featured-body {
    padding: 24px 28px 28px;
    flex: 1;
    display: flex;
    flex-direction: column;
}

.z-megamenu__featured-eyebrow {
    color: #1F6A45;
    font-size: 11.5px;
    font-weight: 700;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    margin: 0 0 8px;
}

.z-megamenu__featured-title {
    color: #1A2620;
    font-size: 18px;
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.25;
    margin: 0 0 12px;
}

.z-megamenu__featured-desc {
    color: #4A5D52;
    font-size: 14px;
    line-height: 1.55;
    margin: 0 0 20px;
    flex: 1;
}

.z-megamenu__featured-cta {
    display: inline-flex;
    align-items: center;
    align-self: flex-start;
    gap: 6px;
    background: #A6CE39;
    color: #0E3B26;
    padding: 10px 20px;
    border-radius: 999px;
    font-size: 14px;
    font-weight: 700;
    text-decoration: none;
    transition: background 0.2s ease, transform 0.2s ease;
}

.z-megamenu__featured-cta::after {
    content: "→";
    transition: transform 0.2s ease;
}

.z-megamenu__featured-cta:hover,
.z-megamenu__featured-cta:focus-visible {
    background: #B6DE49;
    transform: translateY(-1px);
}

.z-megamenu__featured-cta:hover::after,
.z-megamenu__featured-cta:focus-visible::after {
    transform: translateX(2px);
}

/* === Tablet (1024px abaixo) — featured some, lista vira 2-col centrada === */
@media (max-width: 1023px) {
    .z-mainnav__list {
        display: none;
    }
    .z-mainnav__hamburger {
        display: flex;
    }
    .z-megamenu {
        display: none !important;
    }
}

/* === Mobile drawer === */
.z-mobile-drawer {
    position: fixed;
    top: 0;
    right: 0;
    width: min(380px, 100vw);
    height: 100vh;
    background: #FFFFFF;
    transform: translateX(100%);
    transition: transform 0.3s cubic-bezier(0.16, 1, 0.3, 1);
    overflow-y: auto;
    z-index: 1000;
    padding: 24px;
    box-sizing: border-box;
}

.z-mobile-drawer[aria-hidden="false"] {
    transform: translateX(0);
}

.z-mobile-drawer__backdrop {
    position: fixed;
    inset: 0;
    background: rgba(14, 59, 38, 0.5);
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0s 0.3s;
    z-index: 999;
}

.z-mobile-drawer__backdrop:not([hidden]) {
    opacity: 1;
    visibility: visible;
    transition: opacity 0.3s ease, visibility 0s 0s;
}

.z-mobile-drawer__close {
    background: none;
    border: 0;
    width: 44px;
    height: 44px;
    margin-left: auto;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    color: #1A2620;
}

.z-mobile-drawer__list {
    list-style: none;
    padding: 0;
    margin: 16px 0 0;
}

.z-mobile-drawer__list > li {
    border-bottom: 1px solid #E8E1D2;
}

.z-mobile-drawer__link {
    display: block;
    padding: 16px 0;
    color: #1A2620;
    font-size: 16px;
    font-weight: 600;
    text-decoration: none;
}

.z-mobile-drawer details summary {
    list-style: none;
    padding: 16px 0;
    font-weight: 600;
    font-size: 16px;
    color: #1A2620;
    cursor: pointer;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.z-mobile-drawer details summary::-webkit-details-marker { display: none; }

.z-mobile-drawer details summary::after {
    content: "▾";
    transition: transform 0.2s ease;
    color: #A6CE39;
    font-size: 18px;
}

.z-mobile-drawer details[open] summary::after {
    transform: rotate(180deg);
}

.z-mobile-drawer details ul {
    list-style: none;
    padding: 0 0 12px 16px;
    margin: 0;
}

.z-mobile-drawer details a {
    display: block;
    padding: 8px 0;
    color: #4A5D52;
    font-size: 15px;
    text-decoration: none;
}

.z-mobile-drawer details a:hover { color: #0E3B26; }

/* === Mega-menu mobile (até 767px featured oculto) === */
@media (max-width: 767px) {
    .z-megamenu__inner {
        grid-template-columns: 1fr;
    }
    .z-megamenu__featured {
        display: none;
    }
}

/* === Reduced motion === */
@media (prefers-reduced-motion: reduce) {
    .z-megamenu,
    .z-megamenu__link,
    .z-mainnav__trigger::after,
    .z-mainnav__link::after,
    .z-mobile-drawer,
    .z-mobile-drawer__backdrop {
        transition: none !important;
    }
}

/* ============================================
 * PACTO GLOBAL — empresa signatária (Home, seção Sustentabilidade)
 * ============================================ */
.z-pacto-global {
    margin-bottom: var(--z-s-5, 48px);
}

.z-pacto-global__card {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(255, 255, 255, 0.35);
    border-radius: 24px;
    padding: 22px 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 48px;
    max-width: 760px;
    margin: 0 auto;
    box-shadow: 0 4px 16px rgba(14, 59, 38, 0.08);
}

.z-pacto-global__pill {
    background: #E6EAEC;
    color: #4A5D63;
    padding: 13px 28px;
    border-radius: 999px;
    font-size: 14.5px;
    font-weight: 500;
    letter-spacing: 0.01em;
    white-space: nowrap;
}

.z-pacto-global__logo {
    display: flex;
    align-items: center;
    gap: 18px;
    color: #1B3D7A;
}

.z-pacto-global__logo svg {
    width: 76px;
    height: 76px;
    flex-shrink: 0;
}

.z-pacto-global__text {
    display: flex;
    flex-direction: column;
    line-height: 1.05;
}

.z-pacto-global__title {
    color: #1B3D7A;
    font-size: 24px;
    font-weight: 700;
    letter-spacing: -0.015em;
    line-height: 1.1;
}

.z-pacto-global__subtitle {
    color: #1B3D7A;
    font-size: 20px;
    font-weight: 400;
    letter-spacing: -0.01em;
    line-height: 1.2;
    margin-top: 2px;
}

@media (max-width: 767px) {
    .z-pacto-global__card {
        flex-direction: column;
        gap: 20px;
        padding: 24px 24px;
    }
    .z-pacto-global__pill {
        font-size: 13.5px;
        padding: 10px 22px;
    }
    .z-pacto-global__logo svg {
        width: 60px;
        height: 60px;
    }
    .z-pacto-global__title { font-size: 20px; }
    .z-pacto-global__subtitle { font-size: 17px; }
}


/* =====================================================
   FIXES 2026-06-10 · v2.1
   1) Mega-menu: painel full-width ancorado no header
   2) Heroes: texto alinhado ao container 1240 (igual às dobras)
   3) Cards irmãos: alturas iguais (sem desalinhamento vertical)
   ===================================================== */

/* --- 1) MEGA-MENU ------------------------------------ */
/* O painel estava ancorado no <ul> da nav (609px) — ancorar no header inteiro */
.z-site-header { position: relative; }
.z-mainnav,
.z-mainnav ul,
.z-mainnav__item { position: static !important; }

.z-megamenu {
    position: absolute;
    left: 0;
    right: 0;
    top: 100%;
    padding: 40px 0 48px;
}

/* Lista respira: colunas largas, sem quebra feia */
.z-megamenu__list {
    grid-template-columns: repeat(2, minmax(240px, 1fr));
    gap: 6px 32px;
    align-content: start;
}
.z-megamenu__link { white-space: nowrap; }

/* Card destaque não estica além do conteúdo */
.z-megamenu__featured-photo { aspect-ratio: 16 / 9; }

/* --- 2) HEROES ALINHADOS AO CONTAINER ----------------- */
/* Cover (home + internas): inner vira um container 1240 igual ao resto */
.z-hero {
    padding-left: var(--z-section-x, 64px) !important;
    padding-right: var(--z-section-x, 64px) !important;
}
.z-hero .wp-block-cover__inner-container {
    width: 100% !important;
    max-width: var(--z-container, 1240px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
/* Hero de grupo (ex.: Carreira): filho interno É o container 1240 centralizado */
.z-hero { justify-content: center; }
.z-hero.wp-block-group > .wp-block-group {
    width: 100%;
    max-width: var(--z-container, 1240px);
}
@media (max-width: 768px) {
    .z-hero {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }
}

/* --- 3) CARDS IRMÃOS COM ALTURAS IGUAIS ---------------- */
.z-section .wp-block-columns { align-items: stretch; }
.z-section .wp-block-column > .z-quick-card,
.z-section .wp-block-column > .z-program-card,
.z-section .wp-block-column > .z-principle,
.z-section .wp-block-column > .z-pillar-card,
.z-section .wp-block-column > .z-region-card,
.z-section .wp-block-column > .z-cert-card {
    height: 100%;
    box-sizing: border-box;
}


/* --- 4) CTA FINAL GRADIENT: texto claro sobre verde escuro (contraste) --- */
.z-section.z-cta-final h2,
.z-section.z-cta-final h3 { color: #FFFFFF !important; }
.z-section.z-cta-final p:not(.z-eyebrow) { color: rgba(255,255,255,0.88) !important; }
.z-section.z-cta-final .z-eyebrow { color: #A6CE39 !important; }
.z-section.z-cta-final .z-eyebrow::before { background: #A6CE39 !important; }


/* --- FIXES MOBILE v2.2 (2026-06-11) --- */
@media (max-width: 768px) {
    /* Topbar empilhava em 3 linhas — conteúdo secundário sai do mobile (vive no footer) */
    .z-topbar { display: none !important; }
}

/* --- v2.2b: blog cards compat com markup dinâmico (query loop) --- */
.z-blog-card { display:flex; flex-direction:column; height:100%; background:#fff; border:1px solid #E8E1D2; border-radius:24px 8px 24px 8px; overflow:hidden; box-shadow:0 6px 18px rgba(14,59,38,.06); }
figure.z-blog-card__photo { margin:0 !important; }
figure.z-blog-card__photo img { display:block; width:100%; border-radius:0 !important; }
.z-blog-card .z-blog-card__body { padding:16px 20px 20px; flex:1; }
.z-blog-card h3.z-blog-card__title { position:static !important; transform:none !important; margin:6px 0 0 !important; font-size:18px !important; line-height:1.35 !important; color:#1A2620 !important; text-shadow:none !important; white-space:normal !important; max-width:100% !important; overflow:visible !important; }
.z-blog-card h3.z-blog-card__title a { color:inherit !important; text-decoration:none !important; }
.z-blog-card h3.z-blog-card__title a:hover { color:#1F6A45 !important; }
.z-blog-card .z-blog-card__date, .z-blog-card .z-blog-card__date time { color:#3B9CE0 !important; font-size:12.5px; font-weight:700; border:0 !important; }

/* --- v2.3: RITMO VERTICAL MOBILE (tokens responsivos) ---
   Todos os paddings de seção usam var(--wp--preset--spacing--N).
   No mobile, os mesmos tokens encolhem → padrão consistente no site inteiro. */
@media (max-width: 768px) {
    body {
        --wp--preset--spacing--5: 32px;  /* 48 desktop */
        --wp--preset--spacing--6: 40px;  /* 64 desktop */
        --wp--preset--spacing--7: 56px;  /* 96 desktop */
        --wp--preset--spacing--8: 72px;  /* 128 desktop */
    }
    /* Cards empilhados respiram: gap vertical mínimo entre colunas */
    .wp-block-columns { row-gap: 20px !important; }
    /* Figuras dentro de seção não somam margem extra ao padding da dobra */
    .z-section figure.wp-block-image:last-child,
    .z-section .wp-block-column > figure.wp-block-image { margin-bottom: 0 !important; }
}

/* --- v2.4: MARGENS LATERAIS + RAIOS UNIFORMES NO MOBILE --- */
@media (max-width: 768px) {
    /* Algumas seções usam spacing|4 (32px) como padding lateral inline;
       o padrão mobile é 24px → token encolhe e TODAS as laterais igualam */
    body { --wp--preset--spacing--4: 24px; }

    /* A hierarquia de raios (96/56/32) funciona no desktop; em 390px de largura
       os raios grandes deformam as caixas → raio único da "gota" pequena */
    /* qualquer figura de conteúdo com raio custom → raio único mobile */
    main figure.wp-block-image img[style*="border-radius"],
    main figure.wp-block-image.has-custom-border img {
        border-radius: 32px 8px 32px 8px !important;
    }
}

/* v2.4c: raio também nos wrappers de figura (home usa classe no figure, não no img) */
@media (max-width: 768px) {
    main figure.wp-block-image.has-custom-border,
    main figure.wp-block-post-featured-image,
    main figure[class*="-photo"]:not(.z-blog-card__photo),
    main div[class*="__photo"]:not(.z-blog-card__photo) {
        border-radius: 32px 8px 32px 8px !important;
        overflow: hidden;
    }
}

/* --- v2.5: variante escura do z-principle (cards em fundo verde) --- */
.z-principle--dark { border: 0 !important; }
.z-principle--dark .z-principle__num { color: #A6CE39 !important; }
.z-principle--dark .z-principle__title,
.z-principle--dark h3, .z-principle--dark h4 { color: #FFFFFF !important; }
.z-principle--dark .z-principle__desc,
.z-principle--dark p:not(.z-principle__num) { color: rgba(255,255,255,0.88) !important; }

/* --- v2.7: ícones nos links do mega-menu --- */
.z-megamenu__link { gap: 10px; }
.z-megamenu__link .z-mm-ico { flex: 0 0 auto; width: 30px; height: 30px; padding: 6px; border-radius: 9px; background: rgba(166,206,57,.16); color: #1F6A45; transition: background .2s ease, color .2s ease; box-sizing: border-box; }
.z-megamenu__link:hover .z-mm-ico, .z-megamenu__link:focus-visible .z-mm-ico { background: #A6CE39; color: #0E3B26; }
.z-megamenu__link::before { display: none; }
.z-mobile-drawer .z-mm-ico { width: 26px; height: 26px; padding: 4px; }

/* =========================================================
   v2.8: RAIO PADRÃO DAS IMAGENS DE CONTEÚDO
   Padrão único: "gota" 56/16 no FIGURE + overflow hidden
   (a img fica 0 e é cortada pelo figure — técnica do tema).
   Exceções: hero (reto), fotos dentro de card (seguem o card),
   avatares (círculo). Mobile usa a gota pequena 32/8.
   ========================================================= */
:root { --z-radius-img: 56px 16px 56px 16px; }

main figure.wp-block-image {
    border-radius: var(--z-radius-img);
    overflow: hidden;
}
main figure.wp-block-image img { border-radius: 0; }

/* exceções — não seguem o raio de imagem de conteúdo */
main .z-hero figure.wp-block-image,
main figure.z-hero__photo,
main .z-blog-card figure.wp-block-image,
main .z-program-card figure.wp-block-image,
main .z-quick-card figure.wp-block-image,
main figure.wp-block-image:has(img[style*="999px"]) {
    border-radius: 0;
    overflow: visible;
}
main figure.wp-block-image:has(img[style*="999px"]) img { border-radius: 999px; }

@media (max-width: 768px) {
    :root { --z-radius-img: 32px 8px 32px 8px; }
}

/* --- v2.6: ícones em stats e passos (restaurado) --- */
.z-stat-icon, .z-step-icon {
    display: inline-flex; align-items: center; justify-content: center;
    width: 52px; height: 52px; margin-bottom: 14px;
    border-radius: 16px 4px 16px 4px;
    background: linear-gradient(135deg, rgba(166,206,57,.20) 0%, rgba(46,154,107,.12) 100%);
    color: #1F6A45;
}
.z-stat-icon svg, .z-step-icon svg { display: block; }
@media (max-width: 768px) {
    .z-stat-icon, .z-step-icon { width: 44px; height: 44px; margin-bottom: 10px; }
}

/* --- v2.9: caixa "Materiais para imprensa" (fim das notícias) --- */
.z-press-kit { margin: 40px 0 8px; padding: 26px 28px; background: #FAF8F2; border: 1px solid #E8E1D2; border-radius: 32px 8px 32px 8px; }
.z-press-kit .z-eyebrow { margin: 0 0 16px; }
.z-press-kit__items { display: flex; flex-wrap: wrap; gap: 12px; }
.z-press-kit__item { display: inline-flex; align-items: center; gap: 12px; padding: 12px 20px 12px 14px; background: #FFFFFF; border: 1px solid #E8E1D2; border-radius: 999px; text-decoration: none; transition: border-color .2s ease, transform .2s ease, box-shadow .2s ease; }
.z-press-kit__item, .z-press-kit__item strong, .z-press-kit__item em { text-decoration: none !important; }
.z-press-kit__item:hover { border-color: #A6CE39; transform: translateY(-2px); box-shadow: 0 6px 18px rgba(14,59,38,.08); }
.z-press-kit__ico { display: inline-flex; align-items: center; justify-content: center; width: 38px; height: 38px; border-radius: 12px 3px 12px 3px; background: linear-gradient(135deg, rgba(166,206,57,.22) 0%, rgba(46,154,107,.12) 100%); color: #1F6A45; flex: 0 0 auto; }
.z-press-kit__txt { display: flex; flex-direction: column; line-height: 1.25; }
.z-press-kit__txt strong { font-size: 14.5px; font-weight: 700; color: #0E3B26; }
.z-press-kit__txt em { font-style: normal; font-size: 12px; color: #6A7F89; letter-spacing: .03em; }
@media (max-width: 768px) {
    .z-press-kit { padding: 20px; border-radius: 24px 6px 24px 6px; }
    .z-press-kit__items { flex-direction: column; }
    .z-press-kit__item { width: 100%; }
}

/* =========================================================
   v3.0: BIBLIOTECA DE ÍCONES + COR DE DADOS (da Apresentação V4)
   16 ícones oficiais da Zilor. Uso: <span class="z-ico z-ico--cana"></span>
   A máscara CSS faz o ícone herdar a cor do contexto (currentColor).
   ========================================================= */
:root {
    --z-brown-600: #654D35;   /* cor de blocos de dado/KPI (2ª cor da apresentação) */
    --z-brown-100: #EFEAE4;   /* fundo suave da mesma família */
}

.z-ico {
    display: inline-block;
    width: 40px; height: 40px;
    background-color: currentColor;
    -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat;
    -webkit-mask-position: center;  mask-position: center;
    -webkit-mask-size: contain;     mask-size: contain;
    flex: 0 0 auto;
}
.z-ico--sm { width: 28px; height: 28px; }
.z-ico--lg { width: 56px; height: 56px; }

/* cápsula que envolve o ícone (padrão do site) */
.z-ico-box {
    display: inline-flex; align-items: center; justify-content: center;
    width: 56px; height: 56px; border-radius: 16px 4px 16px 4px;
    background: linear-gradient(135deg, rgba(166,206,57,.20) 0%, rgba(46,154,107,.12) 100%);
    color: #1F6A45;
}
.z-ico-box--data {
    background: var(--z-brown-100);
    color: var(--z-brown-600);
}

.z-ico--cana { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/cana.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/cana.svg); }
.z-ico--colheita { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/colheita.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/colheita.svg); }
.z-ico--etanol { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/etanol.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/etanol.svg); }
.z-ico--economia-circular { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/economia-circular.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/economia-circular.svg); }
.z-ico--logistica { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/logistica.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/logistica.svg); }
.z-ico--eficiencia { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/eficiencia.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/eficiencia.svg); }
.z-ico--resultados { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/resultados.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/resultados.svg); }
.z-ico--gestao { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/gestao.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/gestao.svg); }
.z-ico--parceria-agricola { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/parceria-agricola.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/parceria-agricola.svg); }
.z-ico--aperto-maos { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/aperto-maos.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/aperto-maos.svg); }
.z-ico--maos-unidas { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/maos-unidas.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/maos-unidas.svg); }
.z-ico--presenca-global { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/presenca-global.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/presenca-global.svg); }
.z-ico--broto { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/broto.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/broto.svg); }
.z-ico--processo-sustentavel { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/processo-sustentavel.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/processo-sustentavel.svg); }
.z-ico--residuos { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/residuos.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/residuos.svg); }
.z-ico--solo { -webkit-mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/solo.svg); mask-image: url(/wp-content/themes/zilor-blocks/assets/icons/solo.svg); }

@media (max-width: 768px) {
    .z-ico { width: 34px; height: 34px; }
    .z-ico-box { width: 46px; height: 46px; }
}


/* =========================================================
   v3.1 — CARDS DE NOTÍCIA: UM RAIO SÓ  (26/08/2026)
   Problema: .z-blog-card acumulou TRÊS raios concorrentes ao
   longo das versões —
     (a) foto 56/16/0/0 + corpo 0/0/16/56  (gota dividida em 2)
     (b) card 24px 8px 24px 8px + overflow:hidden  (recorta tudo)
     (c) inline "32px 8px 32px 8px" no bloco da imagem destacada
   Resultado: o card era recortado em 24/8 pelo pai, mas o corpo
   ainda desenhava a curva de 56px por dentro — a "orelha" visível
   no canto inferior esquerdo — e a foto tentava um terceiro valor.
   Correção: o CARD carrega o raio padrão do site (--z-radius-img,
   56/16 no desktop e 32/8 no mobile) e recorta os filhos, que
   ficam retos. Uma borda só, um raio só.
   ========================================================= */
.z-blog-card {
    border-radius: var(--z-radius-img) !important;
    overflow: hidden !important;
}

/* filhos retos — quem define a silhueta é o card */
.z-blog-card .z-blog-card__photo,
.z-blog-card figure.z-blog-card__photo,
.z-blog-card figure.z-blog-card__photo img,
.z-blog-card .z-blog-card__body {
    border-radius: 0 !important;
}

/* borda única: fica no card, não no corpo (evitava linha dupla
   e cantos cortados pelo overflow) */
.z-blog-card .z-blog-card__body {
    border: 0 !important;
    border-top: 1px solid #F0EAD8 !important;
}
.z-blog-card { border: 1px solid #E8E1D2 !important; transition: transform .4s cubic-bezier(.16,1,.3,1), border-color .25s ease !important; }
.z-blog-card:hover { border-color: rgba(166,206,57,.6) !important; }

/* imagem destacada do post: segue o padrão do site, não o valor
   de mobile que estava fixo no template */
main .z-post-featured,
main figure.z-post-featured {
    border-radius: var(--z-radius-img) !important;
    overflow: hidden !important;
}
main .z-post-featured img { border-radius: 0 !important; }


/* =========================================================
   v3.2 — FOTO DO CARD DE NOTÍCIA: FIM DA FAIXA MORTA (26/08/2026)
   Diagnóstico: .z-blog-card__photo foi desenhado quando a foto era
   uma DIV com background-image — daí height fixo de 280px,
   background-size:cover e um ::after de 100% usado só para animar
   o zoom. O markup virou <figure> com <img> real (bloco
   post-featured-image), mas as regras antigas ficaram. Resultado:
   a imagem 16/10 mede 249px dentro de um container de 280px e
   sobra uma faixa bege de ~31px acima do corpo do card, além de um
   ::after inútil ocupando espaço dentro do recorte.
   Correção: o container passa a ter proporção (não altura fixa) e
   a imagem preenche 100% dele. O zoom do hover sai do container e
   vai para a imagem, preservando a silhueta arredondada.
   ========================================================= */
.z-blog-card .z-blog-card__photo {
    height: auto !important;
    aspect-ratio: 16 / 10;
    overflow: hidden !important;
    background: #F4F1EA;
    transform: none !important;
}
.z-blog-card .z-blog-card__photo::after {
    content: none !important;
    display: none !important;
}
.z-blog-card .z-blog-card__photo > a {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
}
.z-blog-card .z-blog-card__photo img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    aspect-ratio: auto !important;
    object-fit: cover !important;
    transition: transform .6s cubic-bezier(.16,1,.3,1);
}
.z-blog-card:hover .z-blog-card__photo { transform: none !important; }
.z-blog-card:hover .z-blog-card__photo img { transform: scale(1.04); }


/* =========================================================
   v3.3 — PÁGINA DE NOTÍCIA: HIERARQUIA, MARGENS E RESPIRO
   (26/08/2026)

   Diagnóstico — três defeitos com a mesma origem: o template do
   post usa .z-section, mas .z-section foi escrito para as seções
   institucionais (container de 1240px), enquanto o post trabalha
   numa coluna de leitura de 860px.

   1) LARGURAS COMPETINDO. ".z-section > .z-eyebrow { max-width:
      var(--z-container) !important }" jogava o eyebrow, o H1 e o
      botão de voltar para 1240px, enquanto data, imagem, texto e
      press kit ficavam em 860px. Duas colunas na mesma página.
   2) H1 SEM TIPOGRAFIA. O título do post computava 16,5px — o
      mesmo tamanho de um parágrafo. Nenhuma regra o alcançava.
   3) PADDING VERTICAL ZERADO. As regras globais
      "main > *" e "body .wp-site-blocks main > .wp-block-group"
      zeram padding-top/bottom com !important (existem para conter
      o Twenty Twenty-Five). As seções institucionais reconquistam
      esse espaço com regras próprias; .z-post-hero e .z-post-body
      nunca entraram nessa lista, então ficavam com 0 — daí o botão
      "Todas as notícias" encostando no rodapé.

   Correção: o post ganha seu próprio contrato de layout, com
   especificidade suficiente para vencer as regras institucionais,
   sem tocar em nenhuma delas (30 páginas dependem daquilo).
   ========================================================= */

/* Coluna de leitura do post. 720px a 17px dá ~73 caracteres por linha
   — dentro da faixa confortável de 65 a 75. É também o valor que o
   próprio design system já declarava em ".z-section p" antes de ser
   sobrescrito por "60ch". */
:root { --z-post-w: 720px; }

/* ---- 1. coluna de leitura única: 860px para TUDO ---- */
.z-section.z-post-hero > *,
.z-section.z-post-body > * {
    max-width: var(--z-post-w) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

/* ---- 2. respiro vertical (reconquista o que o global zera) ---- */
body .wp-site-blocks main > .z-section.z-post-hero {
    padding-top: var(--z-s-6) !important;
    padding-bottom: var(--z-s-5) !important;
}
body .wp-site-blocks main > .z-section.z-post-body {
    padding-top: var(--z-s-5) !important;
    padding-bottom: var(--z-s-7) !important;
}

/* ---- 3. hierarquia do cabeçalho ---- */
/* Especificidade extra. O eyebrow é um <p> e havia uma regra de
   força bruta ".wp-block-group.z-section.is-layout-constrained > p"
   com max-width 1240 !important — especificidade (0,3,1), maior que
   a do seletor de classe simples. Aqui somamos uma classe a mais
   para vencer sem alterar a regra institucional. */
.wp-block-group.z-section.z-post-hero.is-layout-constrained > p,
.wp-block-group.z-section.z-post-body.is-layout-constrained > p {
    max-width: var(--z-post-w) !important;
    margin-left: auto !important;
    margin-right: auto !important;
}
.wp-block-group.z-section.z-post-hero.is-layout-constrained > p.z-eyebrow {
    margin: 0 auto 14px !important;
}

.z-post-hero h1.wp-block-post-title {
    font-size: clamp(30px, 3.4vw, 44px) !important;
    line-height: 1.14 !important;
    letter-spacing: -0.022em !important;
    font-weight: 700 !important;
    color: var(--z-green-900) !important;
    margin: 0 auto 18px !important;
    text-wrap: balance;
}

.z-post-hero .z-post-date {
    display: flex !important;
    align-items: center;
    gap: 10px;
    font-size: 13.5px !important;
    font-weight: 700 !important;
    letter-spacing: .03em;
    color: var(--z-blue-date) !important;
    margin: 0 auto !important;
}
.z-post-hero .z-post-date::before {
    content: "";
    flex: 0 0 auto;
    width: 24px; height: 2px;
    background: currentColor;
    border-radius: 2px;
    opacity: .5;
}

/* ---- 4. imagem destacada ---- */
.z-post-body .z-post-featured {
    margin: 0 auto var(--z-s-5) !important;
}

/* ---- 5. corpo do texto: ritmo de leitura ---- */
.z-post-body .wp-block-post-content { margin-top: 0 !important; }

.z-post-body .wp-block-post-content p {
    font-size: 17px;
    line-height: 1.72;
    margin: 0 0 20px;
    color: #2C3B33;
}
/* lide: primeira frase com leve destaque */
.z-post-body .wp-block-post-content > p:first-of-type {
    font-size: 19px;
    line-height: 1.62;
    color: #1F2E26;
}
.z-post-body .wp-block-post-content h2 {
    font-size: 26px; line-height: 1.25; font-weight: 700;
    letter-spacing: -0.015em; color: var(--z-green-900);
    margin: 40px 0 14px;
}
.z-post-body .wp-block-post-content h3 {
    font-size: 20px; line-height: 1.3; font-weight: 700;
    color: var(--z-green-900); margin: 32px 0 12px;
}
.z-post-body .wp-block-post-content ul,
.z-post-body .wp-block-post-content ol {
    margin: 0 0 20px; padding-left: 22px;
}
.z-post-body .wp-block-post-content li {
    font-size: 17px; line-height: 1.7; margin-bottom: 8px; color: #2C3B33;
}
.z-post-body .wp-block-post-content a:not(.wp-element-button) {
    color: #1F6A45;
    text-decoration: underline;
    text-underline-offset: 3px;
    text-decoration-thickness: 1px;
}
.z-post-body .wp-block-post-content a:not(.wp-element-button):hover { color: #0E3B26; }

.z-post-body .wp-block-post-content figure.wp-block-image {
    margin: 32px auto;
}

/* ---- 6. materiais para imprensa ---- */
.z-post-body .z-press-kit { margin-top: var(--z-s-5) !important; }

/* ---- 7. rodapé do post: separado, não colado ---- */
.z-post-back {
    margin-top: var(--z-s-5) !important;
    padding-top: var(--z-s-4) !important;
    border-top: 1px solid var(--z-line);
}

/* ---- 8. mobile ---- */
@media (max-width: 768px) {
    body .wp-site-blocks main > .z-section.z-post-hero {
        padding-top: var(--z-s-5) !important;
        padding-bottom: var(--z-s-4) !important;
    }
    body .wp-site-blocks main > .z-section.z-post-body {
        padding-top: var(--z-s-4) !important;
        padding-bottom: var(--z-s-6) !important;
    }
    .z-post-hero h1.wp-block-post-title { font-size: 27px !important; line-height: 1.2 !important; }
    .z-post-body .wp-block-post-content p,
    .z-post-body .wp-block-post-content li { font-size: 16px; line-height: 1.68; }
    .z-post-body .wp-block-post-content > p:first-of-type { font-size: 17.5px; }
    .z-post-body .wp-block-post-content h2 { font-size: 22px; margin-top: 32px; }
}


/* ---- 9. medida de leitura estável ----
   ".z-section p { max-width: 60ch !important }" faz a coluna variar
   conforme o tamanho da fonte: o lide (19px) ficava com 661px e os
   demais parágrafos (17px) com 592px — enquanto imagem, press kit e
   botão ocupavam a largura cheia. Era isso que dava a sensação de
   margens fora do padrão. Dentro do post, a largura passa a ser a do
   container, e só dele. */
.z-post-body .wp-block-post-content p,
.z-post-body .wp-block-post-content ul,
.z-post-body .wp-block-post-content ol,
.z-post-body .wp-block-post-content h2,
.z-post-body .wp-block-post-content h3,
.z-post-body .wp-block-post-content blockquote {
    max-width: none !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
}


/* ---- 10. botão de voltar: seta na direção certa ----
   O estilo z-outline-dark injeta uma seta "→" no círculo. Num botão
   de retorno isso apontava para o lado errado — e havia ainda uma
   segunda seta, em texto, dentro do rótulo. A textual saiu do
   template; aqui o ícone é espelhado. */
.z-post-back .wp-block-button__link::before {
    content: "\2192";
    transform: scaleX(-1);
}


/* =========================================================
   v3.4 — .z-blog-card__desc e .z-cert-note  (02/09/2026)
   Duas classes usadas na reconstrucao pos-incidente que nao
   tinham regra: o resumo dos cards de clipping em /na-midia/
   ficava com tipografia padrao do navegador dentro de um card
   estilizado, e a nota de rodape das certificacoes idem.
   ========================================================= */
.z-blog-card .z-blog-card__desc {
    margin: 8px 0 0 !important;
    font-size: 14.5px;
    line-height: 1.6;
    color: #4A5D52;
}
.z-cert-note {
    margin-top: 18px;
    font-size: 13.5px;
    line-height: 1.6;
    color: #4A5D52;
}
