/*
 * Aurora — folha de estilos principal do tema.
 * (O style.css na raiz do tema só guarda o cabeçalho exigido pelo WordPress.)
 */

/* =========================================================
   0. Fontes (auto-hospedadas — Comfortaa e Montserrat, licença OFL)
   ========================================================= */
@font-face { font-family: "Comfortaa"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/comfortaa-latin-wght.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Comfortaa"; font-style: normal; font-weight: 300 700; font-display: swap;
  src: url("../fonts/comfortaa-latin-ext-wght.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/montserrat-latin-wght.woff2") format("woff2");
  unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD; }
@font-face { font-family: "Montserrat"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("../fonts/montserrat-latin-ext-wght.woff2") format("woff2");
  unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF; }

/* =========================================================
   1. Tokens (cores e fontes extraídas do layout)
   ========================================================= */
:root {
  --aurora-orange: #FFA022;      /* laranja principal (faixas, títulos, botões) */
  --aurora-orange-dark: #E8890A; /* hover */
  --aurora-black: #000000;       /* itens de menu */
  --aurora-text: #1A1A1A;        /* textos corridos */
  --aurora-white: #FFFFFF;

  --font-display: "Comfortaa", system-ui, sans-serif; /* títulos, menu, botões, tags */
  --font-body: "Montserrat", system-ui, sans-serif;   /* textos corridos, legendas */

  --container: 1072px;   /* área de conteúdo (64px de margem em 1200px) */
  --container-header: 1022px;
  --gutter: 24px;
}

/* =========================================================
   2. Base
   ========================================================= */
*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--aurora-white);
  color: var(--aurora-text);
  font-family: var(--font-body);
  font-size: 18px;
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

img { max-width: 100%; height: auto; display: block; }
a { color: inherit; text-decoration: none; }

.container {
  width: 100%;
  max-width: calc(var(--container) + var(--gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.screen-reader-text {
  position: absolute !important;
  width: 1px; height: 1px;
  overflow: hidden; clip: rect(1px, 1px, 1px, 1px);
  white-space: nowrap;
}

/* =========================================================
   3. Cabeçalho (header.php)
   ========================================================= */
.site-header { background: var(--aurora-white); }

.site-header__inner {
  max-width: calc(var(--container-header) + var(--gutter) * 2);
  margin: 0 auto;
  padding: 34px var(--gutter) 34px;
  display: flex;
  align-items: center;
  gap: 32px;
}

.site-logo { display: block; width: 98px; flex-shrink: 0; color: var(--aurora-orange); }
.site-logo svg { width: 100%; height: auto; display: block; }

.main-navigation { margin-left: auto; margin-right: auto; }

.main-navigation .menu {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  gap: 18px;
}

.main-navigation .menu a {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 20px;
  color: var(--aurora-black);
  transition: color .2s;
}

.main-navigation .menu a:hover,
.main-navigation .current-menu-item > a { color: var(--aurora-orange); }

.header-actions { display: flex; align-items: center; gap: 30px; }

.social-link { display: block; width: 38px; height: 38px; color: var(--aurora-orange); }
.social-link svg { width: 100%; height: 100%; display: block; }
.social-link:hover { color: var(--aurora-orange-dark); }

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: 999px;
  cursor: pointer;
  border: 0;
  transition: background-color .2s, color .2s, box-shadow .2s;
}

.btn--primary {
  background: var(--aurora-orange);
  color: var(--aurora-white);
  font-size: 24px;
  padding: 0 24px;
  height: 48px;
  min-width: 118px;
}
/* Hover — botão laranja sobre fundo branco: fundo branco, borda e texto laranja */
.btn--primary { box-shadow: inset 0 0 0 2px var(--aurora-orange); }
.btn--primary:hover,
.btn--primary:focus-visible { background: var(--aurora-white); color: var(--aurora-orange); }

.menu-toggle {
  display: none;
  background: none;
  border: 0;
  padding: 8px;
  cursor: pointer;
  color: var(--aurora-orange);
}
.menu-toggle svg { width: 32px; height: 32px; display: block; }

/* =========================================================
   4. Títulos de página
   ========================================================= */
.page-header { padding-top: 80px; }

.page-title {
  margin: 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(44px, 7.2vw, 84px);
  line-height: 1.12;
  color: var(--aurora-orange);
  text-transform: uppercase;
  letter-spacing: 0.01em;
}

.section-title { /* mesmo estilo, para seções internas */
  margin: 0 0 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(40px, 6.6vw, 80px);
  line-height: 1.12;
  color: var(--aurora-orange);
  text-transform: uppercase;
}

/* =========================================================
   5. Tags / filtros de categoria
   ========================================================= */
.cat-filter {
  list-style: none;
  margin: 58px 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 12px 20px;
}

.tag {
  display: inline-flex;
  align-items: center;
  height: 42px;
  padding: 0 14px;
  border: 2px solid var(--aurora-orange);
  border-radius: 999px;
  background: var(--aurora-white);
  color: var(--aurora-orange);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1;
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
.cat-filter .tag { padding: 0 16px; }

.tag:hover,
.tag.is-active,
.cat-filter .current-cat .tag {
  background: var(--aurora-orange);
  color: var(--aurora-white);
}

.tag--sm { height: 42px; font-size: 18px; padding: 0 12px; }

/* =========================================================
   6. Home (front-page.php)
   ========================================================= */
.container--narrow { max-width: calc(968px + var(--gutter) * 2); }

/* Botões adicionais (variações do "Ver todos" / "Saiba mais") */
.btn--light {                         /* branco sobre laranja */
  background: var(--aurora-white);
  color: var(--aurora-orange);
  font-size: 26px;
  height: 48px;
  padding: 0 18px;
}
/* Hover — botão sobre fundo laranja: fundo transparente, borda e texto brancos */
.btn--light { box-shadow: inset 0 0 0 2px var(--aurora-white); }
.btn--light:hover,
.btn--light:focus-visible { background: transparent; color: var(--aurora-white); }

.btn--outline {                       /* contorno laranja sobre branco */
  background: transparent;
  color: var(--aurora-orange);
  box-shadow: inset 0 0 0 2px var(--aurora-orange);
  font-size: 26px;
  height: 48px;
  padding: 0 18px;
}
.btn--outline:hover { background: var(--aurora-orange); color: var(--aurora-white); }

.btn--outline-light {                 /* contorno branco sobre laranja */
  background: transparent;
  color: var(--aurora-white);
  box-shadow: inset 0 0 0 2px var(--aurora-white);
  font-size: 26px;
  height: 48px;
  padding: 0 18px;
}
.btn--outline-light:hover { background: var(--aurora-white); color: var(--aurora-orange); }

.btn--lg { font-size: 30px; height: 62px; padding: 0 22px; }
.btn--md { font-size: 26px; height: 50px; padding: 0 18px; min-width: 0; }

/* Banner do topo (imagem de largura total) */
.home-banner {
  height: clamp(200px, 35vw, 420px);
  background-color: #241640;
  background-size: cover;
  background-position: center;
}

/* Faixa laranja — "Nossos ebooks" (carrossel) */
.home-band {
  background: var(--aurora-orange);
  color: var(--aurora-white);
  padding: 28px 0 40px;
}

.home-band .section-title { color: var(--aurora-white); margin-bottom: 36px; }

.ebook-slider { position: relative; }

.ebook-slider__track {
  display: flex;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.ebook-slider__track::-webkit-scrollbar { display: none; }

.ebook-slide {
  flex: 0 0 100%;
  scroll-snap-align: start;
  display: flex;
  align-items: center;
  gap: 48px;
  padding: 0 80px 0 48px;
}

.ebook-slide__cover {
  flex: 0 0 207px;
  aspect-ratio: 300 / 427;
  overflow: hidden;
  box-shadow: 0 14px 30px rgba(0,0,0,.18);
}
.ebook-slide__cover img { width: 100%; height: 100%; object-fit: cover; }

.ebook-slide__title {
  margin: 0 0 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 34px;
  line-height: 1.2;
  color: var(--aurora-white);
}

.ebook-slide__meta {
  margin: 0;
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 20px;
  line-height: 1.5;
  color: var(--aurora-text);
}

.ebook-slider__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 56px;
  height: 80px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--aurora-white);
  cursor: pointer;
}
.ebook-slider__nav svg { width: 100%; height: 100%; display: block; }
.ebook-slider__nav--prev { left: -16px; }
.ebook-slider__nav--next { right: -16px; }
.ebook-slider__nav:disabled { opacity: .35; cursor: default; }

.section-actions { display: flex; justify-content: flex-end; margin-top: 24px; }

/* "Nossos textos" — publicações em 3 colunas */
.home-texts { padding: 56px 0 72px; }

.home-posts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  column-gap: 72px;
  row-gap: 56px;
  margin-top: 36px;
}
.home-posts .post-card__title { font-size: 20px; margin: 18px 0 8px; }
.home-posts .tag--sm,
.related-posts .tag--sm { height: 28px; font-size: 13px; padding: 0 8px; border-width: 1.5px; }

/* "Sobre nós" / "Eventos" / "Converse com a gente" */
.home-about { padding: 0 0 120px; }

.home-block {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 340px;
  align-items: center;
  column-gap: 32px;
  margin-bottom: 64px;
}
.home-block--text-only { grid-template-columns: minmax(0, 1fr); }

.home-block .section-title { margin-bottom: 28px; }

.home-lead {
  margin: 0 0 32px;
  max-width: 640px;
  font-family: var(--font-display);
  font-weight: 300;
  font-size: clamp(22px, 2.6vw, 31px);
  line-height: 1.2;
  color: var(--aurora-orange);
}
.home-lead strong { font-weight: 700; }
.home-lead--xl { font-size: clamp(30px, 4vw, 48px); max-width: 600px; }

.home-block__art { justify-self: end; width: 100%; max-width: 340px; }
.home-block__art svg,
.home-block__art img { width: 100%; height: auto; display: block; }

/* =========================================================
   7. Publicações (home.php / archive.php)
   ========================================================= */
.posts-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 425px));
  column-gap: 111px;
  row-gap: 80px;
  margin: 66px 0 0;
  padding: 0 0 120px;
}

