/*
 * GATARD Pro Pages v1.9.25
 * Couche responsive consolidée : rails homogènes, espacements cohérents,
 * iconographie normalisée et traitement distinct des photos / PNG transparents.
 *
 * Cette feuille ne cible ni le header, ni le menu rapide, ni le slider natif,
 * ni body/main/#wrapper/#page. Elle s'applique uniquement aux cinq racines
 * GATARD suivantes : HOME, Carte, Emplacements, Événement et Galerie.
 */

:where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery){
  --gpp-gutter:clamp(26px,2.25vw,42px);
  --gpp-section-y:clamp(62px,5.4vw,92px);
  --gpp-section-gap:clamp(42px,3.8vw,66px);
  --gpp-card-gap:clamp(18px,1.5vw,28px);
  --gpp-radius:clamp(14px,1.05vw,20px);
  --gpp-icon-sm:clamp(24px,1.65vw,30px);
  --gpp-icon-md:clamp(36px,2.35vw,46px);
  --gpp-icon-lg:clamp(48px,3.2vw,62px);
  position:relative!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-inline:calc(50% - 50vw)!important;
  overflow-x:clip!important;
  box-sizing:border-box!important;
}

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

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

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

/* Rails communs : les fonds restent pleine largeur, le contenu garde un axe unique. */
#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(100vw - (var(--gpp-gutter) * 2)))!important;
  max-width:min(1800px,calc(100vw - (var(--gpp-gutter) * 2)))!important;
  margin-inline:auto!important;
}

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

/* Rythme vertical commun. */
#gatard-home .gatard-home__section{
  padding-block:var(--gpp-section-y)!important;
  margin:0!important;
}

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

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

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

#gatard-events .gatard-events__inner > * + *{
  margin-top:var(--gpp-section-gap)!important;
}

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

#gatard-gallery.gatard-gallery--reference .gatard-gallery__shell-inner{
  padding-bottom:var(--gpp-section-y)!important;
}

/* Lisibilité commune sans écraser les libellés courts. */
#gatard-home :is(.gatard-home__hero-text,.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-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(14px,.96vw,17px)!important;
  line-height:1.62!important;
}

/* -------------------------------------------------------------------------- */
/* HOME                                                                       */
/* -------------------------------------------------------------------------- */

#gatard-home .gatard-home__hero-grid{
  min-height:clamp(610px,42vw,800px)!important;
}

#gatard-home .gatard-home__hero-copy{
  padding-top:clamp(58px,5.6vw,104px)!important;
  padding-bottom:clamp(42px,4vw,74px)!important;
}

#gatard-home .gatard-home__hero-media{
  min-height:0!important;
}

#gatard-home .gatard-home__hero-slide{
  opacity:0!important;
  visibility:hidden!important;
  transform:scale(1.035)!important;
  transition:opacity .9s cubic-bezier(.22,.61,.36,1),visibility .9s linear,transform 7s cubic-bezier(.2,.65,.25,1)!important;
  will-change:opacity,transform;
}

#gatard-home .gatard-home__hero-slide.is-active{
  opacity:1!important;
  visibility:visible!important;
  transform:scale(1)!important;
}

#gatard-home .gatard-home__hero-slide img{
  object-fit:cover!important;
  object-position:var(--gatard-home-slide-position,center)!important;
  opacity:1!important;
}

#gatard-home .gatard-home__features{
  gap:clamp(14px,1.3vw,24px)!important;
  margin-top:clamp(28px,2.8vw,48px)!important;
}

#gatard-home .gatard-home__feature{
  grid-template-columns:var(--gpp-icon-md) minmax(0,1fr)!important;
  gap:clamp(10px,.85vw,14px)!important;
  padding-inline:clamp(10px,1vw,18px)!important;
}

#gatard-home .gatard-home__icon-frame--feature{
  width:var(--gpp-icon-md)!important;
  height:var(--gpp-icon-md)!important;
}

