/* =========================================================
   Páginas internas — componentes construídos sobre os tokens de style.css
   ========================================================= */
.mainnav a[aria-current="page"] { background: rgba(255, 255, 255, .16); }

/* Banner interno (mesma linguagem do hero da home, mais baixo) */
.page-hero { padding: 0 15px; }
.page-hero__frame {
  position: relative; isolation: isolate; overflow: hidden;
  min-height: 560px; padding: 160px 35px 72px;
  display: flex; align-items: flex-end;
  border-radius: 0 0 var(--raio) var(--raio);
  background: #3d4a36;
}
.page-hero__bg { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.page-hero__frame::before {
  content: ""; position: absolute; inset: 0; z-index: -1;
  background: linear-gradient(87deg, rgba(5, 29, 1, .84) 2.51%, rgba(5, 29, 1, .45) 80%);
}
.page-hero__content { max-width: 900px; }
.crumbs { display: flex; flex-wrap: wrap; gap: 10px; font-size: 15px; font-weight: 600; color: rgba(255, 255, 255, .7); margin-bottom: 18px; }
.crumbs a { color: #fff; }
.crumbs a:hover { color: var(--lilas); }
.page-hero__title { font-size: 88px; line-height: .98; font-weight: 900; letter-spacing: -2.08px; color: #fff; }
.page-hero__title .w { display: inline-block; }
.page-hero__lead { margin-top: 24px; max-width: 640px; font-size: 18px; line-height: 1.5; font-weight: 600; color: rgba(255, 255, 255, .94); }
.js .page-hero__title .w { opacity: 0; transform: translateY(.35em); }
.js .page-hero__title.is-in .w {
  opacity: 1; transform: none;
  transition: opacity .7s ease, transform .7s cubic-bezier(.2, .7, .2, 1);
  transition-delay: calc(var(--i) * 90ms);
}

/* Cabeçalhos de seção */
.section-head { margin-bottom: 40px; max-width: 760px; }
.section-head .h2 { margin-top: 8px; }
.section-head__lead { margin-top: 14px; }
.section-head--center { margin-inline: auto; text-align: center; }
.section-head--center .eyebrow { justify-content: center; }
.section-head--row { max-width: none; margin-top: 96px; }

/* Faixas */
.band { position: relative; }
.band--mint { background: var(--menta); padding: 96px 0 110px; }
.torn--top { top: -45px; bottom: auto; }
.torn--bottom { bottom: -45px; transform: scaleY(-1); }

/* Bloco imagem + texto */
.split { padding: 100px 0 120px; }
.split__grid { display: grid; grid-template-columns: minmax(0, 520px) minmax(0, 640px); justify-content: space-between; align-items: center; gap: 60px; }
.split__media { position: relative; }
.split__img {
  width: 100%; aspect-ratio: 1; object-fit: cover;
  -webkit-mask: url("../assets/img/mask-9.svg") center / cover no-repeat;
  mask: url("../assets/img/mask-9.svg") center / cover no-repeat;
}
.split__seal { position: absolute; right: 10px; bottom: 0; width: 150px; }
.split__text .h2 { margin: 8px 0 22px; }
.split__text .body + .body { margin-top: 16px; }
.split__media--tree img { width: 100%; max-width: 520px; margin-inline: auto; }

.contact-chips { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 34px; }
.contact-chips a {
  display: flex; align-items: center; gap: 14px;
  padding: 10px 24px 10px 10px; border-radius: 100px; background: var(--menta);
  font-weight: 800; color: var(--titulo); transition: background-color .3s;
}
.contact-chips a:hover { background: #e2eadf; }
.contact-chips small { display: block; font-size: 13px; font-weight: 600; color: var(--texto); line-height: 1.2; }
.contact-chips__icon { width: 46px; height: 46px; border-radius: 50%; background: var(--lilas); color: var(--violeta); display: grid; place-items: center; flex: none; }

/* Texto em colunas + pilares */
.prose-cols { columns: 3 300px; column-gap: 48px; }
.prose-cols .body { break-inside: avoid; margin-bottom: 18px; }
.phase-title { margin: 64px 0 28px; font-size: 26px; line-height: 1.3; font-weight: 800; color: var(--titulo); text-align: center; }
.pillars { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.pillar { background: #fff; border-radius: var(--raio); padding: 34px 28px 36px; }
.pillar .stat__icon { width: 84px; height: 84px; border-radius: 24px; }
.pillar p { margin-top: 22px; font-size: 17px; line-height: 27px; font-weight: 700; color: var(--titulo); }

/* Bloco de fechamento (linguagem do card da agenda) */
.statement-wrap { padding: 110px 0 0; }
.statement {
  position: relative; overflow: hidden; isolation: isolate;
  padding: 72px 88px; border-radius: var(--raio); color: #fff;
  background: url("../assets/img/frutas-vermelhas.jpg") center / cover;
}
.statement::before { content: ""; position: absolute; inset: 0; z-index: -1; background: rgba(136, 62, 144, .82); }
.statement__flower { position: absolute; right: -40px; top: -40px; width: 240px; height: 240px; color: rgba(255, 255, 255, .12); }
.statement__lead { max-width: 820px; font-size: 44px; line-height: 1.15; font-weight: 900; letter-spacing: -1px; }
.statement__text { max-width: 680px; margin: 20px 0 36px; font-size: 18px; line-height: 1.6; font-weight: 600; color: rgba(255, 255, 255, .9); }

/* Barra de filtros / atalhos */
.chipbar { background: #fff; border-bottom: 1px solid rgba(36, 79, 11, .1); }
.chipbar--sticky { position: sticky; top: 0; z-index: 15; }
.chipbar__inner { display: flex; gap: 10px; padding: 16px 0; overflow-x: auto; scrollbar-width: none; }
.chipbar__inner::-webkit-scrollbar { display: none; }
.chipbar--sticky .chip { height: 40px; padding: 0 15px; font-size: 14px; }
.chipbar--sticky .chipbar__inner { gap: 8px; }
.chipbar__inner--filters { padding: 0 0 36px; flex-wrap: wrap; overflow: visible; }
.chip {
  flex: none; display: inline-flex; align-items: center; gap: 8px;
  height: 44px; padding: 0 20px; border-radius: 100px;
  background: #fff; border: 1px solid rgba(36, 79, 11, .18);
  font-size: 15px; font-weight: 800; color: var(--oliva); white-space: nowrap;
  transition: background-color .25s, color .25s, border-color .25s;
}
.chip:hover { border-color: var(--violeta); color: var(--violeta); }
.chip.is-active, .chip[aria-pressed="true"] { background: var(--violeta); border-color: var(--violeta); color: #fff; }
.chip--muted { color: #8a948a; }
.chip__count { min-width: 24px; height: 24px; padding: 0 7px; border-radius: 100px; background: var(--menta); color: var(--verde); font-size: 13px; display: grid; place-items: center; }
.chip.is-active .chip__count, .chip[aria-pressed="true"] .chip__count { background: rgba(255, 255, 255, .2); color: #fff; }

/* ---------- Agenda ---------- */
.agenda-list { padding-top: 80px; }
.month { display: grid; grid-template-columns: 260px minmax(0, 1fr); gap: 40px; padding: 40px 0; scroll-margin-top: 90px; }
.month + .month { border-top: 2px dashed rgba(36, 79, 11, .18); }
.month__head { position: sticky; top: 100px; align-self: start; }
.month__name { font-size: 48px; line-height: 1.1; font-weight: 900; letter-spacing: -.96px; color: var(--titulo); }
.month__count { margin-top: 6px; font-size: 16px; font-weight: 700; color: var(--verde); }
.month__empty { align-self: center; padding: 26px 30px; border-radius: var(--raio); border: 2px dashed rgba(36, 79, 11, .25); font-size: 16px; line-height: 26px; font-weight: 500; }
.month__empty a { color: var(--violeta); font-weight: 800; }
.events { list-style: none; margin: 0; padding: 0; display: grid; gap: 14px; }
.event { display: grid; grid-template-columns: 104px minmax(0, 1fr); align-items: center; gap: 26px; background: #fff; border-radius: var(--raio); padding: 14px 30px 14px 14px; }
.event__date { height: 96px; border-radius: 22px; background: var(--roxo); color: #fff; display: flex; flex-direction: column; align-items: center; justify-content: center; }
.event__day { font-size: 28px; line-height: 1.1; font-weight: 900; letter-spacing: -.5px; }
.event__mon { font-size: 15px; font-weight: 700; color: rgba(255, 255, 255, .8); }
.event__title { font-size: 22px; line-height: 30px; font-weight: 800; color: var(--verde-escuro); }
.event__meta { margin-top: 6px; display: flex; flex-wrap: wrap; gap: 6px 22px; font-size: 15px; font-weight: 600; color: var(--texto); }
.event__meta span { display: inline-flex; align-items: center; gap: 6px; }
.event__meta svg { color: var(--verde); flex: none; }

.tbd-wrap { padding: 110px 0 0; }
.tbd-wrap .h2 { scroll-margin-top: 110px; }
.tbd { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.tbd__item { border: 2px dashed rgba(36, 79, 11, .25); border-radius: var(--raio); padding: 24px 26px; }
.tbd__title { font-size: 18px; line-height: 26px; font-weight: 800; color: var(--titulo); }
.tbd__meta { margin-top: 10px; display: flex; justify-content: space-between; gap: 10px; align-items: center; font-size: 15px; font-weight: 600; }
.tbd__tag { flex: none; padding: 2px 12px; border-radius: 100px; background: var(--menta); color: var(--verde); font-size: 13px; font-weight: 800; }

/* ---------- Notícias ---------- */
.news-page { padding-top: 80px; }
.news-page .news__head { margin-bottom: 32px; }
.feature--wide { height: 540px; }
.feature--wide .feature__body { height: auto; max-width: 860px; }
.feature__tag { margin-top: 28px; font-size: 15px; font-weight: 800; color: var(--lilas); }
.feature--wide .feature__title { margin-top: 8px; margin-bottom: 28px; }
.news-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px 24px; }
.card--grid .card__media { aspect-ratio: 4 / 3; }
.card__excerpt { margin: -6px 0 16px; font-size: 15px; line-height: 25px; font-weight: 500; color: var(--texto); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card--grid .card__title { display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.is-filtered-out, .is-paged-out { display: none !important; }
.news-empty { padding: 40px 0; text-align: center; font-weight: 700; }
.load-more { margin-top: 56px; display: flex; justify-content: center; }
.load-more[hidden] { display: none; }

/* ---------- Mídias ---------- */
.videos-wrap { padding: 100px 0 130px; }
.videos { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 40px 24px; }
.video__thumb { position: relative; display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: var(--raio); overflow: hidden; background: var(--verde-escuro); }
.video__thumb img { width: 100%; height: 100%; object-fit: cover; opacity: .88; transform: scale(1.34); transition: transform .8s ease, opacity .3s; } /* corta as faixas pretas da miniatura 4:3 do YouTube */
.video__thumb:hover img { transform: scale(1.4); opacity: 1; }
.video__thumb .play { position: absolute; left: 50%; top: 50%; translate: -50% -50%; }
.video__thumb .play::before { inset: 0; }
.video__cap { margin-top: 16px; font-size: 19px; line-height: 28px; font-weight: 800; color: var(--titulo); }
.clips { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; }
.clip { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: var(--raio); padding: 30px 32px 28px; transition: box-shadow .3s; }
.clip:hover { box-shadow: 0 0 0 2px var(--violeta); }
.clip__outlet { font-size: 15px; font-weight: 800; color: var(--verde-claro); }
.clip__title { margin-top: 6px; font-size: 21px; line-height: 30px; font-weight: 800; color: var(--verde-escuro); }
.clip__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.clip__cap { margin-top: 10px; font-size: 15px; line-height: 25px; font-weight: 500; }
.clip__go { margin-top: auto; padding-top: 16px; display: inline-flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 800; color: var(--violeta); }

/* ---------- Cooperativas ---------- */
.coop-intro { padding: 100px 0 120px; }
.coop-intro__grid { display: grid; grid-template-columns: minmax(0, 620px) auto; justify-content: space-between; align-items: end; gap: 40px; }
.coop-intro .h2 { margin: 8px 0 18px; }
.mini-stats { display: flex; gap: 14px; }
.mini-stats li { min-width: 150px; padding: 22px 24px; border-radius: var(--raio); border: 2px dashed rgba(36, 79, 11, .3); }
.mini-stats__n { display: block; font-size: 48px; line-height: 1; font-weight: 900; letter-spacing: -1px; color: var(--titulo); }
.mini-stats__l { display: block; margin-top: 8px; font-size: 15px; font-weight: 700; color: var(--verde); }
.coop-group + .coop-group { margin-top: 64px; }
.coop-group__title { margin-bottom: 24px; font-size: 32px; font-weight: 900; letter-spacing: -.5px; color: var(--titulo); }
.coop-group__title span { margin-left: 10px; font-size: 16px; font-weight: 700; letter-spacing: 0; color: var(--verde); }
.coops { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.coop { display: flex; gap: 16px; align-items: flex-start; background: #fff; border-radius: 22px; padding: 22px; }
.coop__icon { width: 52px; height: 52px; border-radius: 16px; background: var(--verde); color: #fff; display: grid; place-items: center; flex: none; }
.coop__name { font-size: 17px; line-height: 24px; font-weight: 800; color: var(--verde-escuro); }
.coop__city { margin-top: 6px; display: flex; align-items: center; gap: 5px; font-size: 14px; font-weight: 600; color: var(--texto); }
.coop__city svg { color: var(--verde); flex: none; }

/* ---------- Biblioteca ---------- */
.split--tree { padding-bottom: 100px; }
.tree-parts { margin-top: 28px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; }
.tree-parts li { padding: 18px 20px; border-radius: 22px; background: var(--menta); font-size: 15px; line-height: 22px; font-weight: 600; }
.tree-parts strong { display: block; margin-bottom: 4px; font-size: 18px; font-weight: 900; color: var(--verde); }
.library { padding-top: 80px; }
.lib-section { scroll-margin-top: 90px; }
.lib-section + .lib-section { margin-top: 96px; }
.docs { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.doc { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 22px; padding: 24px 26px; transition: box-shadow .3s; }
.doc:hover { box-shadow: 0 0 0 2px var(--violeta); }
.doc__icon { position: relative; width: 56px; height: 56px; border-radius: 16px; background: var(--verde); color: #fff; display: grid; place-items: center; margin-bottom: 18px; }
.doc__type { position: absolute; right: -10px; bottom: -6px; padding: 1px 7px; border-radius: 100px; background: var(--amarelo); color: var(--verde-escuro); font-size: 11px; font-weight: 900; }
.doc__sub { font-size: 14px; font-weight: 800; color: var(--verde-claro); }
.doc__title { margin-top: 4px; font-size: 18px; line-height: 26px; font-weight: 800; color: var(--verde-escuro); }
.doc__title a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.doc__go { margin-top: auto; padding-top: 14px; display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 800; color: var(--violeta); }

.shelves { columns: 2 420px; column-gap: 16px; }
.shelf { break-inside: avoid; margin-bottom: 14px; background: #fff; border-radius: 22px; }
.shelf summary {
  list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 12px;
  padding: 18px 22px; font-size: 18px; font-weight: 800; color: var(--titulo); border-radius: 22px;
}
.shelf summary::-webkit-details-marker { display: none; }
.shelf summary::after {
  content: "+"; width: 32px; height: 32px; flex: none; border-radius: 50%;
  background: var(--menta); color: var(--verde); display: grid; place-items: center;
  font-size: 22px; line-height: 1; transition: transform .3s;
}
.shelf[open] summary::after { transform: rotate(45deg); }
.shelf summary:hover { color: var(--violeta); }
.shelf__n { margin-left: auto; font-size: 14px; font-weight: 700; color: var(--verde); }
.shelf ul { padding: 0 22px 18px; }
.shelf li a { display: flex; align-items: flex-start; gap: 10px; padding: 9px 0; border-top: 1px solid rgba(36, 79, 11, .1); font-size: 15px; line-height: 22px; font-weight: 600; }
.shelf li a svg { color: var(--verde); flex: none; margin-top: 2px; }
.shelf li a:hover { color: var(--violeta); }
.shelf__ext { margin-left: auto; padding-left: 8px; font-size: 12px; font-weight: 900; color: var(--verde-claro); }

.linkgroup + .linkgroup { margin-top: 44px; }
.linkgroup__title { margin-bottom: 18px; font-size: 22px; font-weight: 800; color: var(--titulo); }
.linkcards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.linkcard { position: relative; display: flex; flex-direction: column; background: #fff; border-radius: 22px; padding: 24px 26px; transition: box-shadow .3s; }
.linkcard:hover { box-shadow: 0 0 0 2px var(--violeta); }
.linkcard__name { font-size: 17px; line-height: 25px; font-weight: 800; color: var(--verde-escuro); }
.linkcard__name a::after { content: ""; position: absolute; inset: 0; border-radius: inherit; }
.linkcard__desc { margin-top: 8px; font-size: 15px; line-height: 24px; font-weight: 500; }
.linkcard__url { margin-top: auto; padding-top: 14px; display: inline-flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 800; color: var(--violeta); word-break: break-all; }

/* Parceiros nas páginas internas */
main > .partners:last-child { padding-top: 120px; }

/* ---------- Responsivo ---------- */
@media (max-width: 1200px) {
  .page-hero__title { font-size: 72px; }
  .pillars { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .docs, .linkcards, .coops, .tbd, .news-grid, .videos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .coop-intro__grid { grid-template-columns: 1fr; }
  .statement { padding: 60px 48px; }
}
@media (max-width: 1024px) {
  .page-hero__frame { min-height: 0; padding: 110px 30px 56px; border-radius: var(--raio); }
  .split__grid { grid-template-columns: 1fr; max-width: 680px; }
  .split__media { max-width: 460px; margin-inline: auto; width: 100%; }
  .month { grid-template-columns: 1fr; gap: 20px; }
  .month__head { position: static; }
}
@media (max-width: 767px) {
  .page-hero { padding: 0 10px; }
  .page-hero__frame { padding: 80px 20px 40px; }
  .page-hero__title { font-size: 46px; letter-spacing: -1px; }
  .page-hero__lead { font-size: 16px; }
  .split, .coop-intro, .videos-wrap { padding: 64px 0 80px; }
  .band--mint { padding: 70px 0 80px; }
  .prose-cols { columns: 1; }
  .pillars, .docs, .linkcards, .coops, .tbd, .news-grid, .videos, .clips, .tree-parts { grid-template-columns: 1fr; }
  .phase-title { font-size: 22px; }
  .statement-wrap { padding-top: 70px; }
  .statement { padding: 44px 24px; }
  .statement__lead { font-size: 30px; }
  .month__name { font-size: 36px; }
  .event { grid-template-columns: 76px minmax(0, 1fr); gap: 16px; padding: 12px 18px 12px 12px; }
  .event__date { height: 76px; border-radius: 18px; }
  .event__day { font-size: 21px; }
  .event__title { font-size: 18px; line-height: 25px; }
  .mini-stats { flex-wrap: wrap; }
  .mini-stats li { min-width: 0; flex: 1 1 120px; }
  .mini-stats__n { font-size: 38px; }
  .feature--wide { height: 460px; }
  .section-head--row { margin-top: 70px; }
  .shelves { columns: 1; }
  .contact-chips a { width: 100%; }
  .doc { display: grid; grid-template-columns: 48px minmax(0, 1fr); column-gap: 16px; align-content: start; padding: 18px; }
  .doc__icon { grid-row: span 3; width: 48px; height: 48px; margin: 0; }
  .doc__go { padding-top: 8px; }
  .linkcard, .clip { padding: 22px; }
  main > .partners:last-child { padding-top: 70px; }
}

@media (prefers-reduced-motion: reduce) {
  .js .page-hero__title .w { opacity: 1; transform: none; }
}

/* =========================================================
   Página da notícia (noticias/<slug>.html)
   ========================================================= */
.page-hero--post .page-hero__frame { min-height: 620px; }
.page-hero--post .page-hero__content { max-width: 1040px; }
.page-hero--post .page-hero__title { font-size: 58px; line-height: 1.06; letter-spacing: -1.2px; }
.post-meta { margin-top: 28px; display: flex; flex-wrap: wrap; align-items: center; gap: 12px 22px; font-size: 16px; font-weight: 700; color: rgba(255, 255, 255, .92); }
.post-meta__item { display: inline-flex; align-items: center; gap: 8px; }
.post-meta__item svg { color: var(--lilas); }
.post-meta__cat { padding: 4px 14px; border-radius: 100px; background: rgba(255, 255, 255, .16); font-size: 14px; }

.post-page { padding: 88px 0 110px; }
.post-layout { display: grid; grid-template-columns: minmax(0, 780px) 300px; justify-content: space-between; gap: 64px; align-items: start; }

/* Texto da notícia */
.prose { font-size: 18px; line-height: 1.78; font-weight: 500; color: var(--texto); }
.prose > * + * { margin-top: 1.1em; }
.prose > p:first-child { font-size: 21px; line-height: 1.6; font-weight: 700; color: var(--titulo); }
.prose h2, .prose h3, .prose h4 { margin-top: 1.8em; font-weight: 800; line-height: 1.3; color: var(--titulo); }
.prose h2 { font-size: 30px; letter-spacing: -.02em; }
.prose h3 { font-size: 24px; }
.prose h4 { font-size: 20px; }
.prose strong { font-weight: 800; color: var(--titulo); }
.prose a { color: var(--violeta); font-weight: 700; text-decoration: underline; text-decoration-thickness: 1.5px; text-underline-offset: 3px; overflow-wrap: anywhere; }
.prose a:hover { color: var(--roxo); }
.prose ul, .prose ol { padding-left: 1.3em; }
.prose ul { list-style: disc; }
.prose li + li { margin-top: .4em; }
.prose li::marker { color: var(--verde); }
.prose blockquote { margin-inline: 0; padding: 4px 0 4px 24px; border-left: 4px solid var(--lilas); font-weight: 700; color: var(--titulo); }

/* Fotos */
.post-figure, .post-gallery, .post-embed { margin-block: 40px; }
.prose > .post-figure + *, .prose > .post-gallery + *, .prose > .post-embed + * { margin-top: 40px; }
.post-figure a { display: block; border-radius: 20px; overflow: hidden; }
.post-figure img { width: 100%; }
.post-figure figcaption { margin-top: 10px; font-size: 14px; line-height: 1.5; color: #636D6C; }
.post-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; gap: 10px; }
.post-gallery a { position: relative; display: block; aspect-ratio: 4 / 3; border-radius: 14px; overflow: hidden; background: var(--menta); }
.post-gallery a:first-child { grid-column: span 2; grid-row: span 2; }
.post-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.post-gallery a:hover img { transform: scale(1.05); }
.post-gallery--one { grid-template-columns: 1fr; }
.post-gallery--one a:first-child { grid-column: auto; grid-row: auto; aspect-ratio: auto; }
.post-gallery--more a:nth-child(n+10) { display: none; }
.post-gallery a[data-more]::after {
  content: attr(data-more); position: absolute; inset: 0; display: grid; place-items: center;
  background: rgba(10, 40, 3, .62); color: #fff; font-size: 30px; font-weight: 900;
}
.post-embed { position: relative; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; background: #000; }
.post-embed iframe, .post-embed video { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* Anterior / próxima */
.post-nav { margin-top: 64px; padding-top: 32px; border-top: 1px solid #E1E7E0; display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.post-nav__link { display: flex; flex-direction: column; gap: 8px; padding: 22px 24px; border-radius: 20px; background: var(--menta); transition: background-color .3s; }
.post-nav__link:hover { background: #e2eadf; }
.post-nav__link--newer { text-align: right; align-items: flex-end; }
.post-nav__dir { display: inline-flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 800; color: var(--verde); }
.post-nav__title { font-size: 17px; line-height: 1.45; font-weight: 800; color: var(--titulo); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Lateral */
.post-aside { position: sticky; top: 30px; }
.post-aside__card { padding: 30px 28px; border-radius: var(--raio); background: var(--menta); }
.post-aside__label { font-size: 18px; font-weight: 800; color: var(--titulo); }
.share { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.share__btn { width: 42px; height: 42px; border-radius: 50%; display: grid; place-items: center; background: #fff; color: var(--roxo); transition: background-color .3s, color .3s; }
.share__btn:hover { background: var(--roxo); color: #fff; }
.share__ok { margin-top: 10px; font-size: 14px; font-weight: 700; color: var(--verde); }
.post-aside__back { margin-top: 26px; width: 100%; justify-content: center; }

.related { padding: 96px 0 110px; }

/* Visualizador de fotos */
.lightbox { width: 100vw; height: 100vh; max-width: none; max-height: none; margin: 0; padding: 0; border: 0; background: rgba(8, 18, 6, .94); color: #fff; }
.lightbox::backdrop { background: rgba(8, 18, 6, .94); }
.lightbox[open] { display: grid; grid-template-rows: 1fr auto; place-items: center; }
.lightbox__img { max-width: calc(100vw - 160px); max-height: calc(100vh - 110px); width: auto; height: auto; border-radius: 10px; }
.lightbox__count { padding: 16px; font-size: 15px; font-weight: 700; color: rgba(255, 255, 255, .8); }
.lightbox__btn { position: absolute; width: 54px; height: 54px; border-radius: 50%; display: grid; place-items: center; background: rgba(255, 255, 255, .12); color: #fff; transition: background-color .3s; }
.lightbox__btn:hover { background: var(--violeta); }
.lightbox__close { top: 20px; right: 20px; }
.lightbox__prev { left: 20px; top: 50%; translate: 0 -50%; }
.lightbox__next { right: 20px; top: 50%; translate: 0 -50%; }

@media (max-width: 1200px) {
  .post-layout { grid-template-columns: minmax(0, 1fr) 260px; gap: 48px; }
  .page-hero--post .page-hero__title { font-size: 48px; }
}
@media (max-width: 1024px) {
  .post-layout { grid-template-columns: minmax(0, 1fr); }
  .post-aside { position: static; }
  .post-aside__card { display: flex; flex-wrap: wrap; align-items: center; gap: 16px 24px; }
  .post-aside__card .share { margin-top: 0; }
  .post-aside__back { margin-top: 0; width: auto; margin-left: auto; }
  .page-hero--post .page-hero__frame { min-height: 520px; }
}
@media (max-width: 767px) {
  .page-hero--post .page-hero__frame { min-height: 460px; }
  .page-hero--post .page-hero__title { font-size: 32px; letter-spacing: -.5px; }
  .post-meta { margin-top: 20px; font-size: 14px; gap: 10px 16px; }
  .post-page { padding: 56px 0 72px; }
  .prose { font-size: 17px; }
  .prose > p:first-child { font-size: 19px; }
  .post-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .post-gallery a { border-radius: 10px; }
  .post-nav { grid-template-columns: 1fr; }
  .post-nav__link--newer { text-align: left; align-items: flex-start; }
  .post-aside__back { margin-left: 0; width: 100%; }
  .lightbox__img { max-width: 100vw; max-height: calc(100vh - 150px); border-radius: 0; }
  .lightbox__prev, .lightbox__next { top: auto; bottom: 12px; translate: none; }
  .related { padding: 64px 0 80px; }
}

/* =========================================================
   Relatório BI (acesso restrito)
   ========================================================= */
.bi-page { padding: 88px 0 110px; }
.bi-login, .bi-aviso { max-width: 520px; margin-inline: auto; padding: 44px 40px; border-radius: var(--raio); background: var(--menta); }
.bi-login { display: flex; flex-direction: column; gap: 18px; }
.bi-login__titulo, .bi-aviso__titulo { font-size: 28px; line-height: 1.25; font-weight: 800; color: var(--titulo); }
.bi-login__texto { margin-top: -8px; font-size: 16px; line-height: 1.6; font-weight: 500; }
.bi-login__erro { padding: 12px 16px; border-radius: 14px; background: #fde7e8; color: #9b1c23; font-size: 15px; font-weight: 700; }
.bi-login__campo { display: flex; flex-direction: column; gap: 6px; font-size: 15px; font-weight: 800; color: var(--titulo); }
.bi-login__campo input { width: 100%; padding: 14px 18px; border: 2px solid #d6ded4; border-radius: 14px; background: #fff; font: inherit; font-weight: 600; color: var(--titulo); transition: border-color .2s; }
.bi-login__campo input:focus { outline: none; border-color: var(--violeta); }
.bi-login__lembrar { display: flex; align-items: center; gap: 8px; font-size: 15px; font-weight: 600; }
.bi-login__lembrar input { width: 18px; height: 18px; accent-color: var(--violeta); }
.bi-login .btn { justify-content: center; }
.bi-login__esqueci { align-self: center; font-size: 15px; font-weight: 700; color: var(--violeta); text-decoration: underline; text-underline-offset: 3px; }
.bi-aviso p + p { margin-top: 14px; }
.bi-aviso a:not(.btn) { color: var(--violeta); font-weight: 700; }
.bi-barra { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 20px; font-size: 16px; }
.bi-barra strong { color: var(--titulo); }
.bi-barra__sair { font-weight: 800; color: var(--violeta); }
.bi-frame { position: relative; height: min(80vh, 860px); min-height: 520px; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 0 0 1px #E1E7E0; }
.bi-frame iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

/* =========================================================
   Páginas genéricas do WordPress e blocos do editor
   ========================================================= */
.page-generic { padding: 88px 0 110px; }
.page-generic .prose { max-width: 780px; margin-inline: auto; }
.prose .wp-block-image, .prose .wp-block-gallery, .prose .wp-block-embed { margin-block: 40px; }
.prose .wp-block-image img { border-radius: 20px; }
.prose .wp-block-image figcaption, .prose .wp-element-caption { margin-top: 10px; font-size: 14px; color: #636D6C; text-align: left; }
.prose .wp-block-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.prose .wp-block-gallery .wp-block-image { margin: 0; width: auto !important; }
.prose .wp-block-gallery .wp-block-image img { width: 100%; height: 100%; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 14px; }
.prose .wp-block-embed__wrapper { position: relative; aspect-ratio: 16 / 9; border-radius: 20px; overflow: hidden; }
.prose .wp-block-embed__wrapper iframe { position: absolute; inset: 0; width: 100%; height: 100%; }
.pagination { margin-top: 56px; display: flex; justify-content: center; gap: 8px; flex-wrap: wrap; }
.pagination .page-numbers { min-width: 46px; height: 46px; padding: 0 14px; border-radius: 100px; display: grid; place-items: center; background: #fff; font-weight: 800; color: var(--titulo); }
.pagination .page-numbers.current, .pagination a.page-numbers:hover { background: var(--violeta); color: #fff; }

@media (max-width: 767px) {
  .bi-page, .page-generic { padding: 56px 0 72px; }
  .bi-login, .bi-aviso { padding: 32px 24px; }
  .bi-login__titulo, .bi-aviso__titulo { font-size: 24px; }
  .bi-frame { height: 70vh; min-height: 420px; border-radius: 14px; }
  .prose .wp-block-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