.post-card__thumb {
  display: block;
  aspect-ratio: 425 / 261;
  background: var(--aurora-orange); /* placeholder enquanto não há imagem destacada */
  overflow: hidden;
}
.post-card__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.post-card:hover .post-card__thumb img { transform: scale(1.04); }


.post-card__thumb2 {
  display: block;
  aspect-ratio: 425 / 261;
  background: var(--aurora-orange);
  background-image: url('../img/publicacao-mockup.jpg'); /* placeholder enquanto não há imagem destacada */
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.post-card__thumb2 img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.post-card__thumb2 img { transform: scale(1.04); }

.post-card__title {
  margin: 28px 0 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.25;
  color: var(--aurora-orange);
}
.post-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }

.post-card__cats { display: flex; flex-wrap: wrap; gap: 8px; }

.is-hidden { display: none !important; }

/* =========================================================
   8. Ebooks (archive-ebook.php)
   ========================================================= */
.ebooks-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 300px));
  column-gap: 171px;
  row-gap: 80px;
  margin: 70px 0 0;
  padding: 0 0 120px 58px;
}

.ebook-card__cover {
  display: block;
  aspect-ratio: 300 / 427;
  background: var(--aurora-orange);
  overflow: hidden;
  box-shadow: 0 0 0 rgba(0,0,0,0);
  transition: transform .3s, box-shadow .3s;
}
.ebook-card__cover img { width: 100%; height: 100%; object-fit: cover; }
.ebook-card:hover .ebook-card__cover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(0,0,0,.18); }

.ebook-card__meta {
  margin: 22px 0 0;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 25px;
  line-height: 1.28;
  color: var(--aurora-text);
}
.ebook-card__meta span { display: block; }

/* =========================================================
   9. Sobre (page-sobre.php)
   ========================================================= */
.about-block { padding-top: 80px; }
.about-block + .about-block { padding-top: 64px; }

.about-block__content {
  max-width: 800px;
  min-height: 90px;
  font-size: 18px;
}
.about-block__content p { margin: 0 0 1em; }

.team { padding: 120px 0 140px; }

.team-grid {
  list-style: none;
  margin: 100px 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  row-gap: 110px;
  column-gap: 24px;
  text-align: center;
}

.team-member__name {
  margin: 0 0 22px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 28px;
  line-height: 1.2;
  color: var(--aurora-orange);
  text-transform: uppercase;
}

.team-member__avatar {
  position: relative;
  width: 240px;
  height: 240px;
  margin: 0 auto;
  display: grid;
  place-items: center;
  background: url("../img/avatar-ring.svg") center / contain no-repeat;
}