#gatard-home .gatard-home__icon-frame--value{
  width:var(--gpp-icon-sm)!important;
  height:var(--gpp-icon-sm)!important;
}

#gatard-home .gatard-home__icon-frame--menu{
  width:var(--gpp-icon-lg)!important;
  height:var(--gpp-icon-lg)!important;
}

#gatard-home :is(.gatard-home__icon-frame,.gatard-home__icon-frame img,.gatard-home__menu-icon){
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  background:transparent!important;
  filter:none!important;
}

#gatard-home .gatard-home__story-grid{
  gap:clamp(44px,5.2vw,92px)!important;
}

#gatard-home .gatard-home__story-media{
  overflow:visible!important;
}

#gatard-home .gatard-home__story-media>img{
  width:100%!important;
  aspect-ratio:4/3!important;
  object-fit:cover!important;
  object-position:center!important;
}

#gatard-home .gatard-home__values{
  gap:0!important;
  margin-top:clamp(28px,3vw,48px)!important;
  margin-bottom:clamp(24px,2.5vw,38px)!important;
}

#gatard-home .gatard-home__value{
  grid-template-columns:var(--gpp-icon-sm) minmax(0,1fr)!important;
  gap:10px!important;
  padding-inline:clamp(12px,1.05vw,20px)!important;
}

#gatard-home .gatard-home__menu-grid{
  gap:var(--gpp-card-gap)!important;
}

#gatard-home .gatard-home__menu-card{
  border-radius:var(--gpp-radius)!important;
}

#gatard-home .gatard-home__menu-product-wrap{
  position:absolute!important;
  inset:auto 0 0!important;
  width:100%!important;
  height:62%!important;
  display:flex!important;
  align-items:flex-end!important;
  justify-content:center!important;
  overflow:hidden!important;
  pointer-events:none!important;
}

#gatard-home .gatard-home__menu-product{
  position:static!important;
  width:100%!important;
  height:100%!important;
  max-width:100%!important;
  object-fit:contain!important;
  object-position:center bottom!important;
  opacity:1!important;
  background:transparent!important;
  filter:drop-shadow(0 -5px 15px rgba(0,0,0,.16))!important;
}

#gatard-home .gatard-home__locations-grid,
#gatard-home .gatard-home__review-layout,
#gatard-home .gatard-home__event-card{
  gap:clamp(30px,4vw,70px)!important;
}

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

#gatard-home .gatard-home__location-card,
#gatard-home .gatard-home__review-card,
#gatard-home .gatard-home__rating-card,
#gatard-home .gatard-home__event-card{
  border-radius:var(--gpp-radius)!important;
}

#gatard-home .gatard-home__event-media img,
#gatard-home .gatard-home__location-card img,
#gatard-home .gatard-home__gallery-strip img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}

#gatard-home .gatard-home__gallery-head{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:20px!important;
  margin-bottom:clamp(20px,2vw,32px)!important;
}

#gatard-home .gatard-home__block-title--gallery{
  margin:0!important;
}

/* -------------------------------------------------------------------------- */
/* CARTE                                                                      */
/* -------------------------------------------------------------------------- */

#gatard-carte .gatard-carte__hero{
  min-height:clamp(500px,36vw,670px)!important;
}

#gatard-carte .gatard-carte__cards{
  gap:var(--gpp-card-gap)!important;
  align-items:stretch!important;
}

#gatard-carte .gatard-carte__card{
  border-radius:var(--gpp-radius)!important;
}

#gatard-carte .gatard-carte__card-inner{
  padding:clamp(24px,2.1vw,38px)!important;
}

#gatard-carte .gatard-carte__food-grid{
  gap:clamp(14px,1.25vw,22px)!important;
}

/* PNG / visuels détourés : jamais recadrés, jamais blanchis, jamais étirés. */
#gatard-carte :is(.gatard-carte__food-media,.gatard-carte__list-media,.gatard-carte__feature-media){
  background:transparent!important;
}

