/**
 * PAGES (hors Home) — couche mobile indépendante (même système que Home).
 *
 * Règles via html.me-is-mobile uniquement.
 * Desktop : html SANS .me-is-mobile → aucun de ces styles.
 * Variables admin : --me-m-* (global + overrides par page).
 *
 * @package Maldives_Evasion
 */

/* =========================================================
   HERO MAGAZINE (.me-pq-hero) — toutes pages magazine
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-pq-hero,
html.me-is-mobile body.me-plugin-home .me-pq-hero__inner,
html.me-is-mobile body.me-plugin-home .me-pq-hero__compose {
  max-width: 100% !important;
  overflow-x: clip !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero {
  padding-block: var(--me-m-pad-block) !important;
  padding-inline: 0 !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__compose,
html.me-is-mobile body.me-plugin-home.me-m-hero-hide .me-pq-hero__compose {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-areas:
    "content content"
    "left right" !important;
  align-items: start !important;
  justify-items: stretch !important;
  gap: clamp(0.85rem, 3vw, 1.25rem) clamp(0.35rem, 2vw, 0.65rem) !important;
  max-width: 100% !important;
  overflow: hidden !important;
  /* Marges HERO ~16–24px (réf. text_inset / hero_inset) — corrige Informations & toutes pages magazine */
  padding-inline: var(--me-m-hero-inset, var(--me-m-gutter-fluid, 1.25rem)) !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-photos-before .me-pq-hero__compose {
  grid-template-areas:
    "left right"
    "content content" !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__content,
html.me-is-mobile body.me-plugin-home.me-m-hero-hide .me-pq-hero__content {
  grid-area: content !important;
  order: unset !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__title {
  font-size: var(--me-m-fs-title) !important;
  max-width: 100% !important;
  width: 100% !important;
  text-align: center !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  line-height: 1.15 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__intro,
html.me-is-mobile body.me-plugin-home .me-pq-hero__label {
  max-width: min(38ch, 100%) !important;
  width: 100% !important;
  margin-inline: auto !important;
  text-align: center !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__intro {
  font-size: var(--me-m-fs-body) !important;
  line-height: 1.5 !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__label span {
  font-size: var(--me-m-fs-small) !important;
}

/* Stacks latéraux : esprit desktop (colonnes + décalages), contenu dans l’écran */
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__stack {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.4rem, 1.8vw, 0.7rem) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  min-width: 0 !important;
  overflow: visible !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__stack--left {
  grid-area: left !important;
  align-items: flex-end !important;
  padding-right: 0.15rem !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__stack--right {
  grid-area: right !important;
  align-items: flex-start !important;
  padding-left: 0.15rem !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-photos-after .me-pq-hero__stack--left,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-photos-after .me-pq-hero__stack--right,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-photos-before .me-pq-hero__stack--left,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-photos-before .me-pq-hero__stack--right,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-photos-before .me-pq-hero__content {
  order: unset !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card--left-1,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card--left-2,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card--left-3,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card--right-1,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card--right-2,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card--right-3 {
  width: min(100%, var(--me-m-hero-photo, 108px)) !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
}

/* Scatter soft / medium / strong — rotations & décalages (esprit desktop) */
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-soft .me-pq-hero__card--left-1 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.9)) !important; transform: rotate(-1.4deg) translate(2%, 3%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-soft .me-pq-hero__card--left-2 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.05)) !important; transform: rotate(1deg) translate(-3%, -1%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-soft .me-pq-hero__card--left-3 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.95)) !important; transform: rotate(-0.8deg) translate(2%, 2%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-soft .me-pq-hero__card--right-1 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1)) !important; transform: rotate(1.2deg) translate(-1%, 2%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-soft .me-pq-hero__card--right-2 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.88)) !important; transform: rotate(-1.1deg) translate(3%, -2%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-soft .me-pq-hero__card--right-3 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.02)) !important; transform: rotate(0.7deg) translate(-2%, 3%) !important; }

html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-medium .me-pq-hero__card--left-1,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack:not(.me-m-scatter-soft):not(.me-m-scatter-strong) .me-pq-hero__card--left-1 {
  width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.88)) !important;
  transform: rotate(-2.2deg) translate(3%, 5%) !important;
}
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-medium .me-pq-hero__card--left-2,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack:not(.me-m-scatter-soft):not(.me-m-scatter-strong) .me-pq-hero__card--left-2 {
  width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.08)) !important;
  transform: rotate(1.5deg) translate(-5%, -2%) !important;
}
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-medium .me-pq-hero__card--left-3,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack:not(.me-m-scatter-soft):not(.me-m-scatter-strong) .me-pq-hero__card--left-3 {
  width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.96)) !important;
  transform: rotate(-1.1deg) translate(4%, 3%) !important;
}
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-medium .me-pq-hero__card--right-1,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack:not(.me-m-scatter-soft):not(.me-m-scatter-strong) .me-pq-hero__card--right-1 {
  width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.02)) !important;
  transform: rotate(1.9deg) translate(-2%, 3%) !important;
}
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-medium .me-pq-hero__card--right-2,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack:not(.me-m-scatter-soft):not(.me-m-scatter-strong) .me-pq-hero__card--right-2 {
  width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.86)) !important;
  transform: rotate(-1.7deg) translate(6%, -3%) !important;
}
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-medium .me-pq-hero__card--right-3,
html.me-is-mobile body.me-plugin-home.me-m-hero-stack:not(.me-m-scatter-soft):not(.me-m-scatter-strong) .me-pq-hero__card--right-3 {
  width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.06)) !important;
  transform: rotate(1deg) translate(-3%, 4%) !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-strong .me-pq-hero__card--left-1 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.84)) !important; transform: rotate(-3deg) translate(4%, 6%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-strong .me-pq-hero__card--left-2 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.12)) !important; transform: rotate(2.2deg) translate(-7%, -3%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-strong .me-pq-hero__card--left-3 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.94)) !important; transform: rotate(-1.6deg) translate(5%, 4%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-strong .me-pq-hero__card--right-1 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.05)) !important; transform: rotate(2.6deg) translate(-3%, 4%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-strong .me-pq-hero__card--right-2 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 0.82)) !important; transform: rotate(-2.3deg) translate(8%, -4%) !important; }
