/*
 * GATARD Pro Pages 1.9.32
 * Correctif responsive ciblé des cinq pages du module.
 *
 * Cette feuille :
 * - ne cible jamais body, main, #wrapper, #page, le header, le menu rapide
 *   ou le footer ;
 * - ne modifie pas le hero / slider de l'accueil ;
 * - conserve les compositions photo propres à chaque page ;
 * - impose une gouttière de 15 px sur mobile et tablette.
 */

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
  --gpp-gutter: clamp(26px, 2.25vw, 42px);
  --gpp-section-y: clamp(56px, 5vw, 88px);
  --gpp-section-gap: clamp(40px, 4vw, 68px);
  --gpp-card-gap: clamp(16px, 1.5vw, 26px);
  --gpp-radius: clamp(14px, 1.05vw, 19px);
  max-width: 100% !important;
  box-sizing: border-box !important;
}

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery),
:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) *,
:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) *::before,
:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) *::after {
  box-sizing: border-box !important;
}

@supports (overflow: clip) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    overflow-x: clip !important;
  }
}

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) img {
  display: block;
  max-width: 100% !important;
}

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(h1,h2,h3,p,a,button,label,strong,small,span,figcaption) {
  min-width: 0;
  word-break: normal;
}

/* Axe intérieur commun ; les fonds de section restent pleine largeur. */
#gatard-home .gatard-home__container,
#gatard-home .gatard-home__gallery-head,
#gatard-home .gatard-home__gallery-carousel,
#gatard-carte .gatard-carte__shell,
#gatard-locations .gatard-locations__hero-inner,
#gatard-locations .gatard-locations__shell,
#gatard-events .gatard-events__inner,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
  width: min(1800px, calc(100% - (var(--gpp-gutter) * 2))) !important;
  max-width: min(1800px, calc(100% - (var(--gpp-gutter) * 2))) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

#gatard-gallery.gatard-gallery--reference {
  --gg-container: min(1800px, calc(100% - (var(--gpp-gutter) * 2))) !important;
  --gg-inner: min(1800px, calc(100% - (var(--gpp-gutter) * 2))) !important;
}

/* Texte courant lisible, sans agrandir les libellés et boutons. */
#gatard-home
  :is(.gatard-home__story-excerpt,.gatard-home__story-full,.gatard-home__locations-copy > p,.gatard-home__event-copy > p),
#gatard-carte
  :is(.gatard-carte__hero-text,.gatard-carte__card-head p,.gatard-carte__note p,.gatard-carte__feature figcaption),
#gatard-locations
  :is(.gatard-locations__hero-inner > p,.gatard-location-card__address,.gatard-locations__note p),
#gatard-events
  :is(.gatard-events__hero-copy > p,.gatard-event-card p,.gatard-events__commitment p,.gatard-events__project p),
#gatard-gallery
  :is(.gatard-gallery__hero p,.gatard-gallery__section-head p,.gatard-gallery__moments-copy p) {
  font-size: clamp(15px, .3vw + 13.7px, 17px) !important;
  line-height: 1.62 !important;
}

/* Espacements communs hors hero de l'accueil. */
#gatard-home .gatard-home__section {
  margin: 0 !important;
  padding-top: var(--gpp-section-y) !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-home
  :is(.gatard-home__story-grid,.gatard-home__locations-grid,.gatard-home__review-layout,.gatard-home__event-card) {
  min-width: 0 !important;
  gap: var(--gpp-section-gap) !important;
}

#gatard-home
  :is(.gatard-home__menu-grid,.gatard-home__location-track,.gatard-home__review-track,.gatard-home__gallery-strip) {
  min-width: 0 !important;
  gap: var(--gpp-card-gap) !important;
}

#gatard-carte .gatard-carte__shell {
  padding-top: var(--gpp-section-y) !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-carte
  :is(.gatard-carte__cards,.gatard-carte__food-grid) {
  min-width: 0 !important;
  gap: var(--gpp-card-gap) !important;
}

#gatard-carte
  :is(.gatard-carte__card,.gatard-carte__card-inner,.gatard-carte__list-item,.gatard-carte__feature-row,.gatard-carte__phone-box) {
  min-width: 0 !important;
}

#gatard-carte .gatard-carte__card-head h2,
#gatard-carte .gatard-carte__phone-box a {
  max-width: 100% !important;
  white-space: normal !important;
}

#gatard-locations .gatard-locations__shell {
  padding-top: clamp(30px, 3vw, 50px) !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-locations
  :is(.gatard-locations__toolbar,.gatard-locations__filters,.gatard-locations__actions,.gatard-locations__list,.gatard-location-card,.gatard-location-card__content) {
  min-width: 0 !important;
}

#gatard-locations .gatard-locations__list {
  gap: var(--gpp-card-gap) !important;
}

#gatard-locations .gatard-location-card__photo img,
#gatard-locations .gatard-location-card__map img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

/* ÉVÉNEMENT : le PNG du hero reste réellement transparent. */
#gatard-events {
  --gatard-events-gutter: var(--gpp-gutter) !important;
  --gatard-events-section-gap: var(--gpp-section-gap) !important;
  --gatard-events-card-gap: var(--gpp-card-gap) !important;
}

#gatard-events .gatard-events__inner {
  width: min(1800px, calc(100% - (var(--gpp-gutter) * 2))) !important;
  max-width: min(1800px, calc(100% - (var(--gpp-gutter) * 2))) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-events .gatard-events__hero-media {
  overflow: visible !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  isolation: auto !important;
}

#gatard-events .gatard-events__hero-media::before,
#gatard-events .gatard-events__hero-media::after,
#gatard-events .gatard-events__brush {
  display: none !important;
  content: none !important;
  background: transparent !important;
}

#gatard-events .gatard-events__hero-media > img {
  position: static !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  filter: none !important;
  transform: none !important;
}

#gatard-events .gatard-events__project figure {
  background: transparent !important;
}

#gatard-events .gatard-events__project figure > img,
#gatard-events .gatard-event-card figure > img,
#gatard-events .gatard-events__gallery-item img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
}

/* Base de calcul stable pour le carrousel événement. */
#gatard-events .gatard-events__gallery-wrap {
  display: grid !important;
  grid-template-columns: 44px minmax(0, 1fr) 44px !important;
  align-items: center !important;
  gap: 12px !important;
  width: 100% !important;
  min-width: 0 !important;
}

#gatard-events .gatard-events__gallery-viewport {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
}

#gatard-events .gatard-events__gallery-track {
  display: flex !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 14px !important;
}

#gatard-events .gatard-events__gallery-item,
#gatard-events .gatard-events__gallery-track > .gatard-events__gallery-item {
  flex: 0 0 calc((100% - 42px) / 4) !important;
  width: calc((100% - 42px) / 4) !important;
  min-width: 0 !important;
  max-width: none !important;
  aspect-ratio: 4 / 3 !important;
}

#gatard-events .gatard-events__gallery-open {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: 4 / 3 !important;
}

#gatard-events .gatard-events__slider-btn--prev {
  grid-column: 1 !important;
  grid-row: 1 !important;
}

#gatard-events .gatard-events__slider-btn--next {
  grid-column: 3 !important;
  grid-row: 1 !important;
}

