/* AuBoutDesDoigts V15.6.2 - Lightbox adaptative et hierarchie H1/H2 violette compacte */
:root {
  --abd-heading-violet: var(--abd-primary-strong, var(--primary-dark, #6f4f91));
}

/*
 * Hierarchie compacte demandee :
 * - H1 reduits d'au moins un tiers par rapport au rendu precedent ;
 * - H1 et H2 en violet sur le site public et l'administration.
 */
h1 {
  color: var(--abd-heading-violet) !important;
  font-size: clamp(1.35rem, 1.8vw, 1.65rem) !important;
  line-height: 1.18 !important;
  margin-block: 0 0.85em !important;
}

h2 {
  color: var(--abd-heading-violet) !important;
  font-size: clamp(1.15rem, 1.45vw, 1.35rem) !important;
  line-height: 1.25 !important;
}

@media (max-width: 700px) {
  h1 {
    font-size: clamp(1.2rem, 6vw, 1.4rem) !important;
  }

  h2 {
    font-size: clamp(1.08rem, 5vw, 1.25rem) !important;
  }
}

/*
 * Le visuel agrandi conserve toujours son ratio natif.
 * Les declarations !important neutralisent les anciennes regles width/height
 * et les variantes object-fit: cover encore presentes dans les styles historiques.
 */
.home-carousel-lightbox {
  padding: clamp(10px, 2vw, 24px) !important;
}

.home-carousel-lightbox__backdrop {
  background: rgba(25, 17, 28, .78) !important;
  backdrop-filter: blur(8px) saturate(115%) !important;
  -webkit-backdrop-filter: blur(8px) saturate(115%) !important;
}

.home-carousel-lightbox__dialog {
  width: min(920px, 94vw) !important;
  max-height: 94vh !important;
  padding: 48px 54px 18px !important;
  overflow: visible !important;
  border: 1px solid rgba(255, 255, 255, .12) !important;
  border-radius: 24px !important;
  background: rgba(37, 27, 40, .96) !important;
  box-shadow: 0 28px 80px rgba(0, 0, 0, .42) !important;
}

.home-carousel-lightbox__stage {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: 76vh !important;
  padding: clamp(8px, 1.4vw, 16px) !important;
  overflow: hidden !important;
  border-radius: 16px !important;
  background: linear-gradient(145deg, #171019, #241927) !important;
}

.home-carousel-lightbox__stage img,
.home-carousel-lightbox [data-lightbox-image] {
  display: block !important;
  width: auto !important;
  height: auto !important;
  max-width: 100% !important;
  max-height: calc(76vh - 32px) !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  object-position: center !important;
  border-radius: 12px !important;
  box-shadow: 0 16px 44px rgba(0, 0, 0, .28) !important;
}

.home-carousel-lightbox__close,
.home-carousel-lightbox__nav {
  box-shadow: 0 8px 22px rgba(0, 0, 0, .24) !important;
}

@media (min-width: 701px) and (max-width: 1100px) {
  .home-carousel-lightbox__dialog {
    width: min(820px, 94vw) !important;
    padding-inline: 48px !important;
  }

  .home-carousel-lightbox__stage {
    max-height: 70vh !important;
  }

  .home-carousel-lightbox__stage img,
  .home-carousel-lightbox [data-lightbox-image] {
    max-height: calc(70vh - 28px) !important;
  }
}

@media (max-width: 700px) {
  .home-carousel-lightbox__dialog {
    width: 96vw !important;
    max-height: 96vh !important;
    padding: 44px 10px 12px !important;
    border-radius: 18px !important;
  }

  .home-carousel-lightbox__stage {
    max-height: 72vh !important;
    padding: 6px !important;
  }

  .home-carousel-lightbox__stage img,
  .home-carousel-lightbox [data-lightbox-image] {
    max-height: calc(72vh - 12px) !important;
    border-radius: 10px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .home-carousel-lightbox__stage img {
    transition: none !important;
  }
}
