/* Só as guias: preserva os estilos e a portada em medição. */
.guide-page .skip-link { position: absolute; top: -100px; left: 16px; z-index: 20; background: #fff; padding: 12px; }
.guide-page .skip-link:focus { top: 10px; }
.guide-page :target { scroll-margin-top: 96px; }
.guide-page .breadcrumbs { display: flex; gap: 10px; font-size: 13px; color: var(--muted); margin-bottom: 28px; }
.guide-page .breadcrumbs a { text-decoration: none; }
.guide-hero { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr); align-items: center; gap: 36px; }
.guide-intro h1 { font-size: clamp(30px, 3.8vw, 43px); line-height: 1.12; margin: 0 0 18px; }
.guide-intro .lede { font-size: 18px; margin-bottom: 24px; }
.guide-input-label { display: block; font-size: 14px; font-weight: 700; margin-bottom: 8px; }
.guide-page .consulta-form { max-width: none; }
.guide-page .consulta-form button { padding-inline: 16px; white-space: nowrap; }
.guide-boundary { font-size: 13px; color: var(--muted); margin: 4px 0 0; }
.guide-photo { margin: 0; position: relative; }
.guide-photo img { display: block; width: 100%; height: auto; aspect-ratio: 4/5; object-fit: cover; border-radius: 22px; box-shadow: var(--shadow); }
.guide-photo figcaption { background: var(--ink); color: #fff; position: absolute; bottom: 18px; left: 16px; right: 16px; padding: 12px 14px; border-radius: 10px; font-size: 13px; }
.guide-facts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin: 30px 0 0; padding: 0; list-style: none; }
.guide-facts li { padding: 14px 18px; border: 1px solid var(--line); border-radius: 12px; background: var(--paper); color: var(--brand-dark); font-size: 14px; font-weight: 700; }
.guide-content { padding-top: 18px; }
.guide-section { max-width: 820px; margin: 34px auto 0; }
.guide-section h2, .guide-sources h2, .guide-directory h2, .guide-related h2 { font-size: 26px; line-height: 1.2; margin: 0 0 16px; }
.guide-section p { color: #344840; margin: 12px 0; }
.guide-section ol, .guide-section ul { padding-left: 24px; }
.guide-section li { padding-left: 4px; margin: 12px 0; }
.guide-section strong { color: var(--ink); }
.guide-page .table-scroll { overflow-x: auto; border: 1px solid var(--line); border-radius: 14px; background: var(--paper); }
.guide-page .table-scroll table { width: 100%; border-collapse: collapse; font-size: 15px; }
.guide-page .table-scroll th, .guide-page .table-scroll td { text-align: left; padding: 14px; vertical-align: top; border-bottom: 1px solid var(--line); }
.guide-page .table-scroll th { background: var(--ok-bg); color: var(--brand-dark); }
.guide-page .table-scroll tr:last-child td { border-bottom: 0; }
.guide-sources { max-width: 820px; margin: 40px auto 0; padding: 24px; border-left: 4px solid var(--brand); background: var(--ok-bg); border-radius: 0 16px 16px 0; font-size: 14px; }
.guide-sources h2 { font-size: 21px; }
.guide-sources ul { padding-left: 20px; margin-bottom: 0; }
.guide-sources li { margin-top: 8px; }
.guide-page .perguntas { max-width: 820px; margin-inline: auto; }
.guide-directory, .guide-related { margin-top: 38px; }
.guide-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.guide-link { display: flex; flex-direction: column; gap: 10px; border: 1px solid var(--line); border-top: 4px solid var(--brand); padding: 22px; border-radius: 14px; background: var(--paper); text-decoration: none; box-shadow: var(--shadow); }
.guide-link strong { font-size: 20px; line-height: 1.2; }
.guide-link > span { font-size: 14px; color: var(--muted); }
.guide-link .guide-link-action { margin-top: auto; padding-top: 8px; color: var(--brand-dark); font-weight: 700; }
.guide-link:hover { border-color: var(--brand); }
.guide-page .monitoramento { margin-top: 48px; }
.guide-page .oferta-texto { padding: 26px; }
.guide-page .monitor-form .linha { flex-direction: column; }
.guide-page .monitor-form button { align-self: flex-start; }
.guide-page .resultado table { display: block; overflow-x: auto; }
@media (max-width: 860px) {
  .guide-hero { grid-template-columns: 1fr; gap: 20px; }
  .guide-photo { display: none; }
  .guide-page .breadcrumbs { margin-bottom: 20px; }
  .guide-intro h1 { max-width: 680px; }
  .guide-cards { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .guide-page .oferta-foto { order: 0; }
}
@media (max-width: 640px) {
  .guide-page main { padding-top: 18px; }
  .guide-intro h1 { font-size: 30px; }
  .guide-intro .lede { font-size: 16px; margin-bottom: 18px; }
  .guide-page .hint { font-size: 12px; }
  .guide-page .consulta-form { gap: 8px; }
  .guide-page .consulta-form input { font-size: 18px; padding: 12px; }
  .guide-facts { grid-template-columns: 1fr; gap: 8px; margin-top: 24px; }
  .guide-facts li { padding: 10px 14px; }
  .guide-cards { grid-template-columns: 1fr; }
  .guide-section h2, .guide-related h2, .guide-directory h2 { font-size: 23px; }
  .guide-page .table-scroll th, .guide-page .table-scroll td { padding: 10px; min-width: 110px; font-size: 13px; }
  .guide-sources { padding: 18px; }
  .guide-page .oferta-texto { padding: 22px 18px; }
  .guide-page .oferta h2 { font-size: 25px; }
  .guide-page .monitor-form button { align-self: stretch; }
}
