/* Fórum da comunidade (/forum). Carregado junto com pages.css.
   Toque: abaixo de 720px ou com ponteiro grosso (celular, tablet), os
   controles do miolo passam a ter 44px de alvo; no desktop ficam compactos,
   sempre com pelo menos 24px (WCAG 2.5.8). */
.fr{padding-top:var(--space-5);padding-bottom:var(--space-12)}
.fr-internal{margin-bottom:var(--space-3);padding:var(--space-2) var(--space-3);
  font-size:var(--text-sm);font-weight:var(--weight-semibold)}

/* ---------- barra: trilha + conta ---------- */
.fr-bar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);
  flex-wrap:wrap;padding:var(--space-1) 0 var(--space-3);border-bottom:1px solid var(--color-border);
  margin-bottom:var(--space-6)}
.fr-crumbs{display:flex;align-items:center;flex-wrap:wrap;gap:0 var(--space-1);margin:0;padding:0;
  list-style:none;font-size:var(--text-sm);color:var(--color-text-muted);min-width:0}
.fr-crumbs li{display:flex;align-items:center;min-width:0}
.fr-crumbs li+li::before{content:"›";content:"›" / "";margin-right:var(--space-1);color:var(--color-border-strong)}
.fr-crumbs a{display:inline-flex;align-items:center;min-height:var(--space-6);
  color:var(--color-primary-text);font-weight:var(--weight-semibold)}
.fr-crumbs a:hover{text-decoration:underline}
.fr-crumbs [aria-current]{display:block;max-width:46ch;overflow:hidden;text-overflow:ellipsis;
  white-space:nowrap;color:var(--color-text);font-weight:var(--weight-semibold)}
.fr-user{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}
.fr-me{display:flex;align-items:center;gap:var(--space-2);min-height:var(--control-sm);font-weight:var(--weight-semibold)}
.fr-me:hover span{text-decoration:underline}
.fr-adminlink{display:inline-flex;align-items:center;min-height:var(--control-sm);
  font-weight:var(--weight-bold);color:var(--color-primary-text)}
.fr-inline{display:inline}
.fr-linkbtn{min-height:var(--control-sm);padding:0 var(--space-1);background:none;border:0;font:inherit;
  font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer}
.fr-linkbtn:hover{color:var(--color-text);text-decoration:underline}
.fr-g{flex:none}
.fr-av{flex:none;width:32px;height:32px;border-radius:50%;color:var(--color-on-primary);display:inline-grid;
  place-items:center;font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:.02em}
.fr-user .fr-av{width:28px;height:28px;font-size:11px}
.fr-flash{margin-bottom:var(--space-5)}

/* ---------- cabeçalho da página ---------- */
.fr-head{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4);
  flex-wrap:wrap;margin-bottom:var(--space-6)}
.fr-head h1{font-size:clamp(var(--text-2xl),3.2vw,32px);letter-spacing:-.02em;
  margin:var(--space-3) 0 var(--space-1);line-height:var(--leading-tight);text-wrap:balance}
.fr-thead h1{margin-top:0}
.fr-lead{margin:0;color:var(--color-text-muted);font-size:var(--text-base)}
.fr-new{flex:none}

/* ---------- categorias ---------- */
.fr-cats{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:var(--space-3);
  margin-bottom:var(--space-8)}
.fr-cat{display:flex;flex-direction:column;padding:var(--space-5);
  transition:border-color var(--duration-fast),box-shadow var(--duration-fast)}
.fr-cat:hover{border-color:var(--color-primary-border);box-shadow:var(--shadow)}
.fr-cat h3{font-size:15px;margin:0 0 var(--space-1)}
.fr-cat p{font-size:var(--text-sm);flex:1}
.fr-catn{margin-top:var(--space-3);font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-primary-text)}

/* ---------- lista de tópicos ---------- */
.fr-section{margin-bottom:var(--space-8)}
.fr-section h2{font-size:var(--text-lg);margin:0 0 var(--space-3)}
.fr-tlist{list-style:none;margin:0;padding:0;border:1px solid var(--color-border);
  border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}
.fr-trow{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 84px 160px;gap:var(--space-4);
  align-items:center;padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}
.fr-trow:first-child{border-top:0}
.fr-trow:hover{background:var(--color-surface-muted)}
/* A linha inteira é o alvo do título (link esticado pelo ::after); a
   etiqueta de categoria fica por cima e continua sendo o próprio link. */
