/* ============================================================
   POST TV — Páginas-índice (Editorias / Localidades)
   page-editorias.php e page-localidades.php. Usa os tokens do
   style.css, então acompanha o tema claro e o escuro sem cor fixa.
   ============================================================ */

/* ---------- cartão de termo (sem foto) ---------- */
.ptv-term-cols{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(min(220px,100%),1fr));
  gap:12px;
  margin-top:14px;
}

.ptv-term-card{
  display:flex;
  flex-direction:column;
  gap:6px;
  padding:16px;
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  color:inherit;
  text-decoration:none;
  transition:border-color .18s ease;
}
.ptv-term-card:hover{border-color:var(--orange);}

.ptv-term-card__name{font-size:1rem; font-weight:700; letter-spacing:-.01em; line-height:1.25;}
.ptv-term-card__count{font-family:var(--mono); font-size:.68rem; color:var(--ink-mute);}

/* ---------- editorias: cartão que abre no lugar ---------- */
/* Só as editorias com subeditoria viram <details>; as demais continuam
   sendo .ptv-term-card, link direto. Ao abrir, o cartão cresce e empurra
   a própria linha da grade — os vizinhos ficam parados porque a grade
   alinha pelo topo (align-items:start). */
.ptv-term-exp{
  border:1px solid var(--line);
  border-radius:10px;
  background:var(--panel);
  transition:border-color .18s ease;
}
.ptv-term-exp:hover{border-color:var(--orange);}
.ptv-term-exp[open]{border-color:var(--orange); background:var(--panel-raised);}

.ptv-term-exp__cab{
  list-style:none;
  cursor:pointer;
  padding:16px;
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}
/* O triângulo padrão do Safari/Chrome não combina com o cartão; a seta
   própria (.ptv-term-exp__seta) faz esse papel. */
.ptv-term-exp__cab::-webkit-details-marker{display:none;}
.ptv-term-exp__cab::marker{content:"";}

.ptv-term-exp__txt{display:flex; flex-direction:column; gap:6px; min-width:0;}

.ptv-term-exp__seta{
  flex-shrink:0;
  margin-top:3px;
  color:var(--ink-mute);
  display:flex;
  transition:transform .2s ease, color .18s ease;
}
.ptv-term-exp[open] .ptv-term-exp__seta{transform:rotate(180deg); color:var(--orange);}
.ptv-term-exp__seta svg{display:block;}

.ptv-term-exp__corpo{padding:0 16px 14px;}

.ptv-term-exp__rot{
  font-family:var(--mono);
  font-size:.6rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.12em;
  color:var(--ink-mute);
  padding:10px 0 8px;
  border-top:1px solid var(--line);
  margin-bottom:4px;
}

.ptv-term-opt{
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  margin:0 -10px;
  border-radius:7px;
  font-size:.83rem;
  line-height:1.3;
  color:var(--ink-soft);
  text-decoration:none;
  transition:background .14s ease, color .14s ease;
}
.ptv-term-opt:hover{background:rgba(255,255,255,.05); color:var(--ink);}
.ptv-term-opt__n{
  flex-shrink:0;
  font-family:var(--mono);
  font-size:.68rem;
  color:var(--ink-mute);
  font-variant-numeric:tabular-nums;
}

/* A editoria-mãe, sempre a primeira opção: sem ela, transformar o cartão
   num botão deixaria a editoria inteira inalcançável. */
.ptv-term-opt--mae{color:var(--ink); font-weight:700;}
.ptv-term-opt--mae:hover{background:rgba(255,120,52,.1); color:var(--orange);}
.ptv-term-opt--mae .ptv-term-opt__n{color:var(--ink-soft);}

/* Subeditoria sem matéria: visível (a pista de que existe), mas inerte. */
.ptv-term-opt--vazia{opacity:.42;}
.ptv-term-opt--vazia:hover{background:none; color:var(--ink-soft);}

.ptv-term-sep{
  display:block;
  height:1px;
  background:var(--line);
  margin:6px -10px 5px;
}

@media (prefers-reduced-motion:reduce){
  .ptv-term-exp__seta{transition:none;}
}

/* ---------- localidades: seção por região ---------- */
.ptv-term-section{margin-top:36px;}
.ptv-term-section:first-of-type{margin-top:22px;}

.ptv-term-section__title{
  font-family:var(--mono);
  font-size:.72rem;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.1em;
  color:var(--lime);
  padding-bottom:10px;
  border-bottom:1px solid var(--line);
}
[data-theme="light"] .ptv-term-section__title{color:var(--blue);}

.ptv-term-section__vazia{margin-top:12px; color:var(--ink-soft); font-size:.86rem;}

/* ---------- celular ---------- */
@media (max-width:640px){
  .ptv-term-cols{grid-template-columns:repeat(auto-fill,minmax(min(160px,100%),1fr));}
}
