/* ============================================================
   TIPOGRAFIA E LARGURA (camada por cima de forum.css / forum_pages.css)
   Vale com html.tipo-nova, que os layouts application e embed já trazem.
   Em desenvolvimento, ?tipo=atual (ou a tecla T) tira a classe para comparar
   com o visual anterior; /prototipo/tipografia mostra os dois lado a lado.

   É uma camada de override, inclusive dos estilos inline das views (por isso
   os !important no fim). O passo seguinte é levar estes valores para tokens
   nos próprios arquivos e trocar os inline por classe — ver CLAUDE.md.
   ============================================================ */

/* ----- degraus de fonte: piso 12px, texto de apoio 13–14px -----
   9–10,5px → 12 · 11–11,5 → 13 · 12–12,5 → 13,5 · 13–13,5 → 14,5
   14 → 15 · 15 → 16 · 16 → 17 · 17 → 18 · 18px+ fica igual */
html.tipo-nova .topnav a { font-size: 13.5px; }
html.tipo-nova .ub-sm .ub-nameplate-name { font-size: 14.5px; }
html.tipo-nova .ub-icon { font-size: 18px; }
html.tipo-nova .ub-sm .ub-icon { font-size: 16px; }
html.tipo-nova .ub-tooltip-user { font-size: 14.5px; }
html.tipo-nova .ub-tooltip-row { font-size: 13.5px; }
html.tipo-nova .ub-tooltip-icon { font-size: 16px; }
html.tipo-nova .ub-tooltip-desc { font-size: 13.5px; }
html.tipo-nova .ub-tooltip-more { font-size: 13px; }
html.tipo-nova .trust-route-eyebrow { font-size: 13.5px; }
html.tipo-nova .trust-route-staff { font-size: 13.5px; }
html.tipo-nova .trust-route-next { font-size: 14.5px; }
html.tipo-nova .trust-route-dot { font-size: 16px; }
html.tipo-nova .trust-route-name { font-size: 15px; }
@media (max-width: 640px) { html.tipo-nova .trust-route-name { font-size: 13.5px; } }
html.tipo-nova .badge-card-name { font-size: 13.5px; }
html.tipo-nova .badge-card-desc { font-size: 13.5px; }
html.tipo-nova .badge-card-date { font-size: 12px; }
html.tipo-nova .avatar { font-size: 13.5px; }
html.tipo-nova .avatar.sm { font-size: 12px; }
html.tipo-nova .user-menu-item { font-size: 15px; }
html.tipo-nova .mdf-profile-username { font-size: 15px; }
html.tipo-nova .mdf-profile-meta { font-size: 14.5px; }
html.tipo-nova .mdf-profile-badge { font-size: 13.5px; }
html.tipo-nova .mdf-profile-bio { font-size: 16px; }
html.tipo-nova .mdf-profile-stat-label { font-size: 13.5px; }
html.tipo-nova .mdf-profile-section-row { font-size: 15px; }
html.tipo-nova .mdf-profile-back { font-size: 14.5px; }
html.tipo-nova .mdf-profile-form-label { font-size: 14.5px; }
html.tipo-nova .mdf-profile-input { font-size: 16px; }
html.tipo-nova .mdf-profile-hint { font-size: 13.5px; }
html.tipo-nova .mdf-profile-errors { font-size: 15px; }
html.tipo-nova .mdf-profile-nav-item { font-size: 15px; }
html.tipo-nova .subbar-inner { font-size: 14.5px; }
html.tipo-nova .tpn-item { font-size: 14.5px; }
html.tipo-nova .tpn-icon { font-size: 16px; }
html.tipo-nova .tpn-count { font-size: 13px; }
html.tipo-nova .topics-panel-title { font-size: 14.5px; }
html.tipo-nova .card-hd h3 { font-size: 15px; }
html.tipo-nova .section-title { font-size: 13px; }
html.tipo-nova .page-lede { font-size: 16px; }
html.tipo-nova .btn { font-size: 14.5px; }
html.tipo-nova .reaction-summary-emojis { font-size: 16px; }
html.tipo-nova .reaction-option-label { font-size: 13px; }
html.tipo-nova .btn-sm { font-size: 13.5px; }
html.tipo-nova .btn-lg { font-size: 15px; }
html.tipo-nova .pill { font-size: 13px; }
html.tipo-nova .pill.mono { font-size: 12px; }
html.tipo-nova .cat-chip { font-size: 13px; }
html.tipo-nova .vote .score { font-size: 16px; }
html.tipo-nova .umeta { font-size: 14.5px; }
html.tipo-nova .umeta .udate { font-size: 13.5px; }
html.tipo-nova .rep { font-size: 13px; }
html.tipo-nova .topic-stats { font-size: 13.5px; }
html.tipo-nova .topic-title { font-size: 17px; }
html.tipo-nova .topic-excerpt { font-size: 14.5px; }
html.tipo-nova .topic-meta { font-size: 13.5px; }
html.tipo-nova .prose { font-size: 17px; }
html.tipo-nova .prose .attachment__caption { font-size: 14.5px; }
html.tipo-nova .mdf-lightbox .mdf-lightbox-count { font-size: 14.5px; }
html.tipo-nova .field label { font-size: 13.5px; }
html.tipo-nova .input,
html.tipo-nova .textarea,
html.tipo-nova .select { font-size: 15px; }
html.tipo-nova .tab { font-size: 14.5px; }
html.tipo-nova .filter-chip { font-size: 13.5px; }
html.tipo-nova .search-input input { font-size: 14.5px; }
html.tipo-nova .badge { font-size: 12px; }
html.tipo-nova .stat-label { font-size: 13px; }
html.tipo-nova .stat-delta { font-size: 13.5px; }
html.tipo-nova .shadow-banner { font-size: 13.5px; }
html.tipo-nova .shadow-ban-marker { font-size: 12px; }
html.tipo-nova .side-item { font-size: 14.5px; }
html.tipo-nova .side-item .count { font-size: 13px; }
html.tipo-nova .hero p { font-size: 15px; }
html.tipo-nova .hero-stat-label { font-size: 13px; }
html.tipo-nova .text-sm { font-size: 14.5px; }
html.tipo-nova .text-xs { font-size: 13.5px; }
html.tipo-nova .tweaks-hd h4 { font-size: 14.5px; }
html.tipo-nova .tweak-row > label { font-size: 13px; }
html.tipo-nova .tweak-opt { font-size: 13.5px; }
html.tipo-nova body[data-density="compact"] .topic-title { font-size: 16px; }
html.tipo-nova .placeholder-img { font-size: 13px; }
html.tipo-nova trix-editor { font-size: 15px; }
html.tipo-nova trix-toolbar .trix-button { font-size: 13.5px; }
html.tipo-nova .pagy a,
html.tipo-nova .pagy span { font-size: 14.5px; }
@media (max-width: 720px) { html.tipo-nova .search-input input { font-size: 17px; } }
html.tipo-nova .moderation-pending-note { font-size: 14.5px; }
html.tipo-nova .mdf-eyebrow { font-size: 13px; }
html.tipo-nova .mdf-section-title small { font-size: 13.5px; }
html.tipo-nova .mdf-section-link { font-size: 13.5px; }
html.tipo-nova .mdf-pin-tag { font-size: 12px; }
html.tipo-nova .mdf-hot-tag { font-size: 12px; }
html.tipo-nova .mdf-hot-text { font-size: 12px; }
html.tipo-nova .mdf-sub-pill { font-size: 12px; }
html.tipo-nova .mdf-meta { font-size: 13.5px; }
html.tipo-nova .mdf-featured-body .mdf-excerpt { font-size: 13.5px; }
html.tipo-nova .mdf-topic-list-section-head { font-size: 12px; }
html.tipo-nova .mdf-topic-row-title { font-size: 17px; }
html.tipo-nova .mdf-topic-row-stat span { font-size: 12px; }
html.tipo-nova .mdf-topic-row-time b { font-size: 13.5px; }
html.tipo-nova .mdf-topic-row-time span { font-size: 12px; }
html.tipo-nova .mdf-side-head { font-size: 16px; }
html.tipo-nova .mdf-community-lbl { font-size: 14.5px; }
html.tipo-nova .mdf-community-row > div > b { font-size: 17px; }
html.tipo-nova .mdf-community-row > div > span { font-size: 12px; }
html.tipo-nova .mdf-trending-rank { font-size: 15px; }
html.tipo-nova .mdf-trending-tag b { font-size: 14.5px; }
html.tipo-nova .mdf-trending-tag span { font-size: 13px; }
html.tipo-nova .mdf-avatar-blank { font-size: 14.5px; }
html.tipo-nova .mdf-user-row-count { font-size: 13px; }
html.tipo-nova .mdf-user-medal .mdf-medal-badge { font-size: 12px; }
html.tipo-nova .mdf-pulse-row { font-size: 13.5px; }
html.tipo-nova .mdf-pulse-row .mdf-pulse-time { font-size: 12px; }
html.tipo-nova .mdf-filter-bar > a,
html.tipo-nova .mdf-filter-bar > button { font-size: 13.5px; }
@media (max-width: 380px) {
  html.tipo-nova .mdf-filter-bar > a,
  html.tipo-nova .mdf-filter-bar > button { font-size: 13px; }
}
html.tipo-nova .mdf-cat-breadcrumb { font-size: 13.5px; }
html.tipo-nova .mdf-cat-header p { font-size: 14.5px; }
html.tipo-nova .mdf-btn { font-size: 14.5px; }
html.tipo-nova .mdf-auto-pill { font-size: 13px; }
html.tipo-nova .mdf-tag-hot-pill { font-size: 13px; }
html.tipo-nova .mdf-tag-meta { font-size: 15px; }
html.tipo-nova .mdf-tag-related-chip { font-size: 13.5px; }
html.tipo-nova .mdf-cats-with-tag-name { font-size: 14.5px; }
html.tipo-nova .mdf-cats-with-tag-count { font-size: 13px; }
html.tipo-nova .mdf-empty-text { font-size: 14.5px; }
html.tipo-nova .mdf-pagination .mdf-page-info { font-size: 13.5px; }
html.tipo-nova .mdf-pagination .mdf-load-more { font-size: 14.5px; }
html.tipo-nova .mdf-home-section-sub { font-size: 16px; }
html.tipo-nova .mdf-site-col-name { font-size: 17px; }
html.tipo-nova .mdf-site-col-badge { font-size: 13.5px; }
html.tipo-nova .mdf-site-col-chip { font-size: 13.5px; }
html.tipo-nova .mdf-site-col-path { font-size: 13px; }
html.tipo-nova .mdf-site-col-title { font-size: 16px; }
html.tipo-nova .mdf-site-col-meta { font-size: 14.5px; }
html.tipo-nova .mdf-site-col-footer { font-size: 15px; }
html.tipo-nova .mdf-youtube-subscribe-btn { font-size: 13.5px; }
html.tipo-nova .mdf-site-col-empty-title { font-size: 18px; }
html.tipo-nova .mdf-site-col-empty-text { font-size: 15px; }
html.tipo-nova .mdf-btn-new-topic { font-size: 16px; }
html.tipo-nova .mdf-comm-card-name { font-size: 13.5px; }
html.tipo-nova .mdf-comm-card.is-no-desc .mdf-comm-card-name { font-size: 17px; }
html.tipo-nova .mdf-comm-card-desc { font-size: 13.5px; }
@media (max-width: 600px) { html.tipo-nova .mdf-comm-card-name, html.tipo-nova .mdf-comm-card.is-no-desc .mdf-comm-card-name { font-size: 14px; } }
html.tipo-nova .mdf-btn-show-all { font-size: 15px; }
html.tipo-nova .mdf-comm-row-title { font-size: 18px; }
html.tipo-nova .mdf-comm-row-meta { font-size: 14px; }
html.tipo-nova .mdf-comm-row-stat { font-size: 14px; }
html.tipo-nova .mdf-link-more { font-size: 15px; }