.fr-ttitle{display:block;padding:2px 0;font-weight:var(--weight-bold);font-size:15px;line-height:1.35}
.fr-ttitle::after{content:"";position:absolute;inset:0}
.fr-ttitle:hover{color:var(--color-primary-text);text-decoration:underline}
.fr-ttitle:focus-visible{outline:none}
.fr-ttitle:focus-visible::after{outline:2px solid var(--color-focus);outline-offset:-3px}
.fr-tmeta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-1);
  font-size:var(--text-sm);color:var(--color-text-muted)}
.fr-chip{position:relative;z-index:1;display:inline-flex;align-items:center;min-height:var(--space-6);
  padding:0 10px;border-radius:var(--radius-pill);background:var(--color-primary-soft);
  color:var(--color-primary-text);font-size:var(--text-xs);font-weight:var(--weight-bold);line-height:1.2}
.fr-chip:hover{text-decoration:underline}
.fr-pin{display:inline-flex;align-items:center;min-height:var(--space-6);padding:0 var(--space-2);
  border:1px solid var(--color-warning-border);border-radius:var(--radius-pill);background:var(--color-warning-bg);
  color:var(--color-warning-text);font-size:var(--text-xs);font-weight:var(--weight-bold)}
.fr-tstats{text-align:center;line-height:1.1}
.fr-count{display:block;font-size:var(--text-lg);font-weight:var(--weight-heavy)}
.fr-countlbl{font-size:var(--text-xs);color:var(--color-text-muted)}
.fr-tlast{font-size:var(--text-xs);color:var(--color-text-muted);text-align:right}
.fr-empty{color:var(--color-text-muted);font-size:var(--text-md);padding:var(--space-5);list-style:none;margin:0}
.fr-alist .fr-empty,.fr-section>.fr-empty{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg);
  text-align:center;background:var(--color-surface-muted)}
.fr-pager{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin:var(--space-5) 0}
.fr-pg.off{opacity:.5;pointer-events:none}
.fr-pginfo{font-size:var(--text-sm);color:var(--color-text-muted)}
.fr-rules{font-size:var(--text-sm);color:var(--color-text-muted);background:var(--color-surface-muted);
  border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-3) var(--space-4);line-height:1.5}
.fr-rules strong{color:var(--color-text)}

/* ---------- tópico e mensagens ---------- */
.fr-hidden-note{margin-bottom:var(--space-4)}
.fr-posts{display:flex;flex-direction:column;gap:var(--space-3)}
.fr-post{display:flex;gap:var(--space-4);background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-lg);padding:var(--space-5);scroll-margin-top:var(--space-2)}
.fr-post:target{border-color:var(--color-primary);box-shadow:var(--ring)}
.fr-pmain{flex:1;min-width:0}
.fr-phead{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-md)}
.fr-badge{font-size:var(--text-xs);font-weight:var(--weight-bold);color:var(--color-text-muted);
  background:var(--color-surface-muted);border:1px solid var(--color-border);border-radius:var(--radius-pill);padding:1px var(--space-2)}
.fr-badge-mod{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:var(--color-danger-border)}
.fr-badge-team{color:var(--color-primary-text);background:var(--color-primary-soft);
  border-color:var(--color-primary-border)}
.fr-time{position:relative;margin-left:auto;display:inline-flex;align-items:center;min-height:var(--space-6);
  font-size:var(--text-xs);color:var(--color-text-muted)}
.fr-time:hover{text-decoration:underline}
.fr-pbody{max-width:72ch;margin-top:var(--space-2);font-size:var(--text-base);line-height:1.6;overflow-wrap:anywhere}
.fr-pbody p{margin:0 0 var(--space-3)}
.fr-pbody p:last-child{margin-bottom:0}
.fr-pbody a{color:var(--color-primary-text);text-decoration:underline}
.fr-removed{color:var(--color-text-muted);font-style:italic}
.fr-pacts{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-3)}
.fr-act{display:inline-flex;align-items:center;min-height:var(--control-sm);padding:0 var(--space-3);
  background:none;border:1px solid transparent;border-radius:var(--radius-xs);font:inherit;
  font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);cursor:pointer}
.fr-act:hover{background:var(--color-surface-muted);border-color:var(--color-border);color:var(--color-text)}
.fr-act-mod{color:var(--color-danger)}
.fr-act-mod:hover{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger-hover)}
.fr-tmod{align-self:center;display:flex;gap:var(--space-2);flex-wrap:wrap}

/* ---------- responder / entrar ---------- */
.fr-reply{margin-top:var(--space-6);background:var(--color-surface);border:1px solid var(--color-border);
  border-radius:var(--radius-lg);padding:var(--space-5);display:flex;flex-direction:column;gap:var(--space-3);
  scroll-margin-top:var(--space-2)}