/* GALERIE : les vignettes remplissent leur cadre, le viewer conserve l'original. */
#gatard-gallery.gatard-gallery--reference .gatard-gallery__photo {
  min-width: 0 !important;
  background: transparent !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__open {
  width: 100% !important;
  height: 100% !important;
  min-width: 0 !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__photo img {
  width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
  background: transparent !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__grid--cards .gatard-gallery__photo img {
  height: auto !important;
  min-height: 0 !important;
  aspect-ratio: 1.62 / 1 !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__section {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: var(--gpp-section-gap) !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__grid {
  gap: var(--gpp-card-gap) !important;
}

#gatard-gallery .gatard-gallery__viewer img,
#gatard-events .gatard-events__viewer img {
  object-fit: contain !important;
  object-position: center !important;
  background: transparent !important;
}

/* Aperçu desktop d'origine : un grand visuel et deux vignettes à droite. */
@media (min-width: 1200px) {
  #gatard-gallery.gatard-gallery--reference:not(.gatard-gallery--single-category)
    .gatard-gallery__grid--mosaic {
    display: grid !important;
    grid-template-columns: minmax(0, 3fr) minmax(250px, 1fr) !important;
    grid-template-rows: repeat(2, clamp(150px, 12vw, 220px)) !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    width: 100% !important;
    overflow: visible !important;
  }

  #gatard-gallery.gatard-gallery--reference:not(.gatard-gallery--single-category)
    .gatard-gallery__grid--mosaic > .gatard-gallery__photo:nth-child(1) {
    display: block !important;
    grid-column: 1 !important;
    grid-row: 1 / 3 !important;
  }

  #gatard-gallery.gatard-gallery--reference:not(.gatard-gallery--single-category)
    .gatard-gallery__grid--mosaic > .gatard-gallery__photo:nth-child(2) {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  #gatard-gallery.gatard-gallery--reference:not(.gatard-gallery--single-category)
    .gatard-gallery__grid--mosaic > .gatard-gallery__photo:nth-child(3) {
    display: block !important;
    grid-column: 2 !important;
    grid-row: 2 !important;
  }

  #gatard-gallery.gatard-gallery--reference:not(.gatard-gallery--single-category)
    .gatard-gallery__grid--mosaic > .gatard-gallery__photo:nth-child(n + 4) {
    display: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid--cards {
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  }

  #gatard-gallery.gatard-gallery--reference.gatard-gallery--single-category
    .gatard-gallery__section.gatard-is-selected .gatard-gallery__grid {
    display: grid !important;
    grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important;
    grid-template-rows: none !important;
    grid-auto-flow: row !important;
    grid-auto-rows: auto !important;
    width: 100% !important;
    overflow: visible !important;
  }

  #gatard-gallery.gatard-gallery--reference.gatard-gallery--single-category
    .gatard-gallery__section.gatard-is-selected .gatard-gallery__photo {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    aspect-ratio: 4 / 3 !important;
  }
}

/* TABLETTE : 15 px exacts de chaque côté. */
@media (min-width: 768px) and (max-width: 1199px) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    --gpp-gutter: 15px;
    --gpp-section-y: clamp(46px, 5.8vw, 62px);
    --gpp-section-gap: clamp(34px, 4.5vw, 48px);
    --gpp-card-gap: 16px;
    --gpp-radius: 16px;
  }

  #gatard-home .gatard-home__container,
  #gatard-home .gatard-home__gallery-head,
  #gatard-home .gatard-home__gallery-carousel,
  #gatard-carte .gatard-carte__shell,
  #gatard-locations .gatard-locations__hero-inner,
  #gatard-locations .gatard-locations__shell,
  #gatard-events .gatard-events__inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-events {
    --gatard-events-gutter: 15px !important;
  }

  #gatard-gallery.gatard-gallery--reference {
    --gatard-page-gutter: 15px !important;
    --gg-container: calc(100% - 30px) !important;
    --gg-inner: calc(100% - 30px) !important;
  }

  #gatard-carte .gatard-carte__cards,
  #gatard-events .gatard-events__cards,
  #gatard-events .gatard-events__commitment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-carte .gatard-carte__card--private {
    grid-column: 1 / -1 !important;
  }

  #gatard-locations .gatard-locations__toolbar {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-events .gatard-events__hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  #gatard-events .gatard-events__hero-media {
    order: 1 !important;
    width: min(100%, 820px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-events .gatard-events__hero-copy {
    order: 2 !important;
    width: min(100%, 820px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-events .gatard-events__gallery-item,
  #gatard-events .gatard-events__gallery-track > .gatard-events__gallery-item {
    flex-basis: calc((100% - 14px) / 2) !important;
    width: calc((100% - 14px) / 2) !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-slider {
    display: grid !important;
    grid-template-columns: 42px minmax(0, 1fr) 42px !important;
    align-items: center !important;
    gap: 8px !important;
    width: 100% !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow {
    position: static !important;
    display: grid !important;
    width: 42px !important;
    height: 42px !important;
    transform: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow--prev {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow--next {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid,
  #gatard-gallery.gatard-gallery--reference.gatard-gallery--single-category
    .gatard-gallery__section.gatard-is-selected .gatard-gallery__grid {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: calc((100% - 16px) / 2) !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 16px !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid::-webkit-scrollbar {
    display: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__photo {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    scroll-snap-align: start !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid--cards .gatard-gallery__photo {
    aspect-ratio: auto !important;
  }
}

/* MOBILE : 15 px exacts et aucune superposition. */
@media (max-width: 767px) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    --gpp-gutter: 15px;
    --gpp-section-y: 42px;
    --gpp-section-gap: 32px;
    --gpp-card-gap: 14px;
    --gpp-radius: 15px;
  }

  #gatard-home .gatard-home__container,
  #gatard-home .gatard-home__gallery-head,
  #gatard-home .gatard-home__gallery-carousel,
  #gatard-carte .gatard-carte__shell,
  #gatard-locations .gatard-locations__hero-inner,
  #gatard-locations .gatard-locations__shell,
  #gatard-events .gatard-events__inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-home
    :is(.gatard-home__story-grid,.gatard-home__locations-grid,.gatard-home__review-layout,.gatard-home__event-card) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 26px !important;
  }

  #gatard-carte .gatard-carte__hero-image--right {
    display: none !important;
  }

  #gatard-carte .gatard-carte__hero-inner {
    padding-right: 15px !important;
    padding-left: 15px !important;
  }

  #gatard-carte .gatard-carte__cards {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
  }

  #gatard-carte .gatard-carte__card-inner {
    padding: 22px 16px !important;
  }

  #gatard-carte .gatard-carte__phone-box {
    grid-template-columns: 42px minmax(0, 1fr) !important;
    align-items: center !important;
  }

  #gatard-carte .gatard-carte__phone-icon {
    display: grid !important;
    place-items: center !important;
    align-self: center !important;
    justify-self: center !important;
  }

  #gatard-carte .gatard-carte__card--private .gatard-carte__feature--inline .gatard-carte__feature-row {
    grid-template-columns: minmax(76px, 34%) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 12px !important;
  }

  #gatard-locations .gatard-locations__toolbar {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding: 14px !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-locations .gatard-locations__filters {
    display: flex !important;
    gap: 9px !important;
    width: 100% !important;
    padding-bottom: 3px !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  #gatard-locations .gatard-locations__filters::-webkit-scrollbar {
    display: none !important;
  }

  #gatard-locations .gatard-locations__filter {
    flex: 0 0 auto !important;
    width: auto !important;
    min-height: 44px !important;
    padding: 10px 15px !important;
    white-space: nowrap !important;
  }

  #gatard-locations .gatard-locations__actions,
  #gatard-locations .gatard-locations__list,
  #gatard-locations .gatard-location-card {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-locations .gatard-locations__period,
  #gatard-locations .gatard-locations__search {
    width: 100% !important;
    min-width: 0 !important;
  }

  #gatard-locations .gatard-location-card__content {
    padding: 22px 16px !important;
  }

  #gatard-locations .gatard-location-card__bottom,
  #gatard-locations .gatard-location-card__times {
    min-width: 0 !important;
    flex-wrap: wrap !important;
  }

  #gatard-locations .gatard-location-card__route {
    width: 100% !important;
    min-height: 44px !important;
    justify-content: center !important;
  }

  #gatard-events {
    --gatard-events-gutter: 15px !important;
    --gatard-events-section-gap: 42px !important;
  }

  #gatard-events .gatard-events__inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: max(18px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 18px)) !important;
    padding-bottom: 50px !important;
  }

  #gatard-events .gatard-events__hero {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    padding-top: 0 !important;
  }

  #gatard-events .gatard-events__hero-media {
    order: 1 !important;
    width: 100% !important;
    max-width: 560px !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-events .gatard-events__hero-copy {
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  #gatard-events .gatard-events__hero-copy h1 {
    font-size: clamp(33px, 9.8vw, 44px) !important;
    line-height: 1.04 !important;
  }

  #gatard-events .gatard-events__features,
  #gatard-events .gatard-events__cards,
  #gatard-events .gatard-events__project {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-events .gatard-events__commitment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-events .gatard-events__gallery-wrap {
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    gap: 7px !important;
  }

  #gatard-events .gatard-events__gallery-track {
    gap: 0 !important;
  }

  #gatard-events .gatard-events__gallery-item,
  #gatard-events .gatard-events__gallery-track > .gatard-events__gallery-item {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  #gatard-gallery.gatard-gallery--reference {
    --gatard-page-gutter: 15px !important;
    --gg-container: calc(100% - 30px) !important;
    --gg-inner: calc(100% - 30px) !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    min-height: 0 !important;
    padding:
      max(34px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 24px))
      0
      54px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    padding: 9px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 4px 8px !important;
    width: 100% !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head > div:first-child {
    display: contents !important;
    padding: 0 !important;
    border: 0 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head h2 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: clamp(19px, 5.8vw, 25px) !important;
    line-height: 1.08 !important;
    white-space: nowrap !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head p {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    font-size: 13px !important;
    line-height: 1.4 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: auto !important;
    justify-self: end !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__show-all,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__back {
    min-height: 34px !important;
    padding: 8px 9px !important;
    font-size: 10px !important;
    white-space: nowrap !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-slider {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow {
    position: static !important;
    display: grid !important;
    width: 36px !important;
    height: 36px !important;
    transform: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow--prev {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow--next {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid,
  #gatard-gallery.gatard-gallery--reference.gatard-gallery--single-category
    .gatard-gallery__section.gatard-is-selected .gatard-gallery__grid {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    grid-auto-rows: auto !important;
    gap: 12px !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid::-webkit-scrollbar {
    display: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__photo {
    display: block !important;
    grid-column: auto !important;
    grid-row: auto !important;
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    scroll-snap-align: start !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid--cards .gatard-gallery__photo {
    aspect-ratio: auto !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__moments {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 24px 16px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-gallery .gatard-gallery__viewer,
  #gatard-events .gatard-events__viewer {
    padding:
      max(15px, env(safe-area-inset-top))
      max(15px, env(safe-area-inset-right))
      max(15px, env(safe-area-inset-bottom))
      max(15px, env(safe-area-inset-left)) !important;
  }
}

@media (max-width: 374px) {
  #gatard-events .gatard-events__commitment-grid,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__stats {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head h2 {
    font-size: clamp(17px, 5.2vw, 20px) !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__show-all,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__back {
    padding-right: 6px !important;
    padding-left: 6px !important;
    font-size: 8.5px !important;
  }
}

/* ==========================================================================
   1.9.32 — couche finale multi-écrans
   Gouttières mesurées sur le viewport, typographie standard et rythme unifié.
   ========================================================================== */

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
  --gpp-gutter: 15px !important;
  --gpp-page-max: 1800px;
  --gpp-section-y: clamp(54px, 4.6vw, 78px);
  --gpp-section-gap: clamp(38px, 3.4vw, 58px);
  --gpp-card-gap: clamp(15px, 1.35vw, 24px);
  --gpp-control-h: 46px;
  --gpp-body-size: clamp(15px, .25vw + 13.8px, 17px);
  --gpp-small-size: clamp(13px, .18vw + 12px, 15px);
  --gpp-title-size: clamp(28px, 2.15vw, 40px);
  box-sizing: border-box !important;
}

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery),
:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) *,
:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) *::before,
:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) *::after {
  box-sizing: border-box !important;
  min-width: 0;
}

/*
 * Les CMS 6, 8 et 9 héritent d'une .row Bootstrap décalée de -15 px sur
 * desktop. Cette compensation locale restaure une racine alignée au viewport
 * sans toucher à body, main, #wrapper, au header ou au footer.
 */
@media (min-width: 1200px) {
  html body.cms-id-6 #gatard-carte.gatard-carte,
  html body.cms-id-8 #gatard-locations.gatard-locations,
  html body.cms-id-9 #gatard-events.gatard-events {
    position: relative !important;
    left: 15px !important;
    right: auto !important;
    width: calc(100% - 30px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
    margin: 0 !important;
    transform: none !important;
  }

  html body.cms-id-10 #gatard-gallery.gatard-gallery.gatard-gallery--reference,
  html body.page-index #gatard-home.gatard-home {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
}

/*
 * Sous 1200 px, la racine est centrée sur le viewport. Cette formule résiste
 * aux marges négatives du thème et aux wrappers différents selon les CMS.
 */
@media (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte.gatard-carte,
  html body.cms-id-8 #gatard-locations.gatard-locations,
  html body.cms-id-9 #gatard-events.gatard-events,
  html body.cms-id-10 #gatard-gallery.gatard-gallery.gatard-gallery--reference {
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-right: -50vw !important;
    margin-left: -50vw !important;
    transform: none !important;
  }
}

/* Axe commun : 15 px visibles jusqu'à 1800 px de contenu. */
#gatard-home .gatard-home__container,
#gatard-home .gatard-home__gallery-head,
#gatard-home .gatard-home__gallery-carousel,
#gatard-carte .gatard-carte__hero-inner,
#gatard-carte .gatard-carte__shell,
#gatard-locations .gatard-locations__hero-inner,
#gatard-locations .gatard-locations__shell,
#gatard-events .gatard-events__inner,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
  width: min(var(--gpp-page-max), calc(100% - 30px)) !important;
  max-width: min(var(--gpp-page-max), calc(100% - 30px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

#gatard-gallery.gatard-gallery--reference {
  --gg-container: min(var(--gpp-page-max), calc(100% - 30px)) !important;
  --gg-inner: min(var(--gpp-page-max), calc(100% - 30px)) !important;
}

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(a,button,input,select,textarea) {
  max-width: 100% !important;
}

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(button,a[class*="button"],a[class*="btn"]) {
  min-height: var(--gpp-control-h) !important;
  line-height: 1.2 !important;
}

#gatard-home
  :is(.gatard-home__hero-text,.gatard-home__story-excerpt,.gatard-home__locations-copy>p,.gatard-home__event-copy>p),
#gatard-carte
  :is(.gatard-carte__hero-text,.gatard-carte__hero-subtitle,.gatard-carte__card-head p,.gatard-carte__note p,.gatard-carte__contact-text),
#gatard-locations
  :is(.gatard-locations__hero-inner>p,.gatard-location-card__address,.gatard-locations__note p),
#gatard-events
  :is(.gatard-events__hero-copy>p,.gatard-event-card p,.gatard-events__commitment p,.gatard-events__project p),
#gatard-gallery
  :is(.gatard-gallery__hero p,.gatard-gallery__section-head p,.gatard-gallery__moments-copy p) {
  margin-top: 0;
  font-size: var(--gpp-body-size) !important;
  line-height: 1.6 !important;
}

#gatard-home :is(.gatard-home__section-title,.gatard-home__block-title),
#gatard-carte :is(.gatard-carte__card-head h2,.gatard-carte__contact-copy h2),
#gatard-locations .gatard-location-card h2,
#gatard-events :is(.gatard-events__section-title h2,.gatard-events__commitment-title h2,.gatard-events__project-copy h2),
#gatard-gallery :is(.gatard-gallery__section-head h2,.gatard-gallery__moments-copy h2) {
  max-width: 100% !important;
  font-size: var(--gpp-title-size) !important;
  line-height: 1.16 !important;
  letter-spacing: -.018em !important;
  text-wrap: balance !important;
}

/* Médias de contenu : aucun étirement, aucun zoom au survol. */
#gatard-home
  :is(.gatard-home__story-media,.gatard-home__event-media) img,
#gatard-carte
  :is(.gatard-carte__feature-media,.gatard-carte__food-media,.gatard-carte__contact-media,.gatard-carte__list-media) img,
#gatard-locations
  :is(.gatard-location-card__photo,.gatard-location-card__map) img,
#gatard-events
  :is(.gatard-events__hero-media,.gatard-event-card figure,.gatard-events__project figure,.gatard-events__gallery-item) img,
#gatard-gallery .gatard-gallery__photo img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  object-position: center !important;
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

#gatard-home :is(.gatard-home__story-media,.gatard-home__event-media) img,
#gatard-locations .gatard-location-card__photo img,
#gatard-events :is(.gatard-events__hero-media,.gatard-events__project figure) img {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: contain !important;
  background: transparent !important;
}

#gatard-carte
  :is(.gatard-carte__feature-media,.gatard-carte__food-media,.gatard-carte__contact-media,.gatard-carte__list-media) img,
#gatard-events :is(.gatard-event-card figure,.gatard-events__gallery-item) img,
#gatard-gallery .gatard-gallery__photo img {
  object-fit: contain !important;
  background: transparent !important;
}

/* HOME — le slider hero reste volontairement intact. */
#gatard-home .gatard-home__section {
  margin: 0 !important;
  padding-top: var(--gpp-section-y) !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-home
  :is(.gatard-home__story-grid,.gatard-home__locations-grid,.gatard-home__review-layout,.gatard-home__event-card) {
  align-items: center !important;
  gap: var(--gpp-section-gap) !important;
}

#gatard-home
  :is(.gatard-home__menu-grid,.gatard-home__location-track,.gatard-home__review-track,.gatard-home__gallery-strip) {
  gap: var(--gpp-card-gap) !important;
}

#gatard-home .gatard-home__story-copy,
#gatard-home .gatard-home__locations-copy,
#gatard-home .gatard-home__event-copy {
  max-width: 760px !important;
}

#gatard-home .gatard-home__values {
  gap: 0 !important;
  margin: 26px 0 0 !important;
}