.team-member__avatar img {
  width: 196px;
  height: 196px;
  border-radius: 50%;
  border: 5px solid var(--aurora-orange);
  object-fit: cover;
  background: var(--aurora-white);
}

.team-member__bio {
  margin: 22px auto 0;
  max-width: 300px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  line-height: 1.3;
  color: var(--aurora-orange);
}

/* =========================================================
   10. Contato (page-contato.php)
   ========================================================= */
.contact-content { min-height: 360px; padding: 48px 0 120px; }

/* =========================================================
   11. Rodapé (footer.php)
   ========================================================= */
.site-footer {
  background: var(--aurora-orange);
  color: var(--aurora-white);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
}
.site-footer__inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  padding-top: 28px;
  padding-bottom: 28px;
}
.site-footer a:hover { text-decoration: underline; }

/* =========================================================
   12. Responsivo
   ========================================================= */
@media (max-width: 1080px) {
  .site-header__inner { gap: 20px; }
  .main-navigation .menu { gap: 14px; }
  .main-navigation .menu a { font-size: 18px; }
  .header-actions { gap: 18px; }
  .posts-grid { column-gap: 48px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ebooks-grid { column-gap: 64px; padding-left: 0; }
}

@media (max-width: 860px) {
  .site-header__inner { flex-wrap: wrap; padding-top: 20px; padding-bottom: 20px; }
  .site-logo { width: 72px; }
  .menu-toggle { display: block; order: 3; }
  .header-actions { margin-left: auto; order: 2; }
  .main-navigation { order: 4; flex-basis: 100%; margin: 0; display: none; }
  .main-navigation.is-open { display: block; }
  .main-navigation .menu { flex-direction: column; gap: 4px; padding: 8px 0 12px; }
  .main-navigation .menu a { display: block; padding: 10px 0; font-size: 22px; }

  .page-header { padding-top: 40px; }
  .cat-filter { margin-top: 32px; }
  .team-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 72px; }
}

@media (max-width: 600px) {
  :root { --gutter: 16px; }
  .btn--primary { font-size: 20px; height: 42px; min-width: 0; padding: 0 18px; }
  .social-link { width: 32px; height: 32px; }
  .header-actions { gap: 14px; }

  .tag { font-size: 16px; height: 38px; }
  .posts-grid { grid-template-columns: 1fr; row-gap: 56px; margin-top: 40px; }
  .post-card__title { font-size: 24px; margin-top: 20px; }

  .ebooks-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 20px; margin-top: 40px; }
  .ebook-card__meta { font-size: 18px; }

  .team { padding-top: 80px; }
  .team-grid { grid-template-columns: 1fr; margin-top: 56px; }
  .team-member__name { font-size: 24px; }

  .site-footer__inner { flex-direction: column; text-align: center; }
}

/* =========================================================
   13. Publicação (single.php)
   ========================================================= */
:root { --post-text-weight: 300; } /* no PDF: Montserrat Thin (100) */

.post-header { padding-top: 16px; padding-bottom: 28px; }

.post-tags { display: flex; flex-wrap: wrap; gap: 16px; margin-bottom: 14px; }

.tag--solid { background: var(--aurora-orange); color: var(--aurora-white); font-size: 22px; height: 42px; padding: 0 12px; border: 0; }
.tag--solid { box-shadow: inset 0 0 0 2px var(--aurora-orange); }
.tag--solid:hover,
.tag--solid:focus-visible { background: var(--aurora-white); color: var(--aurora-orange); }

.post-title {
  margin: 0 0 18px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(38px, 6.4vw, 76px);
  line-height: 1.1;
  color: var(--aurora-orange);
}

.post-dek {
  margin: 0;
  max-width: 820px;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(18px, 2vw, 24px);
  line-height: 1.25;
  color: var(--aurora-black);
}

/* Imagem destacada em largura total */
.post-banner { margin: 0; }
.post-banner__img {
  height: clamp(200px, 35vw, 420px);
  background-color: #241640;
  background-size: cover;
  background-position: center;
}

/* Legendas (imagem destacada e imagens no texto) */
.post-banner figcaption,
.entry-content figcaption,
.wp-element-caption {
  margin-top: 12px;
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 18px;
  line-height: 1.25;
  color: var(--aurora-black);
}
.post-banner figcaption { max-width: 620px; }

/* Corpo: coluna de texto + "Compartilhe!" à direita */
.post-body {
  position: relative;
  max-width: calc(980px + var(--gutter) * 2);
  margin: 0 auto;
  padding: 0 var(--gutter);
}

.post-banner__caption-wrap { padding-left: 93px; }

/* No desktop o bloco de texto fica levemente deslocado à direita, como no layout */
@media (min-width: 1081px) {
  .post-body { padding-left: calc(var(--gutter) + 37px); padding-right: calc(var(--gutter) - 37px); }
  .post-banner__caption-wrap { padding-left: calc(var(--gutter) + 37px + 106px); }
}

.entry-content {
  max-width: 620px;
  margin-left: 93px;
  padding-top: 40px;
  font-family: var(--font-body);
  font-weight: var(--post-text-weight);
  font-size: 23px;
  line-height: 1.26;
  color: var(--aurora-black);
}
.entry-content::after { content: ""; display: table; clear: both; }
.entry-content > * { margin-top: 0; margin-bottom: 29px; }
.entry-content p { margin: 0 0 29px; }

.entry-content a {
  color: var(--aurora-orange);
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-thickness: 1px;
}
.entry-content a:hover { color: var(--aurora-orange-dark); }

.entry-content h2,
.entry-content h3 {
  font-family: var(--font-body);
  font-weight: 500;
  line-height: 1.2;
  color: var(--aurora-black);
}
.entry-content h2 { font-size: 36px; margin: 56px 0 20px -4px; }
.entry-content h3 { font-size: 28px; margin: 40px 0 16px; }

.entry-content figure { margin: 0 0 29px; }
.entry-content figure img { width: 100%; height: auto; display: block; }

/* Imagem à direita que avança sobre a coluna lateral */
.entry-content .alignright { width: 431px; margin: 6px -267px 16px 20px; }

/* Imagem larga (bloco Imagem com largura "Larga" no WordPress) */
.entry-content .alignwide { clear: both; width: 906px; max-width: none; margin-left: -93px; }

.entry-content hr,
.wp-block-separator {
  clear: both;
  width: 822px;
  max-width: none;
  height: 0;
  margin: 32px 0 32px -51px;
  border: 0;
  border-top: 4px solid var(--aurora-orange);
  border-radius: 2px;
}

