/* Couleur violet foncé globale */
:root,
body,
[data-framer-root] {
  --token-17855a8d-5e20-43de-94f2-ccf4b9feb401: #260029 !important;
  --token-d367fdb1-4c62-4944-8bbb-c8ced73e3ff6: #260029 !important;
}

a.framer-cF4iG,
a.framer-S5g6M,
.framer-bsxpif,
.framer-pfjzt8,
.framer-1rq8edr,
.framer-exz7h0 {
  background-color: #260029 !important;
  border-color: #260029 !important;
  --border-color: #260029 !important;
}

.framer-pfjzt8,
.framer-1ua7w7s,
.framer-sgtabz .framer-8ttr7l {
  --border-color: #260029 !important;
  border-color: #260029 !important;
}

/* Fix navbar mobile décalée — Framer utilise width:390px fixe */
@media (max-width: 809.98px) {
  html,
  body {
    overflow-x: hidden;
    width: 100%;
    max-width: 100%;
  }

  #main,
  [data-framer-root] {
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: hidden;
    place-content: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .framer-1htuy4k {
    place-content: flex-start !important;
    align-content: flex-start !important;
    justify-content: flex-start !important;
    align-items: stretch !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .framer-vrf80x-container {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
  }

  nav.framer-s9oXE {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 auto !important;
    padding-left: max(16px, env(safe-area-inset-left)) !important;
    padding-right: max(16px, env(safe-area-inset-right)) !important;
    box-sizing: border-box !important;
  }

  nav.framer-s9oXE .framer-1i8q9kc,
  nav.framer-s9oXE .framer-1rrdilf,
  nav.framer-s9oXE .framer-vlgkks-container {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  nav.framer-xE6zn {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  nav.framer-xE6zn .framer-1wfkwfh {
    width: 100% !important;
    max-width: 100% !important;
  }

  /* Section paiement — boutons qui débordent */
  .framer-pfjzt8,
  .framer-1rq8edr,
  .framer-exz7h0,
  .framer-1ua7w7s {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .framer-1rq8edr {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  .framer-1jitjtq-container,
  .framer-1hpehlg-container,
  .framer-zjmsU .framer-1jitjtq-container,
  .framer-zjmsU .framer-1hpehlg-container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 50px !important;
    margin-bottom: 10px !important;
  }

  a.framer-cF4iG.framer-xd0yy8 {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 50px !important;
    height: auto !important;
    padding: 12px 48px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: hidden !important;
  }

  a.framer-cF4iG .framer-1izj0vc {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  a.framer-cF4iG .framer-1izj0vc .framer-text {
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: anywhere !important;
    line-height: 1.35 !important;
    font-size: 13px !important;
    text-align: center !important;
    width: 100% !important;
  }

  /* Navbar — "Accédez au programme" */
  a.framer-S5g6M {
    justify-content: center !important;
    text-align: center !important;
  }

  a.framer-S5g6M .framer-text,
  a.framer-S5g6M p.framer-text {
    text-align: center !important;
    width: 100% !important;
  }

  a.framer-cF4iG .framer-7qfo79 {
    flex-shrink: 0 !important;
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
  }

  a.framer-cF4iG .framer-16nm2hh-container {
    right: 8px !important;
    left: auto !important;
  }

  /* Boutons paiement — même style que "Accéder au programme", texte sur 2 lignes */
  .framer-pfjzt8 .framer-1rq8edr {
    gap: 12px !important;
  }

  .framer-pfjzt8 .framer-1jitjtq-container,
  .framer-pfjzt8 .framer-1hpehlg-container {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
  }

  .framer-pfjzt8 a.framer-cF4iG.framer-xd0yy8 {
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    height: auto !important;
    min-height: 52px !important;
    padding: 10px 46px !important;
    background-color: #ffffff !important;
    border: 1px solid #ffffff !important;
    --border-color: #ffffff !important;
    border-radius: 30px !important;
    overflow: hidden !important;
    position: relative !important;
  }

  .framer-pfjzt8 a.framer-cF4iG .framer-1izj0vc {
    position: relative !important;
    flex: 1 1 auto !important;
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    text-align: center !important;
  }

  .framer-pfjzt8 a.framer-cF4iG .framer-1izj0vc .framer-text {
    color: #260029 !important;
    --framer-text-color: #260029 !important;
    font-size: 10.5px !important;
    --framer-font-size: 10.5px !important;
    font-weight: 500 !important;
    line-height: 1.25 !important;
    letter-spacing: -0.01em !important;
    text-align: center !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: break-word !important;
    display: block !important;
    width: 100% !important;
  }

  .framer-pfjzt8 a.framer-cF4iG .framer-7qfo79 {
    position: absolute !important;
    top: 50% !important;
    right: 6px !important;
    left: auto !important;
    transform: translateY(-50%) !important;
    background-color: #260029 !important;
    width: 34px !important;
    height: 34px !important;
    min-width: 34px !important;
    flex-shrink: 0 !important;
    border-radius: 50% !important;
  }

  .framer-pfjzt8 a.framer-cF4iG .framer-7qfo79 svg,
  .framer-pfjzt8 a.framer-cF4iG .framer-7qfo79 svg * {
    fill: #ffffff !important;
    color: #ffffff !important;
  }

  /* Section CTA — "Transformez votre ambition en réalité" */
  .framer-sgtabz {
    width: 100% !important;
    max-width: 100% !important;
    padding: 48px 16px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .framer-8ttr7l {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 520px !important;
    padding: 72px 20px 36px !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
  }

  .framer-jv0o {
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    padding: 0 4px !important;
    gap: 16px !important;
  }

  .framer-18b3olx,
  .framer-vnwzdk,
  .framer-1x45r9m {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .framer-18b3olx .framer-text {
    font-size: clamp(28px, 9vw, 48px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  .framer-vnwzdk h2,
  .framer-vnwzdk h2 .framer-text {
    font-size: clamp(26px, 7.5vw, 42px) !important;
    line-height: 1.08 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    hyphens: auto !important;
    text-align: center !important;
  }

  .framer-1x45r9m .framer-text {
    font-size: 14px !important;
    line-height: 1.55 !important;
    padding: 0 4px !important;
    white-space: normal !important;
    word-break: break-word !important;
  }

  .framer-sgtabz .framer-uooibz-container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  /* Section modules (Timetable) + bonus — centrage et largeur mobile */
  .framer-gxmibw {
    width: 100% !important;
    max-width: 100% !important;
    padding: 24px 16px !important;
    box-sizing: border-box !important;
    align-items: stretch !important;
    overflow: visible !important;
  }

  .framer-31cfym-container,
  .framer-10na8b8-container {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    box-sizing: border-box !important;
  }

  .framer-gxmibw .framer-l4ura1,
  .framer-gxmibw .framer-1f1k1i5,
  .framer-gxmibw .framer-110nzqo,
  .framer-gxmibw .framer-1mcpg33,
  .framer-gxmibw .framer-1gquioj,
  .framer-gxmibw .framer-1jvmusf,
  .framer-gxmibw .framer-1bihg5b,
  .framer-gxmibw .framer-q7d75,
  .framer-gxmibw .framer-1og7mxj,
  .framer-58xUY,
  .framer-58xUY .framer-1m4rk1n {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  .framer-gxmibw .framer-1f1k1i5 {
    display: flex !important;
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 16px !important;
    width: 100% !important;
  }

  /* Badge "+2H de vidéos + ebook" au-dessus du titre modules */
  .framer-gxmibw .framer-110nzqo {
    display: flex !important;
    overflow: visible !important;
    min-height: 54px !important;
    width: fit-content !important;
    max-width: 100% !important;
    flex-shrink: 0 !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }

  .framer-gxmibw .framer-110nzqo [data-framer-component-type="RichTextContainer"] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: auto !important;
    height: auto !important;
  }

  /* Titre "5 modules. Un système entier." — taille mobile */
  .framer-gxmibw .framer-i3p4ta {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }

  .framer-gxmibw .framer-i3p4ta h2.framer-text,
  .framer-gxmibw .framer-i3p4ta h2.framer-text > span.framer-text {
    font-size: clamp(30px, 8.5vw, 44px) !important;
    --framer-font-size: clamp(30px, 8.5vw, 44px) !important;
    line-height: 1.05 !important;
  }

  .framer-gxmibw .framer-i3p4ta h2.framer-text em.framer-text {
    font-size: clamp(26px, 7.5vw, 38px) !important;
    --framer-font-size: clamp(26px, 7.5vw, 38px) !important;
    line-height: 1.1 !important;
  }

  /* Description modules — texte blanc invisible sur fond blanc */
  .framer-gxmibw .framer-3ae0jh {
    width: 100% !important;
    height: auto !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
  }

  .framer-gxmibw .framer-3ae0jh p.framer-text {
    color: rgb(19, 21, 23) !important;
    --framer-text-color: rgb(19, 21, 23) !important;
  }

  /* Cartes bonus — réduire la hauteur sur mobile */
  .framer-gxmibw .framer-1u4s0d0,
  .framer-58xUY .framer-w5eerz,
  .framer-58xUY .framer-11d04dy,
  .framer-58xUY .framer-d6lhva,
  .framer-58xUY .framer-1p63avm {
    width: 100% !important;
    max-width: 100% !important;
    height: 390px !important;
    min-height: 390px !important;
    max-height: 390px !important;
    margin: 0 auto !important;
    padding: 20px !important;
    box-sizing: border-box !important;
    place-self: stretch !important;
  }

  .framer-58xUY .framer-1w3kvej,
  .framer-58xUY .framer-1w3h8hb,
  .framer-58xUY .framer-1xi9csh,
  .framer-58xUY .framer-16irkna {
    gap: 6px !important;
  }

  .framer-58xUY .framer-twyy2w,
  .framer-58xUY .framer-dii7hc,
  .framer-58xUY .framer-1hx01y9,
  .framer-58xUY .framer-1vljrjn {
    top: 78px !important;
  }

  .framer-58xUY .framer-hdcrxv-container,
  .framer-58xUY .framer-15m0oj0-container,
  .framer-58xUY .framer-39xhv2-container,
  .framer-58xUY .framer-p29ujd-container {
    transform: scale(0.88) !important;
    transform-origin: center top !important;
  }

  .framer-58xUY .framer-1m4rk1n {
    gap: 14px !important;
  }

  /* Titre "Nos partenaires à Dubaï" — éviter coupure sur mobile */
  .framer-1mway9h {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    padding: 0 16px !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    text-align: center !important;
  }

  .framer-1mway9h [data-framer-component-type="RichTextContainer"] {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
  }

  .framer-1mway9h .framer-text {
    width: 100% !important;
    max-width: 100% !important;
    font-size: clamp(24px, 6.8vw, 32px) !important;
    --framer-font-size: clamp(24px, 6.8vw, 32px) !important;
    line-height: 1.1 !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    text-align: center !important;
  }

  /* Partenaires — remplace le carrousel 3D Framer (cassé sur iPhone) */
  .framer-cmem87[data-framer-name="Gallery"] {
    width: 100% !important;
    max-width: 100% !important;
    min-height: 260px !important;
    height: auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    background: transparent !important;
    opacity: 1 !important;
    transform: none !important;
    -webkit-mask: none !important;
    mask: none !important;
  }

  .framer-cmem87[data-partners-fixed="true"] .framer-w0jqcn-container {
    display: none !important;
  }

  .partners-mobile-ticker {
    width: 100%;
    overflow: hidden;
    padding: 4px 0 12px;
    -webkit-overflow-scrolling: touch;
    -webkit-mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000 8%,
      #000 92%,
      transparent 100%
    );
    mask-image: linear-gradient(
      90deg,
      transparent 0%,
      #000 8%,
      #000 92%,
      transparent 100%
    );
  }

  .partners-mobile-track {
    display: flex;
    align-items: center;
    gap: 14px;
    width: max-content;
    min-width: 100%;
    will-change: transform;
    transform: translate3d(0, 0, 0);
    -webkit-transform: translate3d(0, 0, 0);
    -webkit-animation: partners-mobile-scroll 32s linear infinite;
    animation: partners-mobile-scroll 32s linear infinite;
  }

  .partners-mobile-track.is-js-scroll {
    -webkit-animation: none !important;
    animation: none !important;
  }

  .partners-mobile-item {
    flex: 0 0 auto;
    width: 170px;
    height: 212px;
    border-radius: 16px;
    overflow: hidden;
    background: #131517;
  }

  .partners-mobile-item img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    pointer-events: none;
    -webkit-user-drag: none;
    user-select: none;
  }

  @-webkit-keyframes partners-mobile-scroll {
    0% {
      -webkit-transform: translate3d(0, 0, 0);
      transform: translate3d(0, 0, 0);
    }
    100% {
      -webkit-transform: translate3d(var(--partners-scroll-distance, -1840px), 0, 0);
      transform: translate3d(var(--partners-scroll-distance, -1840px), 0, 0);
    }
  }

  @keyframes partners-mobile-scroll {
    0% {
      transform: translate3d(0, 0, 0);
    }
    100% {
      transform: translate3d(var(--partners-scroll-distance, -1840px), 0, 0);
    }
  }

  @media (prefers-reduced-motion: reduce) {
    .partners-mobile-track {
      -webkit-animation: partners-mobile-scroll 48s linear infinite !important;
      animation: partners-mobile-scroll 48s linear infinite !important;
      overflow-x: auto;
      scroll-snap-type: x mandatory;
      width: max-content !important;
      min-width: 100%;
      padding: 0 16px;
      box-sizing: border-box;
    }

    .partners-mobile-item {
      scroll-snap-align: center;
    }
  }

  /* Citation investisseurs — taille lisible + effet apparition lettre par lettre */
  .framer-9wdoet {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    padding: 28px 16px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
  }

  .framer-9wdoet .framer-dqvjwx,
  .framer-9wdoet .framer-isdt2 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    padding: 0 8px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    text-align: center !important;
  }

  .framer-9wdoet p.framer-text,
  .framer-9wdoet p.framer-text .framer-text {
    --framer-font-size: clamp(22px, 6.2vw, 28px) !important;
    font-size: clamp(22px, 6.2vw, 28px) !important;
    line-height: 1.45 !important;
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    white-space: normal !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
    color: rgb(19, 21, 23) !important;
  }

  .framer-9wdoet p.framer-text + p.framer-text,
  .framer-9wdoet p.framer-text + p.framer-text .framer-text {
    --framer-font-size: clamp(18px, 5vw, 23px) !important;
    font-size: clamp(18px, 5vw, 23px) !important;
    margin-top: 14px !important;
  }

  .framer-9wdoet p.framer-text span[style*="nowrap"] {
    white-space: nowrap !important;
    display: inline-block !important;
    vertical-align: top !important;
  }

  .framer-9wdoet p.framer-text span span {
    display: inline-block !important;
    white-space: nowrap !important;
    font-size: inherit !important;
    line-height: inherit !important;
    will-change: transform, opacity, filter !important;
  }

  /* Hero — "The reign method" sur 2 lignes, aligné à gauche sur mobile */
  .framer-uqyp96 {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    gap: 10px !important;
    align-items: flex-start !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  .framer-26v7ls {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    align-self: flex-start !important;
    text-align: left !important;
  }

  .framer-26v7ls h1.framer-text {
    font-size: 0 !important;
    line-height: 0 !important;
    height: auto !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: left !important;
  }

  .framer-26v7ls h1.framer-text::before,
  .framer-26v7ls h1.framer-text::after {
    display: block;
    font-family: "Anton SC", "Anton SC Placeholder", sans-serif !important;
    font-size: clamp(50px, 13vw, 68px) !important;
    --framer-font-size: clamp(50px, 13vw, 68px) !important;
    line-height: 0.98 !important;
    text-transform: uppercase !important;
    color: rgb(19, 21, 23) !important;
    letter-spacing: -0.01em !important;
    text-align: left !important;
  }

  .framer-26v7ls h1.framer-text::before {
    content: "The reign";
  }

  .framer-26v7ls h1.framer-text::after {
    content: "method";
  }

  /* Section "Tu te reconnais" — cartes checklist décalées (position absolute Framer) */
  .framer-thi9ge {
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    overflow: visible !important;
    padding: 0 16px 32px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 24px !important;
  }

  .framer-1xk1r23 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
  }

  .framer-7b0d7d,
  .framer-16g8ail {
    position: relative !important;
    top: auto !important;
    bottom: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    max-width: 100% !important;
    height: auto !important;
    flex: none !important;
    margin: 0 !important;
    padding: 20px 16px !important;
    box-sizing: border-box !important;
    display: flex !important;
    flex-direction: column !important;
    gap: 20px !important;
    overflow: visible !important;
  }

  .framer-1onp2jh,
  .framer-jhg9z1 {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    order: 2 !important;
  }

  /* Titres en tête de carte (Framer les met en 2e dans le DOM) */
  .framer-1bgykua,
  .framer-21jm5w {
    position: relative !important;
    top: auto !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
    width: 100% !important;
    padding: 0 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    order: 1 !important;
    margin-bottom: 8px !important;
  }

  .framer-1onp2jh,
  .framer-jhg9z1 {
    gap: 20px !important;
  }

  .framer-1023uqs {
    width: 100% !important;
    gap: 14px !important;
    flex-direction: column !important;
    align-items: stretch !important;
  }

  .framer-177igoy,
  .framer-hc7ndy,
  .framer-1wyjcku,
  .framer-8t6jig,
  .framer-14hkr41,
  .framer-1cfoa84,
  .framer-180vf0q,
  .framer-1bgykua,
  .framer-21jm5w {
    align-items: flex-start !important;
    place-content: flex-start !important;
    width: 100% !important;
    overflow: visible !important;
  }

  .framer-1tvv86i-container,
  .framer-cg9vl3-container,
  .framer-yjq4yq-container,
  .framer-kb8fky-container,
  .framer-16nabj4-container,
  .framer-z7h3q5-container,
  .framer-ggnu7z-container {
    flex-shrink: 0 !important;
    align-self: flex-start !important;
    margin-top: 2px !important;
  }

  .framer-1k8pzyu,
  .framer-1gucpcx,
  .framer-vqdbe1,
  .framer-l9il78,
  .framer-19yimcg,
  .framer-o1vnvv,
  .framer-1oneh7r {
    flex: 1 1 auto !important;
    min-width: 0 !important;
  }
}