#gatard-home .gatard-home__menu-card {
  min-height: clamp(360px, 30vw, 430px) !important;
  padding: clamp(24px, 2.2vw, 36px) clamp(15px, 1.3vw, 22px) clamp(16px, 1.5vw, 24px) !important;
  border-radius: 16px !important;
}

#gatard-home .gatard-home__menu-card h2 {
  font-size: clamp(19px, 1.35vw, 25px) !important;
  line-height: 1.16 !important;
  letter-spacing: .08em !important;
}

#gatard-home .gatard-home__menu-card p {
  margin-top: 7px !important;
  font-size: var(--gpp-small-size) !important;
  line-height: 1.45 !important;
}

#gatard-home .gatard-home__menu-product {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
  object-position: center bottom !important;
}

/* CARTE */
#gatard-carte .gatard-carte__hero-inner {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

#gatard-carte .gatard-carte__shell {
  padding-top: var(--gpp-section-y) !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-carte .gatard-carte__cards,
#gatard-carte .gatard-carte__food-grid {
  gap: var(--gpp-card-gap) !important;
}

#gatard-carte .gatard-carte__card {
  min-width: 0 !important;
  max-width: 100% !important;
  padding: 0 !important;
  overflow: hidden !important;
}

#gatard-carte .gatard-carte__card-inner {
  min-width: 0 !important;
  padding: clamp(20px, 2vw, 32px) !important;
}

