/**
 * HOME + fondation mobile site-wide (responsive FLUIDE).
 *
 * IMPORTANT : règles via html.me-is-mobile (JS / preview),
 * PAS seulement @media — le preview dashboard garde un viewport large.
 *
 * Desktop : html SANS .me-is-mobile → aucun de ces styles.
 * Tailles : clamp / % / vw + variables admin --me-m-*
 * Les pages internes utilisent aussi body.me-plugin-home + pages-mobile.css.
 *
 * @package Maldives_Evasion
 */

.me-m-cta-bar {
  display: none !important;
}

/* =========================================================
   FONDATIONfluide + anti-débordement
   ========================================================= */

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

html.me-is-mobile body.me-plugin-home {
  /* Échelle ~0.82 @320 → ~1.0 @390 → ~1.08 @430+ */
  --me-m-scale: clamp(0.82, calc(100vw / 24.375rem), 1.08);
  /* Réf. ~20px (1.25rem) — petits ~16px / grands ~24px via scale */
  --me-m-text-inset: var(--me-m-text-inset-admin, 1.25rem);
  --me-m-hero-inset: var(--me-m-hero-inset-admin, var(--me-m-text-inset, 1.25rem));
  --me-m-gutter-fluid: max(
    var(--me-m-text-inset, 1.25rem),
    min(1.5rem, calc(var(--me-m-gutter, 1.25rem) * var(--me-m-scale)))
  );
  --me-m-content-w: min(
    calc(100% - (var(--me-m-gutter-fluid) * 2)),
    var(--me-m-content-max, 100%)
  );
  --me-m-gap: clamp(0.35rem, calc(var(--me-m-element-gap, 0.55rem) * var(--me-m-scale)), 0.85rem);
  --me-m-pad-block: clamp(
    1.05rem,
    calc(var(--me-m-section-pad, 2rem) * var(--me-m-scale) * 0.72),
    1.7rem
  );
  --me-m-fs-title: calc(
    clamp(1.2rem, 1.05rem + 2.6vw, 1.85rem) * var(--me-m-title-scale, 0.92)
  );
  --me-m-fs-sub: calc(
    clamp(0.88rem, 0.78rem + 1.4vw, 1.15rem) * var(--me-m-subtitle-scale, 1)
  );
  --me-m-fs-body: calc(
    clamp(0.8rem, 0.72rem + 1.1vw, 0.95rem) * var(--me-m-text-scale, 0.96)
  );
  --me-m-fs-btn: calc(
    clamp(0.48rem, 0.42rem + 0.75vw, 0.66rem) * var(--me-m-btn-scale, 0.88)
  );
  --me-m-btn-hh: clamp(
    30px,
    calc(var(--me-m-btn-min-h, 36px) * var(--me-m-scale)),
    var(--me-m-btn-min-h, 36px)
  );
  --me-m-btn-py: clamp(
    0.28rem,
    calc(var(--me-m-btn-pad-y, 0.4rem) * var(--me-m-scale)),
    var(--me-m-btn-pad-y, 0.4rem)
  );
  --me-m-btn-px: clamp(
    0.55rem,
    calc(var(--me-m-btn-pad-x, 0.85rem) * var(--me-m-scale)),
    var(--me-m-btn-pad-x, 0.85rem)
  );
  --me-m-btn-mw: min(100%, var(--me-m-btn-max-w, 14rem));
  --me-m-fs-small: clamp(0.4rem, 0.34rem + 0.7vw, 0.58rem);
  --me-m-card-pad: clamp(0.45rem, 0.35rem + 1.2vw, 0.75rem);
  /* vw + floor 85vw : pas d’écrasement ni de cartes « timbre » au resize. */
  --me-m-offer-col: min(
    calc(var(--me-m-offer-pct, 86) * 1vw),
    max(var(--me-m-offer-max, 300px), 85vw)
  );
  --me-m-review-col: min(
    calc(var(--me-m-review-pct, 88) * 1vw),
    max(var(--me-m-review-max, 280px), 85vw)
  );
  --me-m-photo-fluid: min(var(--me-m-offer-photo, 220px), calc(100% - 0.5rem), 72vw);
  --me-m-reviews-photo-fluid: min(var(--me-m-reviews-photo, 64px), 22vw, 4.5rem);
  --me-m-img-fluid: min(100%, var(--me-m-img-max, 300px), 88vw);
  --me-m-logo-fluid: min(var(--me-m-logo-max, 72px), 18vw, 4.5rem);
  --me-m-name-fs: clamp(
    0.52rem,
    calc(var(--me-m-logo-name, 0.68rem) * var(--me-m-scale)),
    var(--me-m-logo-name, 0.68rem)
  );
  --me-m-cta-fs: clamp(
    0.36rem,
    calc(var(--me-m-cta-size, 0.48rem) * var(--me-m-scale)),
    var(--me-m-cta-size, 0.48rem)
  );
  --me-m-cta-hh: clamp(
    26px,
    calc(var(--me-m-cta-h, 32px) * var(--me-m-scale)),
    var(--me-m-cta-h, 32px)
  );
  --me-m-burger-fluid: clamp(
    30px,
    calc(var(--me-m-burger, 40px) * var(--me-m-scale)),
    var(--me-m-burger, 40px)
  );
  --me-m-nav-btn-fluid: clamp(
    26px,
    calc(var(--me-m-nav-btn, 32px) * var(--me-m-scale)),
    var(--me-m-nav-btn, 32px)
  );
  --me-m-stats-num-fluid: clamp(
    0.9rem,
    calc(var(--me-m-stats-num, 1.15rem) * var(--me-m-scale)),
    var(--me-m-stats-num, 1.15rem)
  );
  --me-m-stats-label-fluid: clamp(
    0.38rem,
    calc(var(--me-m-stats-label, 0.48rem) * var(--me-m-scale)),
    var(--me-m-stats-label, 0.48rem)
  );
  width: 100% !important;
  max-width: 100vw !important;
}

html.me-is-mobile body.me-plugin-home *,
html.me-is-mobile body.me-plugin-home *::before,
html.me-is-mobile body.me-plugin-home *::after {
  box-sizing: border-box;
}

