/* Rubrique "Nuit de l'élégance" : galerie photos + visionneuse */
.sec_galerie {
  background-color: var(--grey--grey-600);
  position: relative;
}

.galerie_header {
  grid-row-gap: var(--_sizes---fixed--xlarge);
  flex-flow: column;
  align-items: flex-start;
  max-width: 40rem;
  display: flex;
}

.galerie_title {
  font-family: var(--_typography---h2--font-family);
  font-size: var(--_typography---h2--font-size);
  line-height: var(--_typography---h2--line-height);
  font-weight: var(--_typography---h2--font-weight);
  letter-spacing: var(--_typography---h2--letter-spacing);
  margin: 0;
}

.galerie_intro {
  font-size: var(--_typography---base--font-size);
  line-height: var(--_typography---base--line-height);
  letter-spacing: var(--_typography---base--letter-spacing);
}

.galerie_grid {
  grid-gap: var(--_sizes---fixed--small);
  grid-template-columns: repeat(4, 1fr);
  margin: 0;
  padding: 0;
  list-style: none;
  display: grid;
}

.galerie_item[hidden] {
  display: none;
}

.galerie_link {
  aspect-ratio: 1;
  background-color: var(--grey--grey-500);
  display: block;
  overflow: hidden;
}

.galerie_link img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  transition: transform .5s ease, opacity .3s ease;
  display: block;
}

.galerie_link:hover img,
.galerie_link:focus-visible img {
  opacity: .9;
  transform: scale(1.04);
}

.galerie_link:focus-visible {
  outline: 2px solid var(--base--light-orange);
  outline-offset: 2px;
}

.galerie_more {
  justify-content: center;
  margin-top: var(--_sizes---fixed--xhuge);
  display: flex;
}

.galerie_more[hidden] {
  display: none;
}

.galerie_more_btn {
  font-family: var(--_typography---font-family--alternate);
  font-size: var(--_sizes---fixed--medium);
  color: var(--text-color--text-on-primary);
  text-transform: uppercase;
  letter-spacing: .05em;
  cursor: pointer;
  background-color: transparent;
  border: 1px solid var(--text-color--text-on-primary);
  padding: .875rem 1.5rem;
  transition: background-color .3s ease, color .3s ease, border-color .3s ease;
}

.galerie_more_btn:hover,
.galerie_more_btn:focus-visible {
  background-color: var(--base--light-orange);
  border-color: var(--base--light-orange);
}

/* Visionneuse */
.galerie_lightbox {
  z-index: 9999;
  background-color: #0a0a0a;
  justify-content: center;
  align-items: center;
  display: flex;
  position: fixed;
  inset: 0;
}

.galerie_lightbox[hidden] {
  display: none;
}

.galerie_lb_figure {
  flex-flow: column;
  align-items: center;
  margin: 0;
  display: flex;
}

.galerie_lb_img {
  object-fit: contain;
  max-width: calc(100vw - 8rem);
  max-height: calc(100vh - 6rem);
  max-height: calc(100dvh - 6rem);
  display: block;
}

.galerie_lb_count {
  font-family: var(--_typography---font-family--alternate);
  color: var(--text-color--text-on-secondary);
  margin-top: .75rem;
  font-size: .875rem;
}

.galerie_lb_btn {
  color: #fff;
  cursor: pointer;
  background-color: rgba(255, 255, 255, .08);
  border: 0;
  border-radius: 50%;
  justify-content: center;
  align-items: center;
  width: 3rem;
  height: 3rem;
  font-size: 2rem;
  line-height: 1;
  transition: background-color .2s ease;
  display: flex;
  position: absolute;
}

.galerie_lb_btn:hover,
.galerie_lb_btn:focus-visible {
  background-color: var(--base--light-orange);
}

.galerie_lb_close {
  top: 1rem;
  right: 1rem;
}

.galerie_lb_prev {
  top: 50%;
  left: 1rem;
  transform: translateY(-50%);
}

.galerie_lb_next {
  top: 50%;
  right: 1rem;
  transform: translateY(-50%);
}

html.galerie-open,
html.galerie-open body {
  overflow: hidden;
}

@media screen and (max-width: 991px) {
  .galerie_grid {
    grid-template-columns: repeat(3, 1fr);
  }
}

@media screen and (max-width: 767px) {
  .galerie_grid {
    grid-gap: var(--_sizes---fixed--xsmall);
    grid-template-columns: repeat(2, 1fr);
  }

  .galerie_lb_img {
    max-width: 100vw;
  }

  .galerie_lb_prev,
  .galerie_lb_next {
    top: auto;
    bottom: 1rem;
    transform: none;
  }
}

/* Section "Prochains shows" sans date annoncée */
.rundown_a-venir {
  justify-content: flex-start;
}

.rundown_a-venir_link {
  color: var(--base--light-orange);
  text-decoration: underline;
}