#gatard-carte :is(.gatard-carte__food-media img,.gatard-carte__list-media img,.gatard-carte__feature-media img,.gatard-carte__note-icon img,.gatard-carte__contact-icon img){
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  background:transparent!important;
  filter:none!important;
  transform:none!important;
}

#gatard-carte .gatard-carte__food-media{
  height:clamp(120px,8.5vw,166px)!important;
  padding:4px!important;
}

#gatard-carte .gatard-carte__list-item{
  grid-template-columns:clamp(62px,4.8vw,82px) minmax(0,1fr)!important;
  gap:clamp(12px,1vw,18px)!important;
  padding-block:clamp(10px,.9vw,15px)!important;
}

#gatard-carte .gatard-carte__list-media{
  width:100%!important;
  height:clamp(58px,4.6vw,78px)!important;
}

#gatard-carte .gatard-carte__feature-row{
  gap:clamp(12px,1.15vw,18px)!important;
}

#gatard-carte .gatard-carte__note-icon,
#gatard-carte .gatard-carte__phone-icon,
#gatard-carte .gatard-carte__contact-icon{
  width:var(--gpp-icon-md)!important;
  height:var(--gpp-icon-md)!important;
  min-width:var(--gpp-icon-md)!important;
  min-height:var(--gpp-icon-md)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

#gatard-carte :is(.gatard-carte__note-icon svg,.gatard-carte__phone-icon svg,.gatard-carte__contact-icon svg){
  width:52%!important;
  height:52%!important;
  margin:0!important;
}

#gatard-carte .gatard-carte__contact{
  margin-top:var(--gpp-section-gap)!important;
  min-height:0!important;
  border-radius:var(--gpp-radius)!important;
  overflow:hidden!important;
}

#gatard-carte .gatard-carte__contact-copy{
  padding:clamp(24px,2.2vw,40px)!important;
}

#gatard-carte .gatard-carte__contact-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}

/* -------------------------------------------------------------------------- */
/* EMPLACEMENTS                                                               */
/* -------------------------------------------------------------------------- */

#gatard-locations .gatard-locations__hero{
  min-height:clamp(500px,35vw,650px)!important;
}

#gatard-locations .gatard-locations__hero-inner{
  padding-top:clamp(62px,5vw,92px)!important;
  padding-bottom:clamp(80px,6vw,118px)!important;
}

#gatard-locations .gatard-locations__toolbar{
  gap:clamp(14px,1.2vw,20px)!important;
  padding:clamp(16px,1.5vw,24px)!important;
  border-radius:var(--gpp-radius)!important;
}

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

#gatard-locations .gatard-location-card{
  border-radius:var(--gpp-radius)!important;
  overflow:hidden!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;
  opacity:1!important;
}

#gatard-locations .gatard-icon{
  width:var(--gpp-icon-sm)!important;
  height:var(--gpp-icon-sm)!important;
  min-width:var(--gpp-icon-sm)!important;
  min-height:var(--gpp-icon-sm)!important;
}

#gatard-locations .gatard-location-card__map-pin{
  width:var(--gpp-icon-md)!important;
  height:var(--gpp-icon-md)!important;
}

/* -------------------------------------------------------------------------- */
/* ÉVÉNEMENT                                                                  */
/* -------------------------------------------------------------------------- */

#gatard-events .gatard-events__hero{
  min-height:clamp(500px,35vw,650px)!important;
  gap:clamp(34px,4vw,70px)!important;
}

#gatard-events .gatard-events__hero-media{
  overflow:hidden!important;
  border-radius:var(--gpp-radius)!important;
  background:#f5ede1!important;
}

#gatard-events .gatard-events__hero-media img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}

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

#gatard-events .gatard-event-card,
#gatard-events .gatard-events__commitment,
#gatard-events .gatard-events__project{
  border-radius:var(--gpp-radius)!important;
}