#gatard-carte .gatard-carte__button {
  min-height: var(--gpp-control-h) !important;
  padding: 12px 18px !important;
  font-size: clamp(13px, .25vw + 12px, 15px) !important;
}

/* EMPLACEMENTS */
#gatard-locations .gatard-locations__hero {
  width: 100% !important;
  min-height: clamp(430px, 36vw, 560px) !important;
}

#gatard-locations .gatard-locations__hero-inner {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

#gatard-locations .gatard-locations__hero-inner > p {
  max-width: 760px !important;
  margin-top: 16px !important;
}

#gatard-locations .gatard-locations__shell {
  margin-top: clamp(-34px, -2.2vw, -20px) !important;
  padding-top: 0 !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-locations .gatard-locations__toolbar {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: clamp(14px, 1.6vw, 24px) !important;
}

#gatard-locations .gatard-locations__list {
  gap: var(--gpp-card-gap) !important;
}

#gatard-locations .gatard-location-card {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

#gatard-locations .gatard-location-card__content {
  min-width: 0 !important;
  padding: clamp(20px, 2.1vw, 34px) !important;
}

#gatard-locations .gatard-location-card__route,
#gatard-locations .gatard-locations__hero-btn {
  min-height: var(--gpp-control-h) !important;
  font-size: clamp(13px, .25vw + 12px, 15px) !important;
}

/* ÉVÉNEMENT */
#gatard-events .gatard-events__inner {
  padding-top: clamp(28px, 3vw, 52px) !important;
  padding-bottom: var(--gpp-section-y) !important;
}

#gatard-events .gatard-events__hero {
  width: 100% !important;
  min-height: 0 !important;
  gap: var(--gpp-section-gap) !important;
  margin: 0 !important;
}

#gatard-events .gatard-events__hero-copy,
#gatard-events .gatard-events__hero-media {
  min-width: 0 !important;
  max-width: 100% !important;
}

#gatard-events .gatard-events__hero-copy h1 {
  font-size: clamp(38px, 4vw, 68px) !important;
  line-height: 1.03 !important;
}

#gatard-events .gatard-events__features {
  gap: var(--gpp-card-gap) !important;
  margin-top: var(--gpp-section-gap) !important;
}

#gatard-events .gatard-events__section-title {
  margin: var(--gpp-section-gap) 0 clamp(20px, 2vw, 30px) !important;
}

#gatard-events .gatard-events__cards,
#gatard-events .gatard-events__commitment-grid {
  gap: var(--gpp-card-gap) !important;
}

#gatard-events .gatard-event-card {
  min-width: 0 !important;
  max-width: 100% !important;
}

#gatard-events .gatard-event-card figure {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  background: #f2eadf !important;
}

#gatard-events .gatard-event-card h3 {
  font-size: clamp(16px, .45vw + 14px, 20px) !important;
  line-height: 1.25 !important;
}

#gatard-events .gatard-events__commitment,
#gatard-events .gatard-events__project,
#gatard-events .gatard-events__gallery {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: var(--gpp-section-gap) !important;
}

#gatard-events .gatard-events__commitment {
  padding: clamp(28px, 3vw, 46px) !important;
}

#gatard-events .gatard-events__project {
  gap: clamp(18px, 2.2vw, 34px) !important;
  padding: clamp(20px, 2.2vw, 34px) !important;
}

#gatard-events :is(.gatard-events__btn,.gatard-events__small-btn) {
  min-height: var(--gpp-control-h) !important;
  font-size: clamp(13px, .25vw + 12px, 15px) !important;
}

