/* Template global de artigos - Escola Santorini
   Identidade herdada da pagina inicial (#esnova): fundo #050505, Poppins + Barlow,
   acento ciano #22D3EE e gradiente azul/roxo nos botoes. */

/* overflow-x:clip removido: mascarava o estouro em vez de corrigi-lo.
   As causas reais estao tratadas no bloco @media (max-width: 768px) no fim do arquivo. */

.san-page {
  --bg: #050505;
  --card: #0D0D0D;
  --bd: #242424;
  --bd-suave: #1B1B1B;
  --txt: #A7A7A7;
  --dim: #6E6E6E;
  --claro: #E9E9E9;
  --ciano: #22D3EE;
  --roxo: #7C3AED;
  --azul: #3B82F6;
  --ambar: #F5B14C;
  --lilas: #9B93E0;
  --titulo: Poppins, system-ui, sans-serif;
  --corpo: Barlow, system-ui, sans-serif;
  --leitura: 740px;
  --largura: 1320px;
  --lateral: 22px;
}

.san-page {
  margin: 0;
  background: var(--bg);
  color: var(--txt);
  font-family: var(--corpo);
  -webkit-font-smoothing: antialiased;
}
.san-page *, .san-page *::before, .san-page *::after { box-sizing: border-box; }
.san-page :where(h1, h2, h3, h4, p, ul, ol, figure, blockquote, table, dl) { margin: 0; }
.san-page :where(img, video, iframe) { max-width: 100%; height: auto; display: block; }
.san-page :where(h1, h2, h3, h4) { font-family: var(--titulo); color: #fff; letter-spacing: -0.03em; }
.san-page a { text-decoration: none; color: var(--ciano); }
.san-page a:hover { color: var(--roxo); }
.san-page a:focus-visible, .san-page button:focus-visible { outline: 2px solid var(--ciano); outline-offset: 3px; border-radius: 4px; }
.san-page ::selection { background: var(--roxo); color: #fff; }
html { scroll-behavior: smooth; }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } .san-page * { transition: none !important; animation: none !important; } }