#gatard-events .gatard-event-card__icon,
#gatard-events .gatard-events__round-ico{
  width:var(--gpp-icon-md)!important;
  height:var(--gpp-icon-md)!important;
  min-width:var(--gpp-icon-md)!important;
  min-height:var(--gpp-icon-md)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:calc(var(--gpp-icon-md) * .48)!important;
}

#gatard-events .gatard-events__line-ico{
  width:var(--gpp-icon-sm)!important;
  height:var(--gpp-icon-sm)!important;
  min-width:var(--gpp-icon-sm)!important;
  min-height:var(--gpp-icon-sm)!important;
  font-size:calc(var(--gpp-icon-sm) * .72)!important;
}

#gatard-events .gatard-events__project figure{
  background:#f5ede1!important;
  border-radius:var(--gpp-radius)!important;
  overflow:hidden!important;
}

#gatard-events .gatard-events__project figure img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}

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

#gatard-events .gatard-events__gallery-track{
  gap:var(--gpp-card-gap)!important;
}

#gatard-events .gatard-events__gallery-item{
  border-radius:var(--gpp-radius)!important;
}

#gatard-events .gatard-events__gallery-item img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
}

/* -------------------------------------------------------------------------- */
/* GALERIE                                                                    */
/* -------------------------------------------------------------------------- */

#gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs{
  gap:clamp(12px,1.1vw,18px)!important;
  padding:clamp(12px,1.1vw,18px)!important;
  border-radius:var(--gpp-radius)!important;
  margin-bottom:var(--gpp-section-gap)!important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__tab{
  border-radius:calc(var(--gpp-radius) - 4px)!important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__tab-ico{
  width:var(--gpp-icon-md)!important;
  height:var(--gpp-icon-md)!important;
  min-width:var(--gpp-icon-md)!important;
  min-height:var(--gpp-icon-md)!important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__tab-ico img,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__stats img{
  width:58%!important;
  height:58%!important;
  object-fit:contain!important;
  object-position:center!important;
  opacity:1!important;
  background:transparent!important;
}

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

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

#gatard-gallery.gatard-gallery--reference .gatard-gallery__photo,
#gatard-gallery.gatard-gallery--reference .gatard-gallery__open{
  border-radius:var(--gpp-radius)!important;
  overflow:hidden!important;
}

/* Les photos remplissent leur frame ; ce choix ne s'applique pas aux PNG transparents. */
#gatard-gallery.gatard-gallery--reference .gatard-gallery__photo img{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center!important;
  opacity:1!important;
  background:#eee6da!important;
}

#gatard-gallery.gatard-gallery--reference .gatard-gallery__moments{
  margin-top:var(--gpp-section-gap)!important;
  gap:var(--gpp-card-gap)!important;
  border-radius:var(--gpp-radius)!important;
}

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

#gatard-gallery.gatard-gallery--reference .gatard-gallery__stats article{
  border-radius:calc(var(--gpp-radius) - 3px)!important;
}

/* Visionneurs : marge constante et image jamais hors écran. */
#gatard-gallery .gatard-gallery__viewer,
#gatard-events .gatard-events__viewer{
  padding:max(24px,env(safe-area-inset-top)) max(24px,env(safe-area-inset-right)) max(24px,env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left))!important;
}

#gatard-gallery .gatard-gallery__viewer figure,
#gatard-events .gatard-events__viewer-figure{
  width:min(1180px,calc(100vw - 48px))!important;
  max-width:min(1180px,calc(100vw - 48px))!important;
  max-height:calc(100dvh - 48px)!important;
}

#gatard-gallery .gatard-gallery__viewer img,
#gatard-events .gatard-events__viewer img{
  max-width:100%!important;
  max-height:calc(100dvh - 140px)!important;
  object-fit:contain!important;
  object-position:center!important;
}

/* -------------------------------------------------------------------------- */
/* TABLETTE                                                                   */
/* -------------------------------------------------------------------------- */

