/* PEXSA Voyage R1.8 — stabilisation canonique du hero mobile.
   Portée : accueil mobile uniquement, classes ajoutées au DOM rendu. */
@media (max-width: 768px) {
  .pexsa-r18-root {
    position: relative !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: hidden !important;
    isolation: isolate !important;
    padding-bottom: max(1rem, env(safe-area-inset-bottom)) !important;
  }

  .pexsa-r18-root > .pexsa-r18-lightener {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    pointer-events: none !important;
    z-index: 1 !important;
    background: linear-gradient(180deg, rgba(255,255,255,.10), rgba(255,255,255,.04) 48%, rgba(255,255,255,.08)) !important;
  }

  .pexsa-r18-layout {
    position: relative !important;
    z-index: 2 !important;
    display: flex !important;
    flex-direction: column !important;
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    justify-content: flex-start !important;
    gap: clamp(1rem, 4vw, 1.5rem) !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding-left: clamp(1rem, 4.5vw, 1.35rem) !important;
    padding-right: clamp(1rem, 4.5vw, 1.35rem) !important;
    padding-bottom: clamp(1.5rem, 6vw, 2.5rem) !important;
    box-sizing: border-box !important;
  }

  .pexsa-r18-content,
  .pexsa-r18-card {
    position: relative !important;
    inset: auto !important;
    top: auto !important;
    right: auto !important;
    bottom: auto !important;
    left: auto !important;
    float: none !important;
    clear: both !important;
    transform: none !important;
    translate: none !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    box-sizing: border-box !important;
  }

  .pexsa-r18-content {
    z-index: 2 !important;
    padding-bottom: 0 !important;
  }

  .pexsa-r18-title {
    display: block !important;
    position: relative !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
    font-size: clamp(2.45rem, 11.2vw, 3.7rem) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
    text-wrap: balance !important;
  }

  .pexsa-r18-card {
    z-index: 3 !important;
    margin-top: clamp(.35rem, 2vw, .75rem) !important;
    margin-bottom: 0 !important;
  }

  /* Le CTA mobile fixe ne doit pas masquer la fin du premier écran. */
  body {
    padding-bottom: max(76px, calc(64px + env(safe-area-inset-bottom))) !important;
  }
}

@media (max-width: 430px) {
  .pexsa-r18-title {
    font-size: clamp(2.35rem, 10.9vw, 3.25rem) !important;
  }
}

@media (max-width: 390px) {
  .pexsa-r18-title {
    font-size: clamp(2.2rem, 10.6vw, 3rem) !important;
    line-height: 1 !important;
  }
}

@media (max-width: 360px) {
  .pexsa-r18-title {
    font-size: clamp(2.05rem, 10.2vw, 2.75rem) !important;
  }
}

@media (min-width: 769px) {
  .pexsa-r18-lightener { display: none !important; }
}