/* GALERIE */
#gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner {
  padding-right: 0 !important;
  padding-left: 0 !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs {
  margin-bottom: var(--gpp-section-gap) !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__section {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: var(--gpp-section-gap) !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head {
  gap: 10px 16px !important;
  margin-bottom: clamp(18px, 2vw, 28px) !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__grid {
  gap: var(--gpp-card-gap) !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__photo {
  min-width: 0 !important;
  max-width: 100% !important;
  background: transparent !important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__moments {
  gap: var(--gpp-section-gap) !important;
  padding: clamp(24px, 3vw, 46px) !important;
}

/* TABLETTE */
@media (min-width: 768px) and (max-width: 1199px) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    --gpp-section-y: clamp(44px, 5.6vw, 58px);
    --gpp-section-gap: clamp(30px, 4vw, 42px);
    --gpp-card-gap: 15px;
    --gpp-control-h: 46px;
    --gpp-body-size: clamp(15px, 1.55vw, 16px);
    --gpp-title-size: clamp(25px, 3.5vw, 34px);
  }

  #gatard-home .gatard-home__container,
  #gatard-home .gatard-home__gallery-head,
  #gatard-home .gatard-home__gallery-carousel,
  #gatard-carte .gatard-carte__hero-inner,
  #gatard-carte .gatard-carte__shell,
  #gatard-locations .gatard-locations__hero-inner,
  #gatard-locations .gatard-locations__shell,
  #gatard-events .gatard-events__inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
  }

  #gatard-gallery.gatard-gallery--reference {
    --gg-container: calc(100vw - 30px) !important;
    --gg-inner: calc(100vw - 30px) !important;
  }

  #gatard-home
    :is(.gatard-home__story-grid,.gatard-home__locations-grid,.gatard-home__review-layout,.gatard-home__event-card),
  #gatard-events .gatard-events__hero {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-home .gatard-home__menu-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-home .gatard-home__menu-card {
    min-height: clamp(360px, 50vw, 430px) !important;
  }

  #gatard-carte .gatard-carte__cards,
  #gatard-events .gatard-events__cards,
  #gatard-events .gatard-events__commitment-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-carte .gatard-carte__card--private {
    grid-column: 1 / -1 !important;
  }

  #gatard-locations .gatard-locations__hero {
    min-height: 480px !important;
  }

  #gatard-locations .gatard-locations__hero-inner,
  #gatard-events .gatard-events__inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner {
    padding-top: max(28px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 24px)) !important;
  }

  #gatard-events .gatard-events__hero-media {
    order: 1 !important;
    width: min(100%, 760px) !important;
    margin: 0 auto !important;
  }

  #gatard-events .gatard-events__hero-copy {
    order: 2 !important;
    width: min(100%, 760px) !important;
    margin: 0 auto !important;
  }

  #gatard-events .gatard-events__project {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-events .gatard-events__project-list {
    padding: 0 !important;
    border-left: 0 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

/* MOBILE */
@media (max-width: 767px) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    --gpp-section-y: 38px;
    --gpp-section-gap: 30px;
    --gpp-card-gap: 14px;
    --gpp-control-h: 44px;
    --gpp-body-size: 15px;
    --gpp-small-size: 13px;
    --gpp-title-size: clamp(23px, 6.8vw, 29px);
  }

  #gatard-home .gatard-home__container,
  #gatard-home .gatard-home__gallery-head,
  #gatard-home .gatard-home__gallery-carousel,
  #gatard-carte .gatard-carte__hero-inner,
  #gatard-carte .gatard-carte__shell,
  #gatard-locations .gatard-locations__hero-inner,
  #gatard-locations .gatard-locations__shell,
  #gatard-events .gatard-events__inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-gallery.gatard-gallery--reference {
    --gg-container: calc(100vw - 30px) !important;
    --gg-inner: calc(100vw - 30px) !important;
  }

  #gatard-home
    :is(.gatard-home__story-grid,.gatard-home__locations-grid,.gatard-home__review-layout,.gatard-home__event-card) {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 24px !important;
  }

  #gatard-home .gatard-home__story-copy,
  #gatard-home .gatard-home__locations-copy,
  #gatard-home .gatard-home__event-copy {
    width: 100% !important;
    max-width: 100% !important;
  }

  #gatard-home .gatard-home__values {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    margin-top: 22px !important;
  }

  /* Une seule carte menu, avec défilement et flèches extérieures. */
  #gatard-home .gatard-home__menu-carousel.has-controls {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
    overflow: visible !important;
  }

  #gatard-home .gatard-home__menu-viewport {
    grid-column: 2 !important;
    grid-row: 1 !important;
    width: 100% !important;
    overflow: hidden !important;
  }

  #gatard-home .gatard-home__menu-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    grid-template-columns: none !important;
    grid-template-rows: minmax(0, 1fr) !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  #gatard-home .gatard-home__menu-grid::-webkit-scrollbar {
    display: none !important;
  }

  #gatard-home .gatard-home__menu-card {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    min-height: clamp(350px, 94vw, 405px) !important;
    padding: 24px 15px 16px !important;
    scroll-snap-align: start !important;
  }

  #gatard-home .gatard-home__menu-arrow {
    position: static !important;
    display: grid !important;
    width: 36px !important;
    min-width: 36px !important;
    height: 36px !important;
    min-height: 36px !important;
    place-items: center !important;
    border-radius: 50% !important;
    transform: none !important;
  }

  #gatard-home .gatard-home__menu-arrow.gatard-home__carousel-arrow--prev {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  #gatard-home .gatard-home__menu-arrow.gatard-home__carousel-arrow--next {
    grid-column: 3 !important;
    grid-row: 1 !important;
  }

  #gatard-home .gatard-home__menu-card h2 {
    font-size: clamp(19px, 5.5vw, 23px) !important;
  }

  #gatard-home .gatard-home__menu-product-wrap {
    min-height: 0 !important;
    padding-top: 6px !important;
  }

  #gatard-carte .gatard-carte__hero-image--right {
    display: none !important;
  }

  #gatard-carte .gatard-carte__hero-inner {
    padding-top: max(24px, calc(var(--gatard-carte-menu-safe-offset, 0px) + 20px)) !important;
    padding-bottom: 34px !important;
  }

  #gatard-carte .gatard-carte__cards,
  #gatard-carte .gatard-carte__food-grid {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-carte .gatard-carte__card-inner {
    padding: 20px 15px !important;
  }

  #gatard-locations .gatard-locations__hero {
    min-height: clamp(400px, 100vw, 450px) !important;
  }

  #gatard-locations .gatard-locations__hero-inner {
    padding-top: max(22px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 20px)) !important;
    padding-bottom: 34px !important;
  }

  #gatard-locations .gatard-locations__hero h1 {
    font-size: clamp(32px, 9.2vw, 40px) !important;
    line-height: 1.04 !important;
  }

  #gatard-locations .gatard-locations__hero-inner > p {
    margin-top: 14px !important;
  }

  #gatard-locations .gatard-locations__hero-btn {
    width: 100% !important;
    margin-top: 18px !important;
    justify-content: center !important;
  }

  #gatard-locations .gatard-locations__shell {
    margin-top: -18px !important;
  }

  #gatard-locations .gatard-locations__toolbar {
    padding: 14px !important;
  }

  #gatard-locations .gatard-locations__filters {
    display: flex !important;
    gap: 8px !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scrollbar-width: none !important;
  }

  #gatard-locations .gatard-locations__filters::-webkit-scrollbar {
    display: none !important;
  }

  #gatard-locations .gatard-locations__actions,
  #gatard-locations .gatard-locations__list,
  #gatard-locations .gatard-location-card,
  #gatard-locations .gatard-location-card:nth-child(even) {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-locations .gatard-location-card__photo,
  #gatard-locations .gatard-location-card__photo img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  #gatard-locations .gatard-location-card__content {
    padding: 20px 15px !important;
  }

  #gatard-locations .gatard-location-card__times {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  #gatard-locations .gatard-location-card__map,
  #gatard-locations .gatard-location-card:nth-child(even) .gatard-location-card__map {
    width: auto !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 15px 15px !important;
    aspect-ratio: 16 / 8 !important;
  }

  #gatard-locations .gatard-location-card__map img {
    height: 100% !important;
    min-height: 0 !important;
    object-fit: contain !important;
  }

  #gatard-events .gatard-events__inner {
    padding-top: max(18px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 18px)) !important;
    padding-bottom: 38px !important;
  }

  #gatard-events .gatard-events__hero {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 20px !important;
  }

  #gatard-events .gatard-events__hero-media {
    order: 1 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #gatard-events .gatard-events__hero-copy {
    order: 2 !important;
    width: 100% !important;
    margin: 0 !important;
  }

  #gatard-events .gatard-events__hero-copy h1 {
    font-size: clamp(31px, 9vw, 40px) !important;
    line-height: 1.04 !important;
    overflow-wrap: anywhere !important;
  }

  #gatard-events :is(.gatard-events__btn,.gatard-events__small-btn) {
    width: 100% !important;
    justify-content: center !important;
  }

  #gatard-events .gatard-events__features,
  #gatard-events .gatard-events__cards,
  #gatard-events .gatard-events__commitment-grid,
  #gatard-events .gatard-events__project {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-events .gatard-events__features {
    gap: 10px !important;
    margin-top: 24px !important;
  }

  #gatard-events .gatard-events__section-title {
    margin: 32px 0 18px !important;
  }

  #gatard-events .gatard-events__section-title h2,
  #gatard-events .gatard-events__commitment-title h2 {
    font-size: clamp(17px, 4.8vw, 20px) !important;
    white-space: normal !important;
  }

  #gatard-events .gatard-events__cards {
    gap: 18px !important;
  }

  #gatard-events .gatard-events__commitment,
  #gatard-events .gatard-events__project,
  #gatard-events .gatard-events__gallery {
    margin-top: 34px !important;
  }

  #gatard-events .gatard-events__commitment {
    padding: 24px 15px !important;
  }

  #gatard-events .gatard-events__commitment-grid {
    gap: 10px !important;
  }

  #gatard-events .gatard-events__commitment-grid article {
    padding: 15px !important;
  }

  #gatard-events .gatard-events__project {
    gap: 0 !important;
    padding: 0 !important;
  }

  #gatard-events .gatard-events__project-copy {
    padding: 20px 15px 16px !important;
  }

  #gatard-events .gatard-events__project-list {
    padding: 0 15px 20px !important;
    border: 0 !important;
  }

  #gatard-events .gatard-events__gallery-wrap {
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    gap: 7px !important;
  }

  #gatard-events .gatard-events__gallery-item,
  #gatard-events .gatard-events__gallery-track > .gatard-events__gallery-item {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner {
    padding: max(28px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 22px)) 0 40px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 8px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 7px 10px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head > div:first-child {
    display: contents !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head h2 {
    grid-column: 1 !important;
    grid-row: 1 !important;
    margin: 0 !important;
    font-size: clamp(19px, 5.7vw, 24px) !important;
    white-space: normal !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head p {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    margin: 0 !important;
    font-size: 13px !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-slider {
    display: grid !important;
    grid-template-columns: 36px minmax(0, 1fr) 36px !important;
    align-items: center !important;
    gap: 7px !important;
    width: 100% !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid,
  #gatard-gallery.gatard-gallery--reference.gatard-gallery--single-category
    .gatard-gallery__section.gatard-is-selected .gatard-gallery__grid {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    grid-template-columns: none !important;
    grid-template-rows: none !important;
    gap: 12px !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__grid::-webkit-scrollbar {
    display: none !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__photo {
    width: 100% !important;
    height: auto !important;
    aspect-ratio: 4 / 3 !important;
    scroll-snap-align: start !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__moments {
    grid-template-columns: minmax(0, 1fr) !important;
    padding: 22px 15px !important;
  }

  #gatard-gallery .gatard-gallery__viewer,
  #gatard-events .gatard-events__viewer {
    padding:
      max(15px, env(safe-area-inset-top))
      max(15px, env(safe-area-inset-right))
      max(15px, env(safe-area-inset-bottom))
      max(15px, env(safe-area-inset-left)) !important;
  }
}

/* PETITS MOBILES */
@media (max-width: 374px) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    --gpp-section-y: 34px;
    --gpp-section-gap: 26px;
    --gpp-body-size: 14px;
  }

  #gatard-home .gatard-home__values,
  #gatard-locations .gatard-location-card__times {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  #gatard-home .gatard-home__menu-card {
    min-height: 340px !important;
  }
}

/* TÉLÉVISEURS ET TRÈS GRANDS ÉCRANS */
@media (min-width: 1920px) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) {
    --gpp-section-y: 82px;
    --gpp-section-gap: 62px;
    --gpp-card-gap: 24px;
    --gpp-body-size: 17px;
    --gpp-title-size: 40px;
  }

  #gatard-home .gatard-home__menu-card {
    min-height: 430px !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) * {
    scroll-behavior: auto !important;
  }
}

