/*!
==============================================================================
 CFP Santé UI — Galerie v1.6
 Ciblage exact du DOM Drupal / PhotoSwipe
==============================================================================

Structure observée :

<div class="photoswipe-gallery field ... field__items">
  <div class="field__item">
    <a class="photoswipe" href="...">
      <img ...>
    </a>
  </div>
</div>
*/

/* ==========================================================================
   1. Grille
   ========================================================================== */

.photoswipe-gallery.field__items {
  display: grid !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  gap: 8px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.photoswipe-gallery.field__items > .field__item {
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* ==========================================================================
   2. Cadre de la vignette
   ========================================================================== */

.photoswipe-gallery.field__items > .field__item > a.photoswipe {
  position: relative !important;
  display: block !important;
  box-sizing: border-box !important;
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  margin: 0 !important;
  padding: 4px !important;
  overflow: hidden !important;

  border: 1px solid rgba(0, 0, 0, .05) !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow:
    0 1px 4px rgba(0, 0, 0, .05),
    0 4px 12px rgba(0, 0, 0, .035) !important;

  font-size: 0 !important;
  line-height: 0 !important;
  text-decoration: none !important;

  transition:
    transform .2s ease,
    border-color .2s ease,
    box-shadow .2s ease !important;
}

/* Neutralise les décorations ajoutées par le thème. */
.photoswipe-gallery.field__items > .field__item > a.photoswipe::before,
.photoswipe-gallery.field__items > .field__item > a.photoswipe::after {
  content: none !important;
  display: none !important;
}

/* ==========================================================================
   3. Image
   ========================================================================== */

.photoswipe-gallery.field__items > .field__item > a.photoswipe > img {
  position: static !important;
  display: block !important;
  box-sizing: border-box !important;

  width: 100% !important;
  height: 100% !important;
  max-width: none !important;

  margin: 0 !important;
  padding: 0 !important;
  inset: auto !important;

  border: 0 !important;
  border-radius: 4px !important;

  object-fit: cover !important;
  object-position: center center !important;
  vertical-align: top !important;

  transform: none !important;
  box-shadow: none !important;
  filter: contrast(1.04) saturate(1.04);

  transition:
    transform .25s ease,
    filter .25s ease !important;
}

/* ==========================================================================
   4. Survol et focus
   ========================================================================== */

.photoswipe-gallery.field__items > .field__item > a.photoswipe:hover,
.photoswipe-gallery.field__items > .field__item > a.photoswipe:focus-visible {
  transform: translateY(-2px) !important;
  border-color: rgba(0, 161, 155, .32) !important;
  box-shadow:
    0 5px 14px rgba(0, 0, 0, .08),
    0 10px 22px rgba(0, 161, 155, .06) !important;
}

.photoswipe-gallery.field__items > .field__item > a.photoswipe:hover > img,
.photoswipe-gallery.field__items > .field__item > a.photoswipe:focus-visible > img {
  transform: scale(1.025) !important;
  filter:
    contrast(1.07)
    saturate(1.08)
    brightness(1.01);
}

.photoswipe-gallery.field__items > .field__item > a.photoswipe:focus-visible {
  outline: 2px solid rgba(0, 161, 155, .42) !important;
  outline-offset: 2px !important;
}

/* ==========================================================================
   5. Responsive
   ========================================================================== */

@media (max-width: 1200px) {
  .photoswipe-gallery.field__items {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .photoswipe-gallery.field__items {
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 600px) {
  .photoswipe-gallery.field__items {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
    gap: 7px !important;
  }

  .photoswipe-gallery.field__items > .field__item > a.photoswipe {
    padding: 3px !important;
    border-radius: 6px !important;
  }

  .photoswipe-gallery.field__items > .field__item > a.photoswipe > img {
    border-radius: 3px !important;
  }
}

/* ==========================================================================
   6. Réduction des animations
   ========================================================================== */

@media (prefers-reduced-motion: reduce) {
  .photoswipe-gallery.field__items > .field__item > a.photoswipe,
  .photoswipe-gallery.field__items > .field__item > a.photoswipe > img {
    transition: none !important;
  }

  .photoswipe-gallery.field__items > .field__item > a.photoswipe:hover,
  .photoswipe-gallery.field__items > .field__item > a.photoswipe:hover > img {
    transform: none !important;
  }
}
