/* ACTUALITÉ : grille de quatre cartes sur bureau, carrousel natif sur mobile. */
.news-section { overflow: clip; background: #fff; color: #0F1E2E; padding: 3.3vw 1.6% 3.4vw; }
.news-title { margin: 0 0 2.5vw 1.5%; font: 500 4.08vw/1.15 "Bodoni Moda", serif; font-optical-sizing: none; font-variation-settings: "opsz" 36; letter-spacing: normal; }
.news-track { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 2.8%; }
.news-card { min-width: 0; display: flex; flex-direction: column; align-items: center; background: #9F8F71; padding: 1.05vw 1.05vw 1.05vw; text-align: center; font-family: "bebas-neue-pro", sans-serif; }
.news-preview { display: block; width: 100%; cursor: pointer; color: inherit; text-decoration: none; padding-bottom: 9px; }
.news-preview img { display: block; width: 100%; height: auto; aspect-ratio: 1.42; object-fit: contain; filter: grayscale(1); }
@media (min-width: 768px) and (hover: hover) and (pointer: fine) { .news-preview:hover img, .news-preview:focus-visible img { filter: grayscale(0); } }
/* La zone fixe préserve les positions des photographies et des titres.
   La rotation appartient à l'image, sans déformer la source. */
.news-photo { height: calc(14vw + 10px); width: 100%; margin: .65vw auto .45vw; }
.news-photo-link { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 100%; height: 100%; cursor: pointer; color: inherit; text-decoration: none; }
.news-photo-link img { flex: 0 1 auto; width: 61%; height: 14vw; min-height: 0; object-fit: contain; transform: rotate(-7deg); }
.news-photo-link::after { content: ""; display: block; flex: 0 0 10px; }
.news-mobile-hint { display: none; }
.news-photo img { display: block; border: 0; border-radius: 1px;
  /* Le fin filet suit la photographie contenue, sans encadrer l'espace vide. */
  filter: drop-shadow(1px 0 0 #fff) drop-shadow(-1px 0 0 #fff) drop-shadow(0 1px 0 #fff) drop-shadow(0 -1px 0 #fff);
}
.news-card h3 { margin: 0 0 .4vw; font-size: 1.7vw; font-weight: 700; line-height: 1.12; }
.news-information { margin: 0 0 .55vw; font-size: 1.65vw; font-weight: 300; line-height: 1.22; }
.news-award { display: block; margin: 0 0 .2vw; font: 400 2.35vw/1.2 "Bodoni Moda", serif; }
.news-external-link { position: relative; margin-top: auto; color: #0F1E2E; font-size: 1.5vw; font-weight: 600; text-underline-offset: .2em; }
.news-section a:focus-visible, .news-section button:focus-visible, .news-track:focus-visible { outline: 2px solid #0F1E2E; outline-offset: 4px; }
.news-controls { display: none; }
@media (max-width: 767px) {
  .news-section { padding: 8vw 0 6vw; }
  .news-title { margin: 0 5% 6vw; font-size: 8.96vw; }
  .news-track { display: flex; gap: 5vw; padding: 0 5vw 3vw; overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 5vw; scrollbar-width: thin; scrollbar-color: #9F8F71 transparent; overscroll-behavior-x: contain; }
  .news-card { flex: 0 0 79vw; padding: 3.5vw 3.5vw 5vw; scroll-snap-align: start; }
  .news-photo { height: calc(58vw + 24px); margin: 4vw auto 4vw; }
  .news-photo-link img { width: 61%; height: 49vw; }
  .news-photo-link::after { flex-basis: calc(5vw + 18px); }
  .news-preview { padding-bottom: 25px; }
  .news-mobile-hint { display: block; margin: -2vw 5vw 4vw; font: 300 14px/1.3 "bebas-neue-pro", sans-serif; color: #465C72; }
  .news-card h3 { margin-bottom: 3vw; font-size: 5.7vw; }
  .news-information { font-size: 5.5vw; margin-bottom: 5vw; }
  .news-award { font-size: 8vw; margin-bottom: 1vw; }
  .news-external-link { font-size: 5.5vw; padding: 7px; }
  .news-controls:not([hidden]) { display: flex; justify-content: center; gap: 20px; align-items: center; margin: 3vw 0 0; }
  .news-controls button { display: grid; place-items: center; width: 48px; height: 44px; border: 0; padding: 4px; background: transparent; color: #9F8F71; cursor: pointer; }
  .news-controls button:disabled { opacity: .3; cursor: default; }
  .news-controls svg { width: 40px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.1; stroke-linecap: round; stroke-linejoin: round; }
  .news-position { margin: 0; font: 300 18px "bebas-neue-pro", sans-serif; }
}

/* Le curseur personnalisé permet la transition que le curseur système ne gère pas. */
.news-image-cursor { position: fixed; z-index: 110; width: 32px; height: 36px; pointer-events: none; opacity: 0; color: #FAF9F4; transition: opacity 110ms ease, color 180ms ease, filter 180ms ease; }
.news-image-cursor svg { display: block; width: 100%; height: 100%; fill: currentColor; stroke: #FAF9F4; stroke-width: .85; stroke-linejoin: round; }
.news-image-cursor.is-visible { opacity: 1; color: #9F8F71; filter: drop-shadow(0 0 2px rgb(240 232 218 / 45%)); }
@media (min-width: 768px) and (hover: hover) and (pointer: fine) {
  .news-cursor-ready .news-preview:hover, .news-cursor-ready .news-photo-link:hover { cursor: none; }
}
@media (prefers-reduced-motion: reduce) { .news-image-cursor { transition: none; } }

.news-mobile-picture { display: contents; }