/* ==========================================================================
   1.9.31 — géométrie CMS stable, icônes circulaires et médias non déformés
   ========================================================================== */

/*
 * Le thème place les pages CMS dans une .row Bootstrap large de 30 px de plus
 * que l'écran. On compense cette seule grille ici : les fonds restent bord à
 * bord et les axes intérieurs retrouvent leurs 15 px réellement visibles.
 */
#gatard-locations.gatard-locations,
#gatard-events.gatard-events {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: calc(100% - 30px) !important;
  max-width: calc(100% - 30px) !important;
  margin-right: 15px !important;
  margin-left: 15px !important;
  transform: none !important;
}

#gatard-carte.gatard-carte,
#gatard-gallery.gatard-gallery.gatard-gallery--reference {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  transform: none !important;
}

#gatard-events
  :is(.gatard-events__feature > .gatard-events__round-ico,
      .gatard-event-card__icon.gatard-events__round-ico) {
  display: grid !important;
  flex: 0 0 58px !important;
  place-items: center !important;
  width: 58px !important;
  min-width: 58px !important;
  max-width: 58px !important;
  height: 58px !important;
  min-height: 58px !important;
  max-height: 58px !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

#gatard-events .gatard-events__project-list .gatard-events__round-ico {
  display: grid !important;
  flex: 0 0 42px !important;
  place-items: center !important;
  width: 42px !important;
  min-width: 42px !important;
  max-width: 42px !important;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

#gatard-events .gatard-events__commitment-grid .gatard-events__line-ico {
  display: grid !important;
  flex: 0 0 52px !important;
  place-items: center !important;
  width: 52px !important;
  min-width: 52px !important;
  max-width: 52px !important;
  height: 52px !important;
  min-height: 52px !important;
  max-height: 52px !important;
  margin: 0 auto 12px !important;
  padding: 0 !important;
  aspect-ratio: 1 / 1 !important;
  border: 1px solid currentColor !important;
  border-radius: 50% !important;
  overflow: hidden !important;
}

/* Aucun mouvement, zoom ou changement de filtre au survol des icônes. */
#gatard-events :is(.gatard-events__round-ico,.gatard-events__line-ico),
#gatard-events :is(.gatard-events__round-ico,.gatard-events__line-ico) > img,
#gatard-events :is(.gatard-events__round-ico,.gatard-events__line-ico):hover,
#gatard-events .gatard-events__feature:hover .gatard-events__round-ico,
#gatard-events .gatard-event-card:hover .gatard-event-card__icon,
#gatard-events .gatard-events__commitment-grid article:hover .gatard-events__line-ico,
#gatard-events .gatard-events__project-list p:hover .gatard-events__round-ico,
#gatard-events .gatard-events__feature:hover .gatard-events__round-ico > img,
#gatard-events .gatard-event-card:hover .gatard-event-card__icon > img,
#gatard-events .gatard-events__commitment-grid article:hover .gatard-events__line-ico > img,
#gatard-events .gatard-events__project-list p:hover .gatard-events__round-ico > img {
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