.fr-reply h2{font-size:var(--text-base);margin:0}
.fr-reply textarea{min-height:110px}
.fr-reply .actions{margin-top:0}
.fr-reply-note{margin-top:var(--space-6)}
.fr-login-cta{margin-top:var(--space-6);display:flex;align-items:center;justify-content:space-between;
  gap:var(--space-4);flex-wrap:wrap;background:var(--color-surface-muted);border:1px solid var(--color-border);
  border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5)}
.fr-login-cta p{margin:0;font-weight:var(--weight-semibold)}
.fr-form{max-width:760px;margin-top:0}
.fr-gate{max-width:560px;margin:var(--space-6) auto;padding:var(--space-8);text-align:center}
.fr-gate h1{font-size:var(--text-2xl);line-height:var(--leading-tight);margin:0 0 var(--space-3);text-wrap:balance}
.fr-gate p{color:var(--color-text-muted)}
.fr-gate form{display:flex;flex-direction:column;gap:var(--space-3);text-align:left}
.fr-google-lg{margin:var(--space-2) auto var(--space-1)}
.fr-legal{margin-top:var(--space-4)}
.fr-account{margin-top:var(--space-2)}
.fr-danger-zone{margin-top:var(--space-8);border-top:1px solid var(--color-border)}
.fr-danger-zone h2{margin-top:var(--space-6)}

/* ---------- moderação ---------- */
.fr-alist{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}
.fr-arow{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);
  padding:var(--space-3) var(--space-4);font-size:var(--text-md)}
.fr-arow-head a{font-weight:var(--weight-bold);color:var(--color-primary-text)}
.fr-arow-body{margin:var(--space-2) 0 0;color:var(--color-text-muted);white-space:pre-wrap;overflow-wrap:anywhere}

/* ---------- toque ---------- */
@media (max-width:720px),(pointer:coarse){
  .fr-crumbs a,.fr-me,.fr-adminlink,.fr-linkbtn{min-height:var(--control-md)}
  .btn.fr-google,.btn.fr-pg{height:var(--control-md)}
  .fr-act{min-height:var(--control-md);font-size:var(--text-sm)}
  /* etiqueta: 32px visíveis, 44px de alvo (o ::before estende para cima e para baixo) */
  .fr-chip{min-height:32px;padding:0 var(--space-3)}
  .fr-chip::before{content:"";position:absolute;inset:-6px 0}
  .fr-pin{min-height:32px}
  .fr-time::after{content:"";position:absolute;inset:-10px -6px}
}

/* ---------- celular ---------- */
@media(max-width:720px){
  .fr{padding-top:var(--space-3)}
  .fr-bar{margin-bottom:var(--space-5);padding-top:0}
  /* a página atual já é o título: a trilha vira o caminho de volta */
  .fr-crumbs [aria-current]{display:none}
  .fr-head{margin-bottom:var(--space-5)}
  .fr-new{width:100%}
  .fr-cats{grid-template-columns:1fr;gap:var(--space-2)}
  .fr-cat{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:var(--space-3);padding:var(--space-4)}
  .fr-cat h3{grid-column:1;grid-row:1}
  .fr-catn{grid-column:2;grid-row:1;margin-top:0}
  .fr-cat p{grid-column:1/-1}
  /* tópico: título na largura toda; respostas e última atividade numa linha */
  .fr-trow{grid-template-columns:auto minmax(0,1fr);gap:var(--space-1) var(--space-2);padding:var(--space-4)}
  .fr-tmain{grid-column:1/-1}
  .fr-ttitle{font-size:var(--text-base)}
  .fr-tstats{display:flex;align-items:baseline;gap:var(--space-1);text-align:left;line-height:var(--leading-normal)}
  .fr-count{display:inline;font-size:var(--text-xs);font-weight:var(--weight-bold)}
  .fr-tlast{text-align:left}
  .fr-tlast::before{content:"· ";content:"· " / ""}
  /* mensagem: avatar no cabeçalho, texto na largura toda */
  .fr-post{position:relative;display:block;padding:var(--space-4)}
  .fr-post>.fr-av{position:absolute;top:var(--space-4);left:var(--space-4);width:28px;height:28px;font-size:11px}
  .fr-phead{min-height:28px;padding-left:calc(28px + var(--space-2))}
  .fr-reply{padding:var(--space-4)}
  .fr-reply .btn,.fr-login-cta .btn{width:100%}
  .fr-gate{padding:var(--space-6) var(--space-5)}
}