.entry-content .post-back { margin-top: 40px; }

/* Compartilhe! */
.post-share {
  position: absolute;
  top: 40px;
  right: var(--gutter);
  width: 170px;
}
.post-share__title {
  margin: 0 0 14px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 24px;
  color: var(--aurora-black);
  text-align: right;
}
.post-share__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, 46px);
  gap: 11px 15px;
  justify-content: end;
}
.post-share__list a,
.post-share__list button {
  width: 46px;
  height: 46px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 50%;
  background: var(--aurora-orange);
  color: var(--aurora-white);
  cursor: pointer;
  transition: background-color .2s, color .2s, transform .2s;
}
.post-share__list a,
.post-share__list button { box-shadow: inset 0 0 0 2px var(--aurora-orange); }
.post-share__list a:hover,
.post-share__list button:hover,
.post-share__list a:focus-visible,
.post-share__list button:focus-visible { background: var(--aurora-white); color: var(--aurora-orange); }
.post-share__list svg { width: 24px; height: 24px; display: block; }
.post-share__feedback { margin: 10px 0 0; font-family: var(--font-display); font-size: 14px; color: var(--aurora-orange); text-align: right; min-height: 1.2em; }

/* Créditos: Escrito / Revisado / Ilustrado por */
.post-credits {
  list-style: none;
  max-width: 760px;
  margin: 72px auto 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 32px;
  text-align: center;
}
.post-credits__role {
  margin: 0 0 18px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  color: var(--aurora-orange);
}
.post-credits .team-member__name { font-size: 20px; margin-bottom: 14px; }
.post-credits .team-member__avatar { width: 150px; height: 150px; }
.post-credits .team-member__avatar img { width: 124px; height: 124px; border-width: 4px; }
.post-credits .team-member__bio { font-size: 14px; margin-top: 12px; }

/* Publicações relacionadas */
.related-posts { padding-top: 96px; }
.related-posts__title,
.comments-title,
.comment-reply-title {
  margin: 0 0 32px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 40px;
  line-height: 1.2;
  color: var(--aurora-orange);
}
.related-posts .home-posts { margin-top: 0; }

/* Comentários (marcação padrão de comments_template / comment_form) */
.comments-area { padding: 64px 0 120px; }

.comment-list { list-style: none; margin: 0 0 56px; padding: 0; max-width: 820px; }
.comment-list .children { list-style: none; margin: 0; padding-left: 64px; }
.comment-body { padding: 24px 0; border-bottom: 2px solid #FFE3BD; }
.comment-meta { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; }
.comment-author { display: flex; align-items: center; gap: 14px; }
.comment-author .avatar { width: 56px; height: 56px; border-radius: 50%; object-fit: cover; }
.comment-author .fn { font-family: var(--font-display); font-weight: 700; font-size: 20px; font-style: normal; color: var(--aurora-orange); }
.comment-author .says { display: none; }
.comment-metadata { font-family: var(--font-body); font-size: 14px; color: #777; }
.comment-content { margin: 12px 0 0 70px; font-family: var(--font-body); font-size: 17px; line-height: 1.6; color: var(--aurora-black); }
.comment-content p { margin: 0 0 .8em; }
.reply { margin-left: 70px; }
.comment-reply-link { font-family: var(--font-display); font-weight: 700; font-size: 15px; color: var(--aurora-orange); }
.comment-reply-link:hover { text-decoration: underline; }

.comment-respond { max-width: 820px; }
.comment-reply-title { font-size: 28px; margin-bottom: 8px; }
.comment-notes { margin: 0 0 24px; font-family: var(--font-body); font-size: 15px; color: #666; }
.comment-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; }
.comment-form > p { margin: 0 0 22px; }
.comment-form-comment,
.comment-form-cookies-consent,
.comment-notes,
.form-submit,
.logged-in-as { grid-column: 1 / -1; }
.comment-form label {
  display: block;
  margin-bottom: 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--aurora-orange);
}
.comment-form input[type="text"],
.comment-form input[type="email"],
.comment-form textarea {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid var(--aurora-orange);
  border-radius: 24px;
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--aurora-black);
  background: var(--aurora-white);
}
.comment-form textarea { min-height: 170px; resize: vertical; }
.comment-form input:focus,
.comment-form textarea:focus { outline: none; box-shadow: 0 0 0 4px rgba(255,160,34,.25); }
.comment-form-cookies-consent { display: flex; align-items: flex-start; gap: 10px; }
.comment-form-cookies-consent label { margin: 0; font-family: var(--font-body); font-weight: 400; font-size: 15px; color: #555; }
.comment-form-cookies-consent input { margin-top: 4px; accent-color: var(--aurora-orange); }
.form-submit { text-align: center; }
.form-submit .submit {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  height: 52px;
  padding: 0 40px;
  border: 0;
  border-radius: 999px;
  background: var(--aurora-orange);
  color: var(--aurora-white);
  cursor: pointer;
}
.form-submit .submit { box-shadow: inset 0 0 0 2px var(--aurora-orange); transition: background-color .2s, color .2s; }
.form-submit .submit:hover,
.form-submit .submit:focus-visible { background: var(--aurora-white); color: var(--aurora-orange); }

/* Home + Publicação: responsivo */
@media (max-width: 1080px) {
  .home-posts { column-gap: 40px; }
  .post-share { position: static; width: auto; margin: 32px 0 0 93px; }
  .post-share__title { text-align: left; }
  .post-share__list { grid-template-columns: repeat(6, 46px); justify-content: start; }
  .post-share__feedback { text-align: left; }
  .entry-content .alignright { width: 45%; margin: 6px 0 16px 24px; }
  .entry-content .alignwide { width: calc(100% + 93px); }
  .entry-content hr, .wp-block-separator { width: 100%; margin-left: 0; }
}

@media (max-width: 860px) {
  .home-posts { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .home-block { grid-template-columns: minmax(0, 1fr) 220px; }
  .ebook-slide { padding: 0 56px; gap: 28px; }
  .ebook-slide__cover { flex-basis: 150px; }
  .ebook-slide__title { font-size: 26px; }
  .ebook-slide__meta { font-size: 17px; }

  .entry-content, .post-share { margin-left: 0; }
  .post-banner__caption-wrap { padding-left: var(--gutter); }
  .entry-content { max-width: none; font-size: 20px; line-height: 1.45; }
  .entry-content .alignwide { width: 100%; margin-left: 0; }
}

@media (max-width: 600px) {
  .home-posts { grid-template-columns: 1fr; }
  .home-block { grid-template-columns: 1fr; row-gap: 32px; }
  .home-block__art { justify-self: center; max-width: 220px; order: -1; }
  .home-block--contact .home-block__art { order: 0; }
  .ebook-slide { flex-direction: column; align-items: flex-start; padding: 0 44px; gap: 20px; }
  .ebook-slider__nav { width: 40px; height: 60px; }
  .btn--lg { font-size: 24px; height: 52px; }
  .btn--light, .btn--outline, .btn--md { font-size: 20px; height: 44px; }

  .entry-content { font-size: 18px; }
  .entry-content .alignright { float: none; width: 100%; margin: 0 0 24px; }
  .entry-content h2 { font-size: 28px; }
  .post-credits { grid-template-columns: 1fr; gap: 40px; }
  .comment-form { grid-template-columns: 1fr; }
  .comment-content, .reply { margin-left: 0; }
}

/* =========================================================
   14. Sobre (texto) e Contato (Contact Form 7)
   ========================================================= */

/* Sobre — texto corrido */
.about-block__content { color: var(--aurora-black); line-height: 1.8; }
.about-block__content p { margin: 0 0 1.5em; }
.about-block__content--wide { max-width: none; }
.about-block__content--wide::after { content: ""; display: table; clear: both; }

/* Alinhamentos padrão do WordPress */
.alignright { float: right; margin: 0.4em 0 1.5em 48px; }
.alignleft  { float: left;  margin: 0.4em 48px 1.5em 0; }
.about-figure { width: min(42%, 440px); }
.about-figure img { width: 100%; height: auto; }

/* Contato — Contact Form 7 */
.contact-content { max-width: 860px; padding-top: 56px; }

.wpcf7-form p { margin: 0 0 24px; }

.cf7-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0 24px;
}

.wpcf7-form label {
  display: block;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--aurora-orange);
}