/* estilos inline das views */
html.tipo-nova [style*="font-size:9px"], html.tipo-nova [style*="font-size: 9px"] { font-size: 12px !important; }
html.tipo-nova [style*="font-size:9.5px"], html.tipo-nova [style*="font-size: 9.5px"] { font-size: 12px !important; }
html.tipo-nova [style*="font-size:10px"], html.tipo-nova [style*="font-size: 10px"] { font-size: 12px !important; }
html.tipo-nova [style*="font-size:10.5px"], html.tipo-nova [style*="font-size: 10.5px"] { font-size: 12px !important; }
html.tipo-nova [style*="font-size:11px"], html.tipo-nova [style*="font-size: 11px"] { font-size: 13px !important; }
html.tipo-nova [style*="font-size:11.5px"], html.tipo-nova [style*="font-size: 11.5px"] { font-size: 13px !important; }
html.tipo-nova [style*="font-size:12px"], html.tipo-nova [style*="font-size: 12px"] { font-size: 13.5px !important; }
html.tipo-nova [style*="font-size:12.5px"], html.tipo-nova [style*="font-size: 12.5px"] { font-size: 13.5px !important; }
html.tipo-nova [style*="font-size:13px"], html.tipo-nova [style*="font-size: 13px"] { font-size: 14.5px !important; }
html.tipo-nova [style*="font-size:13.5px"], html.tipo-nova [style*="font-size: 13.5px"] { font-size: 14.5px !important; }
html.tipo-nova [style*="font-size:14px"], html.tipo-nova [style*="font-size: 14px"] { font-size: 15px !important; }
html.tipo-nova [style*="font-size:15px"], html.tipo-nova [style*="font-size: 15px"] { font-size: 16px !important; }
html.tipo-nova [style*="font-size:16px"], html.tipo-nova [style*="font-size: 16px"] { font-size: 17px !important; }
html.tipo-nova [style*="font-size:17px"], html.tipo-nova [style*="font-size: 17px"] { font-size: 18px !important; }

