/* =========
   Portal CSS – Nossa Saúde em Dados (Quarto)
   ========= */

/* Tipografia e base */
:root{
  --nsd-max: 1600px;
  --nsd-radius: 16px;
  --nsd-shadow: 0 10px 25px rgba(0,0,0,.08);
  --nsd-shadow-sm: 0 6px 16px rgba(0,0,0,.06);
  --nsd-border: 1px solid rgba(0,0,0,.08);
  --nsd-muted: rgba(0,0,0,.62);
  --nsd-muted2: rgba(0,0,0,.48);
  --nsd-bg-soft: rgba(0,0,0,.03);
}

body{
  font-feature-settings: "kern", "liga", "clig", "calt";
  letter-spacing: .1px;
}

#quarto-content{
  max-width: var(--nsd-max);
  margin: 0 auto;
}

/* Navbar mais “portal” */
.navbar{
  border-bottom: var(--nsd-border);
  backdrop-filter: blur(8px);
}
.navbar .navbar-brand img{
  max-height: 36px;
}
.navbar .nav-link{
  font-weight: 600;
}
.navbar .nav-link:hover{
  text-decoration: none;
}

/* Títulos */
h1, h2, h3{
  letter-spacing: -0.02em;
}
h1{
  font-size: clamp(1.9rem, 2.6vw, 2.6rem);
  line-height: 1.12;
}
h2{
  margin-top: 2.2rem;
}

/* Metadados do post (data/autor) */
.quarto-title-meta{
  border-top: var(--nsd-border);
  border-bottom: var(--nsd-border);
  padding: 0.75rem 0;
  margin: 1rem 0 1.25rem 0;
}
.quarto-title-meta .quarto-title-meta-contents{
  opacity: .95;
}

/* Links */
a{
  text-underline-offset: 3px;
}
a:hover{
  text-decoration-thickness: 2px;
}

/* Imagens com cara editorial */
img{
  border-radius: 12px;
}
.figure, figure{
  margin: 1.25rem 0 1.75rem;
}
figcaption{
  color: var(--nsd-muted2);
  font-size: .95rem;
}

/* Blocos / Callouts mais “jornalismo de dados” */
.callout{
  border-radius: var(--nsd-radius);
  box-shadow: var(--nsd-shadow-sm);
  border: var(--nsd-border);
}
.callout .callout-header{
  font-weight: 700;
}

/* Código: menos “acadêmico”, mais clean */
pre{
  border-radius: 14px !important;
  border: var(--nsd-border);
  box-shadow: var(--nsd-shadow-sm);
}
code{
  border-radius: 8px;
}

/* ===== LISTINGS (cards) ===== */

/* Quarto Listing (grid) */
.quarto-listing .card,
.quarto-listing .quarto-post{
  border-radius: var(--nsd-radius) !important;
  border: var(--nsd-border) !important;
  box-shadow: var(--nsd-shadow-sm);
  overflow: hidden;
  background: #fff;
}

/* Título do card */
.quarto-listing .card-title,
.quarto-listing .quarto-post .listing-title{
  font-weight: 800;
  line-height: 1.18;
  letter-spacing: -0.015em;
}

/* Resumo */
.quarto-listing .card-text,
.quarto-listing .quarto-post .listing-description{
  color: var(--nsd-muted);
}

/* Thumb / imagem do card */
.quarto-listing .card-img-top,
.quarto-grid-item .card-img-top,
.quarto-grid-item img,
.quarto-listing img {
  object-fit: contain;
  background: #f5f5f5;   /* ou transparente */
}

/* Data/categorias */
.quarto-listing .listing-date,
.quarto-listing .listing-categories{
  font-size: .95rem;
  color: var(--nsd-muted2);
}

/* Hover – “portal premium” */
.quarto-listing .card:hover,
.quarto-listing .quarto-post:hover{
  transform: translateY(-2px);
  transition: transform .12s ease, box-shadow .12s ease;
  box-shadow: var(--nsd-shadow);
}

/* ===== Layout “capa” (helpers) ===== */

/* Caixinha para destaques (use com ::: {.nsd-hero} ... ) */
.nsd-hero{
  border-radius: 22px;
  border: var(--nsd-border);
  box-shadow: var(--nsd-shadow);
  padding: 1.25rem 1.25rem;
  background: linear-gradient(180deg, rgba(0,0,0,.02), rgba(0,0,0,.00));
}
.nsd-hero h2, .nsd-hero h1{
  margin-top: 0.2rem;
}

/* Linha fina para separar seções */
.nsd-divider{
  height: 1px;
  background: rgba(0,0,0,.08);
  margin: 1.75rem 0;
}

/* Footer */
.page-footer{
  border-top: var(--nsd-border);
  margin-top: 3rem;
  padding-top: 1.25rem;
  color: var(--nsd-muted2);
}

/* Responsivo: reduz sombras e espaçamentos */
@media (max-width: 860px){
  :root{ --nsd-radius: 14px; }
  #quarto-content{ padding-left: 0.5rem; padding-right: 0.5rem; }
  .quarto-title-meta{ padding: 0.6rem 0; }
}

/* Aumenta a altura da navbar */
.navbar{
  min-height: 70px;          /* ajuste aqui (64–80px costuma ficar bom) */
  padding-top: 0.6rem;
  padding-bottom: 0.6rem;
}

/* Centraliza verticalmente os itens */
.navbar .navbar-nav,
.navbar .navbar-brand{
  align-items: center;
}

/* Ajusta o logo para a nova altura */
.navbar .navbar-brand img{
  max-height: 60px;          /* aumente junto com a navbar */
}

.card-link,
.card-link:visited,
.card-link:hover,
.card-link:active {
  color: inherit;
  text-decoration: none;
}

/* Garante que textos internos nunca herdem estilo de link */
.card-link * {
  color: inherit;
  text-decoration: none;
}

/* Link "invisível" dentro do hero */
.nsd-hero a,
.nsd-hero a:visited,
.nsd-hero a:active {
  color: inherit !important;
  text-decoration: none !important;
}

/* No hover: continua sem azul/underline + fica negrito */
.nsd-hero a:hover,
.nsd-hero a:focus {
  color: inherit !important;
  text-decoration: none !important;
  font-weight: 700;
  cursor: pointer;
}
/* AUMENTA A LARGURA REAL DO CONTEÚDO */
main#quarto-document-content.content {
  max-width: 1600px !important;
}
/* 1. Mantém o grid do Book intacto */
.page-columns {
  grid-template-columns:
    [sidebar-start] minmax(0, 1fr)
    [content-start] minmax(0, 1600px)
    [content-end] minmax(0, 1fr)
    [margin-end];
}

/* 2. Centraliza o conteúdo */
main#quarto-document-content {
  margin-left: auto;
  margin-right: auto;
}

/* 3. Garante que gráficos usem a largura disponível */
.figure,
.cell-output-display {
  max-width: 100%;
}


/* LISTING (cards): não cortar thumbnail */
.quarto-grid-item .card-img-top,
.quarto-listing .card-img-top {
  /* caso seja <img> */
  object-fit: contain !important;
  width: 100% !important;
  height: 220px;              /* ajuste automático: define altura do “quadro” */
  background: #f5f5f5;
}

/* caso o tema use background-image ao invés de <img> */
.quarto-grid-item .card-img-top,
.quarto-listing .card-img-top {
  background-size: contain !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
}
.quarto-grid-item .card-img-top,
.quarto-listing .card-img-top {
  aspect-ratio: 16 / 9;
  height: auto;
}