html.me-is-mobile body.me-plugin-home.me-m-hero-stack.me-m-scatter-strong .me-pq-hero__card--right-3 { width: min(100%, calc(var(--me-m-hero-photo, 108px) * 1.1)) !important; transform: rotate(1.4deg) translate(-4%, 5%) !important; }

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__frame {
  padding: 0.28rem 0.28rem 0.7rem !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__frame img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  display: block !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-stack .me-pq-hero__card:hover {
  transform: rotate(0deg) translateY(-2px) !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-hide .me-pq-hero__stack {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__compose {
  display: grid !important;
  grid-template-columns: minmax(56px, 78px) minmax(0, 1fr) minmax(56px, 78px) !important;
  gap: 0.4rem !important;
  align-items: center !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card,
html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card--left-1,
html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card--left-2,
html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card--left-3,
html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card--right-1,
html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card--right-2,
html.me-is-mobile body.me-plugin-home.me-m-hero-compact .me-pq-hero__card--right-3 {
  width: min(100%, 72px) !important;
  transform: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__counters {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: clamp(0.85rem, 3vw, 1.2rem) !important;
  width: 100% !important;
  max-width: min(100%, 22rem) !important;
  margin-inline: auto !important;
  margin-top: clamp(1.2rem, 4vw, 1.75rem) !important;
  padding-top: clamp(1rem, 3.5vw, 1.4rem) !important;
  text-align: center !important;
  visibility: visible !important;
  opacity: 1 !important;
}

html.me-is-mobile body.me-plugin-home.me-m-pq-counters-row .me-pq-hero__counters {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  max-width: 100% !important;
  gap: clamp(0.35rem, 1.5vw, 0.65rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__counters li {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.35rem !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__counter-value {
  font-size: calc(var(--me-m-fs-title) * 1.35) !important;
  color: var(--pq-hero-accent, var(--color-coral)) !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__counters span {
  font-size: var(--me-m-fs-small) !important;
  max-width: 18ch !important;
  letter-spacing: 0.1em !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__stats {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: clamp(0.55rem, 2vw, 0.9rem) !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__actions {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--me-m-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__actions .me-btn {
  width: auto !important;
  max-width: var(--me-m-btn-mw, 14rem) !important;
  min-height: var(--me-m-btn-hh, 36px) !important;
  padding: var(--me-m-btn-py, 0.4rem) var(--me-m-btn-px, 0.85rem) !important;
  margin-inline: auto !important;
  justify-content: center !important;
  font-size: var(--me-m-fs-btn) !important;
  line-height: 1.15 !important;
}

/* =========================================================
   POURQUOI — splits / terrain / parcours / accompagnement
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-pq-split,
html.me-is-mobile body.me-plugin-home .me-pq-split--flip {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(1rem, 3.5vw, 1.35rem) !important;
  grid-template-columns: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-split--flip .me-pq-split__media,
html.me-is-mobile body.me-plugin-home .me-pq-split--flip .me-pq-split__copy {
  order: initial !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-split__copy,
html.me-is-mobile body.me-plugin-home .me-pq-split__media {
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-split__copy .me-section__title {
  font-size: var(--me-m-fs-title) !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-aside {
  width: 100% !important;
  max-width: 100% !important;
  margin-top: var(--me-m-gap) !important;
}

/* Terrain + Parcours : carrousels mobiles (défaut) — empilement si me-m-*-stack */
html.me-is-mobile body.me-plugin-home .me-pq-terrain__card-title,
html.me-is-mobile body.me-plugin-home .me-pq-parcours__title {
  font-size: var(--me-m-fs-title) !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-terrain__slider,
html.me-is-mobile body.me-plugin-home .me-pq-parcours__slider {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
  position: relative !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-terrain-stack) .me-pq-terrain__slider > .me-slider__controls,
html.me-is-mobile body.me-plugin-home:not(.me-m-parcours-stack) .me-pq-parcours__slider > .me-slider__controls {
  display: flex !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  margin: 0 0 clamp(0.65rem, 2.5vw, 0.95rem) !important;
  position: relative !important;
  z-index: 2 !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hide-terrain-nav .me-pq-terrain__slider > .me-slider__controls,
html.me-is-mobile body.me-plugin-home.me-m-hide-parcours-nav .me-pq-parcours__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-terrain__slider > .me-slider__controls button,
html.me-is-mobile body.me-plugin-home .me-pq-parcours__slider > .me-slider__controls button {
  width: var(--me-m-nav-btn-fluid, 32px) !important;
  height: var(--me-m-nav-btn-fluid, 32px) !important;
  font-size: 0.85rem !important;
}

html.me-is-mobile body.me-plugin-home {
  /*
   * vw (pas %) : indépendant du padding-inline-end.
   * max(..., 85vw) : un plafond admin trop bas (ex. 240px) ne doit pas
   * laisser des cartes « timbre » + grand vide sur smartphone.
   */
  --me-m-terrain-col: min(
    calc(var(--me-m-terrain-pct, 86) * 1vw),
    max(var(--me-m-terrain-max, 300px), 85vw)
  );
  --me-m-parcours-col: min(
    calc(var(--me-m-parcours-pct, 86) * 1vw),
    max(var(--me-m-parcours-max, 280px), 85vw)
  );
}

html.me-is-mobile body.me-plugin-home:not(.me-m-terrain-stack) .me-pq-terrain__cols {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-m-terrain-col) !important;
  grid-template-columns: none !important;
  gap: clamp(0.5rem, 2.5vw, 0.85rem) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
  padding: 0.3rem clamp(0.55rem, 5vw, 1.1rem) 0.45rem !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  justify-content: start !important;
  cursor: grab !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-parcours-stack) .me-pq-parcours__grid {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-m-parcours-col) !important;
  grid-template-columns: none !important;
  gap: clamp(0.5rem, 2.5vw, 0.85rem) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
  padding: 0.3rem clamp(0.55rem, 5vw, 1.1rem) 0.45rem !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  justify-content: start !important;
  cursor: grab !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-terrain-stack) .me-pq-terrain__slider .me-slider__slide,
html.me-is-mobile body.me-plugin-home:not(.me-m-parcours-stack) .me-pq-parcours__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  scroll-snap-align: unset !important;
  flex: none !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-terrain-stack) .me-pq-terrain__card,
html.me-is-mobile body.me-plugin-home:not(.me-m-parcours-stack) .me-pq-parcours__card {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  min-height: 100% !important;
  padding: clamp(1.1rem, 4vw, 1.5rem) clamp(0.9rem, 3.5vw, 1.25rem) !important;
  transform: none !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-parcours-stack) .me-pq-parcours__card.is-nudge,
html.me-is-mobile body.me-plugin-home:not(.me-m-parcours-stack) .me-pq-parcours__card.is-nudge:hover {
  transform: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-terrain__slider.is-autoplay .me-slider__track,
html.me-is-mobile body.me-plugin-home .me-pq-parcours__slider.is-autoplay .me-slider__track {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-terrain__slider .me-slider__slide.is-clone,
html.me-is-mobile body.me-plugin-home .me-pq-parcours__slider .me-slider__slide.is-clone {
  display: block !important;
}

/* Fallback empilé si carrousel désactivé dans l’admin */
html.me-is-mobile body.me-plugin-home.me-m-terrain-stack .me-pq-terrain__slider > .me-slider__controls,
html.me-is-mobile body.me-plugin-home.me-m-parcours-stack .me-pq-parcours__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home.me-m-terrain-stack .me-pq-terrain__cols,
html.me-is-mobile body.me-plugin-home.me-m-parcours-stack .me-pq-parcours__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.85rem, 3vw, 1.15rem) !important;
  grid-template-columns: none !important;
  overflow: visible !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home.me-m-terrain-stack .me-pq-terrain__slider .me-slider__slide,
html.me-is-mobile body.me-plugin-home.me-m-parcours-stack .me-pq-parcours__slider .me-slider__slide {
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home.me-m-grid-2.me-m-terrain-stack .me-pq-terrain__cols,
html.me-is-mobile body.me-plugin-home.me-m-grid-2.me-m-parcours-stack .me-pq-parcours__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  grid-auto-flow: row !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-accompagnement__accent {
  display: none !important;
}

/* =========================================================
   RESORTS — Sélection (mobile only)
   Annule le carrousel horizontal du media query ≤560px (main.css).
   Desktop inchangé (pas de règle hors html.me-is-mobile).
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-rs-selection {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-selection > .me-container {
  width: var(--me-m-content-w, calc(100% - (var(--me-m-gutter-fluid, 1.1rem) * 2))) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
  min-width: 0 !important;
  overflow-x: clip !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-selection__head {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  margin-bottom: clamp(1.1rem, 4vw, 1.65rem) !important;
  padding-inline: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-selection__head .me-eyebrow {
  text-align: center !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-selection__head .me-section__title {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto clamp(0.65rem, 2.5vw, 0.95rem) !important;
  padding-inline: 0 !important;
  text-align: center !important;
  font-size: var(--me-m-fs-title) !important;
  line-height: 1.15 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  hyphens: auto;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-selection__intro {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding-inline: 0 !important;
  text-align: center !important;
  font-size: var(--me-m-fs-body) !important;
  line-height: 1.65 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-selection__list {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: var(--me-m-rs-selection-gap, clamp(1.25rem, 5vw, 2rem)) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  margin-inline: 0 !important;
  padding: 0 !important;
  padding-inline: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
  overflow-x: visible !important;
  scroll-snap-type: none !important;
  grid-template-columns: none !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card,
html.me-is-mobile body.me-plugin-home .me-rs-card.is-flip {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: clamp(0.85rem, 3vw, 1.2rem) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  margin-inline: 0 !important;
  padding-inline: 0 !important;
  grid-template-columns: none !important;
  scroll-snap-align: none !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card.is-flip .me-rs-card__media,
html.me-is-mobile body.me-plugin-home .me-rs-card.is-flip .me-rs-card__copy {
  order: initial !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card__media,
html.me-is-mobile body.me-plugin-home .me-rs-card__copy,
html.me-is-mobile body.me-plugin-home .me-rs-card__frame {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card__title {
  font-size: var(--me-m-fs-title) !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card__desc,
html.me-is-mobile body.me-plugin-home .me-rs-criteria__intro {
  font-size: var(--me-m-fs-body) !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card__meta,
html.me-is-mobile body.me-plugin-home .me-rs-card__facts,
html.me-is-mobile body.me-plugin-home .me-rs-card__btn {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card__frame {
  padding: clamp(0.4rem, 1.8vw, 0.65rem) clamp(0.4rem, 1.8vw, 0.65rem) clamp(0.85rem, 3vw, 1.2rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-card__frame img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  margin-inline: auto !important;
  display: block !important;
  object-fit: cover !important;
}

html.me-is-mobile body.me-plugin-home.me-m-rs-img-capped .me-rs-card__frame img {
  max-width: var(--me-m-img-fluid, min(100%, 300px)) !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-criteria__slider {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

html.me-is-mobile body.me-plugin-home {
  --me-m-criteria-col: min(
    calc(var(--me-m-criteria-pct, 88) * 1vw),
    max(var(--me-m-criteria-max, 340px), 85vw)
  );
}

html.me-is-mobile body.me-plugin-home:not(.me-m-criteria-stack) .me-rs-criteria__slider > .me-slider__controls {
  display: flex !important;
  order: 2 !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  margin: 0.15rem 0 0 !important;
  position: static !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hide-criteria-nav .me-rs-criteria__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-criteria__slider > .me-slider__controls button {
  width: var(--me-m-nav-btn-fluid, 32px) !important;
  height: var(--me-m-nav-btn-fluid, 32px) !important;
  font-size: 0.85rem !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-criteria-stack) .me-rs-criteria__grid {
  display: grid !important;
  order: 1 !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-m-criteria-col) !important;
  grid-template-columns: none !important;
  gap: clamp(0.55rem, 2.5vw, 0.85rem) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
  padding: 0.25rem clamp(0.55rem, 5vw, 1.1rem) 0.35rem !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  justify-content: start !important;
  cursor: grab !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-criteria-stack) .me-rs-criteria__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  scroll-snap-align: none !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-criteria-stack) .me-rs-criterion {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  box-sizing: border-box !important;
  margin: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-criteria__slider.is-autoplay .me-slider__track {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-criteria__slider .me-slider__slide.is-clone {
  pointer-events: none;
}

html.me-is-mobile body.me-plugin-home.me-m-criteria-stack .me-rs-criteria__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home.me-m-criteria-stack .me-rs-criteria__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.75rem, 2.8vw, 1.05rem) !important;
  grid-template-columns: none !important;
  overflow: visible !important;
  padding: 0 !important;
  cursor: default !important;
}

html.me-is-mobile body.me-plugin-home.me-m-criteria-stack .me-rs-criteria__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home.me-m-grid-2.me-m-criteria-stack .me-rs-criteria__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-criterion {
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-help__layout,
html.me-is-mobile body.me-plugin-home .me-rs-help__layout.is-flip {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(1rem, 3.5vw, 1.35rem) !important;
  grid-template-columns: none !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-help__layout.is-flip .me-rs-help__media,
html.me-is-mobile body.me-plugin-home .me-rs-help__layout.is-flip .me-rs-help__copy {
  order: initial !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-help__media {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--me-m-gap) !important;
  max-width: var(--me-m-img-fluid) !important;
  margin-inline: auto !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-help__shot--side,
html.me-is-mobile body.me-plugin-home.me-m-hide-side-photos .me-rs-help__shot--side {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-resorts-grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.85rem, 3vw, 1.2rem) !important;
  grid-template-columns: none !important;
}

/* =========================================================
   SNORKELING
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-sn-discover__layout,
html.me-is-mobile body.me-plugin-home .me-sn-discover__layout.is-flip,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__layout,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__layout.is-flip {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(1rem, 3.5vw, 1.35rem) !important;
  grid-template-columns: none !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-discover__layout.is-flip .me-sn-discover__media,
html.me-is-mobile body.me-plugin-home .me-sn-discover__layout.is-flip .me-sn-discover__copy,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__layout.is-flip .me-sn-expertise__media,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__layout.is-flip .me-sn-expertise__copy {
  order: initial !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-discover__media,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__media {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--me-m-gap) !important;
  max-width: var(--me-m-img-fluid) !important;
  margin-inline: auto !important;
  width: 100% !important;
}

/*
 * Snorkeling — cartes postales uniques (blocs 1 & 3) = référence Guillaume
 * (Informations #assurance-sante) : img_max × shot-scale, cadre .65/1.7rem, img 3/4.
 * Ne modifie pas la carte de référence ; mobile uniquement.
 */
html.me-is-mobile body.me-plugin-snorkeling {
  --me-m-sn-guillaume-frame: min(
    calc(var(--me-m-img-max, 300px) * var(--me-m-shot-scale, 0.7)),
    calc(88vw * var(--me-m-shot-scale, 0.7))
  );
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-discover__media,
html.me-is-mobile body.me-plugin-snorkeling .me-sn-expertise__media {
  max-width: min(var(--me-m-sn-guillaume-frame), 100%) !important;
  width: 100% !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-discover__shot--main,
html.me-is-mobile body.me-plugin-snorkeling .me-sn-expertise__shot--main {
  width: auto !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: center !important;
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-discover__shot--main .me-sn-discover__frame,
html.me-is-mobile body.me-plugin-snorkeling .me-sn-expertise__shot--main .me-sn-expertise__frame {
  width: var(--me-m-sn-guillaume-frame) !important;
  max-width: calc(100% - (var(--me-m-shot-margin, 0.75rem) * 2)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
  padding: 0.65rem 0.65rem 1.7rem !important;
  border: 1px solid rgba(17, 17, 17, 0.06) !important;
  border-radius: 3px !important;
  background: #fffcfa !important;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.85) inset,
    0 18px 36px rgba(17, 17, 17, 0.09),
    0 5px 12px rgba(17, 17, 17, 0.045) !important;
  transform-origin: center center !important;
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-discover__shot--main .me-sn-discover__frame img,
html.me-is-mobile body.me-plugin-snorkeling .me-sn-expertise__shot--main .me-sn-expertise__frame img {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  border-radius: 1px !important;
  box-shadow: none !important;
  background: rgba(17, 17, 17, 0.04) !important;
}

/* Conserver l’inclinaison expertise (ne pas écraser avec none) */
html.me-is-mobile body.me-plugin-snorkeling .me-sn-expertise__shot--main .me-sn-expertise__frame {
  transform: rotate(-1.2deg) !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-discover__shot--side,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__shot--side,
html.me-is-mobile body.me-plugin-home.me-m-hide-side-photos .me-sn-discover__shot--side,
html.me-is-mobile body.me-plugin-home.me-m-hide-side-photos .me-sn-expertise__shot--side {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-marine__slider {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

html.me-is-mobile body.me-plugin-home {
  --me-m-marine-col: min(
    calc(var(--me-m-marine-pct, 88) * 1vw),
    max(var(--me-m-marine-max, 320px), 85vw)
  );
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-marine__slider > .me-slider__controls {
  display: flex !important;
  order: 2 !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  margin: 0.15rem 0 0 !important;
  position: static !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hide-marine-nav .me-sn-marine__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-marine__slider > .me-slider__controls button {
  width: var(--me-m-nav-btn-fluid, 32px) !important;
  height: var(--me-m-nav-btn-fluid, 32px) !important;
  font-size: 0.85rem !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-marine__grid {
  display: grid !important;
  order: 1 !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-m-marine-col) !important;
  grid-template-columns: none !important;
  gap: clamp(0.55rem, 2.5vw, 0.85rem) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
  padding: 0.25rem clamp(0.55rem, 5vw, 1.1rem) 0.35rem !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  justify-content: start !important;
  cursor: grab !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-marine__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  scroll-snap-align: none !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life,
html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life--2,
html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life--3 {
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;
  text-align: center !important;
  gap: clamp(0.55rem, 2.2vw, 0.85rem) !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life__media,
html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life__frame,
html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life__body {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life__body {
  text-align: center !important;
  padding: 0 !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-marine-stack) .me-sn-life__frame img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-marine__slider.is-autoplay .me-slider__track {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-marine__slider .me-slider__slide.is-clone {
  pointer-events: none;
}

html.me-is-mobile body.me-plugin-home.me-m-marine-stack .me-sn-marine__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home.me-m-marine-stack .me-sn-marine__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.85rem, 3vw, 1.15rem) !important;
  grid-template-columns: none !important;
  overflow: visible !important;
  padding: 0 !important;
  cursor: default !important;
}

html.me-is-mobile body.me-plugin-home.me-m-marine-stack .me-sn-marine__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home.me-m-grid-2.me-m-marine-stack .me-sn-marine__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-life,
html.me-is-mobile body.me-plugin-home .me-sn-life--2,
html.me-is-mobile body.me-plugin-home .me-sn-life--3 {
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

/* Vie marine (Snorkeling) — inclinaison très légère sur mobile, carte entière */
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine .me-slider__slide:nth-child(6n + 1) .me-sn-life { transform: rotate(-1deg) !important; }
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine .me-slider__slide:nth-child(6n + 2) .me-sn-life { transform: rotate(0.9deg) !important; }
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine .me-slider__slide:nth-child(6n + 3) .me-sn-life { transform: rotate(-0.8deg) !important; }
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine .me-slider__slide:nth-child(6n + 4) .me-sn-life { transform: rotate(1deg) !important; }
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine .me-slider__slide:nth-child(6n + 5) .me-sn-life { transform: rotate(-0.9deg) !important; }
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine .me-slider__slide:nth-child(6n + 6) .me-sn-life { transform: rotate(0.85deg) !important; }

html.me-is-mobile body.me-plugin-home .me-sn-life__title {
  font-size: var(--me-m-fs-sub) !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-life__text,
html.me-is-mobile body.me-plugin-home .me-sn-marine__intro {
  font-size: var(--me-m-fs-body) !important;
}

html.me-is-mobile body.me-plugin-home .me-sn-discover__aside {
  width: 100% !important;
  max-width: 100% !important;
}

/* =========================================================
   PLONGÉE
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-pl-universe__layout,
html.me-is-mobile body.me-plugin-home .me-pl-universe__layout.is-flip {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(1rem, 3.5vw, 1.35rem) !important;
  grid-template-columns: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-universe__layout.is-flip .me-pl-universe__media,
html.me-is-mobile body.me-plugin-home .me-pl-universe__layout.is-flip .me-pl-universe__copy {
  order: initial !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-universe__media {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--me-m-gap) !important;
  max-width: var(--me-m-img-fluid) !important;
  margin-inline: auto !important;
  width: 100% !important;
  grid-template-columns: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-universe__shot--side,
html.me-is-mobile body.me-plugin-home.me-m-hide-side-photos .me-pl-universe__shot--side {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-universe__stats {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: clamp(0.55rem, 2vw, 0.9rem) !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-exp__slider {
  position: relative !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

html.me-is-mobile body.me-plugin-home {
  /*
   * vw : évite l’écrasement des colonnes quand syncEndPadding ajoute
   * un padding-inline-end (sinon 88% de la boîte déjà réduite → spirale).
   * Plongée + Guides partagent cette largeur.
   * Floor 85vw : empêche un max admin 240px de laisser un grand vide
   * (carte principale dominante + léger peek).
   */
  --me-m-exp-col: min(
    calc(var(--me-m-exp-pct, 88) * 1vw),
    max(var(--me-m-exp-max, 320px), 85vw)
  );
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-exp__slider > .me-slider__controls {
  display: flex !important;
  order: 2 !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  margin: 0.15rem 0 0 !important;
  position: static !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hide-exp-nav .me-pl-exp__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-exp__slider > .me-slider__controls button {
  width: var(--me-m-nav-btn-fluid, 32px) !important;
  height: var(--me-m-nav-btn-fluid, 32px) !important;
  font-size: 0.85rem !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-exp__grid {
  display: grid !important;
  order: 1 !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-m-exp-col) !important;
  grid-template-columns: none !important;
  gap: var(--me-m-exp-gap, clamp(0.55rem, 2.5vw, 0.85rem)) !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  -webkit-overflow-scrolling: touch;
  padding: 0.25rem clamp(0.55rem, 5vw, 1.1rem) 0.35rem !important;
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  justify-content: start !important;
  cursor: grab !important;
  box-sizing: border-box !important;
  align-items: stretch !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-exp__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  scroll-snap-align: none !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card--1,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card--2,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card--3,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card--4,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card--5,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card--6 {
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: 100% !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  align-items: center !important;
  text-align: center !important;
  gap: clamp(0.55rem, 2.2vw, 0.85rem) !important;
}

/* Rotations douces sur le cadre photo uniquement (évite débordement carousel) */
html.me-is-mobile body.me-plugin-home .me-pl-card--1 .me-pl-card__media { transform: rotate(-1.2deg) translateY(2px) !important; }
html.me-is-mobile body.me-plugin-home .me-pl-card--2 .me-pl-card__media { transform: rotate(1.1deg) translateY(3px) !important; }
html.me-is-mobile body.me-plugin-home .me-pl-card--3 .me-pl-card__media { transform: rotate(-0.9deg) translateY(2px) !important; }
html.me-is-mobile body.me-plugin-home .me-pl-card--4 .me-pl-card__media { transform: rotate(1.15deg) translateY(2px) !important; }
html.me-is-mobile body.me-plugin-home .me-pl-card--5 .me-pl-card__media { transform: rotate(-1.05deg) translateY(3px) !important; }
html.me-is-mobile body.me-plugin-home .me-pl-card--6 .me-pl-card__media { transform: rotate(0.85deg) translateY(2px) !important; }

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__media,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__frame,
html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__body {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__body {
  text-align: center !important;
  padding: 0 !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__meta {
  justify-content: center !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__frame img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  display: block !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home:not(.me-m-exp-stack) .me-pl-card__btn {
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-exp__slider.is-autoplay .me-slider__track {
  scroll-snap-type: none !important;
  scroll-behavior: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-exp__slider .me-slider__slide.is-clone {
  pointer-events: none;
}

html.me-is-mobile body.me-plugin-home.me-m-exp-stack .me-pl-exp__slider > .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home.me-m-exp-stack .me-pl-exp__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(0.85rem, 3vw, 1.15rem) !important;
  grid-template-columns: none !important;
  overflow: visible !important;
  padding: 0 !important;
  cursor: default !important;
}

html.me-is-mobile body.me-plugin-home.me-m-exp-stack .me-pl-exp__slider .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home.me-m-grid-2.me-m-exp-stack .me-pl-exp__grid {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-card,
html.me-is-mobile body.me-plugin-home .me-pl-card--1,
html.me-is-mobile body.me-plugin-home .me-pl-card--2,
html.me-is-mobile body.me-plugin-home .me-pl-card--3,
html.me-is-mobile body.me-plugin-home .me-pl-card--4,
html.me-is-mobile body.me-plugin-home .me-pl-card--5,
html.me-is-mobile body.me-plugin-home .me-pl-card--6 {
  transform: none !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-card__title {
  font-size: var(--me-m-fs-sub) !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-card__text,
html.me-is-mobile body.me-plugin-home .me-pl-exp__intro {
  font-size: var(--me-m-fs-body) !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-cta {
  min-height: 0 !important;
  padding-block: var(--pl-cta-pad-m, var(--me-m-pad-block)) !important;
}

/* Accueil mobile — jonction avis → CTA un peu plus serrée (padding-top seul) */
html.me-is-mobile body.me-plugin-home .me-reviews.me-section {
  padding-bottom: clamp(0.75rem, 2.4vw, 1.05rem) !important;
}

html.me-is-mobile body.me-plugin-home #cta-home.me-pl-cta {
  padding-top: clamp(0.75rem, 2.2vw, 1rem) !important;
  padding-bottom: var(--pl-cta-pad-m, var(--me-m-pad-block)) !important;
}

/* Plongée mobile — jonction expériences → « PRÉPARER LE SÉJOUR » */
html.me-is-mobile body.me-plugin-plongee .me-pl-exp.me-section {
  padding-bottom: clamp(0.45rem, 1.5vw, 0.75rem) !important;
}

html.me-is-mobile body.me-plugin-plongee #cta-plongee.me-pl-cta {
  padding-top: clamp(0.4rem, 1.4vw, 0.7rem) !important;
  padding-bottom: var(--pl-cta-pad-m, var(--me-m-pad-block)) !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-cta__inner {
  width: 100% !important;
  max-width: var(--me-m-content-w) !important;
  margin-inline: auto !important;
  text-align: center !important;
  padding: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-cta__title {
  font-size: var(--pl-cta-title-m, var(--me-m-fs-title)) !important;
  margin-bottom: 0.55rem !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-cta__text {
  font-size: var(--pl-cta-body-m, var(--me-m-fs-body)) !important;
  margin-bottom: 0.85rem !important;
}

html.me-is-mobile body.me-plugin-home .me-pl-cta__btn {
  width: 100% !important;
  max-width: 100% !important;
  font-size: var(--me-m-fs-btn) !important;
}

/* =========================================================
   GUIDES + ARTICLE
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-guides-block {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-atolls__head,
html.me-is-mobile body.me-plugin-home .me-guides-resorts__head {
  text-align: center !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-atolls__intro,
html.me-is-mobile body.me-plugin-home .me-guides-resorts__intro {
  font-size: var(--me-m-fs-body) !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-slider {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-atolls__slider,
html.me-is-mobile body.me-plugin-home .me-guides-resorts__slider {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.75rem !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-slider:not(.me-guides-atolls__slider):not(.me-guides-resorts__slider) .me-slider__track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: min(88vw, 280px) !important;
  gap: clamp(0.65rem, 2.5vw, 0.95rem) !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  padding-inline: 0.15rem !important;
  -webkit-overflow-scrolling: touch;
}

html.me-is-mobile body.me-plugin-home .me-guides-atolls__track,
html.me-is-mobile body.me-plugin-home .me-guides-resorts__track {
  /* Identique à --me-m-exp-col (carrousel Plongée mobile). */
  --me-ga-col: var(--me-m-exp-col);
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-ga-col) !important;
  gap: var(--me-m-exp-gap, clamp(0.55rem, 2.5vw, 0.85rem)) !important;
  justify-content: start !important;
  overflow-x: auto !important;
  scroll-snap-type: x mandatory !important;
  /* Padding en vw (pas %) : évite toute interaction avec le content-box. */
  padding: 0.25rem clamp(0.55rem, 5vw, 1.1rem) 0.35rem !important;
  -webkit-overflow-scrolling: touch;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-slider .me-slider__slide {
  /* start (pas center) : le snap center empêchait d’ancrer la dernière carte */
  scroll-snap-align: start !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-card {
  width: 100% !important;
  max-width: 100% !important;
  gap: clamp(0.55rem, 2.2vw, 0.85rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-card__frame {
  width: 100% !important;
  box-sizing: border-box !important;
  padding: 0.4rem 0.4rem 0.85rem !important;
}

/*
 * Guides atolls / resorts — format image = carrousel Plongée (.me-pl-card).
 * Ratio 4/5, object-fit cover, padding cadre identique (mobile only).
 */
html.me-is-mobile body.me-plugin-home .me-guides-atolls__slider .me-guide-card__frame,
html.me-is-mobile body.me-plugin-home .me-guides-resorts__slider .me-guide-card__frame {
  padding: 0.55rem 0.55rem 1.25rem !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-atolls__slider .me-guide-card__frame img,
html.me-is-mobile body.me-plugin-home .me-guides-resorts__slider .me-guide-card__frame img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  object-position: center !important;
  display: block !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-card__frame img {
  width: 100% !important;
  height: auto !important;
  object-fit: cover !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-card__title {
  font-size: calc(var(--me-m-fs-sub) * var(--me-ga-title-scale, 0.78)) !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
  hyphens: none !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-card__text {
  font-size: var(--me-m-fs-body) !important;
  overflow-wrap: break-word !important;
  word-break: normal !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-card .me-btn,
html.me-is-mobile body.me-plugin-home .me-guide-card__btn {
  max-width: 100% !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  text-align: center !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-slider .me-slider__controls {
  display: flex !important;
  justify-content: center !important;
  gap: 0.55rem !important;
  margin-top: clamp(0.7rem, 2.5vw, 1rem) !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hide-page-slider-nav .me-guides-slider .me-slider__controls {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-guides-slider .me-slider__controls button {
  width: var(--me-m-nav-btn-fluid) !important;
  height: var(--me-m-nav-btn-fluid) !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__header {
  padding-top: calc(var(--header-h, 64px) + 1rem) !important;
  padding-inline: var(--me-m-gutter-fluid) !important;
  text-align: center !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__title {
  font-size: var(--me-m-fs-title) !important;
  word-break: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__meta {
  font-size: var(--me-m-fs-small) !important;
  justify-content: center !important;
  flex-wrap: wrap !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__hero {
  width: var(--me-guide-hero-size-m, 260px) !important;
  max-width: min(calc(100% - 2rem), var(--me-guide-hero-size-m, 260px)) !important;
  aspect-ratio: 1 / 1 !important;
  height: auto !important;
  max-height: none !important;
  margin-inline: auto !important;
  overflow: hidden !important;
  border-radius: var(--radius-sm) !important;
  background: #E8DFD0 !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__hero img {
  width: 100% !important;
  max-width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  display: block !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__content {
  width: 100% !important;
  max-width: var(--me-m-content-w) !important;
  margin-inline: auto !important;
  padding-inline: var(--me-m-gutter-fluid) !important;
  font-size: var(--me-m-fs-body) !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__content h2,
html.me-is-mobile body.me-plugin-home .me-guide-article__content h3 {
  font-size: var(--me-m-fs-sub) !important;
}

/* Photos du guide en pleine largeur — jamais les emojis WP (<img class="emoji">). */
html.me-is-mobile body.me-plugin-home .me-guide-article__content img:not(.emoji):not(.wp-smiley) {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__content img.emoji,
html.me-is-mobile body.me-plugin-home .me-guide-article__content img.wp-smiley {
  display: inline !important;
  width: 1.15em !important;
  height: 1.15em !important;
  max-width: 1.15em !important;
  max-height: 1.15em !important;
  margin: 0 0.12em !important;
  padding: 0 !important;
  border-radius: 0 !important;
  vertical-align: -0.15em !important;
  object-fit: contain !important;
}

html.me-is-mobile body.me-plugin-home .me-guide-article__footer {
  padding-inline: var(--me-m-gutter-fluid) !important;
  text-align: center !important;
}

/* =========================================================
   COMMUN — boutons / titres pages
   ========================================================= */

html.me-is-mobile body.me-plugin-home .me-pq-split__copy .me-btn,
html.me-is-mobile body.me-plugin-home .me-rs-card__btn,
html.me-is-mobile body.me-plugin-home .me-rs-criteria__cta .me-btn,
html.me-is-mobile body.me-plugin-home .me-sn-discover__copy .me-btn,
html.me-is-mobile body.me-plugin-home .me-sn-expertise__copy .me-btn,
html.me-is-mobile body.me-plugin-home .me-pl-universe__copy .me-btn {
  width: auto !important;
  max-width: var(--me-m-btn-mw, 14rem) !important;
  min-height: var(--me-m-btn-hh, 36px) !important;
  padding: var(--me-m-btn-py, 0.4rem) var(--me-m-btn-px, 0.85rem) !important;
  margin-inline: auto !important;
  justify-content: center !important;
  font-size: var(--me-m-fs-btn) !important;
  line-height: 1.15 !important;
}

/* Turquoise buttons — same fill/text on mobile as desktop (all plugin pages). */
html.me-is-mobile body.me-plugin-home .me-btn.me-btn--turquoise,
html.me-is-mobile body.me-plugin-home a.me-btn.me-btn--turquoise,
html.me-is-mobile body.me-plugin-home button.me-btn.me-btn--turquoise,
html.me-is-mobile body.me-plugin-home .me-pq-hero__actions .me-btn--turquoise,
html.me-is-mobile body.me-plugin-home .me-pq-terrain__btn.me-btn--turquoise,
html.me-is-mobile body.me-plugin-home .me-pq-split__copy .me-btn--turquoise {
  background: var(--me-btn-accent-bg, var(--me-home-accent, #1AD4CC)) !important;
  color: var(--me-btn-accent-text, #FFFFFF) !important;
  border-color: var(--me-btn-accent-border, var(--me-btn-accent-bg, #1AD4CC)) !important;
  box-shadow: 0 8px 20px color-mix(in srgb, var(--me-btn-accent-bg, #1AD4CC) 28%, transparent) !important;
}

html.me-is-mobile body.me-plugin-home .me-btn.me-btn--turquoise:hover,
html.me-is-mobile body.me-plugin-home a.me-btn.me-btn--turquoise:hover {
  background: var(--me-btn-accent-hover, #14C0B8) !important;
  border-color: var(--me-btn-accent-hover, #14C0B8) !important;
  color: var(--me-btn-accent-text, #FFFFFF) !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-hero__decor,
html.me-is-mobile body.me-plugin-home .me-pq-hero__arc,
html.me-is-mobile body.me-plugin-home .me-pq-hero__dots {
  display: none !important;
}

/* =========================================================
   AVIS — intro mobile
   ========================================================= */
html.me-is-mobile body.me-plugin-home .me-avis-intro__layout,
html.me-is-mobile body.me-plugin-home .me-avis-intro__layout.is-flip {
  display: flex !important;
  flex-direction: column !important;
  gap: clamp(1.1rem, 3.5vw, 1.5rem) !important;
  grid-template-columns: none !important;
}

html.me-is-mobile body.me-plugin-home .me-avis-intro__social {
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-avis .me-reviews__header {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: clamp(0.65rem, 2.5vw, 1rem) !important;
}

html.me-is-mobile body.me-plugin-avis .me-reviews__intro,
html.me-is-mobile body.me-plugin-avis .me-reviews__lead {
  grid-area: unset !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-avis-social__btn {
  min-height: calc(3.05rem * var(--me-avis-social-scale, 0.83)) !important;
  font-size: calc(var(--me-m-fs-body, 0.95rem) * var(--me-avis-social-scale, 0.83)) !important;
}

html.me-is-mobile body.me-plugin-home .me-avis-social__icon {
  width: calc(2.15rem * var(--me-avis-social-scale, 0.83)) !important;
  height: calc(2.15rem * var(--me-avis-social-scale, 0.83)) !important;
}

html.me-is-mobile body.me-plugin-home .me-avis-gallery__stage {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  width: 100% !important;
  gap: 0.95rem 0.7rem !important;
}

html.me-is-mobile body.me-plugin-home .me-avis-gallery .me-postcard {
  width: min(100%, 160px) !important;
}

/*
 * Avis — galerie cartes postales : téléphone uniquement.
 * Masque les 2 premières → 6 photos en grille 3×2. Tablette inchangée.
 */
@media (max-width: 640px) {
  html.me-is-mobile body.me-plugin-home .me-avis-gallery__stage > .me-postcard:nth-child(-n + 2) {
    display: none !important;
  }

  html.me-is-mobile body.me-plugin-home .me-avis-gallery {
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: clip !important;
  }

  html.me-is-mobile body.me-plugin-home .me-avis-gallery__stage {
    --me-m-avis-postcard-3col: min(29vw, 6.1rem);
    grid-template-columns: repeat(3, minmax(0, var(--me-m-avis-postcard-3col))) !important;
    width: min(100%, calc(3 * var(--me-m-avis-postcard-3col) + 2 * 0.45rem)) !important;
    max-width: 100% !important;
    margin-inline: auto !important;
    justify-content: center !important;
    justify-items: center !important;
    gap: clamp(0.4rem, 2vw, 0.6rem) clamp(0.3rem, 1.5vw, 0.45rem) !important;
    padding-inline: 0.1rem !important;
  }

  html.me-is-mobile body.me-plugin-home .me-avis-gallery .me-postcard {
    width: var(--me-m-avis-postcard-3col) !important;
    max-width: 100% !important;
  }

  html.me-is-mobile body.me-plugin-home .me-avis-gallery .me-postcard__frame {
    padding: 0.28rem 0.28rem 0.7rem !important;
  }
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-avis-gallery__stage > .me-postcard:nth-child(-n + 2) {
  display: none !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-avis-gallery__stage {
  --me-m-avis-postcard-3col: min(29vw, 6.1rem);
  grid-template-columns: repeat(3, minmax(0, var(--me-m-avis-postcard-3col))) !important;
  width: min(100%, calc(3 * var(--me-m-avis-postcard-3col) + 2 * 0.45rem)) !important;
  margin-inline: auto !important;
  justify-content: center !important;
  justify-items: center !important;
  gap: clamp(0.4rem, 2vw, 0.6rem) clamp(0.3rem, 1.5vw, 0.45rem) !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-avis-gallery .me-postcard {
  width: var(--me-m-avis-postcard-3col) !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-avis-gallery .me-postcard__frame {
  padding: 0.28rem 0.28rem 0.7rem !important;
}

/* =========================================================
   Cartes postales individuelles −30 % (override pages-mobile)
   + boutons corail centrés site-wide — mobile only
   ========================================================= */
html.me-is-mobile body.me-plugin-home .me-pq-split__media.me-shot,
html.me-is-mobile body.me-plugin-home .me-editorial__media.me-shot {
  width: 100% !important;
  max-width: 100% !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: center !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-pq-split__media.me-shot .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-editorial__media.me-shot .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-shot__frame {
  width: min(
    calc(var(--me-m-img-max, 300px) * var(--me-m-shot-scale, 0.7)),
    calc(88vw * var(--me-m-shot-scale, 0.7))
  ) !important;
  max-width: calc(100% - (var(--me-m-shot-margin, 0.75rem) * 2)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

/* Captioned Resorts / Plongée / Assurance main — same mobile size + Accueil about tilt */
html.me-is-mobile body.me-plugin-home .me-rs-help__shot--main:has(> .me-place),
html.me-is-mobile body.me-plugin-home .me-pl-universe__shot--main:has(> .me-place),
html.me-is-mobile body.me-plugin-home #assurance-sante .me-sn-discover__shot--main {
  width: auto !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: center !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-help__shot--main:has(> .me-place) .me-rs-help__frame,
html.me-is-mobile body.me-plugin-home .me-pl-universe__shot--main:has(> .me-place) .me-pl-universe__frame,
html.me-is-mobile body.me-plugin-home #assurance-sante .me-sn-discover__shot--main .me-sn-discover__frame {
  width: min(
    calc(var(--me-m-img-max, 300px) * var(--me-m-shot-scale, 0.7)),
    calc(88vw * var(--me-m-shot-scale, 0.7))
  ) !important;
  max-width: calc(100% - (var(--me-m-shot-margin, 0.75rem) * 2)) !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
  transform: rotate(var(--me-m-shot-rotate, 2.4deg)) translateY(-2px) !important;
  transform-origin: center center !important;
  padding: .65rem .65rem 1.7rem !important;
}

html.me-is-mobile body.me-plugin-home .me-rs-help__shot--main:has(> .me-place) .me-rs-help__frame img,
html.me-is-mobile body.me-plugin-home .me-pl-universe__shot--main:has(> .me-place) .me-pl-universe__frame img,
html.me-is-mobile body.me-plugin-home #assurance-sante .me-sn-discover__shot--main .me-sn-discover__frame img {
  aspect-ratio: 3 / 4 !important;
}

/* Boutons corail — centrage horizontal systématique (hors header) */
html.me-is-mobile body.me-plugin-home .me-btn.me-btn--coral:not(.me-btn--nav),
html.me-is-mobile body.me-plugin-home a.me-btn.me-btn--coral:not(.me-header a),
html.me-is-mobile body.me-plugin-home button.me-btn.me-btn--coral:not(.me-header button),
html.me-is-mobile body.me-plugin-home .me-section .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-hero .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-cta .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-pl-cta .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-pq-hero .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-pq-split .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-editorial__copy .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-rs-criteria__cta .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-sn-discover .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-sn-expertise .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-pl-universe .me-btn--coral,
html.me-is-mobile body.me-plugin-home .me-guide-article__footer .me-btn--coral {
  display: inline-flex !important;
  width: auto !important;
  max-width: min(100%, var(--me-m-btn-mw, 14rem)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0.35rem !important;
  margin-bottom: 0.15rem !important;
  align-self: center !important;
  justify-self: center !important;
  justify-content: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__actions,
html.me-is-mobile body.me-plugin-home .me-pq-hero__actions,
html.me-is-mobile body.me-plugin-home .me-cta__actions,
html.me-is-mobile body.me-plugin-home .me-pl-cta__actions,
html.me-is-mobile body.me-plugin-home .me-rs-criteria__cta,
html.me-is-mobile body.me-plugin-home .me-section .me-editorial__copy,
html.me-is-mobile body.me-plugin-home .me-pq-split__copy {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
}

/* Hero social — mêmes règles Accueil sur toutes les pages plugin */
html.me-is-mobile body.me-plugin-page .me-hero__cta {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-page .me-hero__social {
  display: flex !important;
  flex-wrap: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.7rem !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.9rem auto 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-page .me-hero__social-icon {
  width: 2.2rem !important;
  height: 2.2rem !important;
  min-width: 2.2rem !important;
  flex: 0 0 auto !important;
}

html.me-is-mobile body.me-plugin-page .me-hero__social-icon svg {
  width: 1rem !important;
  height: 1rem !important;
}

/* =========================================================
   CARROUSELS MOBILE — chrome universel (dots + touch)
   Hérité par tous les [data-me-slider], y compris futurs.
   ========================================================= */
/*
 * Touch : défilement natif (pan-x + pan-y). Le JS coupe scroll-snap pendant le geste
 * puis réaccroche — éviter pan-y seul + drag JS (pas d’inertie, geste saccadé).
 */
html.me-is-mobile body.me-plugin-home .me-slider__track,
html.me-is-mobile body.me-plugin-page .me-slider__track,
html.me-is-mobile body.me-plugin-home [data-me-track],
html.me-is-mobile body.me-plugin-page [data-me-track],
html.me-is-mobile body.me-plugin-resorts .me-slider__track,
html.me-is-mobile body.me-plugin-resorts [data-me-track] {
  touch-action: pan-x pan-y !important;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  cursor: grab;
}

/* Ne pas forcer pan-y sur les enfants : cela bloquait le scroll horizontal natif. */
html.me-is-mobile body.me-plugin-home .me-slider__slide,
html.me-is-mobile body.me-plugin-page .me-slider__slide,
html.me-is-mobile body.me-plugin-resorts .me-slider__slide {
  touch-action: pan-x pan-y !important;
}

/*
 * Snap start universel (mobile) : snap-align:center empêchait souvent
 * d’afficher correctement la dernière pancarte (refus d’ancrage / boucle anticipée).
 */
html.me-is-mobile body.me-plugin-home [data-me-slider] .me-slider__slide,
html.me-is-mobile body.me-plugin-page [data-me-slider] .me-slider__slide,
html.me-is-mobile body.me-plugin-resorts [data-me-slider] .me-slider__slide {
  scroll-snap-align: start !important;
}

/*
 * Filet universel mobile : scroll-padding neutre.
 * Le padding-inline-end « peek » est complété en JS (syncEndPadding) selon
 * la largeur réelle de la 1re pancarte — plus fiable que calc() générique.
 * Les filets CSS dédiés (Guides / Resorts / vols) restent prioritaires s’ils
 * sont déjà suffisants.
 */
html.me-is-mobile body.me-plugin-home [data-me-track],
html.me-is-mobile body.me-plugin-page [data-me-track],
html.me-is-mobile body.me-plugin-resorts [data-me-track] {
  scroll-padding-inline: 0;
}

html.me-is-mobile body.me-plugin-home .me-slider__dots,
html.me-is-mobile body.me-plugin-page .me-slider__dots,
html.me-is-mobile body.me-plugin-home [data-me-slider] > [data-me-dots],
html.me-is-mobile body.me-plugin-page [data-me-slider] > [data-me-dots] {
  order: 3 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 0.45rem !important;
  margin: 0.65rem 0 0.15rem !important;
  padding: 0 !important;
  list-style: none !important;
}

html.me-is-mobile body.me-plugin-home [data-me-slider] > .me-slider__controls,
html.me-is-mobile body.me-plugin-page [data-me-slider] > .me-slider__controls {
  order: 2 !important;
  justify-content: center !important;
}

html.me-is-mobile body.me-plugin-home [data-me-slider] > [data-me-track],
html.me-is-mobile body.me-plugin-page [data-me-slider] > [data-me-track],
html.me-is-mobile body.me-plugin-home [data-me-slider] > .me-slider__track,
html.me-is-mobile body.me-plugin-page [data-me-slider] > .me-slider__track {
  order: 1 !important;
}

html.me-is-mobile body.me-plugin-home [data-me-slider] > .me-reviews__source,
html.me-is-mobile body.me-plugin-page [data-me-slider] > .me-reviews__source {
  order: 4 !important;
}

/* Accueil Avis téléphone : photos juste après le bouton Facebook (ordre flex aplati) */
@media (max-width: 640px) {
  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] {
    display: contents !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-slider__track,
  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] > [data-me-track] {
    order: 3 !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-slider__controls {
    order: 4 !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-slider__dots,
  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] > [data-me-dots] {
    order: 5 !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-reviews__source {
    order: 6 !important;
  }
}

html.me-is-mobile body.me-plugin-home .me-slider__dots[hidden],
html.me-is-mobile body.me-plugin-page .me-slider__dots[hidden] {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-slider__dot,
html.me-is-mobile body.me-plugin-page .me-slider__dot {
  width: 0.5rem !important;
  height: 0.5rem !important;
  min-width: 0.5rem !important;
  min-height: 0.5rem !important;
  padding: 0 !important;
  border: none !important;
  border-radius: 50% !important;
  background: rgba(17, 17, 17, 0.22) !important;
  cursor: pointer !important;
  appearance: none !important;
  -webkit-appearance: none !important;
}

html.me-is-mobile body.me-plugin-home .me-slider__dot.is-active,
html.me-is-mobile body.me-plugin-page .me-slider__dot.is-active {
  background: var(--color-coral, #e07a5f) !important;
  transform: scale(1.15);
}

html.me-is-mobile body.me-plugin-home .me-slider__dots--compact .me-slider__dots-count,
html.me-is-mobile body.me-plugin-page .me-slider__dots--compact .me-slider__dots-count {
  font-size: 0.72rem !important;
  letter-spacing: 0.04em !important;
  color: rgba(17, 17, 17, 0.55) !important;
  font-variant-numeric: tabular-nums;
}

html.me-is-mobile body.me-plugin-home .me-slider__controls button:disabled,
html.me-is-mobile body.me-plugin-page .me-slider__controls button:disabled,
html.me-is-mobile body.me-plugin-home .me-info-carousel__controls button:disabled,
html.me-is-mobile body.me-plugin-page .me-info-carousel__controls button:disabled {
  opacity: 0.35 !important;
  cursor: default !important;
}

/* =========================================================
   MARGES LATÉRALES TEXTES — site-wide mobile
   Réf. ~20px (1.25rem) via --me-m-text-inset / --me-m-gutter-fluid
   Ne s’applique pas aux intérieurs de cartes / boutons.
   ========================================================= */
html.me-is-mobile body.me-plugin-home .me-container,
html.me-is-mobile body.me-plugin-page .me-container {
  width: var(--me-m-content-w, calc(100% - (var(--me-m-gutter-fluid, 1.25rem) * 2))) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__copy,
html.me-is-mobile body.me-plugin-home .me-hero__content,
html.me-is-mobile body.me-plugin-home .me-hero__cta,
html.me-is-mobile body.me-plugin-page .me-hero__copy,
html.me-is-mobile body.me-plugin-page .me-hero__content,
html.me-is-mobile body.me-plugin-page .me-hero__cta {
  width: min(100%, var(--me-m-content-w, calc(100% - (var(--me-m-gutter-fluid, 1.25rem) * 2)))) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding-inline: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__title,
html.me-is-mobile body.me-plugin-home .me-hero__tagline,
html.me-is-mobile body.me-plugin-home .me-hero__text,
html.me-is-mobile body.me-plugin-page .me-hero__title,
html.me-is-mobile body.me-plugin-page .me-hero__tagline,
html.me-is-mobile body.me-plugin-page .me-hero__text {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-section__title,
html.me-is-mobile body.me-plugin-home .me-prose,
html.me-is-mobile body.me-plugin-home .me-eyebrow,
html.me-is-mobile body.me-plugin-page .me-section__title,
html.me-is-mobile body.me-plugin-page .me-prose,
html.me-is-mobile body.me-plugin-page .me-eyebrow {
  max-width: 100% !important;
  overflow-wrap: break-word !important;
  box-sizing: border-box !important;
}

/* Informations HERO — même inset que les autres HERO magazine (pas de double marge) */
html.me-is-mobile body.me-plugin-informations .me-pq-hero__content,
html.me-is-mobile body.me-plugin-informations .me-pq-hero__title,
html.me-is-mobile body.me-plugin-informations .me-pq-hero__intro,
html.me-is-mobile body.me-plugin-informations .me-pq-hero__label {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
}

/* =========================================================
   MOBILE ONLY — Cartes postales carrousels −≈17 %
   Périmètre strict (pages + conteneurs) :
   1) Plongée — .me-pl-exp (expériences)
   2) Snorkeling — .me-sn-marine (vie marine)
   3) Guides — .me-guides-resorts
   4) Guides — .me-guides-atolls
   Desktop : html SANS .me-is-mobile → aucun effet.
   Autres cartes / panneaux 4-5-6 / autres carrousels : hors portée.
   ========================================================= */

html.me-is-mobile body.me-plugin-plongee .me-pl-exp__slider,
html.me-is-mobile body.me-plugin-plongee .me-pl-exp__grid {
  --me-m-exp-col: min(
    calc(var(--me-m-exp-pct, 88) * 1vw),
    max(calc(var(--me-m-exp-max, 240px) * 0.83), 70vw)
  ) !important;
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine__slider,
html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine__grid {
  --me-m-marine-col: min(
    calc(var(--me-m-marine-pct, 88) * 1vw),
    max(calc(var(--me-m-marine-max, 240px) * 0.83), 70vw)
  ) !important;
}

html.me-is-mobile body.me-plugin-guides .me-guides-atolls__track,
html.me-is-mobile body.me-plugin-guides .me-guides-resorts__track {
  --me-ga-col: min(
    calc(var(--me-m-exp-pct, 88) * 1vw),
    max(calc(var(--me-m-exp-max, 240px) * 0.83), 70vw)
  ) !important;
  grid-auto-columns: var(--me-ga-col) !important;
}

html.me-is-mobile body.me-plugin-plongee .me-pl-exp__slider .me-pl-card {
  gap: clamp(0.45rem, 1.8vw, 0.7rem) !important;
}

html.me-is-mobile body.me-plugin-plongee .me-pl-exp__slider .me-pl-card__frame {
  padding: 0.45rem 0.45rem 1.05rem !important;
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine__slider .me-sn-life {
  gap: clamp(0.45rem, 1.8vw, 0.7rem) !important;
}

html.me-is-mobile body.me-plugin-snorkeling .me-sn-marine__slider .me-sn-life__frame {
  padding: 0.45rem 0.45rem 1.05rem !important;
}

html.me-is-mobile body.me-plugin-guides .me-guides-atolls__slider .me-guide-card,
html.me-is-mobile body.me-plugin-guides .me-guides-resorts__slider .me-guide-card {
  gap: clamp(0.45rem, 1.8vw, 0.7rem) !important;
}

html.me-is-mobile body.me-plugin-guides .me-guides-atolls__slider .me-guide-card__frame,
html.me-is-mobile body.me-plugin-guides .me-guides-resorts__slider .me-guide-card__frame {
  padding: 0.45rem 0.45rem 1.05rem !important;
}