/* ----- ajustes pontuais ----- */

/* Contraste do texto secundário: ~2,9:1 → ~5:1 */
html.tipo-nova {
  --ink-40: #5F6B7D;
  --mdf-ink-40: #5D6A82;
}

/* Conteúdo do tópico e das respostas: 18px no desktop, 17px no celular,
   ocupando o card inteiro */
html.tipo-nova .prose {
  font-size: 18px;
  line-height: 1.7;
}

/* Largura: em vez de limitar o texto dentro de um card largo (sobra branco à
   direita), a página fica mais estreita — 1208px, mesma área útil (1152px) das
   listas (.mdf-container). A coluna do tópico cai para ~800px e a linha fica
   em ~80 caracteres. Cabeçalho e subbarra acompanham para alinhar. */
html.tipo-nova .page,
html.tipo-nova .topbar-inner,
html.tipo-nova .subbar-inner { max-width: 1208px; }
@media (max-width: 720px) {
  html.tipo-nova .prose { font-size: 17px; }
}

/* Editor: 16px evita o zoom automático do iPhone ao tocar no campo */
html.tipo-nova trix-editor { font-size: 16px; }

/* Título do tópico */
html.tipo-nova h1[style*="font-size:24px"] { font-size: 30px !important; }
@media (max-width: 720px) {
  html.tipo-nova h1[style*="font-size:24px"] { font-size: 25px !important; }
}

/* Celular: menos recuo dentro dos cards (página 16px + card 24px → 16 + 16) */
@media (max-width: 720px) {
  html.tipo-nova .card > div[style*="padding:20px 24px"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html.tipo-nova .card[style*="padding:14px 24px"] {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
  html.tipo-nova [id^="replies_"] {
    margin-left: 8px !important;
    padding-left: 12px !important;
  }
}

/* Rodapé (estilos no <style> do layout) */
html.tipo-nova .site-footer { font-size: 14px; }
html.tipo-nova .footer-col-title { font-size: 12px; }
html.tipo-nova .footer-bottom { font-size: 13px; }

/* Selo de liga/desliga (só existe em desenvolvimento, ver _tipografia_dev) */
.tipo-toggle {
  position: fixed; left: 12px; bottom: 12px; z-index: 99999;
  font: 600 12px/1 var(--font-ui); color: #fff;
  background: #0E1420; border-radius: 999px; padding: 8px 12px;
  box-shadow: 0 4px 14px rgba(0,0,0,.25); cursor: pointer; opacity: .85;
}
.tipo-toggle:hover { opacity: 1; }
html.tipo-nova .tipo-toggle { background: #2E9E5F; }

