/*
 * GATARD Pro Pages 1.9.57
 * Finition ciblée de la page CMS 6 « La carte ».
 *
 * Périmètre strict : body.cms-id-6 #gatard-carte, desktop et tablette.
 * Aucun sélecteur ne cible l'accueil, le header, le menu rapide, le footer
 * ou les autres pages du module.
 */

/* Le thème Classic conserve parfois un padding vertical sur #wrapper et les
 * conteneurs CMS. Sur la page 6 uniquement, le hero doit démarrer directement
 * sous le header, sans bande vide intermédiaire. */
@media (min-width: 1200px) {
  html body.cms-id-6 #wrapper,
  html body.cms-id-6 #main,
  html body.cms-id-6 #content-wrapper,
  html body.cms-id-6 #content,
  html body.cms-id-6 #content.page-content,
  html body.cms-id-6 .page-content.page-cms,
  html body.cms-id-6 .page-content > .rte,
  html body.cms-id-6 .page-content .cms-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html body.cms-id-6 #gatard-carte,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero {
    margin-top: 0 !important;
  }
}

/* Finition commune tablette + desktop. */
@media (min-width: 768px) {
  html body.cms-id-6 #gatard-carte {
    font-family: 'Poppins', Arial, sans-serif !important;
  }

  /* Titres et textes homogènes : Poppins, tailles modérées et retours propres. */
  html body.cms-id-6 #gatard-carte :is(
    .gatard-carte__card-head h2,
    .gatard-carte__card-head p,
    .gatard-carte__food-tile strong,
    .gatard-carte__food-tile small,
    .gatard-carte__list-item strong,
    .gatard-carte__list-item small,
    .gatard-carte__feature figcaption,
    .gatard-carte__feature-label,
    .gatard-carte__note p,
    .gatard-carte__phone-box,
    .gatard-carte__button,
    .gatard-carte__contact-copy
  ) {
    font-family: 'Poppins', Arial, sans-serif !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__card-head h2 {
    max-width: 100% !important;
    margin-inline: auto !important;
    font-size: clamp(23px, 1.65vw, 32px) !important;
    font-weight: 700 !important;
    line-height: 1.14 !important;
    letter-spacing: .012em !important;
    white-space: normal !important;
    text-wrap: balance !important;
    overflow-wrap: anywhere !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__card-head p {
    max-width: 440px !important;
    margin-inline: auto !important;
    margin-bottom: clamp(20px, 1.7vw, 28px) !important;
    font-size: clamp(14px, .88vw, 16px) !important;
    font-weight: 400 !important;
    line-height: 1.62 !important;
    text-wrap: pretty !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-grid {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    align-items: start !important;
    gap: clamp(14px, 1.2vw, 20px) !important;
    width: 100% !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-tile {
    display: grid !important;
    grid-template-rows: auto auto !important;
    align-content: start !important;
    min-width: 0 !important;
    margin: 0 !important;
  }

  /* Les visuels Food Truck sont des compositions complètes : aucun recadrage. */
  html body.cms-id-6 #gatard-carte .gatard-carte__food-media {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    aspect-ratio: 4 / 3 !important;
    padding: clamp(8px, .75vw, 13px) !important;
    border-radius: 11px !important;
    overflow: hidden !important;
    background: linear-gradient(145deg, rgba(255,255,255,.86), rgba(244,239,230,.58)) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-media > img,
  html body.cms-id-6 #gatard-carte .gatard-carte__food-tile:hover .gatard-carte__food-media > img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    max-width: 100% !important;
    max-height: 100% !important;
    aspect-ratio: auto !important;
    padding: 0 !important;
    object-fit: contain !important;
    object-position: center center !important;
    transform: none !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-tile figcaption {
    min-height: 0 !important;
    padding: 9px 4px 0 !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-tile strong {
    display: block !important;
    font-size: clamp(13px, .82vw, 15px) !important;
    font-weight: 600 !important;
    line-height: 1.35 !important;
    text-wrap: balance !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-tile small {
    margin-top: 4px !important;
    font-size: clamp(11px, .72vw, 13px) !important;
    line-height: 1.4 !important;
  }

  /* Grande image 1/2 : visuel entier, cadre maîtrisé et non disproportionné. */
  html body.cms-id-6 #gatard-carte .gatard-carte__feature:not(.gatard-carte__feature--inline) > img {
    display: block !important;
    width: 100% !important;
    height: clamp(158px, 13vw, 228px) !important;
    min-height: 0 !important;
    max-height: 228px !important;
    aspect-ratio: auto !important;
    padding: clamp(7px, .7vw, 12px) !important;
    border-radius: 11px !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: linear-gradient(145deg, rgba(255,255,255,.84), rgba(244,239,230,.60)) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__feature figcaption {
    max-width: 520px !important;
    margin-inline: auto !important;
    padding: 10px 6px 0 !important;
    font-size: clamp(13px, .82vw, 15px) !important;
    font-weight: 500 !important;
    line-height: 1.48 !important;
    text-wrap: pretty !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__list-item strong,
  html body.cms-id-6 #gatard-carte .gatard-carte__feature-label {
    font-size: clamp(13px, .86vw, 16px) !important;
    font-weight: 600 !important;
    line-height: 1.42 !important;
    white-space: normal !important;
    text-wrap: pretty !important;
    overflow-wrap: anywhere !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__list-item small {
    font-size: clamp(11px, .72vw, 13px) !important;
    line-height: 1.42 !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__note p,
  html body.cms-id-6 #gatard-carte .gatard-carte__phone-box span {
    font-size: clamp(13px, .8vw, 15px) !important;
    line-height: 1.5 !important;
  }
}

/* Tablette : médias suffisamment lisibles, sans devenir trop hauts. */
@media (min-width: 768px) and (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__food-media {
    aspect-ratio: 4 / 3 !important;
    padding: 9px !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__feature:not(.gatard-carte__feature--inline) > img {
    height: clamp(150px, 19vw, 205px) !important;
    max-height: 205px !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__card-head h2 {
    font-size: clamp(22px, 3vw, 30px) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__card-head p {
    font-size: clamp(14px, 1.55vw, 16px) !important;
  }
}

/* Desktop large : les images restent complètes et proportionnées dans les
 * trois colonnes, sans grossir indéfiniment. */
@media (min-width: 1200px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__food-media {
    max-height: 205px !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__feature:not(.gatard-carte__feature--inline) > img {
    height: clamp(170px, 12vw, 228px) !important;
  }
}


/* ========================================================================== */
/* v1.9.51 — hero mobile sans images latérales + médias réellement fluides.   */
/* Périmètre strict : CMS 6 uniquement. Aucun sélecteur ne cible l'index.      */
/* ========================================================================== */

html body.cms-id-6 #gatard-carte img {
  max-width: 100% !important;
}

html body.cms-id-6 #gatard-carte :is(
  .gatard-carte__food-media,
  .gatard-carte__list-media,
  .gatard-carte__feature-media,
  .gatard-carte__feature:not(.gatard-carte__feature--inline)
) {
  min-width: 0 !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

html body.cms-id-6 #gatard-carte :is(
  .gatard-carte__food-media > img,
  .gatard-carte__list-media > img,
  .gatard-carte__feature-media > img,
  .gatard-carte__feature:not(.gatard-carte__feature--inline) > img
) {
  display: block !important;
  max-width: 100% !important;
  object-fit: contain !important;
  object-position: center center !important;
  transform: none !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__food-media {
    min-height: clamp(150px, 21vw, 215px) !important;
    height: clamp(150px, 21vw, 215px) !important;
    aspect-ratio: auto !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-media > img {
    width: 100% !important;
    height: 100% !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__feature:not(.gatard-carte__feature--inline) > img {
    width: 100% !important;
    height: clamp(150px, 19vw, 205px) !important;
    max-height: 205px !important;
  }
}

@media (min-width: 1200px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image {
    width: clamp(300px, 35vw, 690px) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }
}

/* Mobile : seul gatard-carte__hero-inner reste visible dans le hero. */
@media (max-width: 767px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__hero {
    display: block !important;
    min-height: 0 !important;
    max-height: none !important;
    height: auto !important;
    overflow: visible !important;
    background: var(--gatard-carte-bg) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero::before,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero::after,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image::before,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image::after {
    display: none !important;
    content: none !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner[style] {
    position: relative !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    width: calc(100% - 30px) !important;
    max-width: 720px !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: calc(24px + var(--gatard-carte-menu-safe-offset, 0px)) 0 34px !important;
    text-align: center !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-grid {
    width: 100% !important;
    max-width: 100% !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-media {
    display: grid !important;
    place-items: center !important;
    width: 100% !important;
    min-height: clamp(125px, 34vw, 158px) !important;
    height: clamp(125px, 34vw, 158px) !important;
    aspect-ratio: auto !important;
    padding: 7px !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__food-media > img {
    width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__feature:not(.gatard-carte__feature--inline) > img {
    width: 100% !important;
    height: auto !important;
    max-height: 210px !important;
    aspect-ratio: auto !important;
    padding: 8px !important;
    object-fit: contain !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__list-media > img,
  html body.cms-id-6 #gatard-carte .gatard-carte__feature-media > img {
    width: 100% !important;
    height: 100% !important;
    object-fit: contain !important;
  }
}


/* ========================================================================
 * v1.9.52 — publication réelle du template sans bandeau contact + rails
 * identiques à l'accueil. Cette couche reste strictement limitée au CMS 6.
 * ====================================================================== */

/* Sécurité de transition : si un ancien contenu CMS est encore servi par un
 * cache, le bandeau historique ne peut plus apparaître avant resynchronisation. */
html body.cms-id-6 #gatard-carte .gatard-carte__contact,
html body.cms-id-6 #gatard-carte .gatard-carte__contact-copy,
html body.cms-id-6 #gatard-carte .gatard-carte__contact-media {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

/* Rail desktop identique à l'index : 24 px minimum de chaque côté, contenu
 * centré et largeur maximale de 1800 px. */
html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner,
html body.cms-id-6 #gatard-carte .gatard-carte__shell {
  width: min(1800px, calc(100% - 48px)) !important;
  max-width: min(1800px, calc(100% - 48px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

html body.cms-id-6 #gatard-carte,
html body.cms-id-6 #gatard-carte .gatard-carte__hero,
html body.cms-id-6 #gatard-carte .gatard-carte__cards,
html body.cms-id-6 #gatard-carte .gatard-carte__card,
html body.cms-id-6 #gatard-carte .gatard-carte__card-inner {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html body.cms-id-6 #gatard-carte {
  width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow-x: clip !important;
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner,
  html body.cms-id-6 #gatard-carte .gatard-carte__shell {
    width: calc(100% - 32px) !important;
    max-width: calc(100% - 32px) !important;
  }
}

@media (max-width: 767px) {
  /* Exactement la même gouttière que l'index : 15 px à gauche et à droite. */
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner,
  html body.cms-id-6 #gatard-carte .gatard-carte__shell {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__cards,
  html body.cms-id-6 #gatard-carte .gatard-carte__card,
  html body.cms-id-6 #gatard-carte .gatard-carte__card-inner,
  html body.cms-id-6 #gatard-carte .gatard-carte__food-grid,
  html body.cms-id-6 #gatard-carte .gatard-carte__list,
  html body.cms-id-6 #gatard-carte .gatard-carte__feature,
  html body.cms-id-6 #gatard-carte .gatard-carte__phone-box,
  html body.cms-id-6 #gatard-carte .gatard-carte__note {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================================
 * v1.9.53 — correction réellement prioritaire de la page CMS 6.
 * La racine ne sort plus du viewport et les rails suivent les 15 px de l'index.
 * ====================================================================== */

html body.cms-id-6 #gatard-carte.gatard-carte {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  overflow-x: clip !important;
}

html body.cms-id-6 #gatard-carte .gatard-carte__contact,
html body.cms-id-6 #gatard-carte aside.gatard-carte__contact {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}

html body.cms-id-6 #gatard-carte .gatard-carte__shell {
  width: min(1800px, calc(100% - 30px)) !important;
  max-width: min(1800px, calc(100% - 30px)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
  width: min(720px, calc(100% - 30px)) !important;
  max-width: min(720px, calc(100% - 30px)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html body.cms-id-6 #gatard-carte :is(
  .gatard-carte__cards,
  .gatard-carte__card,
  .gatard-carte__card-inner,
  .gatard-carte__food-grid,
  .gatard-carte__food-tile,
  .gatard-carte__list,
  .gatard-carte__list-item,
  .gatard-carte__feature,
  .gatard-carte__feature-row,
  .gatard-carte__phone-box,
  .gatard-carte__note
) {
  min-width: 0 !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

@media (min-width: 1200px) {
  html body.cms-id-6 #wrapper,
  html body.cms-id-6 #main,
  html body.cms-id-6 #content-wrapper,
  html body.cms-id-6 #content,
  html body.cms-id-6 .page-content.page-cms,
  html body.cms-id-6 .page-content > .rte {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero {
    margin-top: 0 !important;
  }
}

@media (max-width: 767px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero::before,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero::after {
    display: none !important;
    content: none !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero {
    min-height: 0 !important;
    height: auto !important;
    background: var(--gatard-carte-bg) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner,
  html body.cms-id-6 #gatard-carte .gatard-carte__shell {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-inline: auto !important;
  }
}


/* ========================================================================== */
/* v1.9.54 — couche finale vérifiable : contact retiré + rails de l'index.     */
/* ========================================================================== */
html body.cms-id-6 #gatard-carte {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  transform: none !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}
html body.cms-id-6 #gatard-carte .gatard-carte__contact {
  display: none !important;
  visibility: hidden !important;
  position: absolute !important;
  width: 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  pointer-events: none !important;
}
html body.cms-id-6 #gatard-carte .gatard-carte__shell {
  width: min(1800px, calc(100% - 48px)) !important;
  max-width: min(1800px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}
html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
  width: min(720px, calc(100% - 48px)) !important;
  max-width: min(720px, calc(100% - 48px)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}
@media (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__shell,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    margin-inline: auto !important;
  }
}
@media (max-width: 767px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__hero-image,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero::before,
  html body.cms-id-6 #gatard-carte .gatard-carte__hero::after {
    display: none !important;
    content: none !important;
  }
  html body.cms-id-6 #gatard-carte .gatard-carte__hero {
    min-height: 0 !important;
    height: auto !important;
    background: var(--gatard-carte-bg) !important;
  }
}


/* ========================================================================== */
/* v1.9.55 — gouttières index + fil d’Ariane masqué + bande grise supprimée.  */
/* Page CMS 6 uniquement. Aucun sélecteur ne cible l’index ni le menu CCM.     */
/* ========================================================================== */

@media (max-width: 1199px) {
  /* La bande grise visible sous le menu venait du padding/background du
     wrapper Classic, pas de la structure interne du menu mobile. */
  html body.cms-id-6 #wrapper,
  html body.cms-id-6 #main,
  html body.cms-id-6 #content-wrapper,
  html body.cms-id-6 #content,
  html body.cms-id-6 #content.page-content,
  html body.cms-id-6 .page-content.page-cms,
  html body.cms-id-6 .page-content > .rte,
  html body.cms-id-6 .page-content .cms-content {
    margin-top: 0 !important;
    padding-top: 0 !important;
  }

  html body.cms-id-6 #wrapper {
    background: #fbf7f2 !important;
  }

  /* Le fil d’Ariane interne de la page Carte est inutile sur mobile/tablette. */
  html body.cms-id-6 #gatard-carte .gatard-carte__breadcrumb {
    display: none !important;
    visibility: hidden !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* Même logique que l’index : fond pleine largeur, contenu protégé par une
     vraie gouttière interne de 15 px. Le padding résiste mieux aux anciennes
     règles 100vw qu’un simple width:calc(...). */
  html body.cms-id-6 #gatard-carte .gatard-carte__shell {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
    width: min(720px, 100%) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    padding-left: 15px !important;
    padding-right: 15px !important;
    box-sizing: border-box !important;
  }

  html body.cms-id-6 #gatard-carte :is(
    .gatard-carte__cards,
    .gatard-carte__card,
    .gatard-carte__card-inner
  ) {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================================== */
/* v1.9.56 — gouttières mobiles visibles et indépendantes des anciennes rails. */
/* Le retrait est appliqué directement au groupe de cartes, comme sur l'index. */
/* ========================================================================== */
@media (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte .gatard-carte__shell {
    width: 100% !important;
    max-width: 100% !important;
    margin-inline: 0 !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
    width: calc(100% - 30px) !important;
    max-width: min(720px, calc(100% - 30px)) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__cards {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    translate: none !important;
    transform: none !important;
    width: calc(100% - 30px) !important;
    max-width: calc(100% - 30px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__card,
  html body.cms-id-6 #gatard-carte .gatard-carte__card-inner {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    translate: none !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================================== */
/* v1.9.57 — rail responsive réel, identique à la logique de l’index.          */
/* Le fond reste pleine largeur ; la gouttière appartient au shell et non à   */
/* une largeur calculée sur la grille. Cela évite les effets invisibles ou     */
/* annulés par les anciennes règles full-bleed/100vw.                          */
/* ========================================================================== */
@media (max-width: 767px) {
  html body.cms-id-6 #gatard-carte {
    --gatard-carte-page-gutter: 15px;
  }
}

@media (min-width: 768px) and (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte {
    --gatard-carte-page-gutter: 24px;
  }
}

@media (max-width: 1199px) {
  html body.cms-id-6 #gatard-carte,
  html body.cms-id-6 #gatard-carte .gatard-carte__shell,
  html body.cms-id-6 #gatard-carte .gatard-carte__cards,
  html body.cms-id-6 #gatard-carte .gatard-carte__card,
  html body.cms-id-6 #gatard-carte .gatard-carte__card-inner {
    min-width: 0 !important;
    box-sizing: border-box !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__shell {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    translate: none !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: var(--gatard-carte-page-gutter, 15px) !important;
    padding-right: var(--gatard-carte-page-gutter, 15px) !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__cards,
  html body.cms-id-6 #gatard-carte .gatard-carte__card,
  html body.cms-id-6 #gatard-carte .gatard-carte__card-inner {
    position: relative !important;
    inset: auto !important;
    left: auto !important;
    right: auto !important;
    translate: none !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  html body.cms-id-6 #gatard-carte .gatard-carte__hero-inner {
    width: calc(100% - (2 * var(--gatard-carte-page-gutter, 15px))) !important;
    max-width: min(720px, calc(100% - (2 * var(--gatard-carte-page-gutter, 15px)))) !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    box-sizing: border-box !important;
  }
}

/* ========================================================================== */
/* v1.9.58 — même rail que l’index, sans 100vw ni marge négative.             */
/* La CMS 6 reprend la structure externe de .gatard-home-layout : le wrapper  */
/* interne occupe 100 % du viewport, puis le contenu utilise 15 px de chaque  */
/* côté via width:calc(100% - 30px), exactement comme les containers accueil. */
/* ========================================================================== */

html body.cms-id-6 #wrapper > .container,
html body.cms-id-6 #wrapper > .container-fluid {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

html body.cms-id-6 #wrapper > .container > .row,
html body.cms-id-6 #wrapper > .container-fluid > .row {
  width: 100% !important;
  max-width: none !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
}

html body.cms-id-6 #content-wrapper,
html body.cms-id-6 #main,
html body.cms-id-6 #content,
html body.cms-id-6 #content.page-content,
html body.cms-id-6 .page-content.page-cms,
html body.cms-id-6 .page-content > .rte {
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  box-sizing: border-box !important;
}

/* Même comportement de racine que #gatard-home sur l’index. La classe dans
   le sélecteur est volontaire : elle bat les anciennes règles full-bleed de
   front-responsive-pro-v1933.css qui utilisaient aussi !important. */
html body.cms-id-6 #gatard-carte.gatard-carte {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin: 0 !important;
  translate: none !important;
  transform: none !important;
  overflow-x: clip !important;
  box-sizing: border-box !important;
}

/* Copie exacte du rail final de l’index : 1800 px maximum, 15 px visibles
   par côté sur toutes les largeurs. Les fonds du hero et de la page restent
   pleine largeur, seul le contenu intérieur est centré. */
html body.cms-id-6 #gatard-carte.gatard-carte .gatard-carte__hero-inner,
html body.cms-id-6 #gatard-carte.gatard-carte .gatard-carte__shell {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  width: min(1800px, calc(100% - 30px)) !important;
  min-width: 0 !important;
  max-width: min(1800px, calc(100% - 30px)) !important;
  margin-right: auto !important;
  margin-left: auto !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
  translate: none !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html body.cms-id-6 #gatard-carte.gatard-carte .gatard-carte__cards,
html body.cms-id-6 #gatard-carte.gatard-carte .gatard-carte__card,
html body.cms-id-6 #gatard-carte.gatard-carte .gatard-carte__card-inner {
  position: relative !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  margin-right: 0 !important;
  margin-left: 0 !important;
  translate: none !important;
  transform: none !important;
  box-sizing: border-box !important;
}

@supports not (overflow: clip) {
  html body.cms-id-6 #gatard-carte.gatard-carte {
    overflow-x: hidden !important;
  }
}