.wpcf7-form-control-wrap { display: block; margin-top: 8px; }

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  padding: 14px 20px;
  border: 2px solid var(--aurora-orange);
  border-radius: 24px;
  background: var(--aurora-white);
  font-family: var(--font-body);
  font-size: 17px;
  color: var(--aurora-black);
  transition: box-shadow .2s, border-color .2s;
}
.wpcf7-form textarea { min-height: 200px; resize: vertical; }

.wpcf7-form input::placeholder,
.wpcf7-form textarea::placeholder { color: #9A9A9A; }

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--aurora-orange-dark);
  box-shadow: 0 0 0 4px rgba(255, 160, 34, .25);
}

.cf7-submit { text-align: center; margin-top: 8px !important; }

.wpcf7-submit {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  height: 52px;
  padding: 0 48px;
  border: 0;
  border-radius: 999px;
  background: var(--aurora-orange);
  color: var(--aurora-white);
  cursor: pointer;
  transition: background-color .2s, color .2s;
}
.wpcf7-submit { box-shadow: inset 0 0 0 2px var(--aurora-orange); }
.wpcf7-submit:hover,
.wpcf7-submit:focus-visible { background: var(--aurora-white); color: var(--aurora-orange); }

.wpcf7-spinner { display: none; }
.wpcf7-form.submitting .wpcf7-spinner { display: inline-block; }