@media (min-width:768px) and (max-width:1199px){
  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery){
    --gpp-gutter:24px;
    --gpp-section-y:56px;
    --gpp-section-gap:42px;
    --gpp-card-gap:18px;
    --gpp-icon-sm:26px;
    --gpp-icon-md:40px;
    --gpp-icon-lg:52px;
  }

  #gatard-home .gatard-home__hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,.94fr)!important;
    min-height:560px!important;
  }

  #gatard-home .gatard-home__hero-copy{
    padding:70px 28px 48px var(--gpp-gutter)!important;
  }

  #gatard-home .gatard-home__hero-title{
    font-size:clamp(42px,5.7vw,60px)!important;
  }

  #gatard-home .gatard-home__story-grid,
  #gatard-home .gatard-home__locations-grid,
  #gatard-home .gatard-home__review-layout,
  #gatard-home .gatard-home__event-card{
    gap:34px!important;
  }

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

  #gatard-home .gatard-home__value:nth-child(2){border-right:0!important}
  #gatard-home .gatard-home__value:nth-child(n+3){padding-top:18px!important;border-top:1px solid var(--gatard-home-line)!important}

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

  #gatard-carte .gatard-carte__cards{
    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:520px!important;
  }

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

  #gatard-events .gatard-events__hero{
    grid-template-columns:minmax(0,1fr) minmax(0,.9fr)!important;
    min-height:520px!important;
  }

  #gatard-events .gatard-events__hero-media{
    min-height:360px!important;
    height:auto!important;
  }

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

  #gatard-events .gatard-events__project{
    grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr)!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__stats{
    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-gutter:15px;
    --gpp-section-y:40px;
    --gpp-section-gap:30px;
    --gpp-card-gap:14px;
    --gpp-radius:16px;
    --gpp-icon-sm:24px;
    --gpp-icon-md:38px;
    --gpp-icon-lg:48px;
  }

  /* Tous les rails utilisent exactement 15 px de chaque côté. */
  #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(100vw - 30px)!important;
    max-width:calc(100vw - 30px)!important;
    margin-inline:auto!important;
  }

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

  :where(#gatard-home,#gatard-carte,#gatard-locations,#gatard-events,#gatard-gallery) :is(h1,h2,h3,p){
    max-width:100%!important;
    overflow-wrap:break-word!important;
  }

  /* HOME */
  #gatard-home .gatard-home__hero-grid,
  #gatard-home .gatard-home__story-grid,
  #gatard-home .gatard-home__locations-grid,
  #gatard-home .gatard-home__review-layout,
  #gatard-home .gatard-home__event-card{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
  }

  #gatard-home .gatard-home__hero-media{
    order:1!important;
    width:100%!important;
    height:clamp(245px,67vw,320px)!important;
    min-height:0!important;
    max-height:320px!important;
    overflow:hidden!important;
  }

  #gatard-home .gatard-home__hero-copy{
    order:2!important;
    width:100%!important;
    max-width:none!important;
    margin:0!important;
    padding:30px var(--gpp-gutter) 38px!important;
    background:#fbf7f2!important;
    text-align:center!important;
  }

  #gatard-home .gatard-home__hero-title{
    font-size:clamp(31px,8.8vw,40px)!important;
    line-height:1.06!important;
  }

  #gatard-home .gatard-home__hero-text{
    font-size:15px!important;
    line-height:1.58!important;
  }

  #gatard-home .gatard-home__hero-actions,
  #gatard-home .gatard-home__center-action{
    justify-content:center!important;
  }

  #gatard-home .gatard-home__button{
    min-height:48px!important;
    max-width:100%!important;
    justify-content:center!important;
  }

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

  #gatard-home .gatard-home__feature{
    min-height:112px!important;
    padding:14px 10px!important;
    border-right:1px solid var(--gatard-home-line)!important;
    border-bottom:1px solid var(--gatard-home-line)!important;
  }

  #gatard-home .gatard-home__feature:nth-child(2n){border-right:0!important}
  #gatard-home .gatard-home__feature:nth-last-child(-n+2){border-bottom:0!important}

  #gatard-home .gatard-home__story-media{
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
  }

  #gatard-home .gatard-home__story-media>img{
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  #gatard-home .gatard-home__story-copy{
    padding-top:26px!important;
  }

  #gatard-home .gatard-home__section-title{
    font-size:clamp(28px,8vw,36px)!important;
    line-height:1.1!important;
  }

  #gatard-home .gatard-home__story-excerpt,
  #gatard-home .gatard-home__story-full,
  #gatard-home .gatard-home__locations-copy>p,
  #gatard-home .gatard-home__event-copy>p{
    font-size:15px!important;
    line-height:1.58!important;
  }

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

  #gatard-home .gatard-home__value{
    min-height:112px!important;
    padding:14px 10px!important;
    border-right:1px solid var(--gatard-home-line)!important;
    border-bottom:1px solid var(--gatard-home-line)!important;
  }

  #gatard-home .gatard-home__value:nth-child(2n){border-right:0!important}
  #gatard-home .gatard-home__value:nth-last-child(-n+2){border-bottom:0!important}

  #gatard-home .gatard-home__value h3{font-size:13px!important}
  #gatard-home .gatard-home__value p{font-size:12px!important;line-height:1.42!important}

  /* Un seul élément entre les flèches. */
  #gatard-home :is(.gatard-home__menu-carousel,.gatard-home__carousel-wrap,.gatard-home__gallery-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 :is(.gatard-home__menu-viewport,.gatard-home__carousel-viewport,.gatard-home__gallery-viewport){
    grid-column:2!important;
    grid-row:1!important;
    width:100%!important;
    overflow:hidden!important;
  }

  #gatard-home :is(.gatard-home__menu-grid,.gatard-home__location-track,.gatard-home__review-track,.gatard-home__gallery-strip){
    display:grid!important;
    grid-auto-flow:column!important;
    grid-auto-columns:100%!important;
    grid-template-columns:none!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 :is(.gatard-home__menu-grid,.gatard-home__location-track,.gatard-home__review-track,.gatard-home__gallery-strip)::-webkit-scrollbar{display:none!important}

  #gatard-home :is(.gatard-home__menu-card,.gatard-home__location-card,.gatard-home__review-card,.gatard-home__gallery-strip>* ){
    width:100%!important;
    max-width:100%!important;
    scroll-snap-align:start!important;
  }

  #gatard-home .gatard-home__carousel-arrow{
    position:static!important;
    transform:none!important;
    width:36px!important;
    height:36px!important;
    min-width:36px!important;
    border-radius:50%!important;
  }

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

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

  #gatard-home .gatard-home__gallery-head{
    flex-direction:row!important;
    align-items:center!important;
    gap:10px!important;
  }

  #gatard-home .gatard-home__block-title--gallery{
    font-size:clamp(18px,5.2vw,22px)!important;
    white-space:nowrap!important;
  }

  #gatard-home .gatard-home__gallery-head .gatard-home__button,
  #gatard-home .gatard-home__gallery-head a{
    flex:0 0 auto!important;
    min-height:38px!important;
    padding:8px 12px!important;
    font-size:11px!important;
    white-space:nowrap!important;
  }

  #gatard-home .gatard-home__event-media{
    height:auto!important;
    min-height:0!important;
  }

  #gatard-home .gatard-home__event-media img{
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  /* CARTE */
  #gatard-carte .gatard-carte__hero{
    min-height:0!important;
    height:auto!important;
    padding:0!important;
    display:grid!important;
  }

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

  #gatard-carte .gatard-carte__hero-image--left{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    opacity:1!important;
  }

  #gatard-carte .gatard-carte__hero-image--left img{
    width:100%!important;
    height:100%!important;
    object-fit:cover!important;
    object-position:58% center!important;
  }

  #gatard-carte .gatard-carte__hero-inner{
    position:relative!important;
    z-index:3!important;
    width:100%!important;
    max-width:none!important;
    min-height:clamp(390px,104vw,490px)!important;
    margin:0!important;
    padding:clamp(52px,14vw,76px) var(--gpp-gutter) 42px!important;
    display:flex!important;
    flex-direction:column!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    background:linear-gradient(90deg,rgba(251,247,242,.28),rgba(251,247,242,.94) 52%,#fbf7f2 100%)!important;
  }

  #gatard-carte .gatard-carte__hero h1{
    font-size:clamp(36px,10vw,48px)!important;
    white-space:normal!important;
  }

  #gatard-carte .gatard-carte__hero-subtitle{
    font-size:clamp(18px,5.3vw,23px)!important;
    line-height:1.25!important;
  }

  #gatard-carte .gatard-carte__hero-text{
    font-size:15px!important;
    line-height:1.55!important;
  }

  #gatard-carte .gatard-carte__shell{
    padding-top:40px!important;
    padding-bottom:40px!important;
  }

  #gatard-carte .gatard-carte__cards{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:18px!important;
  }

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

  #gatard-carte .gatard-carte__card-head h2{
    font-size:clamp(22px,6.2vw,29px)!important;
    white-space:normal!important;
  }

  #gatard-carte .gatard-carte__food-media{
    height:clamp(112px,31vw,146px)!important;
  }

  #gatard-carte .gatard-carte__contact{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  #gatard-carte .gatard-carte__contact-copy{
    grid-template-columns:var(--gpp-icon-md) minmax(0,1fr)!important;
    gap:12px!important;
    padding:20px 16px!important;
  }

  #gatard-carte .gatard-carte__contact-media{
    min-height:180px!important;
  }

  /* EMPLACEMENTS */
  #gatard-locations .gatard-locations__hero{
    min-height:0!important;
    height:auto!important;
  }

  #gatard-locations .gatard-locations__hero-inner{
    width:100%!important;
    max-width:none!important;
    min-height:clamp(440px,112vw,540px)!important;
    margin:0!important;
    padding:calc(var(--gatard-mobile-menu-safe-offset,0px) + 22px) var(--gpp-gutter) 48px!important;
    display:flex!important;
    flex-direction:column!important;
    justify-content:center!important;
  }

  #gatard-locations .gatard-locations__toolbar{
    position:relative!important;
    z-index:4!important;
    width:calc(100vw - 30px)!important;
    max-width:calc(100vw - 30px)!important;
    margin:-22px auto 0!important;
    padding:16px!important;
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:12px!important;
  }

  #gatard-locations .gatard-locations__filters{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px!important;
  }

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

  #gatard-locations .gatard-locations__list{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  #gatard-locations .gatard-location-card{
    display:grid!important;
    grid-template-columns:1fr!important;
  }

  #gatard-locations .gatard-location-card__photo{
    min-height:0!important;
    height:auto!important;
  }

  #gatard-locations .gatard-location-card__photo img{
    height:auto!important;
    aspect-ratio:4/3!important;
  }

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

  #gatard-locations .gatard-location-card__map{
    min-height:180px!important;
  }

  /* ÉVÉNEMENT */
  #gatard-events .gatard-events__inner{
    padding-top:calc(var(--gatard-mobile-menu-safe-offset,0px) + 18px)!important;
  }

  #gatard-events .gatard-events__hero{
    display:grid!important;
    grid-template-columns:1fr!important;
    min-height:0!important;
    gap:22px!important;
  }

  #gatard-events .gatard-events__hero-media{
    order:1!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:hidden!important;
  }

  #gatard-events .gatard-events__hero-media img{
    width:100%!important;
    height:auto!important;
    max-height:none!important;
    object-fit:contain!important;
    object-position:center!important;
  }

  #gatard-events .gatard-events__hero-copy{
    order:2!important;
    max-width:none!important;
    padding:0!important;
  }

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

  #gatard-events .gatard-events__commitment{
    height:auto!important;
    min-height:0!important;
    padding:28px 16px!important;
    overflow:visible!important;
  }

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

  #gatard-events .gatard-events__commitment article{
    min-height:150px!important;
    padding:18px 10px!important;
  }

  #gatard-events .gatard-events__project{
    height:auto!important;
    min-height:0!important;
    padding:0!important;
    overflow:hidden!important;
  }

  #gatard-events .gatard-events__project figure{
    height:auto!important;
    min-height:0!important;
  }

  #gatard-events .gatard-events__project figure img{
    height:auto!important;
    aspect-ratio:4/3!important;
    object-fit:cover!important;
  }

  #gatard-events .gatard-events__project-copy{
    padding:24px 16px!important;
    background:#fffdf9!important;
  }

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

  #gatard-events .gatard-events__gallery-viewport{
    grid-column:2!important;
    grid-row:1!important;
  }

  #gatard-events .gatard-events__gallery-track{
    display:flex!important;
    gap:12px!important;
  }

  #gatard-events .gatard-events__gallery-item{
    flex:0 0 100%!important;
  }

  #gatard-events .gatard-events__gallery-item img{
    height:auto!important;
    aspect-ratio:4/3!important;
  }

  #gatard-events .gatard-events__slider-btn{
    position:static!important;
    transform:none!important;
    width:36px!important;
    height:36px!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 */
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__hero-inner{
    min-height:clamp(360px,96vw,470px)!important;
    padding:calc(var(--gatard-mobile-menu-safe-offset,0px) + 24px) 0 52px!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__shell{
    margin-top:-24px!important;
  }

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

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tab{
    min-height:64px!important;
    padding:10px!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:10px!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head>div:first-child{
    padding-left:10px!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head h2{
    font-size:clamp(22px,6.4vw,28px)!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__section-head p{
    font-size:13px!important;
    line-height:1.4!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__show-all{
    flex:0 0 auto!important;
    min-height:36px!important;
    padding:8px 10px!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;
  }

  #gatard-gallery.gatard-gallery--reference .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;
    gap:12px!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__open{
    width:100%!important;
    height:100%!important;
  }

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__row-arrow{
    position:static!important;
    transform:none!important;
    width:36px!important;
    height:36px!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__moments{
    display:grid!important;
    grid-template-columns:1fr!important;
    padding:24px 16px!important;
  }

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

  /* Visionneurs mobiles */
  #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;
  }

  #gatard-gallery .gatard-gallery__viewer figure,
  #gatard-events .gatard-events__viewer-figure{
    width:calc(100vw - 30px)!important;
    max-width:calc(100vw - 30px)!important;
    max-height:calc(100dvh - 30px)!important;
  }

  #gatard-gallery .gatard-gallery__viewer img,
  #gatard-events .gatard-events__viewer img{
    max-height:calc(100dvh - 120px)!important;
  }
}

@media (max-width:374px){
  #gatard-home .gatard-home__features,
  #gatard-home .gatard-home__values{
    grid-template-columns:1fr!important;
  }

  #gatard-home .gatard-home__feature,
  #gatard-home .gatard-home__value{
    border-right:0!important;
    border-bottom:1px solid var(--gatard-home-line)!important;
  }

  #gatard-home .gatard-home__feature:last-child,
  #gatard-home .gatard-home__value:last-child{border-bottom:0!important}

  #gatard-gallery.gatard-gallery--reference .gatard-gallery__tabs,
  #gatard-gallery.gatard-gallery--reference .gatard-gallery__stats{
    grid-template-columns:1fr!important;
  }

  #gatard-events .gatard-events__commitment-grid{
    grid-template-columns:1fr!important;
  }
}

@media (prefers-reduced-motion:reduce){
  #gatard-home .gatard-home__hero-slide{
    transition:opacity .2s linear!important;
    transform:none!important;
  }
}
