/* ===== Mobile-first base ===== */
:root{
  --gap: 12px;
  --radius: 12px;
  --line: #eef1f5;
  --muted: #6b7280;
}

html{ font-size:16px; -webkit-text-size-adjust:100%; }
body{ font-feature-settings:"liga" 1; }

/* Sticky header (busca/filtros) */
.gl-sticky{
  position: sticky; top: 0; z-index: 100;
  background: #fff;
  border-bottom: 1px solid var(--line);
  padding-top: .5rem; padding-bottom: .5rem;
}

/* Tap targets grandes */
.form-control,.form-select,.btn,
.page-link{ min-height:44px; }

/* Lista */
.list-group-item{ border:0; border-bottom:1px solid var(--line); }
.list-group-item:focus{ outline:none; box-shadow: inset 0 0 0 2px #2563eb33; border-radius: var(--radius); }
.card-hover:hover{ box-shadow:0 10px 28px rgba(0,0,0,.08); }

/* Thumb responsiva com aspect-ratio p/ evitar layout shift */
.thumb{
  width:84px; height:84px; aspect-ratio:1/1;
  object-fit:cover; border-radius:10px; background:#f3f4f6;
}
.term-title{ font-weight:600; font-size:1rem; line-height:1.25; }
.snippet{ color:var(--muted); }

/* Paginação: botões tocáveis */
.pagination .page-link{
  min-width:44px; min-height:44px;
  display:flex; align-items:center; justify-content:center;
}

/* Botão primário com degradê */
.btn-primary{ background:linear-gradient(135deg,#0ea5e9,#6366f1); border:0; }
.btn-primary:hover{ filter:brightness(1.03); }

/* Conteúdo do termo */
.term-cover{ border-radius:12px; overflow:hidden; }
.term-cover img{ width:100%; height:auto; display:block; }

/* Telas >=768px (apenas lapidar) */
@media (min-width:768px){
  .thumb{ width:96px; height:96px; }
  .term-title{ font-size:1.0625rem; }
}

/* Telas muito pequenas */
@media (max-width:360px){
  .thumb{ width:72px; height:72px; }
}