/* Mensagens de validação/retorno do CF7 */
.wpcf7-not-valid-tip { display: block; margin-top: 6px; font-family: var(--font-body); font-size: 14px; color: #C62828; }
.wpcf7-not-valid { border-color: #C62828 !important; }
.wpcf7-response-output { margin: 16px 0 0; padding: 12px 16px; border-radius: 12px; font-family: var(--font-body); font-size: 15px; }
.wpcf7-form.init .wpcf7-response-output { display: none; }
.wpcf7-form.sent .wpcf7-response-output { border: 2px solid #2E7D32; color: #2E7D32; }
.wpcf7-form.invalid .wpcf7-response-output,
.wpcf7-form.failed .wpcf7-response-output { border: 2px solid #C62828; color: #C62828; }

@media (max-width: 600px) {
  .alignright, .alignleft { float: none; margin: 0 0 1.5em; }
  .about-figure { width: 100%; }
  .cf7-row { grid-template-columns: 1fr; }
}
.about-block .page-title,
.about-block .section-title { margin-bottom: 32px; }

@media (min-width: 1081px) {
  .post-share { right: calc(var(--gutter) - 37px); }
}

@media (min-width: 861px) {
  .home-block--contact { grid-template-columns: minmax(0, 1fr) 300px; }
  .home-block--contact .section-title { white-space: nowrap; }
}

/* =========================================================
   15. Eventos (carrossel na página Sobre + data nos cards)
   ========================================================= */
.post-card__date,
.event-card__date {
  margin: 18px 0 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 15px;
  color: var(--aurora-text);
}
.post-card__date + .post-card__title { margin-top: 6px; }

.events { padding-top: 120px; }
.events .section-title { margin-bottom: 48px; }

.event-slider { position: relative; padding: 0 56px; }

.event-slider__track {
  --gap: 40px;
  display: flex;
  gap: var(--gap);
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  scroll-behavior: smooth;
  scrollbar-width: none;
}
.event-slider__track::-webkit-scrollbar { display: none; }

.event-card {
  flex: 0 0 calc((100% - var(--gap) * 2) / 3);
  scroll-snap-align: start;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.event-card__thumb {
  display: block;
  width: 100%;
  aspect-ratio: 425 / 261;
  background: var(--aurora-orange);
  overflow: hidden;
}
.event-card__thumb img { width: 100%; height: 100%; object-fit: cover; }

.event-card__title {
  margin: 6px 0 18px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  line-height: 1.25;
  color: var(--aurora-orange);
  flex-grow: 1;
}
.event-card__title a:hover { text-decoration: underline; text-underline-offset: 4px; }

.btn--sm { font-size: 18px; height: 42px; padding: 0 20px; }

.event-slider__nav {
  position: absolute;
  top: 0;
  width: 40px;
  height: 60px;
  margin-top: calc((100% - 112px - 80px) / 3 * 261 / 425 / 2 - 30px); /* centro da imagem */
  padding: 0;
  border: 0;
  background: none;
  color: var(--aurora-orange);
  cursor: pointer;
}
.event-slider__nav svg { width: 100%; height: 100%; display: block; }
.event-slider__nav--prev { left: 0; }
.event-slider__nav--next { right: 0; }
.event-slider__nav:disabled { opacity: .3; cursor: default; }

[data-event-end].is-past { display: none; }

@media (max-width: 860px) {
  .event-card { flex-basis: calc((100% - var(--gap)) / 2); }
  .event-slider__nav { margin-top: calc((100% - 112px - 40px) / 2 * 261 / 425 / 2 - 30px); }
}

@media (max-width: 600px) {
  .events { padding-top: 80px; }
  .event-slider { padding: 0 40px; }
  .event-card { flex-basis: 100%; }
  .event-slider__nav { width: 30px; height: 46px; margin-top: calc((100% - 80px) * 261 / 425 / 2 - 23px); }
}

/* =========================================================
   16. Colaborador (author.php) — autor, revisor ou ilustrador
   ========================================================= */
.post-credits .team-member__name a:hover,
.author-post__meta a:hover { text-decoration: underline; text-underline-offset: 3px; }
a.team-member__avatar { transition: transform .2s; }
a.team-member__avatar:hover { transform: scale(1.04); }

.author-hero {
  display: grid;
  grid-template-columns: 240px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
  padding: 72px 0 24px;
}

.author-hero__kicker {
  margin: 0 0 8px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--aurora-text);
}
.author-hero__name { font-size: clamp(40px, 6vw, 72px); }
.author-hero__role {
  margin: 10px 0 24px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 22px;
  color: var(--aurora-orange);
}
.author-hero__bio {
  max-width: 720px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 19px;
  line-height: 1.6;
  color: var(--aurora-black);
}
.author-hero__bio p { margin: 0 0 1em; }

.author-hero__links { list-style: none; margin: 8px 0 20px; padding: 0; display: flex; flex-wrap: wrap; gap: 12px; }
.author-hero__links a {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--aurora-orange);
  color: var(--aurora-white);
  box-shadow: inset 0 0 0 2px var(--aurora-orange);
  transition: background-color .2s, color .2s;
}
.author-hero__links a:hover,
.author-hero__links a:focus-visible { background: var(--aurora-white); color: var(--aurora-orange); }
.author-hero__links svg { width: 22px; height: 22px; }

.author-hero__count { margin: 0; font-family: var(--font-display); font-size: 17px; color: var(--aurora-text); }
.author-hero__count strong { color: var(--aurora-orange); }

.author-section { padding-top: 72px; }
.author-section:last-child { padding-bottom: 120px; }
.author-section .section-title { font-size: clamp(36px, 5vw, 56px); margin-bottom: 0; }
.author-section .cat-filter { margin-top: 28px; }

/* Lista de publicações (linha: imagem à esquerda, texto à direita) */
.author-posts { margin-top: 24px; }
.author-post {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  gap: 40px;
  padding: 36px 0;
  border-bottom: 2px solid #FFE3BD;
}
.author-post__thumb { display: block; aspect-ratio: 425 / 261; overflow: hidden; background: var(--aurora-orange); }
.author-post__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s; }
.author-post:hover .author-post__thumb img { transform: scale(1.04); }

.author-post__tags { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; }
.author-post__tags .tag--sm { height: 30px; font-size: 14px; padding: 0 10px; border-width: 1.5px; }

.role-badge {
  display: inline-flex;
  align-items: center;
  height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  background: var(--aurora-orange);
  color: var(--aurora-white);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
}

.author-post__title {
  margin: 14px 0 10px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 30px;
  line-height: 1.2;
  color: var(--aurora-orange);
}
.author-post__title a:hover { text-decoration: underline; text-underline-offset: 4px; }

.author-post__excerpt {
  margin: 0 0 14px;
  font-family: var(--font-body);
  font-weight: 300;
  font-size: 18px;
  line-height: 1.5;
  color: var(--aurora-black);
}
.author-post__meta { margin: 0; font-family: var(--font-display); font-size: 15px; color: #666; }
.author-post__meta a { color: var(--aurora-orange); font-weight: 700; }

.author-ebooks { margin-top: 40px; padding: 0; }
.author-ebooks .author-post__tags { margin-top: 12px; }

@media (max-width: 860px) {
  .author-hero { grid-template-columns: 1fr; gap: 24px; padding-top: 40px; }
  .author-hero__avatar { margin: 0; }
  .author-post { grid-template-columns: 240px minmax(0, 1fr); gap: 24px; }
  .author-post__title { font-size: 24px; }
}

@media (max-width: 600px) {
  .author-post { grid-template-columns: 1fr; gap: 16px; padding: 28px 0; }
  .author-post__excerpt { font-size: 16px; }
}

/* =========================================================
   17. WordPress — elementos gerados pelo tema/editor
   ========================================================= */
.screen-reader-text:focus {
  clip: auto !important;
  width: auto; height: auto;
  position: fixed !important;
  top: 8px; left: 8px; z-index: 100000;
  padding: 12px 20px;
  background: var(--aurora-white);
  color: var(--aurora-orange);
  font-family: var(--font-display);
  font-weight: 700;
  border-radius: 999px;
  box-shadow: 0 2px 12px rgba(0,0,0,.2);
}

.site-logo img { width: 100%; height: auto; display: block; }
.main-navigation .menu .current-menu-ancestor > a,
.main-navigation .menu .current_page_parent > a { color: var(--aurora-orange); }

.vazio { margin: 48px 0 120px; font-family: var(--font-display); font-size: 20px; color: var(--aurora-text); }
.archive-description { max-width: 760px; margin-top: 16px; font-size: 18px; }
.aviso-admin { padding: 12px 16px; border: 2px dashed var(--aurora-orange); border-radius: 12px; font-size: 15px; }

/* Data / período abaixo da linha fina */
.post-meta {
  margin: 14px 0 0;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 16px;
  color: var(--aurora-text);
}
.post-meta__evento { color: var(--aurora-orange); }

/* Paginação */
.pagination { margin: 0 0 120px; }
.pagination .nav-links { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pagination .page-numbers {
  min-width: 44px;
  height: 44px;
  padding: 0 14px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  box-shadow: inset 0 0 0 2px var(--aurora-orange);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 18px;
  color: var(--aurora-orange);
  transition: background-color .2s, color .2s;
}
.pagination a.page-numbers:hover,
.pagination .page-numbers.current { background: var(--aurora-orange); color: var(--aurora-white); }
.pagination .page-numbers.dots { box-shadow: none; }
.posts-grid + .pagination { margin-top: -40px; }

/* Equipe e créditos: nome com link */
.team-member__name a:hover { text-decoration: underline; text-underline-offset: 4px; }
.team-member__avatar img.avatar { display: block; }

/* Texto da página Sobre (vem do editor) */
.about-content { padding-top: 80px; color: var(--aurora-black); font-size: 18px; line-height: 1.8; }
.about-content::after { content: ""; display: table; clear: both; }
.about-content > h2,
.about-content > .wp-block-heading {
  clear: both;
  margin: 64px 0 32px;
  font-family: var(--font-display);
  font-weight: 700;
  font-size: clamp(40px, 6.6vw, 80px);
  line-height: 1.12;
  color: var(--aurora-orange);
  text-transform: uppercase;
}
.about-content > h2:first-child { margin-top: 0; font-size: clamp(44px, 7.2vw, 84px); }
.about-content > p { margin: 0 0 1.5em; max-width: 800px; }
.about-content .alignright,
.about-content .alignleft { width: min(42%, 440px); }
.about-content figure { margin: 0 0 1.5em; }
.about-content figure img { width: 100%; height: auto; }
.about-content figcaption { font-family: var(--font-display); font-size: 15px; margin-top: 8px; }

/* Páginas comuns */
.entry-content--page { max-width: 820px; padding: 32px 0 120px; font-size: 18px; line-height: 1.8; color: var(--aurora-black); }
.entry-content--page > * { margin-top: 0; margin-bottom: 1.4em; }
.entry-content--page h2 { font-family: var(--font-display); font-weight: 700; font-size: 34px; line-height: 1.2; color: var(--aurora-orange); margin-top: 1.6em; }
.entry-content--page h3 { font-family: var(--font-display); font-weight: 700; font-size: 26px; color: var(--aurora-orange); }
.entry-content--page a { color: var(--aurora-orange); text-decoration: underline; }
.about-content.entry-content--page { max-width: none; padding-bottom: 0; }

/* Alinhamentos e blocos do editor */
.aligncenter { display: block; margin-left: auto; margin-right: auto; text-align: center; }
.alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.wp-block-image img { height: auto; }
.wp-block-quote, .entry-content blockquote {
  margin: 0 0 29px;
  padding: 4px 0 4px 24px;
  border-left: 4px solid var(--aurora-orange);
  font-style: italic;
}
.entry-content ul, .entry-content ol { padding-left: 1.3em; }
.entry-content li { margin-bottom: .4em; }
.wp-block-button__link { font-family: var(--font-display); font-weight: 700; border-radius: 999px; }
.wp-block-embed { margin: 0 0 29px; }
.page-links { clear: both; margin-top: 24px; font-family: var(--font-display); }

/* Card de e-book: título com link e botão Baixar */
a.ebook-card__title { display: block; }
a.ebook-card__title:hover { color: var(--aurora-orange); }
.ebook-card__download { margin-top: 16px; gap: 8px; }
.btn svg { width: 1em; height: 1em; flex-shrink: 0; }

/* Página de um e-book */
.ebook-detail {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  gap: 56px;
  align-items: start;
  padding-top: 40px;
}
.ebook-detail__cover img { width: 100%; height: auto; box-shadow: 0 14px 30px rgba(0,0,0,.18); }
.ebook-detail__title { font-size: clamp(36px, 5vw, 64px); }
.ebook-detail__meta { margin: 0 0 20px; font-family: var(--font-display); font-weight: 700; font-size: 18px; color: var(--aurora-text); }
.ebook-detail__meta a { color: var(--aurora-orange); }
.ebook-detail__meta a:hover { text-decoration: underline; }
.ebook-detail__download { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; margin: 28px 0; }
.ebook-detail__download .btn { gap: 10px; }
.ebook-detail__file { font-family: var(--font-display); font-size: 15px; color: #666; }
.ebook-detail__content { margin-left: 0; padding-top: 0; max-width: none; font-size: 19px; line-height: 1.6; }
.ebook-detail__back { padding: 64px 0 120px; }

@media (max-width: 860px) {
  .ebook-detail { grid-template-columns: 200px minmax(0, 1fr); gap: 32px; }
}
@media (max-width: 600px) {
  .ebook-detail { grid-template-columns: 1fr; }
  .ebook-detail__cover { max-width: 220px; }
  .about-content .alignright, .about-content .alignleft { width: 100%; }
}

/* Colaborador ainda sem publicações: espaço antes do rodapé */
.author-hero:last-child { padding-bottom: 120px; }

/* Avisos só para administradores/editores na página Sobre (seção sem conteúdo) */
.aurora-aviso-admin > p,
.aurora-aviso-admin > ul {
  max-width: 800px;
  padding: 0 0 0 20px;
  border-left: 4px dashed var(--aurora-orange, #FFA022);
  color: var(--aurora-black);
  font-size: 16px;
  line-height: 1.6;
}
.aurora-aviso-admin > ul { padding-left: 44px; }
.aurora-aviso-admin > ul a { text-decoration: underline; }
.team.aurora-aviso-admin { padding-bottom: 120px; }
.events.aurora-aviso-admin { padding-bottom: 40px; }

/* ===============================================================
 * 18. Caixas no texto (estilos do bloco Grupo) e revisão
 * ============================================================= */
.is-style-aurora-curiosidade,
.is-style-aurora-para-entender,
.is-style-aurora-nota-revisao {
  box-sizing: border-box;
  border-radius: 18px;
}
.is-style-aurora-curiosidade > *:last-child,
.is-style-aurora-para-entender > *:last-child,
.is-style-aurora-nota-revisao > *:last-child { margin-bottom: 0 !important; }
.is-style-aurora-curiosidade::before,
.is-style-aurora-para-entender::before,
.is-style-aurora-nota-revisao::before {
  display: block;
  margin: 0 0 10px;
  padding-left: 30px;
  min-height: 22px;
  font-family: var(--font-display, "Comfortaa", system-ui, sans-serif);
  font-weight: 700;
  font-size: 15px;
  line-height: 22px;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--aurora-orange, #FFA022);
  background: no-repeat left center / 22px 22px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='%23FFA022' stroke-width='7' stroke-linecap='round'%3E%3Ccircle cx='50' cy='50' r='22'/%3E%3Cpath d='M50 6v14M50 80v14M6 50h14M80 50h14M19 19l10 10M71 71l10 10M19 81l10-10M71 29l10-10'/%3E%3C/svg%3E");
}

/* Curiosidade: flutua ao lado do texto no computador */
.is-style-aurora-curiosidade {
  padding: 22px 24px 24px;
  background: #FFF3E0;
  font-size: 17px;
  line-height: 1.5;
  font-weight: 400;
}
.is-style-aurora-curiosidade::before { content: "Curiosidade"; }
.is-style-aurora-curiosidade p { margin-bottom: .8em; }
.entry-content .is-style-aurora-curiosidade { margin: 0 0 29px; }

/* Para entender: caixa larga para conceitos e fórmulas */
.is-style-aurora-para-entender {
  clear: both;
  padding: 24px 30px 28px;
  border: 3px solid var(--aurora-orange, #FFA022);
  background: #FFFFFF;
  font-size: 19px;
  line-height: 1.5;
  font-weight: 400;
}
.is-style-aurora-para-entender::before { content: "Para entender"; }
.is-style-aurora-para-entender p { margin-bottom: .8em; }
.aurora-formula {
  margin: 18px 0 !important;
  font-family: "Cambria Math", "STIX Two Math", Georgia, serif;
  font-size: 1.35em;
  text-align: center;
  white-space: nowrap;
  overflow-x: auto;
}

/* Nota de revisão: só a equipe vê (o tema remove para visitantes) */
.is-style-aurora-nota-revisao {
  clear: both;
  padding: 18px 22px 20px;
  border: 3px dashed #7A3DB8;
  background: #F6EEFF;
  color: #2B1745;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 15px;
  line-height: 1.5;
  font-weight: 400;
}
.is-style-aurora-nota-revisao::before {
  content: "Nota de revisão · só a equipe vê";
  color: #7A3DB8;
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  font-size: 13px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%237A3DB8' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 21V4h11l-2 4 2 4H5'/%3E%3C/svg%3E");
}
.is-style-aurora-nota-revisao p,
.is-style-aurora-nota-revisao li { margin: 0 0 .6em; }
.is-style-aurora-nota-revisao ul,
.is-style-aurora-nota-revisao ol { margin: 0 0 .6em; padding-left: 1.3em; }
.entry-content .is-style-aurora-nota-revisao a { color: #7A3DB8; }

/* Trecho marcado para revisão */
mark.aurora-revisar {
  background: #EBDDFF;
  color: inherit;
  padding: 0 2px;
  border-bottom: 2px dotted #7A3DB8;
}

/* Tabelas no texto */
.entry-content .wp-block-table { overflow-x: auto; margin-bottom: 29px; }
.entry-content .wp-block-table table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  line-height: 1.35;
  font-weight: 400;
}
.entry-content .wp-block-table th,
.entry-content .wp-block-table td {
  padding: 9px 10px;
  border: 0;
  border-bottom: 1px solid #E8E2D8;
  text-align: left;
  vertical-align: top;
}
.entry-content .wp-block-table thead th {
  background: #FFF3E0;
  border-bottom: 3px solid var(--aurora-orange);
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 14px;
}
.entry-content .wp-block-table td:not(:first-child),
.entry-content .wp-block-table th:not(:first-child) { text-align: right; white-space: nowrap; }
.entry-content .wp-block-table figcaption { font-size: 15px; }

/* Alinhamentos do Grupo e das caixas (iguais aos da Tabela)
   Nenhum: largura do texto · Esquerda/Direita: flutua ao lado do texto
   Centro: estreita e centralizada · Ampla: 906px · Total: largura da tela */
.entry-content .wp-block-group.alignleft,
.entry-content .wp-block-group.alignright { width: 320px; max-width: none; }
.entry-content .wp-block-group.alignright { float: right; clear: right; margin: 6px -267px 24px 28px; }
.entry-content .wp-block-group.alignleft  { float: left;  clear: left;  margin: 6px 28px 24px -93px; }
.entry-content .wp-block-group.aligncenter {
  clear: both;
  width: auto;
  max-width: 480px;
  margin: 0 auto 29px;
  text-align: left;
}
.entry-content .wp-block-group.alignwide { clear: both; width: 906px; max-width: none; margin: 0 0 29px -93px; }
/* Largura total: puxa a caixa até a borda da tela.
   A coluna de texto começa 117px (24 + 93) depois da borda do conteúdo de 1028px,
   ou 154px no computador, onde o texto fica deslocado mais 37px. */
.single-post, .page .site-main { overflow-x: clip; }
.entry-content .alignfull,
.entry-content .wp-block-group.alignfull {
  width: 100vw;
  max-width: none;
  margin-left: calc(-1 * (max(0px, (100vw - 1028px) / 2) + 117px));
}
.entry-content .wp-block-group.alignfull {
  clear: both;
  margin-right: 0;
  border-radius: 0;
  border-left-width: 0;
  border-right-width: 0;
  margin-bottom: 29px;
  padding-left: max(var(--gutter, 20px), calc(50vw - 453px));
  padding-right: max(var(--gutter, 20px), calc(50vw - 453px));
}

@media (min-width: 1081px) {
  .entry-content .alignfull,
  .entry-content .wp-block-group.alignfull { margin-left: calc(-1 * (max(0px, (100vw - 1028px) / 2) + 154px)); }
}
@media (max-width: 1080px) {
  .entry-content .wp-block-group.alignwide { width: calc(100% + 93px); }
  .entry-content .wp-block-group.alignright { width: 45%; margin: 6px 0 16px 24px; }
  .entry-content .wp-block-group.alignleft  { width: 45%; margin: 6px 24px 16px 0; }
}
@media (max-width: 860px) {
  .entry-content .wp-block-group.alignwide { width: 100%; margin-left: 0; }
  .entry-content .alignfull,
  .entry-content .wp-block-group.alignfull { margin-left: calc(-1 * var(--gutter)); }
  .entry-content .wp-block-group.alignleft,
  .entry-content .wp-block-group.alignright { float: none; width: auto; margin: 0 0 29px; }
}

/* =========================================================
   19. Data de publicação e ISSN
   ========================================================= */
.post-card__pubdate,
.post-date {
  font-family: var(--font-body, "Montserrat", sans-serif);
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.4;
  color: #000;
}
.post-card__pubdate { margin: -8px 0 14px; }
.post-date { margin: -6px 0 18px; }
.post-date__issn::before { content: "·"; margin: 0 .5em; }