html.me-is-mobile body.me-plugin-home img,
html.me-is-mobile body.me-plugin-home video,
html.me-is-mobile body.me-plugin-home svg,
html.me-is-mobile body.me-plugin-home iframe {
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home img:not(.me-offer-card__photo img):not(.me-reviews__photo img):not(.me-review-card__author img) {
  height: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-container,
html.me-is-mobile body.me-plugin-home .me-header__inner {
  width: var(--me-m-content-w) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-section,
html.me-is-mobile body.me-plugin-home .me-hero,
html.me-is-mobile body.me-plugin-home .me-footer,
html.me-is-mobile body.me-plugin-home .me-header,
html.me-is-mobile body.me-plugin-home .me-slider,
html.me-is-mobile body.me-plugin-home .me-offers,
html.me-is-mobile body.me-plugin-home .me-reviews,
html.me-is-mobile body.me-plugin-home .me-postcards,
html.me-is-mobile body.me-plugin-home .me-stats {
  max-width: 100% !important;
  overflow-x: clip !important;
  min-width: 0 !important;
}

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

html.me-is-mobile body.me-plugin-home .me-section + .me-section {
  padding-top: max(0.8rem, calc(var(--me-m-pad-block) * 0.55)) !important;
  padding-bottom: var(--me-m-pad-block) !important;
}

/* Lone coral CTAs — keep centered vs mobile inline-flex + auto-margin quirks */
html.me-is-mobile :is(body.me-plugin-home, body.me-plugin-page)
.me-section
:is([class*="__copy"], [class*="__cta"]):not(.me-tp-card__cta):not(.me-hero__cta):not([class*="card__copy"]):has(> .me-btn.me-btn--coral):not(:has(> .me-btn ~ .me-btn)),
html.me-is-mobile :is(body.me-plugin-home, body.me-plugin-page)
.me-section
:is([class*="__copy"], [class*="__cta"]):not(.me-tp-card__cta):not(.me-hero__cta):not([class*="card__copy"]):has(> .me-btn.me-btn--primary):not(:has(> .me-btn ~ .me-btn)) {
  display: flex !important;
  flex-direction: column !important;
}

html.me-is-mobile :is(body.me-plugin-home, body.me-plugin-page)
.me-section
:is([class*="__copy"], [class*="__cta"]):not(.me-tp-card__cta):not(.me-hero__cta):not([class*="card__copy"]) > .me-btn.me-btn--coral:not(.me-tp-card__btn):not(.me-offer-card__cta):not(.me-guide-card__btn):not(.me-pl-card__btn):not(.me-rs-card__btn):not(.me-btn--nav),
html.me-is-mobile :is(body.me-plugin-home, body.me-plugin-page)
.me-section
:is([class*="__copy"], [class*="__cta"]):not(.me-tp-card__cta):not(.me-hero__cta):not([class*="card__copy"]) > .me-btn.me-btn--primary:not(.me-tp-card__btn):not(.me-offer-card__cta):not(.me-guide-card__btn):not(.me-pl-card__btn):not(.me-rs-card__btn):not(.me-btn--nav) {
  align-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: fit-content !important;
  max-width: min(100%, var(--me-m-btn-mw, 14rem)) !important;
}

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

/* ---------- HEADER fluide ---------- */
html.me-is-mobile body.me-plugin-home .me-header {
  position: sticky !important;
  top: 0;
  z-index: 100;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  --header-h: clamp(44px, 12vw, 52px);
}

html.me-is-mobile body.me-plugin-home .me-header__inner {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: clamp(0.2rem, calc(var(--me-m-header-gap, 0.35rem) * var(--me-m-scale)), 0.55rem) !important;
  padding-block: clamp(0.28rem, 1.2vw, 0.4rem) !important;
  min-height: var(--header-h) !important;
  height: auto !important;
  grid-template-columns: none !important;
}

html.me-is-mobile body.me-plugin-home .me-nav,
html.me-is-mobile body.me-plugin-home .me-nav__list,
html.me-is-mobile body.me-plugin-home .me-mega {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
  position: absolute !important;
  left: -9999px !important;
  width: 0 !important;
  height: 0 !important;
  overflow: hidden !important;
}

html.me-is-mobile body.me-plugin-home .me-header__actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  flex: 0 1 auto !important;
  gap: clamp(0.15rem, calc(var(--me-m-header-actions-gap, 0.3rem) * var(--me-m-scale)), 0.45rem) !important;
  min-width: 0 !important;
  max-width: 48% !important;
}

html.me-is-mobile body.me-plugin-home .me-burger {
  display: inline-grid !important;
  place-items: center !important;
  order: 1 !important;
  width: var(--me-m-burger-fluid) !important;
  height: var(--me-m-burger-fluid) !important;
  visibility: visible !important;
  opacity: 1 !important;
  flex-shrink: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-header .me-btn--nav {
  display: inline-flex !important;
  order: 2 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  flex: 0 1 auto !important;
  max-width: min(38vw, 9.5rem) !important;
  min-width: 0 !important;
  min-height: var(--me-m-cta-hh) !important;
  padding: clamp(0.2rem, 0.8vw, 0.3rem) clamp(0.3rem, 1.2vw, 0.48rem) !important;
  font-size: var(--me-m-cta-fs) !important;
  letter-spacing: 0.02em !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  justify-content: center !important;
  align-items: center !important;
  margin: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-logo {
  display: inline-flex !important;
  align-items: center !important;
  flex-direction: row !important;
  gap: clamp(0.15rem, calc(var(--me-m-logo-name-gap, 0.35rem) * var(--me-m-scale)), 0.45rem) !important;
  min-width: 0 !important;
  flex: 1 1 auto !important;
  max-width: min(54%, 12.5rem) !important;
}

/* Logo puis nom (même ensemble) — jamais le nom avant le logo */
html.me-is-mobile body.me-plugin-home .me-logo__img {
  order: 1 !important;
  max-width: var(--me-m-logo-fluid) !important;
  max-height: clamp(22px, 7vw, 30px) !important;
  width: auto !important;
  height: auto !important;
  flex-shrink: 0 !important;
  object-fit: contain !important;
}

html.me-is-mobile body.me-plugin-home .me-logo__name {
  display: inline-block !important;
  order: 2 !important;
  font-size: var(--me-m-name-fs) !important;
  line-height: 1.1 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  max-width: min(30vw, 8.5rem) !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home.me-m-hide-logo-name .me-logo__name {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-logo:not(.me-logo--has-img) .me-logo__name {
  display: inline-block !important;
  max-width: min(42vw, 11rem) !important;
  font-size: var(--me-m-name-fs) !important;
}

html.me-is-mobile body.me-plugin-home .me-logo__mark {
  order: 1 !important;
  width: clamp(1.25rem, 5vw, 1.55rem) !important;
  height: clamp(1.25rem, 5vw, 1.55rem) !important;
  font-size: clamp(0.45rem, 1.8vw, 0.55rem) !important;
  flex-shrink: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-m-cta-bar,
html.me-is-mobile body.me-plugin-home .me-mobile__cta {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-mobile {
  z-index: 2000 !important;
}

html.me-is-mobile body.me-plugin-home .me-mobile__drawer {
  width: min(100%, var(--me-m-menu-width, 300px)) !important;
  max-width: 100vw !important;
  background: #F5EFE6 !important;
  opacity: 1 !important;
}

html.me-is-mobile body.me-plugin-home .me-mobile__list {
  display: flex !important;
  flex-direction: column !important;
}

html.me-is-mobile body.me-plugin-home .me-mobile__list a {
  display: block !important;
  width: 100% !important;
  font-size: calc(var(--me-m-menu-link, 0.88rem) * var(--me-m-scale)) !important;
  padding: clamp(0.7rem, 3vw, 0.95rem) clamp(0.9rem, 4vw, 1.1rem) !important;
}

html.me-is-mobile body.me-mobile-open .me-wa-float {
  visibility: hidden !important;
  pointer-events: none !important;
}

/* ---------- HERO ---------- */
html.me-is-mobile body.me-plugin-home .me-hero {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
  height: auto !important;
  overflow: visible !important;
  background: var(--color-cream, #F5EFE6) !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__content {
  display: contents !important;
  color: var(--color-black, #111) !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__media {
  order: 1 !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  height: auto !important;
  z-index: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__image {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-height: min(36vh, 260px) !important;
  aspect-ratio: 16 / 10 !important;
  object-fit: cover !important;
}

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

html.me-is-mobile body.me-plugin-home .me-hero__copy {
  order: 2 !important;
  position: relative !important;
  z-index: 1 !important;
  width: var(--me-m-content-w) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: clamp(0.85rem, 3.5vw, 1.15rem) 0 0.35rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--me-m-gap) !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-hero .me-eyebrow {
  margin: 0 !important;
  font-size: var(--me-m-fs-small) !important;
  text-align: center !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__title {
  margin: 0 !important;
  font-size: var(--me-m-fs-title) !important;
  line-height: 1.15 !important;
  text-align: center !important;
  color: var(--color-black, #111) !important;
  word-break: break-word !important;
  overflow-wrap: anywhere !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__tagline {
  margin: 0 !important;
  font-size: var(--me-m-fs-sub) !important;
  text-align: center !important;
  color: var(--color-black, #111) !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__text {
  margin: 0 !important;
  font-size: var(--me-m-fs-body) !important;
  line-height: 1.55 !important;
  text-align: center !important;
  max-width: min(34ch, 100%) !important;
  color: rgba(17, 17, 17, 0.82) !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__cta {
  order: 3 !important;
  position: relative !important;
  z-index: 1 !important;
  width: var(--me-m-content-w) !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0.7rem 0 1.15rem !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0 !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__actions {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--me-m-gap) !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-hero__social {
  position: relative !important;
  z-index: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0.9rem auto 0 !important;
  padding: 0 !important;
  justify-content: center !important;
  gap: 0.7rem !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .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-home .me-hero__social-icon svg {
  width: 1rem !important;
  height: 1rem !important;
}

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

/* ---------- Typo sections ---------- */
html.me-is-mobile body.me-plugin-home .me-section__header,
html.me-is-mobile body.me-plugin-home .me-section__title,
html.me-is-mobile body.me-plugin-home .me-section__intro,
html.me-is-mobile body.me-plugin-home .me-eyebrow,
html.me-is-mobile body.me-plugin-home .me-prose,
html.me-is-mobile body.me-plugin-home .me-editorial__copy {
  text-align: center !important;
  margin-inline: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

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

html.me-is-mobile body.me-plugin-home .me-section__intro,
html.me-is-mobile body.me-plugin-home .me-prose,
html.me-is-mobile body.me-plugin-home .me-prose p {
  font-size: var(--me-m-fs-body) !important;
  line-height: 1.55 !important;
  overflow-wrap: break-word !important;
}

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

/* ---------- Grilles → 1 colonne ---------- */
html.me-is-mobile body.me-plugin-home .me-editorial__grid,
html.me-is-mobile body.me-plugin-home .me-editorial__grid--flip,
html.me-is-mobile body.me-plugin-home .me-why__grid,
html.me-is-mobile body.me-plugin-home .me-about__grid,
html.me-is-mobile body.me-plugin-home .me-form__grid {
  display: flex !important;
  flex-direction: column !important;
  grid-template-columns: none !important;
  gap: clamp(0.85rem, 3.5vw, 1.2rem) !important;
  direction: ltr !important;
  align-items: center !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-editorial__copy,
html.me-is-mobile body.me-plugin-home .me-editorial__media,
html.me-is-mobile body.me-plugin-home .me-editorial__grid--flip > * {
  direction: ltr !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
  float: none !important;
  position: relative !important;
  transform: none !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-editorial__media:not(.me-shot) {
  width: var(--me-m-img-fluid) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

/* Cartes postales individuelles (me-shot) — -30 % réel + inclinaison inchangée */
html.me-is-mobile body.me-plugin-home .me-shot,
html.me-is-mobile body.me-plugin-home .me-shot--why,
html.me-is-mobile body.me-plugin-home .me-shot--about,
html.me-is-mobile body.me-plugin-home .me-shot--presentation,
html.me-is-mobile body.me-plugin-home .me-editorial__media.me-shot,
html.me-is-mobile body.me-plugin-home .me-pq-split__media.me-shot {
  /* display:contents (Présentation/Guillaume) annule width sur la figure → taille sur le frame */
  width: auto !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  margin-block: var(--me-m-shot-margin, 0.75rem) !important;
  padding: 0.35rem !important;
  box-sizing: border-box !important;
  overflow: visible !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: center !important;
  justify-self: center !important;
}

html.me-is-mobile body.me-plugin-home .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-shot--why .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-shot--about .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-shot--presentation .me-shot__frame,
html.me-is-mobile body.me-plugin-home #presentation .me-shot__frame,
html.me-is-mobile body.me-plugin-home #guillaume .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-pq-split__media.me-shot .me-shot__frame {
  /* Ancienne taille mobile ≈ min(300px, 88vw) → × 0.7 = −30 % */
  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-origin: center center !important;
}

/* Inclinaison — ne pas modifier ces rotations */
html.me-is-mobile body.me-plugin-home .me-shot__frame,
html.me-is-mobile body.me-plugin-home .me-shot--presentation .me-shot__frame {
  transform: rotate(calc(var(--me-m-shot-rotate, 2.4deg) * -1)) translateY(2px) !important;
}

html.me-is-mobile body.me-plugin-home .me-shot--why .me-shot__frame {
  transform: rotate(calc(var(--me-m-shot-rotate, 2.4deg) * -0.95)) translateY(3px) !important;
}

html.me-is-mobile body.me-plugin-home .me-shot--about .me-shot__frame {
  transform: rotate(var(--me-m-shot-rotate, 2.4deg)) translateY(-2px) !important;
}

html.me-is-mobile body.me-plugin-home .me-editorial__media--tilt img {
  transform: none !important;
  max-width: 100% !important;
}

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

html.me-is-mobile body.me-plugin-home .me-place {
  text-align: center !important;
  font-size: calc(var(--me-m-fs-body) * 0.9) !important;
  margin-top: 0.4rem !important;
}

html.me-is-mobile body.me-plugin-home #presentation .me-editorial__grid,
html.me-is-mobile body.me-plugin-home #guillaume .me-editorial__grid {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
}

html.me-is-mobile body.me-plugin-home #presentation .me-editorial__copy,
html.me-is-mobile body.me-plugin-home #guillaume .me-editorial__copy {
  display: contents !important;
}

/* Media carte postale : garder la boîte pour appliquer la taille −30 % */
html.me-is-mobile body.me-plugin-home #presentation .me-editorial__media.me-shot,
html.me-is-mobile body.me-plugin-home #guillaume .me-editorial__media.me-shot {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  align-self: center !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home #presentation .me-eyebrow { order: 1 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #presentation .me-section__title { order: 2 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #presentation .me-prose { order: 3 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #presentation .me-shot {
  order: 4 !important;
}
html.me-is-mobile body.me-plugin-home #presentation .me-btn {
  order: 5 !important;
  align-self: center !important;
}

html.me-is-mobile body.me-plugin-home #guillaume .me-eyebrow { order: 1 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #guillaume .me-section__title { order: 2 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #guillaume .me-shot {
  order: 3 !important;
}
html.me-is-mobile body.me-plugin-home #guillaume .me-place { order: 4 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #guillaume .me-prose { order: 5 !important; width: 100% !important; }
html.me-is-mobile body.me-plugin-home #guillaume .me-btn {
  order: 6 !important;
  align-self: center !important;
}

html.me-is-mobile body.me-plugin-home #pourquoi .me-editorial__media { order: 1 !important; }
html.me-is-mobile body.me-plugin-home #pourquoi .me-editorial__copy { order: 2 !important; }

html.me-is-mobile body.me-plugin-home .me-section .me-btn,
html.me-is-mobile body.me-plugin-home .me-editorial__copy .me-btn,
html.me-is-mobile body.me-plugin-home .me-cta .me-btn,
html.me-is-mobile body.me-plugin-home .me-pl-cta .me-btn,
html.me-is-mobile body.me-plugin-home .me-hero__actions .me-btn {
  display: inline-flex !important;
  width: auto !important;
  max-width: var(--me-m-btn-mw) !important;
  margin-inline: auto !important;
  align-self: center !important;
  justify-content: center !important;
  font-size: var(--me-m-fs-btn) !important;
  min-height: var(--me-m-btn-hh) !important;
  padding: var(--me-m-btn-py) var(--me-m-btn-px) !important;
  line-height: 1.15 !important;
}

/* Keep turquoise fill + white text on mobile (never fall back to coral/ghost). */
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-hero__actions .me-btn--turquoise,
html.me-is-mobile body.me-plugin-home .me-editorial__copy .me-btn--turquoise,
html.me-is-mobile body.me-plugin-home .me-section .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;
}

/* Réaffirme CTA header (après règles .me-btn génériques) */
html.me-is-mobile body.me-plugin-home .me-header .me-btn--nav {
  display: inline-flex !important;
  visibility: visible !important;
  pointer-events: auto !important;
  position: relative !important;
  left: auto !important;
  width: auto !important;
  height: auto !important;
  overflow: hidden !important;
  max-width: min(38vw, 9.5rem) !important;
  min-height: var(--me-m-cta-hh) !important;
  padding: clamp(0.2rem, 0.8vw, 0.3rem) clamp(0.3rem, 1.2vw, 0.48rem) !important;
  font-size: var(--me-m-cta-fs) !important;
  margin: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-cta__content,
html.me-is-mobile body.me-plugin-home .me-cta__actions,
html.me-is-mobile body.me-plugin-home .me-cta .me-pl-cta__inner {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: var(--me-m-gap) !important;
  text-align: center !important;
  width: var(--me-m-content-w) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  min-width: 0 !important;
}

/* ---------- Stats 2×2 fluide ---------- */
html.me-is-mobile body.me-plugin-home .me-stats__grid {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  flex-direction: unset !important;
  gap: clamp(0.35rem, calc(var(--me-m-stats-gap, 0.55rem) * var(--me-m-scale)), 0.9rem) !important;
  align-items: start !important;
  justify-items: center !important;
  text-align: center !important;
  width: min(100%, 20rem) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home.me-m-stats-1x4 .me-stats__grid,
html.me-is-mobile body.me-plugin-home.me-m-stats-4x1 .me-stats__grid {
  grid-template-columns: 1fr !important;
  width: min(100%, 14rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-stats__item {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  padding: 0.1rem !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-stats__number {
  font-size: var(--me-m-stats-num-fluid) !important;
  line-height: 1.05 !important;
}

html.me-is-mobile body.me-plugin-home .me-stats__label {
  font-size: var(--me-m-stats-label-fluid) !important;
  letter-spacing: 0.05em !important;
  line-height: 1.15 !important;
  overflow-wrap: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-stats__icon {
  font-size: clamp(0.75rem, 3vw, 0.9rem) !important;
  margin-bottom: 0.1rem !important;
}

html.me-is-mobile body.me-plugin-home .me-stats__icon--svg svg {
  width: clamp(14px, 4.5vw, 18px) !important;
  height: clamp(14px, 4.5vw, 18px) !important;
}

/* ---------- Offres : carrousel fluide ---------- */
html.me-is-mobile body.me-plugin-home .me-offers {
  overflow-x: clip !important;
}

/*
 * Offres — mobile : masquer les 4 cartes postales décoratives autour du texte
 * (.me-offers__stack / .me-offers__card). Ne touche PAS aux pancartes commerciales
 * (.me-offer-card) ni au carrousel. Desktop inchangé.
 */
html.me-is-mobile body.me-plugin-home .me-offers__stack,
html.me-is-mobile body.me-plugin-home .me-offers__card,
html.me-is-mobile body.me-plugin-home .me-offers__card--left-1,
html.me-is-mobile body.me-plugin-home .me-offers__card--left-2,
html.me-is-mobile body.me-plugin-home .me-offers__card--right-1,
html.me-is-mobile body.me-plugin-home .me-offers__card--right-2 {
  display: none !important;
}

html.me-is-mobile body.me-plugin-home .me-offers__compose {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 auto 1rem !important;
  padding: 0 !important;
  overflow: visible !important;
}

html.me-is-mobile body.me-plugin-home .me-offers__header {
  min-width: 0 !important;
  max-width: 100% !important;
  width: 100% !important;
  padding-inline: 0 !important;
  margin-inline: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-offers__slider {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--me-m-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-slider__controls {
  display: flex !important;
  order: 2 !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.45rem !important;
  margin: 0.85rem 0 0 !important;
  position: static !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-slider__dots,
html.me-is-mobile body.me-plugin-home .me-offers [data-me-dots] {
  order: 3 !important;
}

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

html.me-is-mobile body.me-plugin-home .me-offers .me-slider__controls button,
html.me-is-mobile body.me-plugin-home .me-reviews .me-slider__controls button {
  width: var(--me-m-nav-btn-fluid) !important;
  height: var(--me-m-nav-btn-fluid) !important;
  min-width: var(--me-m-nav-btn-fluid) !important;
  min-height: var(--me-m-nav-btn-fluid) !important;
  padding: 0 !important;
  font-size: calc(var(--me-m-nav-btn-fluid) * 0.42) !important;
  line-height: 1 !important;
  border-radius: 999px !important;
  flex-shrink: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-slider__track {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  justify-content: safe center !important;
  order: 1 !important;
  align-items: stretch !important;
  grid-auto-flow: unset !important;
  grid-auto-columns: unset !important;
  grid-template-columns: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  gap: clamp(0.5rem, 2.5vw, 0.85rem) !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.3rem clamp(4%, 5vw, 7%) 0.45rem !important;
  cursor: grab !important;
  -webkit-overflow-scrolling: touch !important;
  transform: none !important;
  min-width: 0 !important;
}

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

/* Même architecture / même hauteur pour toutes les cartes (actuelles + futures) */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card,
html.me-is-mobile body.me-plugin-home .me-offers .me-slider__slide {
  flex: 0 0 var(--me-m-offer-col) !important;
  width: var(--me-m-offer-col) !important;
  max-width: var(--me-m-offer-col) !important;
  margin-inline: 0 !important;
  align-self: stretch !important;
  height: auto !important;
  min-height: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card.is-clone,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card.me-reveal,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card.me-reveal.is-visible {
  display: flex !important;
  flex-direction: column !important;
  gap: 0.28rem !important;
  padding: var(--me-m-card-pad) !important;
  min-width: 0 !important;
  /* visible : ne jamais couper emojis / textes des zones internes */
  overflow: visible !important;
  box-sizing: border-box !important;
  /* Annule le translateY(.me-reveal) qui décalait originaux vs clones du carrousel */
  opacity: 1 !important;
  transform: none !important;
}

/* Ordre mobile unique — originaux + clones */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__accent { order: 0 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__top { order: 1 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__resort { order: 2 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__infos { order: 3 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__photo { order: 4 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-block { order: 5 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__note { order: 6 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__plaque { order: 7 !important; }
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__footer { display: none !important; }
html.me-is-mobile body.me-plugin-home.me-m-offer-btn-bottom .me-offers .me-offer-card__actions,
html.me-is-mobile body.me-plugin-home:not(.me-m-offer-btn-inline) .me-offers .me-offer-card__actions {
  order: 8 !important;
}

/* Zones à HAUTEUR FIXE (pas seulement min) → géométrie identique sur toutes les cartes */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__top {
  flex: 0 0 2.45rem !important;
  height: 2.45rem !important;
  max-height: 2.45rem !important;
  gap: 0.2rem !important;
  margin: 0 !important;
  min-width: 0 !important;
  align-items: center !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__badge,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__season {
  font-size: var(--me-m-fs-small) !important;
  padding: 0.15rem 0.35rem !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__logo img {
  max-height: clamp(14px, 4.5vw, 20px) !important;
  width: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__resort {
  flex: 0 0 2.4em !important;
  height: 2.4em !important;
  max-height: 2.4em !important;
  text-align: center !important;
  font-size: clamp(0.82rem, 0.7rem + 1.4vw, 1rem) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
  overflow: visible !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-wrap: balance !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

/* Grille infos : hauteur réservée + icône à côté du label (jamais coupés) */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__infos {
  flex: 0 0 7.1rem !important;
  height: 7.1rem !important;
  max-height: 7.1rem !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) minmax(0, 1fr) !important;
  flex-direction: unset !important;
  gap: 0.35rem 0.55rem !important;
  min-width: 0 !important;
  align-content: stretch !important;
  overflow: visible !important;
  margin: 0 !important;
  padding: 0.1rem 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info {
  border-right: 0 !important;
  border-bottom: 0 !important;
  padding: 0.12rem 0.05rem !important;
  text-align: left !important;
  min-width: 0 !important;
  min-height: 0 !important;
  overflow: visible !important;
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  flex-direction: unset !important;
  align-items: start !important;
  justify-items: start !important;
  align-content: start !important;
  justify-content: start !important;
  gap: 0.15rem 0.22rem !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  width: 0.95em !important;
  min-width: 0.95em !important;
  height: 0.95em !important;
  font-size: clamp(0.72rem, 2.2vw, 0.88rem) !important;
  line-height: 1 !important;
  overflow: visible !important;
  margin-top: 0.08rem !important;
}

/* WP remplace les emojis par <img class="emoji"> — taille fixe, jamais coupée */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-icon img,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-icon img.emoji {
  display: block !important;
  width: 1em !important;
  height: 1em !important;
  max-width: 1em !important;
  max-height: 1em !important;
  min-width: 1em !important;
  min-height: 1em !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-body {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 0.1rem !important;
  min-width: 0 !important;
  width: 100% !important;
  overflow: visible !important;
}

/* Labels (DATES, HÉBERGEMENT…) : légèrement plus petits + tracking réduit → 1 ligne */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-title {
  font-size: clamp(0.42rem, 0.36rem + 0.7vw, 0.54rem) !important;
  letter-spacing: 0.04em !important;
  line-height: 1.2 !important;
  overflow: visible !important;
  white-space: nowrap !important;
  overflow-wrap: normal !important;
  word-break: normal !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-value {
  font-size: clamp(0.52rem, 0.46rem + 0.75vw, 0.66rem) !important;
  line-height: 1.28 !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
  white-space: normal !important;
  max-width: 100% !important;
  max-height: none !important;
}

/*
 * Offer cards — center texts on phone only (≤767px).
 * Tablet (768–980 / me-is-mobile) and desktop stay on existing rules above.
 */
@media (max-width: 767px) {
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__badge,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__season {
    text-align: center !important;
  }

  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__season {
    justify-self: center !important;
  }

  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__resort,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-block,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-label,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-note,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__note,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__plaque,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__plaque-text {
    text-align: center !important;
  }

  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info {
    text-align: center !important;
    justify-content: center !important;
    justify-items: center !important;
    align-items: start !important;
  }

  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-body {
    align-items: center !important;
    text-align: center !important;
  }

  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-title,
  html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__info-value {
    text-align: center !important;
    width: 100% !important;
  }
}

/* Photo centrale — taille + emplacement identiques (originaux + clones) */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__photo {
  position: relative !important;
  display: block !important;
  flex: 0 0 auto !important;
  width: var(--me-m-photo-fluid) !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0.3rem auto !important;
  aspect-ratio: var(--me-m-offer-photo-ratio, 1 / 1) !important;
  overflow: hidden !important;
  border-radius: clamp(8px, 2.5vw, 12px) !important;
  flex-shrink: 0 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__photo img {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  max-height: none !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-block {
  flex: 0 0 4.5rem !important;
  height: 4.5rem !important;
  max-height: 4.5rem !important;
  text-align: center !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 0.1rem !important;
  margin: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price {
  font-size: clamp(0.9rem, 0.75rem + 1.6vw, 1.1rem) !important;
  margin: 0 !important;
  line-height: 1.15 !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-label,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__price-note {
  font-size: var(--me-m-fs-small) !important;
  margin: 0 !important;
  line-height: 1.2 !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__ornament {
  margin: 0.05rem 0 !important;
  flex: 0 0 auto !important;
}

/* Description : zone fixe 3 lignes lisibles, typo légèrement plus compacte */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__note {
  flex: 0 0 4.2em !important;
  text-align: center !important;
  font-size: clamp(0.52rem, 0.46rem + 0.75vw, 0.66rem) !important;
  margin: 0 !important;
  min-height: 4.2em !important;
  max-height: 4.2em !important;
  height: 4.2em !important;
  line-height: 1.4 !important;
  overflow: visible !important;
  display: block !important;
  -webkit-line-clamp: unset !important;
  -webkit-box-orient: unset !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__plaque {
  display: grid !important;
  justify-items: center !important;
  gap: 0.4rem !important;
  margin-top: auto !important;
  padding: 0.55rem 0.15rem 0.15rem !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__plaque-title.me-offer-card__badge {
  font-size: clamp(0.55rem, 0.48rem + 0.7vw, 0.62rem) !important;
  padding: 0.3rem 0.5rem !important;
  max-width: min(100%, 12.5rem) !important;
  transform: rotate(-2deg) !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__plaque-text {
  font-size: clamp(0.68rem, 0.6rem + 0.85vw, 0.78rem) !important;
  letter-spacing: 0.06em !important;
  line-height: 1.35 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__actions {
  width: 100% !important;
  flex: 0 0 2rem !important;
  height: 2rem !important;
  max-height: 2rem !important;
  margin-top: auto !important;
  padding-top: 0 !important;
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  box-sizing: border-box !important;
}

/* CTA « Contacter Guillaume » — plus petit / élégant, toujours cliquable (style existant) */
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card__cta.me-btn {
  width: auto !important;
  max-width: min(100%, 10.5rem) !important;
  min-width: min(100%, 8.25rem) !important;
  margin-inline: auto !important;
  justify-content: center !important;
  min-height: clamp(28px, calc(var(--me-m-btn-hh, 36px) * 0.78), 32px) !important;
  height: auto !important;
  padding: 0.28rem 0.7rem !important;
  font-size: calc(var(--me-m-fs-btn, 0.58rem) * 0.92) !important;
  white-space: normal !important;
  line-height: 1.15 !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card:hover {
  transform: none !important;
}

/* ---------- Expériences 3×3 ---------- */
html.me-is-mobile body.me-plugin-home .me-postcards {
  overflow-x: clip !important;
  padding: 0.75rem 0 0.35rem !important;
  justify-content: center !important;
  width: 100% !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-postcards__stage {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  flex-direction: unset !important;
  gap: clamp(0.4rem, 2vw, 0.7rem) clamp(0.3rem, 1.5vw, 0.5rem) !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  align-items: start !important;
  justify-items: center !important;
  padding-inline: 0.1rem !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard,
html.me-is-mobile body.me-plugin-home .me-postcard--1,
html.me-is-mobile body.me-plugin-home .me-postcard--2,
html.me-is-mobile body.me-plugin-home .me-postcard--3,
html.me-is-mobile body.me-plugin-home .me-postcard--4,
html.me-is-mobile body.me-plugin-home .me-postcard--5,
html.me-is-mobile body.me-plugin-home .me-postcard--6,
html.me-is-mobile body.me-plugin-home .me-postcard--7,
html.me-is-mobile body.me-plugin-home .me-postcard--8,
html.me-is-mobile body.me-plugin-home .me-postcard--9 {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  position: relative !important;
  inset: auto !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard--1 { transform: rotate(-1.5deg) translateY(3px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--2 { transform: rotate(1deg) translateY(-2px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--3 { transform: rotate(-0.8deg) translateY(2px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--4 { transform: rotate(1.2deg) translateY(4px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--5 { transform: rotate(-0.6deg) translateY(-1px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--6 { transform: rotate(1.5deg) translateY(3px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--7 { transform: rotate(-1.1deg) translateY(2px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--8 { transform: rotate(0.7deg) translateY(-2px) !important; }
html.me-is-mobile body.me-plugin-home .me-postcard--9 {
  /* Annule le span pleine largeur desktop (grid-column: 1 / -1) */
  grid-column: auto !important;
  justify-self: center !important;
  width: 100% !important;
  max-width: 100% !important;
  transform: rotate(-1.3deg) translateY(3px) !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard__frame {
  padding: clamp(0.2rem, 1vw, 0.3rem) clamp(0.2rem, 1vw, 0.3rem) clamp(0.45rem, 2vw, 0.65rem) !important;
  max-width: 100% !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard__frame img {
  width: 100% !important;
  height: auto !important;
  aspect-ratio: 4 / 5 !important;
  object-fit: cover !important;
  display: block !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard__meta {
  gap: 0.05rem !important;
  padding: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard__meta strong {
  font-size: clamp(0.5rem, 0.42rem + 0.8vw, 0.65rem) !important;
  line-height: 1.2 !important;
}

html.me-is-mobile body.me-plugin-home .me-postcard__meta span,
html.me-is-mobile body.me-plugin-home .me-postcard__meta em {
  font-size: clamp(0.38rem, 0.32rem + 0.6vw, 0.5rem) !important;
  letter-spacing: 0.04em !important;
}

/* ---------- Avis ---------- */
html.me-is-mobile body.me-plugin-home .me-reviews__header,
html.me-is-mobile body.me-plugin-home .me-reviews__header--split {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: var(--me-m-gap) !important;
  grid-template-columns: none !important;
  grid-template-areas: none !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__intro {
  order: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  text-align: center !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__photos {
  display: grid !important;
  order: 2 !important;
  grid-template-columns: repeat(3, var(--me-m-reviews-photo-fluid)) !important;
  gap: clamp(0.3rem, 1.5vw, 0.5rem) !important;
  justify-content: center !important;
  justify-self: center !important;
  align-self: center !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0.15rem auto 0.25rem !important;
  padding: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__photo {
  width: var(--me-m-reviews-photo-fluid) !important;
  height: var(--me-m-reviews-photo-fluid) !important;
  aspect-ratio: 1 / 1 !important;
  border-radius: clamp(8px, 2.2vw, 10px) !important;
  overflow: hidden !important;
  box-shadow: 0 6px 14px rgba(17, 17, 17, 0.1) !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__photo img {
  width: 100% !important;
  height: 100% !important;
  max-width: none !important;
  object-fit: cover !important;
}

/*
 * Témoignages — galerie photos (Accueil) : téléphone uniquement.
 * Masque les 2 premières, grille 3×2 centrée (3 petites cartes × 2 rangées).
 * Tablette (me-is-mobile ≥641px) inchangée.
 * 640px = seuil « narrow » déjà utilisé dans main.js.
 * (Ordre DOM mobile : voir bloc « photos après Facebook » plus bas.)
 */
@media (max-width: 640px) {
  html.me-is-mobile body.me-plugin-home .me-reviews__photos > .me-reviews__photo:nth-child(-n + 2) {
    display: none !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__photos {
    --me-m-reviews-photo-3col: min(29vw, 5.85rem);
    grid-template-columns: repeat(3, minmax(0, var(--me-m-reviews-photo-3col))) !important;
    gap: clamp(0.35rem, 1.8vw, 0.55rem) clamp(0.3rem, 1.5vw, 0.48rem) !important;
    justify-content: center !important;
    justify-items: center !important;
    width: min(100%, calc(3 * var(--me-m-reviews-photo-3col) + 2 * 0.48rem)) !important;
    margin-inline: auto !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__photos > .me-reviews__photo {
    width: var(--me-m-reviews-photo-3col) !important;
    height: var(--me-m-reviews-photo-3col) !important;
  }
}

/* Aperçu mobile embed (fenêtre externe large) — même grille 3×2 */
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__photos > .me-reviews__photo:nth-child(-n + 2) {
  display: none !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__photos {
  --me-m-reviews-photo-3col: min(29vw, 5.85rem);
  grid-template-columns: repeat(3, minmax(0, var(--me-m-reviews-photo-3col))) !important;
  gap: clamp(0.35rem, 1.8vw, 0.55rem) clamp(0.3rem, 1.5vw, 0.48rem) !important;
  justify-content: center !important;
  justify-items: center !important;
  width: min(100%, calc(3 * var(--me-m-reviews-photo-3col) + 2 * 0.48rem)) !important;
  margin-inline: auto !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__photos > .me-reviews__photo {
  width: var(--me-m-reviews-photo-3col) !important;
  height: var(--me-m-reviews-photo-3col) !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__lead {
  order: 3 !important;
  max-width: 100% !important;
  text-align: center !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews {
  overflow-x: clip !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__slider {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--me-m-gap) !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__source {
  margin-top: 0.35rem !important;
  margin-bottom: 0.15rem !important;
  gap: 0.7rem !important;
  max-width: 100% !important;
  padding-inline: 0.15rem !important;
}

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

html.me-is-mobile body.me-plugin-home .me-reviews__source-note {
  font-size: 0.82rem !important;
  line-height: 1.58 !important;
  color: #1A2224 !important;
  overflow-wrap: anywhere !important;
  word-break: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews__fb-btn.me-btn {
  min-height: 36px !important;
  padding: 0.45rem 0.8rem !important;
  font-size: 0.56rem !important;
  max-width: 100% !important;
  background: #1877F2 !important;
  border-color: #1877F2 !important;
  color: #FFFFFF !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews .me-slider__controls {
  display: flex !important;
  justify-content: center !important;
  align-items: center !important;
  gap: 0.45rem !important;
  margin: 0 !important;
  position: static !important;
}

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

html.me-is-mobile body.me-plugin-home .me-reviews .me-slider__track {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: var(--me-m-review-col) !important;
  grid-template-columns: none !important;
  flex-direction: unset !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: none !important;
  gap: clamp(0.45rem, 2.2vw, 0.7rem) !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 0.3rem clamp(4%, 5vw, 6%) 0.4rem !important;
  cursor: grab !important;
  -webkit-overflow-scrolling: touch !important;
  transform: none !important;
  min-width: 0 !important;
}

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

html.me-is-mobile body.me-plugin-home .me-review-card,
html.me-is-mobile body.me-plugin-home .me-reviews .me-slider__slide {
  width: 100% !important;
  max-width: 100% !important;
  margin-inline: 0 !important;
  flex: none !important;
  min-width: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  gap: clamp(0.25rem, 1.2vw, 0.4rem) !important;
  padding: var(--me-m-card-pad) !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__author {
  order: -2 !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 0.2rem !important;
  width: 100% !important;
  padding-top: 0 !important;
  border-top: 0 !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__author img,
html.me-is-mobile body.me-plugin-home .me-review-card__avatar {
  width: clamp(28px, 8vw, 36px) !important;
  height: clamp(28px, 8vw, 36px) !important;
  margin-inline: auto !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__top {
  order: -1 !important;
  justify-content: center !important;
  width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__mark {
  font-size: clamp(1.1rem, 4vw, 1.4rem) !important;
  line-height: 1 !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__stars {
  justify-content: center !important;
  font-size: clamp(0.58rem, 2.2vw, 0.72rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__text,
html.me-is-mobile body.me-plugin-home .me-review-card__text p {
  text-align: center !important;
  font-size: clamp(0.7rem, 0.62rem + 0.9vw, 0.82rem) !important;
  line-height: 1.35 !important;
  margin: 0 !important;
  overflow-wrap: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__name {
  text-align: center !important;
  font-size: clamp(0.62rem, 0.55rem + 0.7vw, 0.75rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card__trip {
  text-align: center !important;
  font-size: var(--me-m-fs-small) !important;
}

html.me-is-mobile body.me-plugin-home .me-review-card:hover {
  transform: none !important;
}

html.me-is-mobile body.me-plugin-home .me-reviews .me-slider__slide.is-clone {
  display: block !important;
}

/*
 * Accueil Avis — téléphone uniquement :
 * titre → intro → carrousel → contrôles → points → note beige + Facebook → photos 3×2.
 * display:contents aplatit header/slider dans .me-container (tablette/desktop inchangés).
 * Spécificité > pages-mobile chrome order.
 */
@media (max-width: 640px) {
  html.me-is-mobile body.me-plugin-home .me-reviews > .me-container {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: var(--me-m-gap) !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__header,
  html.me-is-mobile body.me-plugin-home .me-reviews__header--split,
  html.me-is-mobile body.me-plugin-home .me-reviews__slider[data-me-slider],
  html.me-is-mobile body.me-plugin-home .me-reviews__slider {
    display: contents !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__intro {
    order: 1 !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__lead {
    order: 2 !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;
    margin-top: 0.15rem !important;
    margin-bottom: 0 !important;
  }

  html.me-is-mobile body.me-plugin-home .me-reviews__photos {
    order: 7 !important;
    margin: 0.55rem auto 0.15rem !important;
  }
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews > .me-container {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  gap: var(--me-m-gap) !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__header,
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__header--split,
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider],
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider {
  display: contents !important;
}

html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__intro { order: 1 !important; }
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__lead { order: 2 !important; }
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-slider__track,
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider] > [data-me-track] { order: 3 !important; }
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-slider__controls { order: 4 !important; }
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-slider__dots,
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider] > [data-me-dots] { order: 5 !important; }
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__slider[data-me-slider] > .me-reviews__source {
  order: 6 !important;
  margin-top: 0.15rem !important;
  margin-bottom: 0 !important;
}
html.me-is-mobile.me-mobile-embed body.me-plugin-home .me-reviews__photos {
  order: 7 !important;
  margin: 0.55rem auto 0.15rem !important;
}

/* Offres : les clones DOIVENT rester en flex column (sinon photo/prix/CTA se décalent) */
html.me-is-mobile body.me-plugin-home .me-offers .me-slider__slide.is-clone,
html.me-is-mobile body.me-plugin-home .me-offers .me-offer-card.is-clone {
  display: flex !important;
  flex-direction: column !important;
  align-self: stretch !important;
}

html.me-is-mobile body.me-plugin-home .me-footer {
  padding-top: var(--me-ft-m-pad-top, 1.75rem) !important;
  font-size: var(--me-ft-m-fs, 0.78rem) !important;
  overflow-x: clip !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__inner {
  width: min(100% - (var(--me-m-gutter, 1.1rem) * 2), var(--me-ft-content-max, 1120px)) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__grid {
  display: flex !important;
  flex-direction: column !important;
  gap: var(--me-ft-m-gap, 1.5rem) !important;
  text-align: left !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-bottom: var(--me-ft-m-pad-bottom, 1.25rem) !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__brand-col {
  gap: 0.95rem !important;
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__about,
html.me-is-mobile body.me-plugin-home .me-footer__legal-info {
  max-width: min(100%, var(--me-ft-m-brand-max, 100ch)) !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__brand img {
  max-height: var(--me-ft-m-logo-h, 36px) !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__title {
  font-size: var(--me-ft-m-title-fs, 0.65rem) !important;
  text-align: left !important;
}

html.me-is-mobile body.me-plugin-home .me-footer__list,
html.me-is-mobile body.me-plugin-home .me-footer__list a {
  text-align: left !important;
}

/* Formulaires : pas de débordement */
html.me-is-mobile body.me-plugin-home input,
html.me-is-mobile body.me-plugin-home select,
html.me-is-mobile body.me-plugin-home textarea,
html.me-is-mobile body.me-plugin-home button {
  max-width: 100% !important;
}

html.me-is-mobile body.me-plugin-home .me-form__field,
html.me-is-mobile body.me-plugin-home .me-form__grid > * {
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Preview / embed : pas de cadre html large — le shell iframe fixe le viewport */
html.me-mobile-embed,
html.me-mobile-embed body.me-plugin-home {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  background: var(--color-cream, #F5EFE6);
}

html.me-mobile-embed body.me-plugin-home {
  min-height: 100% !important;
  box-shadow: none !important;
}

/* Fallback no-JS */
@media (max-width: 980px) {
  body.me-plugin-home .me-nav,
  body.me-plugin-home .me-nav__list,
  body.me-plugin-home .me-mega {
    display: none !important;
  }

  body.me-plugin-home .me-burger {
    display: inline-grid !important;
    place-items: center;
    order: 1;
  }

  body.me-plugin-home .me-header .me-btn--nav {
    display: inline-flex !important;
    order: 2;
  }

  body.me-plugin-home .me-m-cta-bar {
    display: none !important;
  }

  body.me-plugin-home .me-hero {
    display: flex !important;
    flex-direction: column !important;
    min-height: 0 !important;
    height: auto !important;
  }

  body.me-plugin-home .me-hero__content {
    display: contents !important;
  }

  body.me-plugin-home .me-hero__media {
    position: relative !important;
    inset: auto !important;
    order: 1;
  }

  body.me-plugin-home .me-hero__copy { order: 2; text-align: center; }
  body.me-plugin-home .me-hero__cta { order: 3; }

  body.me-plugin-home .me-editorial__grid,
  body.me-plugin-home .me-editorial__grid--flip {
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: none !important;
  }

  body.me-plugin-home .me-stats__grid {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
  }

  body.me-plugin-home .me-postcards__stage {
    display: grid !important;
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.me-plugin-home .me-offers .me-slider__track,
  body.me-plugin-home .me-reviews .me-slider__track {
    display: grid !important;
    grid-auto-flow: column !important;
    overflow-x: auto !important;
    flex-direction: unset !important;
  }
}

/* =========================================================
   SITE-WIDE MOBILE — boutons centrés + respiration textes
   (header / WhatsApp flottant exclus)
   ========================================================= */

html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-hero__actions,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-section [class*="__actions"],
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-cta__actions,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pl-cta__actions,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pq-hero__actions,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-rs-criteria__cta,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-form__actions,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-contact-choice__actions,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-avis-intro__social,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-guide-article__footer {
  display: flex !important;
  flex-wrap: wrap !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home.me-m-btn-center main .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-section .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-hero .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-cta .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pl-cta .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pq-hero .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pq-split .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pq-terrain__btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-rs-card__btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-rs-criteria__cta .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-sn-discover .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-sn-expertise .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pl-universe .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-pl-card__btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-avis-social__btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-guide-article__footer .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-editorial__copy .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-modal .me-form__actions .me-btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center .me-contact-choice__btn,
html.me-is-mobile body.me-plugin-home.me-m-btn-center a.me-btn:not(.me-header a):not(.me-wa-float a),
html.me-is-mobile body.me-plugin-home.me-m-btn-center button.me-btn:not(.me-header button):not(.me-footer__acc-btn) {
  display: inline-flex !important;
  margin-left: auto !important;
  margin-right: auto !important;
  width: auto !important;
  max-width: min(100%, var(--me-m-btn-mw, 14rem)) !important;
  justify-content: center !important;
  align-items: center !important;
  align-self: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
}

/* Respiration latérale textes — anti-collage aux bords, sans trop rétrécir */
html.me-is-mobile body.me-plugin-home .me-section__title,
html.me-is-mobile body.me-plugin-home .me-section__intro,
html.me-is-mobile body.me-plugin-home .me-section__header,
html.me-is-mobile body.me-plugin-home .me-eyebrow,
html.me-is-mobile body.me-plugin-home .me-prose,
html.me-is-mobile body.me-plugin-home .me-prose p,
html.me-is-mobile body.me-plugin-home .me-hero__copy,
html.me-is-mobile body.me-plugin-home .me-hero__title,
html.me-is-mobile body.me-plugin-home .me-hero__subtitle,
html.me-is-mobile body.me-plugin-home .me-editorial__copy,
html.me-is-mobile body.me-plugin-home .me-cta__copy,
html.me-is-mobile body.me-plugin-home .me-review-card__text,
html.me-is-mobile body.me-plugin-home .me-offer-card__body,
html.me-is-mobile body.me-plugin-home .me-modal__dialog,
html.me-is-mobile body.me-plugin-home .me-form label,
html.me-is-mobile body.me-plugin-home .me-form input,
html.me-is-mobile body.me-plugin-home .me-form textarea,
html.me-is-mobile body.me-plugin-home .me-form select,
html.me-is-mobile body.me-plugin-home .me-footer__list a,
html.me-is-mobile body.me-plugin-home .me-footer__acc-label,
html.me-is-mobile body.me-plugin-home .me-footer__brand-name,
html.me-is-mobile body.me-plugin-home .me-footer__legal-card,
html.me-is-mobile body.me-plugin-home .me-footer__bottom,
html.me-is-mobile body.me-plugin-home [class*="__title"],
html.me-is-mobile body.me-plugin-home [class*="__intro"],
html.me-is-mobile body.me-plugin-home [class*="__text"],
html.me-is-mobile body.me-plugin-home [class*="__copy"] {
  max-width: 100% !important;
  box-sizing: border-box !important;
  overflow-wrap: break-word !important;
  word-break: break-word !important;
}

html.me-is-mobile body.me-plugin-home .me-container,
html.me-is-mobile body.me-plugin-home .me-footer__inner,
html.me-is-mobile body.me-plugin-home .me-modal__dialog {
  width: var(--me-m-content-w) !important;
  max-width: 100% !important;
  margin-inline: auto !important;
  box-sizing: border-box !important;
}

html.me-is-mobile body.me-plugin-home .me-modal__dialog {
  padding-inline: var(--me-m-text-inset, 0.85rem) !important;
}

/* Contact choice — phone only: keep channel labels on one horizontal line */
@media (max-width: 767px) {
  html.me-is-mobile body.me-plugin-home.me-m-btn-center #me-inquiry-modal .me-contact-choice__actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    flex-direction: unset !important;
    align-items: stretch !important;
    width: 100% !important;
  }

  html.me-is-mobile body.me-plugin-home.me-m-btn-center #me-inquiry-modal .me-contact-choice__btn,
  html.me-is-mobile body.me-plugin-home.me-m-btn-center #me-inquiry-modal a.me-contact-choice__btn {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    white-space: nowrap !important;
  }

  html.me-is-mobile #me-inquiry-modal .me-contact-choice__label {
    display: inline-block !important;
    white-space: nowrap !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    writing-mode: horizontal-tb !important;
  }
}