:where(#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(.gatard-icon,[class*="__ico"],[class*="__icon"]),
:where(#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(a,button,article,p):hover
  :is(.gatard-icon,[class*="__ico"],[class*="__icon"]) {
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

#gatard-events .gatard-events__slider-btn,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow,
#gatard-locations .gatard-location-card__map-pin {
  aspect-ratio: 1 / 1 !important;
  border-radius: 50% !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  #gatard-locations .gatard-locations__toolbar {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  #gatard-events .gatard-events__feature,
  #gatard-events .gatard-event-card,
  #gatard-events .gatard-events__commitment-grid article,
  #gatard-events .gatard-events__project {
    min-width: 0 !important;
    max-width: 100% !important;
  }
}

@media (max-width: 767px) {
  #gatard-locations.gatard-locations,
  #gatard-events.gatard-events {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: 15px !important;
    margin-left: 15px !important;
  }

  #gatard-carte.gatard-carte,
  #gatard-gallery.gatard-gallery.gatard-gallery--reference {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  /* Emplacements --------------------------------------------------------- */
  #gatard-locations .gatard-locations__hero-inner,
  #gatard-locations .gatard-locations__shell {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-locations .gatard-locations__hero-inner {
    padding-top: max(22px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 22px)) !important;
    padding-right: 0 !important;
    padding-left: 0 !important;
  }

  #gatard-locations .gatard-locations__shell {
    margin-top: -20px !important;
    padding-top: 0 !important;
  }

  #gatard-locations .gatard-locations__toolbar {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
    padding: 14px !important;
  }

  #gatard-locations .gatard-locations__list {
    gap: 18px !important;
  }

  #gatard-locations .gatard-location-card,
  #gatard-locations .gatard-location-card:nth-child(even) {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
  }

  /*
   * La photo d'un emplacement peut être carrée, verticale ou horizontale.
   * Sa hauteur naturelle est conservée : aucun recadrage du visuel de secours.
   */
  #gatard-locations .gatard-location-card__photo,
  #gatard-locations .gatard-location-card:nth-child(even) .gatard-location-card__photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    aspect-ratio: auto !important;
    background: transparent !important;
  }

  #gatard-locations .gatard-location-card__photo > img,
  #gatard-locations .gatard-location-card:nth-child(even) .gatard-location-card__photo > img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
  }

  #gatard-locations .gatard-location-card__content {
    padding: 20px 15px !important;
  }

  #gatard-locations .gatard-location-card__map,
  #gatard-locations .gatard-location-card:nth-child(even) .gatard-location-card__map {
    width: auto !important;
    margin: 0 15px 15px !important;
  }

  /* Événement / privatisation ------------------------------------------- */
  #gatard-events .gatard-events__inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
    padding-top: max(18px, calc(var(--gatard-mobile-menu-safe-offset, 0px) + 18px)) !important;
    padding-bottom: 42px !important;
  }

  #gatard-events .gatard-events__hero,
  #gatard-events .gatard-events__features,
  #gatard-events .gatard-events__cards,
  #gatard-events .gatard-events__commitment,
  #gatard-events .gatard-events__project,
  #gatard-events .gatard-events__gallery {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
  }

  #gatard-events .gatard-events__hero {
    margin: 0 !important;
    padding: 0 !important;
  }

  #gatard-events .gatard-events__hero-media,
  #gatard-events .gatard-events__hero-copy {
    width: 100% !important;
    max-width: 100% !important;
    margin-right: 0 !important;
    margin-left: 0 !important;
  }

  #gatard-events .gatard-events__hero-copy h1 {
    overflow-wrap: anywhere !important;
    font-size: clamp(31px, 9.2vw, 42px) !important;
  }

  #gatard-events .gatard-events__hero-copy p {
    font-size: 15px !important;
    line-height: 1.58 !important;
  }

  #gatard-events .gatard-events__btn,
  #gatard-events .gatard-events__small-btn {
    width: 100% !important;
    min-height: 48px !important;
    justify-content: center !important;
  }

  #gatard-events .gatard-events__features {
    gap: 10px !important;
    margin-top: 24px !important;
  }

  #gatard-events .gatard-events__feature {
    width: 100% !important;
    min-height: 72px !important;
    padding: 12px 14px !important;
  }

  #gatard-events .gatard-events__section-title {
    margin: 36px 0 18px !important;
  }

  #gatard-events .gatard-events__section-title h2,
  #gatard-events .gatard-events__commitment-title h2 {
    max-width: 100% !important;
    font-size: clamp(16px, 4.5vw, 20px) !important;
    line-height: 1.22 !important;
    white-space: normal !important;
  }

  #gatard-events .gatard-events__cards {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 18px !important;
    margin: 0 !important;
  }

  #gatard-events .gatard-event-card {
    width: 100% !important;
    margin: 0 !important;
  }

  #gatard-events .gatard-event-card__icon.gatard-events__round-ico {
    margin: -29px auto 12px !important;
  }

  #gatard-events .gatard-events__commitment {
    margin: 38px 0 0 !important;
    padding: 26px 15px !important;
    border-radius: 15px !important;
  }

  #gatard-events .gatard-events__commitment .gatard-events__commitment-title {
    margin: 0 0 20px !important;
  }

  #gatard-events .gatard-events__commitment-grid {
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 10px !important;
  }

  #gatard-events .gatard-events__commitment-grid article {
    width: 100% !important;
    padding: 16px 14px !important;
  }

  #gatard-events .gatard-events__project {
    margin: 38px 0 0 !important;
  }

  #gatard-events .gatard-events__project figure,
  #gatard-events .gatard-events__project figure > img {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
  }

  #gatard-events .gatard-events__project-copy {
    padding: 20px 15px 16px !important;
  }

  #gatard-events .gatard-events__project-list {
    padding: 0 15px 20px !important;
  }

  #gatard-events .gatard-events__project-list p {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  #gatard-events .gatard-events__gallery {
    margin: 38px 0 0 !important;
  }

  #gatard-events .gatard-events__gallery .gatard-events__section-title {
    margin: 0 0 18px !important;
  }

  /* Galerie -------------------------------------------------------------- */
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__photo img {
    object-fit: contain !important;
    object-position: center !important;
    background: transparent !important;
  }

  #gatard-gallery.gatard-gallery--reference
    :is(.gatard-gallery__tab,.gatard-gallery__show-all,.gatard-gallery__back) {
    min-height: 44px !important;
  }

  /* Rythme commun des contenus, sans toucher au slider de l'accueil. */
  #gatard-home .gatard-home__section {
    padding-top: 42px !important;
    padding-bottom: 42px !important;
  }

  #gatard-home :is(.gatard-home__btn,.gatard-home__cta,.gatard-home__link),
  #gatard-carte :is(a[class*="btn"],button),
  #gatard-locations :is(a[class*="btn"],button),
  #gatard-gallery :is(a[class*="btn"],button) {
    min-height: 44px !important;
  }
}

@media (max-width: 374px) {
  #gatard-events .gatard-events__hero-copy h1 {
    font-size: clamp(29px, 9vw, 35px) !important;
  }

  #gatard-events .gatard-events__section-title {
    gap: 7px !important;
  }

  #gatard-events .gatard-events__section-title h2,
  #gatard-events .gatard-events__commitment-title h2 {
    font-size: 16px !important;
  }
}

/* ==========================================================================
   1.9.32 — verrouillage final après toutes les couches historiques
   ========================================================================== */

