/* Une seule gouttière éditoriale : ne pas cumuler section et conteneur. */
@media (max-width: 782px) {
  :root { --cpp-page-gutter: 18px; --cpp-editor-gutter: 18px; }
  body .cpp-sec,
  body .cpp-page-starter {
    box-sizing: border-box;
    width: 100% !important; max-width: none !important;
    margin-inline: 0 !important; padding-inline: 0 !important;
  }
  body .cpp-sec > .container,
  body .cpp-sec > .alignwide,
  body .cpp-page-starter > .alignwide,
  body #offres > .container,
  body .cpp-showcase .cpp-show-panel__inner,
  body #visite-360 .wp-block-cover__inner-container,
  body .cpp-campaign-shell {
    box-sizing: border-box; width: 100% !important; max-width: none !important;
    margin-inline: 0 !important; padding-inline: 18px !important;
  }
  /* Les sous-conteneurs restent alignés, sans un second retrait de 18 px. */
  body .cpp-sec > .alignwide .alignwide,
  body .cpp-page-starter > .alignwide .alignwide {
    width: 100% !important; max-width: none !important;
    padding-inline: 0 !important; margin-inline: 0 !important;
  }
  body #offres .cpp-offers-carousel:has(.cpp-offres-static) {
    width: 100%; max-width: 100%; margin-inline: 0;
  }
  body #offres .cpp-offres.cpp-offres-static,
  body .cpp-prefooter-offers .cpp-prefooter-offers-grid {
    display: flex !important;
    flex-wrap: nowrap !important;
    flex-direction: row !important;
    align-items: stretch;
    gap: 16px;
    width: 100% !important; max-width: none !important;
    overflow-x: auto !important; overflow-y: hidden;
    scroll-snap-type: x mandatory;
    overscroll-behavior-inline: contain;
    scrollbar-width: thin;
    scrollbar-color: #85684A transparent;
    margin-inline: 0 !important;
    padding-bottom: 12px;
  }
  body #offres .cpp-offres.cpp-offres-static {
    padding-inline: 0 !important; scroll-padding-inline: 0;
  }
  body .cpp-prefooter-offers .cpp-prefooter-offers-grid {
    scroll-padding-inline: 18px;
  }
  body #offres .cpp-offres-static > .cpp-offre,
  body .cpp-prefooter-offers-grid > .cpp-prefooter-offer-card {
    width: auto !important; min-width: 0 !important; max-width: none !important;
    flex: 0 0 88% !important;
    margin: 0 !important; scroll-snap-align: start;
  }
  /* Une carte + 16 px d'écart + un quart de la suivante dans la largeur utile. */
  body .cpp-prefooter-offers .cpp-prefooter-offers-grid > .cpp-prefooter-offer-card {
    flex-basis: calc(80% - 12.8px) !important;
  }
}
