/* Cartes d'actualité (.nw) : maquette docs/i4s-actualites.html. Liste (une rangée « large et étroite », puis des
   rangées de trois), « À lire aussi » et « Dans l'actualité » (trois colonnes). Sans image, une tuile marine à l'icône
   de la catégorie. Cartes séparées, comme celles des applications de l'accueil (décision d'Alexandre, 22/09/2026 : plus
   de grille collée à filets de 1 px) : même écart, même filet, même survol, « Lire » en pied de carte. */
.nw{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.nw li{display:grid}
.nw a{display:grid;grid-template-rows:auto 1fr;background:#fff;border:1px solid var(--line);color:var(--navy);
  transition:border-color .18s,box-shadow .18s}
.nw a:hover{border-color:var(--blue);box-shadow:var(--sh-2);text-decoration:none}
.nw__p{display:block;aspect-ratio:16/10;overflow:hidden;background:var(--navy)}
.nw__p img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
.nw a:hover .nw__p img{transform:scale(1.045)}
.nw__p--t{display:grid;place-items:center;
  background:radial-gradient(circle at 1px 1px,rgba(255,255,255,.1) 1px,transparent 0) 0 0/16px 16px,var(--navy)}
.nw__p--t .ic{width:2.4rem;height:2.4rem;color:#5CC1EC}
.nw__b{display:flex;flex-direction:column;gap:10px;padding:clamp(20px,2.2vw,28px)}
.nw__k{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.nw__k time{font-family:var(--ui);font-weight:700;font-size:.82rem;color:var(--mute);
  font-variant-numeric:tabular-nums}
.nw .chip{font-family:var(--ui);font-size:.68rem;font-weight:700;letter-spacing:.07em;
  text-transform:uppercase;color:var(--navy);border:1px solid var(--line);padding:4px 9px;white-space:nowrap}
.nw__b h2,.nw__b h3{font-size:1.14rem;letter-spacing:-.015em;line-height:1.3}
.nw__b p{font-size:.93rem}
.nw .more{margin-top:auto;padding-top:14px;border-top:1px solid var(--line-s)}
.nw a:hover .more .ic{transform:translateX(3px)}
/* Une ou deux cartes : la grille se referme sans case vide */
.nw--n1{grid-template-columns:minmax(0,1fr)}
.nw--n2{grid-template-columns:repeat(2,minmax(0,1fr))}

/* Liste : une rangée « large et étroite », puis des rangées de trois (ActualitesPubliques::disposer(), classes
   nw__t{colonnes sur trois} et nw__d{colonnes sur deux}). Une carte large pose sa photo à côté du texte, sur toute la
   hauteur de la rangée ; son titre grandit. Sous 700 px, une seule colonne : toutes les cartes reprennent la photo
   au-dessus du texte. */
@media (min-width:1001px){
  .nw--grille .nw__t2{grid-column:span 2}
  .nw--grille .nw__t3{grid-column:1/-1}
  .nw--grille :is(.nw__t2,.nw__t3) a{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);grid-template-rows:none}
  .nw--grille :is(.nw__t2,.nw__t3) .nw__p{aspect-ratio:auto;min-height:320px}
  /* Le pied garde la marge des cartes étroites : « Lire » s'aligne d'une carte à l'autre de la rangée */
  .nw--grille :is(.nw__t2,.nw__t3) .nw__b{padding:clamp(26px,2.8vw,40px) clamp(26px,2.8vw,40px) clamp(20px,2.2vw,28px);gap:14px}
  .nw--grille :is(.nw__t2,.nw__t3) :is(h2,h3){font-size:clamp(1.35rem,2vw,1.7rem);letter-spacing:-.022em;line-height:1.2}
  .nw--grille :is(.nw__t2,.nw__t3) p{font-size:.98rem}
}

@media (max-width:1000px){
  .nw{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
  .nw--n1{grid-template-columns:minmax(0,1fr)}
  .nw:not(.nw--n1):not(.nw--grille) li:last-child:nth-child(odd){grid-column:1/-1}
}
@media (min-width:701px) and (max-width:1000px){
  .nw--grille .nw__d2{grid-column:1/-1}
  .nw--grille .nw__d2 a{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);grid-template-rows:none}
  .nw--grille .nw__d2 .nw__p{aspect-ratio:auto;min-height:280px}
  .nw--grille .nw__d2 :is(h2,h3){font-size:1.3rem;line-height:1.22}
}
@media (max-width:700px){
  .nw,.nw--n2{grid-template-columns:minmax(0,1fr)}
}