.san-pular { position: absolute; left: -9999px; }
.san-pular:focus { left: 16px; top: 16px; z-index: 100; background: var(--card); border: 1px solid var(--bd); color: #fff; padding: 12px 18px; border-radius: 999px; }

.san-largura { max-width: var(--largura); margin: 0 auto; padding-left: var(--lateral); padding-right: var(--lateral); }

/* Botoes da home */
.san-page .san-btn { display: inline-block; font-family: var(--titulo); font-size: 12.5px; font-weight: 600; letter-spacing: 0.09em; color: #fff; padding: 16px 34px; border: 0; border-radius: 999px; cursor: pointer; background: linear-gradient(90deg, var(--azul) 0%, var(--roxo) 100%); box-shadow: 0 14px 38px rgba(59,130,246,0.24); transition: transform .25s, box-shadow .25s; }
.san-page .san-btn:hover { color: #fff; transform: translateY(-2px); box-shadow: 0 18px 46px rgba(124,58,237,0.42); }
.san-page .san-btn--sm { font-size: 11.5px; letter-spacing: 0.08em; padding: 10px 20px; box-shadow: 0 8px 22px rgba(59,130,246,0.22); }
.san-page .san-btn--ghost { background: var(--card); border: 1px solid var(--bd); color: var(--claro); box-shadow: none; }
.san-page .san-btn--ghost:hover { border-color: var(--ciano); color: var(--ciano); box-shadow: none; }

.san-pill { display: inline-block; font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.16em; color: var(--txt); padding: 8px 16px; border: 1px solid var(--bd); border-radius: 999px; background: var(--card); }
.san-rotulo { display: block; font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; line-height: 1.7; color: var(--dim); }

/* Cabecalho */
.san-topo { position: sticky; top: 0; z-index: 50; background: rgba(5,5,5,0.88); backdrop-filter: blur(10px); border-bottom: 1px solid var(--bd-suave); }
.san-topo__interno { position: relative; max-width: var(--largura); margin: 0 auto; padding: 14px var(--lateral); display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.san-topo__marca { display: flex; align-items: center; gap: 9px; }
.san-topo__marca img { width: 30px; height: 30px; object-fit: contain; filter: invert(1); mix-blend-mode: screen; }
.san-topo__marca span { font-family: var(--titulo); font-weight: 600; font-size: 15px; color: #fff; white-space: nowrap; }
.san-topo__marca em { font-style: normal; color: var(--ciano); }
.san-topo__nav { display: flex; align-items: center; gap: 28px; font-family: var(--titulo); font-size: 14px; font-weight: 500; }
.san-topo__nav a { color: #D8D8D8; }
.san-topo__nav a:hover { color: var(--ciano); }
.san-topo__nav a.is-atual { color: var(--ciano); }


/* Menu compacto, igual ao da home */
.san-burger { display: none; width: 44px; height: 44px; flex-direction: column; justify-content: center; gap: 4px; padding: 0 11px; background: #111; border: 1px solid var(--bd); border-radius: 11px; cursor: pointer; }
.san-burger i { display: block; height: 2px; background: #fff; border-radius: 2px; }
.san-menu { display: none; position: absolute; top: 70px; left: 14px; right: 14px; z-index: 9; padding: 14px 18px 18px; background: rgba(12,12,12,0.97); border: 1px solid var(--bd); border-radius: 16px; flex-direction: column; box-shadow: 0 24px 60px rgba(0,0,0,0.7); }
.san-menu.is-aberto { display: flex; }
.san-menu a { font-family: var(--titulo); font-weight: 500; font-size: 15px; color: var(--claro); padding: 12px 0; border-bottom: 1px solid var(--bd-suave); }
.san-menu a:hover { color: var(--ciano); }
.san-menu a:last-child { border: 0; margin-top: 12px; text-align: center; color: #fff; padding: 14px 20px; border-radius: 999px; background: linear-gradient(90deg, var(--azul), var(--roxo)); }

/* Breadcrumb */
.san-breadcrumb { padding-top: 26px; font-size: 12.5px; color: var(--dim); display: flex; flex-wrap: wrap; gap: 8px; }
.san-breadcrumb a { color: var(--dim); }
.san-breadcrumb a:hover { color: var(--ciano); }
.san-breadcrumb [aria-current] { color: #4A4A4A; }

/* Hero em duas colunas */
.san-hero { position: relative; overflow: hidden; }
.san-hero::before { content: ""; position: absolute; inset: 0; background-image: linear-gradient(rgba(255,255,255,.022) 1px, transparent 1px), linear-gradient(90deg, rgba(255,255,255,.022) 1px, transparent 1px); background-size: 64px 64px; pointer-events: none; }
.san-hero__interno { position: relative; z-index: 2; max-width: var(--largura); margin: 0 auto; padding: clamp(28px,4vw,48px) var(--lateral) clamp(36px,4vw,56px); display: grid; grid-template-columns: 55fr 45fr; gap: clamp(24px,4vw,56px); align-items: center; }
.san-page .san-hero__titulo { font-weight: 700; font-size: clamp(28px, 3.6vw, 46px); line-height: 1.08; text-wrap: balance; margin-top: 18px; }
.san-meta { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 22px; font-size: 13px; color: var(--dim); }
.san-meta__autor { color: var(--claro); font-weight: 500; }
.san-meta__ponto { width: 3px; height: 3px; background: #3A3A3A; border-radius: 50%; }
.san-hero__figura { margin: 0; }
.san-hero__figura .san-hero__moldura { display: block; overflow: hidden; border: 1px solid var(--bd); border-radius: 20px; background: linear-gradient(140deg, #1A1930, #0B0B0B); aspect-ratio: 4 / 3; }
.san-hero__figura img { width: 100%; height: 100%; object-fit: cover; }
.san-hero__figura figcaption { margin-top: 12px; font-size: 12.5px; color: var(--dim); }

/* Grade: indice + leitura */
.san-grade { max-width: var(--largura); margin: 0 auto; padding: clamp(28px,4vw,52px) var(--lateral) 0; display: grid; grid-template-columns: 232px minmax(0, var(--leitura)); gap: clamp(40px,5vw,80px); justify-content: center; align-items: start; }

.san-indice { position: sticky; top: 92px; }
.san-indice__titulo { font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--dim); padding-bottom: 14px; border-bottom: 1px solid var(--bd-suave); }
.san-indice__lista { list-style: none; padding: 16px 0 0; margin: 0; display: flex; flex-direction: column; gap: 13px; max-height: 46vh; overflow-y: auto; scrollbar-width: thin; scrollbar-color: #2A2A2A transparent; }
.san-indice__lista::-webkit-scrollbar { width: 3px; }
.san-indice__lista::-webkit-scrollbar-thumb { background: #2A2A2A; }
.san-indice__lista a { display: flex; gap: 10px; font-size: 13.5px; line-height: 1.4; color: var(--txt); }
.san-indice__lista a:hover { color: var(--claro); }
.san-indice__n { font-family: var(--titulo); font-size: 10px; font-weight: 600; letter-spacing: 0.08em; color: #3F3F3F; padding-top: 3px; }
.san-indice__lista a.is-ativo { color: #fff; }
.san-indice__lista a.is-ativo .san-indice__n { color: var(--ciano); }

/* Conteudo do Gutenberg */
.san-conteudo { font-size: 17px; line-height: 1.72; color: var(--txt); min-width: 0; counter-reset: san-secao; }
.san-conteudo--sozinho { grid-column: 1 / -1; max-width: var(--leitura); margin: 0 auto; }
.san-page .san-conteudo p { margin: 0 0 22px; }
.san-page .san-conteudo > p:first-of-type { font-size: 19px; line-height: 1.6; color: var(--claro); margin-bottom: 26px; }
.san-page .san-conteudo strong { font-weight: 600; color: #fff; }
.san-page .san-conteudo em { font-style: italic; }
.san-page .san-conteudo a { border-bottom: 1px solid rgba(34,211,238,0.35); }
.san-page .san-conteudo a:hover { border-bottom-color: var(--roxo); }

.san-page .san-conteudo h2 { font-weight: 700; font-size: clamp(24px, 3vw, 32px); line-height: 1.14; margin: 72px 0 18px; scroll-margin-top: 96px; counter-increment: san-secao; }
.san-page .san-conteudo h2::before { content: counter(san-secao, decimal-leading-zero); display: block; font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--ciano); margin-bottom: 12px; }
.san-page .san-conteudo h3 { font-weight: 600; font-size: 21px; line-height: 1.26; letter-spacing: -0.025em; color: var(--claro); margin: 44px 0 12px; scroll-margin-top: 96px; }
.san-page .san-conteudo h4 { font-weight: 600; font-size: 16.5px; line-height: 1.4; letter-spacing: -0.015em; color: var(--claro); margin: 32px 0 10px; }

.san-page .san-conteudo ul, .san-page .san-conteudo ol { margin: 0 0 26px; padding-left: 0; list-style: none; display: flex; flex-direction: column; gap: 10px; }
.san-page .san-conteudo li { display: flex; gap: 13px; }
.san-page .san-conteudo ul > li::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--ciano); margin-top: 11px; flex: 0 0 5px; }
.san-page .san-conteudo ol { counter-reset: san-item; }
.san-page .san-conteudo ol > li { counter-increment: san-item; }
.san-page .san-conteudo ol > li::before { content: counter(san-item, decimal-leading-zero); font-family: var(--titulo); font-size: 11px; font-weight: 600; letter-spacing: 0.06em; color: var(--ciano); padding-top: 5px; flex: 0 0 auto; }
.san-page .san-conteudo li ul, .san-page .san-conteudo li ol { margin: 10px 0 0; }

.san-page .san-conteudo figure, .san-page .san-conteudo .wp-block-image { margin: 36px 0; }
.san-page .san-conteudo figure img, .san-page .san-conteudo .wp-block-image img { border: 1px solid var(--bd-suave); border-radius: 16px; width: 100%; }
.san-page .san-conteudo figcaption { font-size: 12.5px; line-height: 1.6; color: var(--dim); margin-top: 10px; }
.san-page .san-conteudo .alignwide { width: calc(100% + 140px); max-width: none; margin-left: -70px; }
.san-page .san-conteudo .alignfull { width: 100vw; max-width: none; margin-left: calc(50% - 50vw); }
.san-page .san-conteudo .alignfull img { border-radius: 0; border-left: 0; border-right: 0; }
.san-page .san-conteudo .alignfull figcaption, .san-page .san-conteudo .alignwide figcaption { padding: 0 var(--lateral); }
.san-page .san-conteudo .wp-block-gallery { gap: 14px; }

.san-page .san-conteudo blockquote { margin: 40px 0; padding: 0 0 0 24px; border: 0; border-left: 2px solid var(--ciano); background: none; }
.san-page .san-conteudo blockquote p { font-size: 21px; line-height: 1.5; color: var(--claro); font-style: italic; margin: 0; }
.san-page .san-conteudo blockquote cite { display: block; margin-top: 12px; font-size: 13px; font-style: normal; color: var(--dim); }

.san-page .san-conteudo .wp-block-table, .san-page .san-conteudo figure.wp-block-table { margin: 32px 0 36px; overflow-x: auto; background: var(--card); border: 1px solid var(--bd); border-radius: 16px; }
.san-page .san-conteudo table { border-collapse: collapse; width: 100%; min-width: 540px; font-size: 15.5px; }
.san-page .san-conteudo th { text-align: left; padding: 15px 20px; font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dim); border-bottom: 1px solid var(--bd); }
.san-page .san-conteudo td { padding: 15px 20px; border-bottom: 1px solid var(--bd-suave); }
.san-page .san-conteudo tr:last-child td { border-bottom: 0; }
.san-page .san-conteudo td:first-child { color: #fff; font-weight: 500; }

.san-page .san-conteudo hr, .san-page .san-conteudo .wp-block-separator { border: 0; border-top: 1px solid var(--bd-suave); margin: 52px 0; height: 0; opacity: 1; }
.san-page .san-conteudo code { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 0.9em; background: var(--card); border: 1px solid var(--bd-suave); border-radius: 6px; padding: 2px 6px; }
.san-page .san-conteudo pre { font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 14px; line-height: 1.6; background: var(--card); border: 1px solid var(--bd); border-radius: 16px; color: var(--claro); padding: 22px; overflow-x: auto; margin: 32px 0; }
.san-page .san-conteudo pre code { background: none; border: 0; padding: 0; }
.san-page .san-conteudo .wp-block-embed, .san-page .san-conteudo .wp-block-video { margin: 36px 0; }
.san-page .san-conteudo .wp-block-embed iframe, .san-page .san-conteudo .wp-block-video video { border-radius: 16px; width: 100%; }
.san-page .san-conteudo .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; margin: 28px 0; }
.san-page .san-conteudo .wp-block-button__link { display: inline-block; font-family: var(--titulo); font-size: 12.5px; font-weight: 600; letter-spacing: 0.09em; color: #fff; padding: 16px 34px; border-radius: 999px; border-bottom: 0; background: linear-gradient(90deg, var(--azul) 0%, var(--roxo) 100%); }
.san-page .san-conteudo .wp-block-columns { display: flex; gap: 28px; margin: 36px 0; }

/* Blocos editoriais Santorini */
.san-page .san-bloco { margin: 36px 0; padding: 24px 26px; background: var(--card); border: 1px solid var(--bd); border-radius: 16px; }
.san-page .san-bloco p { margin: 0; font-size: 16px; line-height: 1.65; }
.san-page .san-bloco .san-bloco__rotulo { font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; margin-bottom: 12px; color: var(--ciano); }
.san-page .san-bloco--erro .san-bloco__rotulo { color: var(--ambar); }
.san-page .san-bloco--pratica .san-bloco__rotulo { color: var(--roxo); }
.san-page .san-bloco--importante .san-bloco__rotulo { color: var(--azul); }
.san-page .san-bloco--resumo { background: linear-gradient(160deg, #17162A 0%, #0D0D12 62%); border-color: #322D63; }
.san-page .san-bloco--resumo .san-bloco__rotulo { color: var(--lilas); }
.san-page .san-bloco--resumo ul { margin: 0; gap: 10px; }
.san-page .san-bloco--resumo li { font-size: 16px; line-height: 1.6; color: var(--claro); }
.san-page .san-bloco--resumo ul > li::before { background: var(--lilas); }

/* Etapas numeradas */
.san-page .san-etapas { margin: 36px 0; display: flex; flex-direction: column; gap: 0; list-style: none; padding: 0; counter-reset: san-etapa; }
.san-page .san-etapas > li { counter-increment: san-etapa; display: flex; gap: 18px; padding: 18px 0; border-top: 1px solid var(--bd-suave); }
.san-page .san-etapas > li:last-child { border-bottom: 1px solid var(--bd-suave); }
.san-page .san-etapas > li::before { content: counter(san-etapa, decimal-leading-zero); font-family: var(--titulo); font-size: 11px; font-weight: 600; letter-spacing: 0.08em; color: var(--ciano); padding-top: 4px; flex: 0 0 24px; margin: 0; width: auto; height: auto; background: none; border-radius: 0; }

/* CTA contextual */
.san-page .san-cta-contextual { margin: 44px 0; padding: clamp(24px,3vw,32px); border: 1px solid #262046; border-radius: 20px; background: linear-gradient(150deg, #141327 0%, #0A0A0D 58%); }
.san-page .san-cta-contextual__rotulo { font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--lilas); margin-bottom: 14px; }
.san-page .san-cta-contextual__titulo { font-weight: 700; font-size: clamp(20px,2.4vw,26px); line-height: 1.18; color: #fff; margin: 0 0 12px; }
.san-page .san-cta-contextual p { font-size: 16px; line-height: 1.6; color: var(--txt); margin-bottom: 18px; }
.san-page .san-cta-contextual__itens { flex-direction: row; flex-wrap: wrap; gap: 8px 24px; font-size: 14.5px; color: var(--claro); margin-bottom: 22px; }
.san-page .san-cta-contextual__itens > li::before { content: "\2713"; background: none; width: auto; height: auto; border-radius: 0; margin: 0; color: var(--ciano); font-size: 13px; }
.san-page .san-cta-contextual .wp-block-buttons { margin: 0; }

/* CTA final */
.san-cta-final { max-width: var(--largura); margin: clamp(64px,7vw,96px) auto 0; padding: 0 var(--lateral); }
.san-cta-final__caixa { position: relative; overflow: hidden; border: 1px solid #262046; border-radius: 28px; background: linear-gradient(150deg, #141327 0%, #0A0A0D 58%); padding: clamp(36px,6vw,80px) clamp(22px,4vw,64px); text-align: center; }
.san-cta-final__interno { position: relative; z-index: 2; max-width: 720px; margin: 0 auto; display: flex; flex-direction: column; align-items: center; }
.san-cta-final .san-pill { color: var(--lilas); border-color: #322D63; background: rgba(13,13,18,0.6); }
.san-page .san-cta-final__titulo { font-weight: 700; font-size: clamp(26px,4vw,46px); line-height: 1.1; margin: clamp(18px,3vw,28px) 0 0; text-wrap: balance; }
.san-cta-final__texto { font-size: clamp(15px,1.6vw,17px); line-height: 1.6; color: var(--txt); margin: 16px 0 28px; }

/* Autor */
.san-autor { display: flex; gap: 20px; align-items: flex-start; margin-top: clamp(56px,6vw,80px); padding: 24px 26px; background: var(--card); border: 1px solid var(--bd); border-radius: 16px; }
.san-autor__foto { width: 64px; height: 64px; border-radius: 50%; flex: 0 0 64px; }
.san-autor__rotulo { font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--dim); margin-bottom: 8px; }
.san-page .san-autor__nome { font-weight: 600; font-size: 17px; letter-spacing: -0.02em; color: #fff; margin-bottom: 4px; }
.san-autor__cargo { font-size: 13.5px; color: var(--ciano); margin-bottom: 10px; }
.san-autor__bio { font-size: 15px; line-height: 1.65; color: var(--txt); max-width: 620px; }

/* Artigos relacionados */
.san-relacionados { padding-top: clamp(56px,7vw,88px); }
.san-relacionados__topo { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: clamp(22px,3vw,34px); }
.san-page .san-relacionados__topo h2 { font-weight: 700; font-size: clamp(24px,3.2vw,38px); line-height: 1.1; margin-top: 12px; }
.san-relacionados__topo a { font-family: var(--titulo); font-size: 11.5px; font-weight: 600; letter-spacing: 0.09em; white-space: nowrap; }
.san-relacionados__grade { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px,2vw,24px); }
.san-card { display: flex; flex-direction: column; background: var(--card); border: 1px solid var(--bd); border-radius: 20px; overflow: hidden; color: inherit; transition: border-color .3s, transform .3s; }
.san-card:hover { border-color: var(--azul); transform: translateY(-3px); color: inherit; }
.san-card__midia { position: relative; overflow: hidden; aspect-ratio: 16 / 9; background: linear-gradient(140deg, #1A1930, #0B0B0B); }
.san-card__midia img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s; }
.san-card:hover .san-card__midia img { transform: scale(1.04); }
.san-card__categoria { position: absolute; top: 14px; left: 14px; font-family: var(--titulo); font-size: 9.5px; font-weight: 600; letter-spacing: 0.12em; color: #fff; padding: 7px 12px; border-radius: 999px; background: rgba(5,5,5,0.66); border: 1px solid var(--bd); }
.san-card__corpo { flex: 1; display: flex; flex-direction: column; padding: 20px 22px 22px; }
.san-card__titulo { font-family: var(--titulo); font-weight: 600; font-size: 18px; line-height: 1.22; letter-spacing: -0.025em; color: #fff; }
.san-card__meta { margin-top: auto; padding-top: 18px; font-size: 12.5px; color: var(--dim); }

/* Rodape */
.san-rodape { margin-top: clamp(64px,7vw,96px); border-top: 1px solid var(--bd-suave); background: var(--bg); }
.san-rodape__grade { max-width: var(--largura); margin: 0 auto; padding: clamp(40px,5vw,64px) var(--lateral) 32px; display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: clamp(24px,3vw,48px); }
.san-rodape__marca { font-family: var(--titulo); font-weight: 600; font-size: 15px; color: #fff; margin-bottom: 14px; }
.san-rodape__marca em { font-style: normal; color: var(--ciano); }
.san-rodape__texto { font-size: 14.5px; line-height: 1.6; color: var(--txt); max-width: 300px; }
.san-rodape__titulo { font-family: var(--titulo); font-size: 10.5px; font-weight: 600; letter-spacing: 0.14em; color: var(--dim); margin-bottom: 14px; }
.san-rodape ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 10px; font-size: 14.5px; }
.san-rodape a { color: #D8D8D8; }
.san-rodape a:hover { color: var(--ciano); }
.san-rodape__base { max-width: var(--largura); margin: 0 auto; padding: 0 var(--lateral) 32px; font-size: 12.5px; color: var(--dim); }

/* Responsivo, nos mesmos pontos de quebra da home */
@media (max-width: 1120px) {
  .san-grade { grid-template-columns: 200px minmax(0, var(--leitura)); gap: 44px; }
}
@media (max-width: 940px) {
  .san-topo__nav { display: none; }
  .san-burger { display: flex; }
}
@media (max-width: 900px) {
  .san-hero__interno { grid-template-columns: 1fr; gap: 24px; }
  .san-hero__figura .san-hero__moldura { aspect-ratio: 16 / 9; }
  .san-grade { grid-template-columns: minmax(0, 1fr); gap: 32px; justify-content: stretch; }
  .san-indice { position: static; max-width: var(--leitura); width: 100%; margin: 0 auto; padding: 18px 20px; background: var(--card); border: 1px solid var(--bd); border-radius: 16px; }
  .san-indice__titulo { border-bottom-color: var(--bd); }
  .san-indice__lista { max-height: none; }
  .san-conteudo { max-width: var(--leitura); margin: 0 auto; }
  .san-relacionados__grade, .san-rodape__grade { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .san-page .san-conteudo .alignwide { width: 100%; margin-left: 0; }
}
@media (max-width: 760px) {
  .san-page { --lateral: 18px; }
  .san-conteudo { font-size: 16.5px; }
  .san-page .san-conteudo > p:first-of-type { font-size: 18px; }
  .san-relacionados__grade, .san-rodape__grade { grid-template-columns: minmax(0, 1fr); }
  .san-relacionados__topo { flex-direction: column; align-items: flex-start; gap: 12px; }
  .san-page .san-conteudo .wp-block-columns { flex-direction: column; gap: 18px; }
  .san-autor { flex-direction: column; }
  .san-page .san-cta-contextual__itens { flex-direction: column; gap: 8px; }
}

/* ==========================================================================
   MOBILE: contencao de largura (<= 768px)
   Corrige o estouro horizontal na origem. Nao altera desktop, cores,
   tipografia nem conteudo.
   ========================================================================== */
@media (max-width: 768px) {
  .san-page, .san-page *, .san-page *::before, .san-page *::after { box-sizing: border-box; }
  .san-page { --lateral: 18px; }

  .san-grade, .san-conteudo, .san-conteudo--sozinho { width: 100%; max-width: 100%; }
  .san-page .san-conteudo > * { max-width: 100%; }

  /* Quebra de palavras, links e URLs longas */
  .san-page .san-conteudo p,
  .san-page .san-conteudo li,
  .san-page .san-conteudo h2,
  .san-page .san-conteudo h3,
  .san-page .san-conteudo h4,
  .san-page .san-conteudo blockquote,
  .san-page .san-conteudo blockquote p,
  .san-page .san-conteudo figcaption,
  .san-page .san-conteudo a,
  .san-page .san-conteudo code,
  .san-page .san-conteudo th,
  .san-page .san-conteudo td,
  .san-page .san-hero__titulo,
  .san-indice__lista a,
  .san-breadcrumb,
  .san-autor__bio { overflow-wrap: anywhere; }

  /* Itens flex: min-width:auto e o padrao e impede a quebra da linha */
  .san-page .san-conteudo li,
  .san-page .san-conteudo li > *,
  .san-page .san-etapas > li,
  .san-indice__lista li,
  .san-indice__lista a,
  .san-page .san-cta-contextual__itens > li { min-width: 0; }

  /* alignfull: 100vw inclui a barra de rolagem */
  .san-page .san-conteudo .alignfull { width: 100%; max-width: 100%; margin-left: 0; }

  /* Midia responsiva */
  .san-page .san-conteudo img,
  .san-page .san-conteudo video,
  .san-page .san-conteudo iframe,
  .san-page .san-conteudo embed,
  .san-page .san-conteudo object { max-width: 100%; height: auto; }

  /* Tabelas: a rolagem vive no wrapper, nunca no documento */
  .san-page .san-conteudo .wp-block-table,
  .san-page .san-conteudo figure.wp-block-table { max-width: 100%; }
  .san-page .san-conteudo table { min-width: 0; width: 100%; table-layout: fixed; }
  .san-page .san-conteudo figure.wp-block-table > table,
  .san-page .san-conteudo .wp-block-table > table { min-width: 460px; table-layout: auto; }
  .san-page .san-conteudo th, .san-page .san-conteudo td { padding: 13px 14px; }

  .san-relacionados__topo a { white-space: normal; }
}