/* Les pictogrammes restent stables : aucun mouvement ni filtre au survol. */
#gatard-home .gatard-home__icon-frame,
#gatard-home .gatard-home__icon-frame > img,
#gatard-home :is(a,article):hover .gatard-home__icon-frame,
#gatard-home :is(a,article):hover .gatard-home__icon-frame > img,
:where(#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(.gatard-icon,[class*="__ico"],[class*="__icon"]),
:where(#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
  :is(a,button,article,p):hover
  :is(.gatard-icon,[class*="__ico"],[class*="__icon"]) {
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

html body.cms-id-10
  #gatard-gallery.gatard-gallery.gatard-gallery--reference
  .gatard-gallery__tab:hover
  .gatard-gallery__tab-ico,
html body.cms-id-10
  #gatard-gallery.gatard-gallery.gatard-gallery--reference
  .gatard-gallery__tab:hover
  .gatard-gallery__tab-ico > img {
  filter: none !important;
  transform: none !important;
  transition: none !important;
}

html body.cms-id-10
  #gatard-gallery.gatard-gallery.gatard-gallery--reference
  .gatard-gallery__cta-inner {
  width: min(var(--gpp-page-max), calc(100% - 30px)) !important;
  max-width: min(var(--gpp-page-max), calc(100% - 30px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
}

@media (min-width: 1200px) {
  html body.cms-id-6 #gatard-carte.gatard-carte,
  html body.cms-id-8 #gatard-locations.gatard-locations,
  html body.cms-id-9 #gatard-events.gatard-events {
    position: relative !important;
    left: 15px !important;
    right: auto !important;
    width: calc(100% - 30px) !important;
    min-width: 0 !important;
    max-width: calc(100% - 30px) !important;
    margin: 0 !important;
    transform: none !important;
  }

  html body.cms-id-10 #gatard-gallery.gatard-gallery.gatard-gallery--reference,
  html body.page-index #gatard-home.gatard-home {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
    transform: none !important;
  }
}

@media (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte.gatard-carte,
  html body.cms-id-8 #gatard-locations.gatard-locations,
  html body.cms-id-9 #gatard-events.gatard-events,
  html body.cms-id-10 #gatard-gallery.gatard-gallery.gatard-gallery--reference {
    position: relative !important;
    left: 50% !important;
    right: auto !important;
    width: 100vw !important;
    min-width: 100vw !important;
    max-width: 100vw !important;
    margin-right: -50vw !important;
    margin-left: -50vw !important;
    transform: none !important;
  }

  html body
    :is(#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery)
    :is(.gatard-carte__hero-inner,
        .gatard-carte__shell,
        .gatard-locations__hero-inner,
        .gatard-locations__shell,
        .gatard-events__inner,
        .gatard-gallery__hero-inner,
        .gatard-gallery__tabs,
        .gatard-gallery__shell-inner,
        .gatard-gallery__cta-inner) {
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

@media (max-width: 767px) {
  html body.page-index #gatard-home
    :is(.gatard-home__container,.gatard-home__gallery-head,.gatard-home__gallery-carousel) {
    width: calc(100vw - 30px) !important;
    max-width: calc(100vw - 30px) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  html body.page-index #gatard-home .gatard-home__menu-grid {
    display: grid !important;
    grid-auto-flow: column !important;
    grid-auto-columns: 100% !important;
    grid-template-columns: none !important;
    width: 100% !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
  }

  html body.page-index #gatard-home .gatard-home__menu-card {
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    scroll-snap-align: start !important;
  }
}

@media (max-width: 374px) {
  html body.page-index #gatard-home .gatard-home__menu-carousel.has-controls {
    grid-template-columns: 30px minmax(0, 1fr) 30px !important;
    gap: 4px !important;
  }

  html body.page-index #gatard-home .gatard-home__menu-arrow {
    width: 30px !important;
    min-width: 30px !important;
    height: 30px !important;
    min-height: 30px !important;
  }
}


/* ==========================================================================
   1.9.33 — retouches ciblées mobile / tablette
   --------------------------------------------------------------------------
   - espace de sécurité réel sous le menu rapide pour Carte et Galerie ;
   - titres Histoire et Emplacements plus lisibles ;
   - en-tête de galerie HOME maintenu sur une rangée ;
   - valeurs et pictogrammes agrandis ;
   - cartes Emplacements HOME sur fond transparent.
   Aucun sélecteur ne modifie le header, le menu, le footer ou le slider HOME.
   ========================================================================== */

/* Transparence demandée pour les cartes d'emplacement de la HOME. */
#gatard-home .gatard-home__location-card,
#gatard-home .gatard-home__location-card:hover,
#gatard-home .gatard-home__location-card-body {
  background: transparent !important;
}

#gatard-home .gatard-home__location-card,
#gatard-home .gatard-home__location-card:hover {
  box-shadow: none !important;
}

/* TABLETTE --------------------------------------------------------------- */
@media (min-width: 768px) and (max-width: 1199px) {
  /* Le fond du hero reste sous le menu ; seul le contenu est repoussé. */
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
    padding-top: max(
      72px,
      calc(var(--gatard-mobile-menu-safe-offset, 0px) + 30px)
    ) !important;
  }

  html body.cms-id-10
    #gatard-gallery.gatard-gallery--reference
    .gatard-gallery__hero-inner {
    padding-top: max(
      76px,
      calc(var(--gatard-mobile-menu-safe-offset, 0px) + 30px)
    ) !important;
  }

  #gatard-home .gatard-home__story-copy .gatard-home__section-title,
  #gatard-home .gatard-home__locations-copy .gatard-home__section-title {
    font-size: clamp(38px, 5.1vw, 50px) !important;
    line-height: 1.07 !important;
    letter-spacing: -.025em !important;
  }

  #gatard-home .gatard-home__value {
    grid-template-columns: 50px minmax(0, 1fr) !important;
    gap: 14px !important;
    min-height: 122px !important;
    padding: 18px 14px !important;
  }

  #gatard-home .gatard-home__icon-frame--value {
    width: 50px !important;
    height: 50px !important;
  }

  #gatard-home .gatard-home__value h3 {
    font-size: 16px !important;
    line-height: 1.24 !important;
  }

  #gatard-home .gatard-home__value p {
    font-size: 13.5px !important;
    line-height: 1.48 !important;
  }

  #gatard-home .gatard-home__gallery-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 12px !important;
  }

  #gatard-home .gatard-home__block-title--gallery {
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(24px, 3.15vw, 32px) !important;
    line-height: 1.12 !important;
  }

  #gatard-home .gatard-home__gallery-head > a {
    grid-column: 2 !important;
    white-space: nowrap !important;
  }
}

/* MOBILE ----------------------------------------------------------------- */
@media (max-width: 767px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
    padding-top: max(
      60px,
      calc(var(--gatard-mobile-menu-safe-offset, 0px) + 26px)
    ) !important;
    padding-bottom: 38px !important;
  }

  html body.cms-id-10
    #gatard-gallery.gatard-gallery--reference
    .gatard-gallery__hero-inner {
    padding-top: max(
      64px,
      calc(var(--gatard-mobile-menu-safe-offset, 0px) + 28px)
    ) !important;
    padding-bottom: 48px !important;
  }

  #gatard-home .gatard-home__story-copy .gatard-home__section-title,
  #gatard-home .gatard-home__locations-copy .gatard-home__section-title {
    font-size: clamp(35px, 9.7vw, 44px) !important;
    line-height: 1.065 !important;
    letter-spacing: -.026em !important;
  }

  #gatard-home .gatard-home__value {
    grid-template-columns: 44px minmax(0, 1fr) !important;
    gap: 12px !important;
    min-height: 118px !important;
    padding: 17px 12px !important;
  }

  #gatard-home .gatard-home__icon-frame--value {
    width: 44px !important;
    height: 44px !important;
  }

  #gatard-home .gatard-home__value h3 {
    margin-bottom: 5px !important;
    font-size: 15px !important;
    line-height: 1.22 !important;
  }

  #gatard-home .gatard-home__value p {
    font-size: 12.5px !important;
    line-height: 1.46 !important;
  }

  /* Le titre et le lien restent côte à côte, même lorsque le titre se replie. */
  #gatard-home .gatard-home__gallery-head {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) max-content !important;
    align-items: center !important;
    gap: 8px !important;
  }

  #gatard-home .gatard-home__block-title--gallery {
    grid-column: 1 !important;
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(20px, 5.6vw, 24px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    text-wrap: balance !important;
  }

  #gatard-home .gatard-home__gallery-head > a {
    grid-column: 2 !important;
    align-self: center !important;
    width: auto !important;
    max-width: none !important;
    padding: 9px 10px !important;
    font-size: clamp(10.5px, 2.9vw, 12px) !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 374px) {
  #gatard-home .gatard-home__block-title--gallery {
    font-size: clamp(18px, 5.35vw, 20px) !important;
  }

  #gatard-home .gatard-home__gallery-head > a {
    padding-right: 8px !important;
    padding-left: 8px !important;
    font-size: 10px !important;
  }
}
