/* =====================================================================
   VITRINE DE COLUNAS (pg/templates/_blocos/colunas.php)
   Base única para a home clássica e para os modelos visuais. Antes este CSS
   vivia inline no pg/home.php, e nos modelos (amplo/essencial/revista) os
   cards saíam como texto solto. Os skins só ajustam o grid e as cores —
   por isso as cores aqui herdam do card (o noturno troca o fundo e o texto).
   ===================================================================== */
.colunas-showcase{ margin:8px 0 24px; }

.colunas-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(240px,1fr));
  gap:20px;
}

.coluna-card{
  display:flex; flex-direction:column;
  border-radius:var(--radius,14px); overflow:hidden;
  background:#fff; color:var(--cor-texto-1,#1c1c1c);
  border:1px solid rgba(0,0,0,.06);
  box-shadow:0 12px 32px -20px rgba(0,0,0,.35);
  text-decoration:none;
  transition:transform .2s ease, box-shadow .2s ease;
}
.coluna-card:hover{ transform:translateY(-4px); box-shadow:0 20px 40px -20px rgba(0,0,0,.4); }
.coluna-card:focus-visible{ outline:2px solid var(--cor-primaria,#3F33C1); outline-offset:3px; }

/* Capa: imagem da coluna; sem imagem, faixa na cor do portal com a logo
   ou a inicial do nome — nunca um retângulo vazio. */
.coluna-card-capa{
  position:relative; height:140px;
  display:flex; align-items:center; justify-content:center;
  background-color:var(--cor-primaria,#3F33C1);
  background-image:linear-gradient(135deg, rgba(255,255,255,.14), rgba(0,0,0,.22));
  background-size:cover; background-position:center;
}
.coluna-card-capa.tem-imagem{ background-image:none; }
.coluna-card-capa img.coluna-card-logo{ max-width:60%; max-height:64px; object-fit:contain; }
.coluna-card-inicial{
  font-family:var(--fonte-titulo,inherit); font-weight:800; font-size:44px; line-height:1;
  color:rgba(255,255,255,.92); letter-spacing:-.02em;
}

.coluna-card-body{ display:flex; flex-direction:column; flex:1; padding:16px 18px 18px; }
.coluna-card-nome{ font-weight:800; font-size:1.08rem; line-height:1.25; color:inherit; }
.coluna-card-desc{
  margin-top:6px; font-size:.88rem; line-height:1.45; color:inherit; opacity:.68;
  display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden;
}
.coluna-card-autor{
  display:flex; align-items:center; gap:8px; margin-top:14px;
  font-size:.82rem; font-weight:600; color:inherit; opacity:.8;
}
.coluna-card-autor img{ width:28px; height:28px; border-radius:50%; object-fit:cover; }
.coluna-card-ver{
  margin-top:auto; padding-top:14px;
  font-size:.82rem; font-weight:700; color:var(--cor-primaria,#3F33C1);
}
.coluna-card:hover .coluna-card-ver{ text-decoration:underline; }

@media (max-width:640px){
  .colunas-showcase{ margin:0 0 16px; }
  .colunas-grid{ grid-template-columns:1fr; gap:14px; }
  .coluna-card-capa{ height:120px; }
}
