/* =====================================================================
   ULTIMAS NOTICIAS DA HOME

   Bloco fixo entre o banner do topo e o construtor da pagina inicial.
   Carregado so na home, pela lista $estilosExtras do index.php.

   --cor-editoria: cor da categoria daquela materia, escrita pelo PHP em
   cada cartao. E ela que pinta a faixa da manchete, o titulo dos
   cartoes e o traco que aparece no hover.

   Mobile first: uma coluna so. O arranjo do print (manchete + 3 embaixo
   + 2 na lateral) comeca em 992px.
   ===================================================================== */

.ultimas { margin-top: 18px; }

.ultimas-grade {
  display: grid;
  gap: 18px;
}

/* ---------------------------------------------------------------------
   MANCHETE
   Imagem em cima, faixa colorida embaixo com editoria, titulo e data.
   --------------------------------------------------------------------- */

.ultima-principal {
  overflow: hidden;
  border-radius: 10px;
  box-shadow: 0 6px 22px rgba(16, 24, 32, .08);
}

.ultima-principal-link { display: block; color: inherit; }

.ultima-principal-imagem {
  display: block;
  overflow: hidden;
  aspect-ratio: 16 / 9;
  background: #e9ecef;
}
.ultima-principal-imagem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .6s cubic-bezier(.2,.7,.2,1);
}
.ultima-principal-link:hover .ultima-principal-imagem img { transform: scale(1.04); }

.ultima-principal-faixa {
  display: block;
  padding: 13px 16px 15px;
  color: #fff;
  background: var(--cor-editoria, var(--azul));
}

.ultima-editoria {
  display: inline-block;
  margin-bottom: 7px;
  padding: 3px 8px;
  background: rgba(255, 255, 255, .18);
  border-radius: 4px;
  font-family: var(--fonte-menu);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.ultima-principal-titulo {
  margin: 0;
  color: #fff;
  font-family: var(--fonte-titulo);
  font-size: clamp(1.15rem, 4.6vw, 1.55rem);
  font-weight: 800;
  line-height: 1.22;
  letter-spacing: -.02em;
}

/* ---------------------------------------------------------------------
   CARTOES (linha de baixo e coluna da direita)
   Sem faixa: aqui quem carrega a cor da editoria e o proprio titulo.
   --------------------------------------------------------------------- */

.ultimas-secundarias { display: grid; gap: 18px; }
.ultimas-lateral { display: grid; gap: 18px; align-content: start; }

.ultima-cartao-link { display: block; color: inherit; }

.ultima-cartao-imagem {
  position: relative;
  display: block;
  overflow: hidden;
  margin-bottom: 9px;
  aspect-ratio: 3 / 2;
  background: #e9ecef;
  border-radius: 8px;
}

/* Etiqueta da editoria sobre a miniatura, na cor da propria editoria. */
.ultima-cartao-editoria {
  position: absolute;
  bottom: 8px;
  left: 8px;
  max-width: calc(100% - 16px);
  overflow: hidden;
  padding: 3px 8px;
  color: #fff;
  background: var(--cor-editoria, var(--azul));
  border-radius: 4px;
  font-family: var(--fonte-menu);
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .1em;
  line-height: 1.3;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}
.ultima-cartao-imagem img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .5s cubic-bezier(.2,.7,.2,1);
}
.ultima-cartao-link:hover .ultima-cartao-imagem img { transform: scale(1.05); }

.ultima-cartao-titulo {
  margin: 0 0 7px;
  color: var(--cor-editoria, var(--azul));
  font-family: var(--fonte-titulo);
  font-size: 1rem;
  font-weight: 800;
  line-height: 1.24;
  letter-spacing: -.015em;
  transition: opacity .18s;
}
.ultima-cartao-link:hover .ultima-cartao-titulo { opacity: .78; }

/* Data: mesma pegada nos dois tamanhos de cartao. */
.ultima-data {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-family: var(--fonte-menu);
  font-size: 11px;
  font-weight: 600;
}
.ultima-cartao .ultima-data { color: #6b7480; }
.ultima-principal .ultima-data { margin-top: 9px; color: rgba(255, 255, 255, .85); }
.ultima-data i { font-size: 10.5px; }

/* ---------------------------------------------------------------------
   TABLET: os tres cartoes de baixo ja cabem lado a lado
   --------------------------------------------------------------------- */

@media (min-width: 576px) {
  .ultimas-secundarias { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .ultimas-lateral { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ultima-cartao-titulo { font-size: .95rem; }
}

/* ---------------------------------------------------------------------
   DESKTOP: o arranjo do projeto
   --------------------------------------------------------------------- */

@media (min-width: 992px) {
  .ultimas { margin-top: 24px; }

  .ultimas-grade {
    grid-template-columns: minmax(0, 2.05fr) minmax(0, 1fr);
    grid-template-areas:
      "principal   lateral"
      "secundarias lateral";
    gap: 22px;
  }

  .ultima-principal    { grid-area: principal; }
  .ultimas-secundarias { grid-area: secundarias; }

  /* A coluna da direita acompanha a altura das duas linhas da esquerda:
     os dois cartoes se esticam para fechar o bloco sem sobra. */
  .ultimas-lateral {
    grid-area: lateral;
    grid-template-columns: minmax(0, 1fr);
    align-content: stretch;
  }

  .ultima-principal-faixa { padding: 15px 20px 17px; }
  .ultima-principal-titulo { font-size: 1.6rem; }
  .ultima-cartao-titulo { font-size: 1.02rem; }
}

@media (prefers-reduced-motion: reduce) {
  .ultima-principal-imagem img,
  .ultima-cartao-imagem img { transition: none; }
}
