/* Ajustements de mise en page Referis, chargés après les styles de la template.
   !important : Framer réinjecte ses propres styles lors de la navigation entre pages. */

/* Accueil, section « Visibilité IA » : titre sur 2 lignes sur ordinateur, phrase gardée à 500 px. */
@media (min-width: 1200px) {
  .framer-bxvpZ .framer-1o410cx {
    max-width: 860px !important;
  }
  .framer-bxvpZ .framer-14fejuf h2 {
    text-wrap: balance;
  }
  .framer-bxvpZ .framer-1icwt9x {
    max-width: 500px !important;
  }
}

/* Illustrations refaites en code à la place des images PNG de la template (scripts/lib/illustration.mjs).
   La carte occupe la même place que la carte dessinée dans l'image : --w % de la largeur de l'image
   (image de proportion --img, ajustée dans son bloc), centrée, au format --ratio.
   Toutes les mesures internes sont en --p (1/--base de la largeur de la carte) : elle s'agrandit comme une image. */
.rf-illu {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  container-type: size;
  font-family: "Inter", "Inter Placeholder", sans-serif;
}
.rf-illu__card {
  width: min(calc(var(--w) * 1cqw), calc(var(--w) * var(--img) * 1cqh));
  aspect-ratio: var(--ratio);
  container-type: inline-size;
  background: #fff;
  border: 1px solid #ececee;
  border-radius: 12px;
  box-shadow: 0 1px 2px rgba(16, 18, 22, 0.04), 0 8px 24px rgba(16, 18, 22, 0.05);
  overflow: hidden;
}
.rf-illu__in {
  --p: calc(100cqw / var(--base));
  position: relative;
  width: 100%;
  height: 100%;
  color: #3c3c3c;
}
.rf-illu__in > * {
  position: absolute;
}

/* Accueil, section « Plan d'action » : carte « Actions en cours » (image d'origine 3200 × 3036, carte 458 × 322). */
.rf-plan {
  --w: 83.4;
  --img: 1.054;
  --ratio: 458 / 322;
  --base: 458;
}
.rf-plan__ico {
  left: calc(var(--p) * 20);
  top: calc(var(--p) * 25);
  width: calc(var(--p) * 19);
  height: calc(var(--p) * 19);
  display: grid;
  place-items: center;
  border-radius: calc(var(--p) * 5);
  background: #f0f1f2;
}
.rf-plan__ico svg {
  width: calc(var(--p) * 11);
  height: calc(var(--p) * 11);
}
.rf-plan__title {
  left: calc(var(--p) * 47);
  top: calc(var(--p) * 34.5);
  transform: translateY(-50%);
  font-size: calc(var(--p) * 13);
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.rf-plan__tabs {
  right: calc(var(--p) * 21);
  top: calc(var(--p) * 22);
  height: calc(var(--p) * 25);
  display: flex;
  align-items: center;
  gap: calc(var(--p) * 2);
  padding: 0 calc(var(--p) * 3.5);
  border: 1px solid #e8e8ea;
  border-radius: calc(var(--p) * 7);
  font-size: calc(var(--p) * 10);
  font-weight: 500;
  color: #9c9c9d;
}
.rf-plan__tabs span {
  padding: 0 calc(var(--p) * 8);
  line-height: calc(var(--p) * 17.5);
  border-radius: calc(var(--p) * 4.5);
}
.rf-plan__tabs .is-on {
  background: #0d0f13;
  color: #fff;
}
.rf-plan__line {
  top: calc(var(--p) * 75);
  bottom: calc(var(--p) * 11);
  width: 1px;
  background: #efeff1;
}
.rf-plan__axis {
  top: calc(var(--p) * 296.5);
  transform: translateY(-50%);
  font-size: calc(var(--p) * 10);
  font-weight: 500;
  color: #9c9c9d;
}
.rf-plan__row {
  left: calc(var(--p) * 20.5);
  transform: translateY(-50%);
  font-size: calc(var(--p) * 11);
  font-weight: 600;
  white-space: nowrap;
}
.rf-plan__bar {
  height: calc(var(--p) * 28);
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 calc(var(--p) * 4) 0 calc(var(--p) * 10.5);
  border-radius: 999px;
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.06);
  color: #fff;
  font-size: calc(var(--p) * 10);
  font-weight: 600;
  white-space: nowrap;
}
.rf-plan__ais {
  display: flex;
}
.rf-plan__ais b {
  width: calc(var(--p) * 19);
  height: calc(var(--p) * 19);
  margin-left: calc(var(--p) * -3);
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 calc(var(--p) * 1.5) rgba(255, 255, 255, 0.85);
}
.rf-plan__ais img {
  width: calc(var(--p) * 11);
  height: calc(var(--p) * 11);
  display: block;
}

/* Accueil, section « Suivi » : carte « Points de suivi » (image d'origine 2292 × 2176, carte 421 × 358,5). */
.rf-cal {
  --w: 76.55;
  --img: 1.0533;
  --ratio: 421 / 358.5;
  --base: 421;
}
.rf-cal .rf-illu__card {
  border-radius: 14px;
}
.rf-cal__ico {
  left: calc(var(--p) * 24.5);
  top: calc(var(--p) * 24.5);
  width: calc(var(--p) * 23);
  height: calc(var(--p) * 23);
  display: grid;
  place-items: center;
  border-radius: calc(var(--p) * 6);
  background: #f0f0f0;
}
.rf-cal__ico svg {
  width: calc(var(--p) * 13);
  height: calc(var(--p) * 13);
}
.rf-cal__title {
  left: calc(var(--p) * 57);
  top: calc(var(--p) * 36);
  transform: translateY(-50%);
  font-size: calc(var(--p) * 15);
  font-weight: 600;
  letter-spacing: -0.01em;
  white-space: nowrap;
}
.rf-cal__plus {
  left: calc(var(--p) * 373.5);
  top: calc(var(--p) * 25);
  width: calc(var(--p) * 21);
  height: calc(var(--p) * 21);
  display: grid;
  place-items: center;
  border-radius: calc(var(--p) * 5);
  background: #0c0e13;
  color: #fff;
}
.rf-cal__plus svg {
  width: calc(var(--p) * 11);
  height: calc(var(--p) * 11);
}
.rf-cal__strip {
  left: calc(var(--p) * 24.5);
  top: calc(var(--p) * 73.5);
  width: calc(var(--p) * 372);
  height: calc(var(--p) * 67.5);
  border: 1px solid #e8e8e8;
  border-radius: calc(var(--p) * 16);
}
.rf-cal__day {
  top: calc(var(--p) * 82.5);
  width: calc(var(--p) * 46);
  height: calc(var(--p) * 50);
  transform: translateX(-50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(var(--p) * 5.5);
  border-radius: calc(var(--p) * 7);
}
.rf-cal__day em {
  font-style: normal;
  font-size: calc(var(--p) * 10.5);
  font-weight: 500;
  line-height: calc(var(--p) * 13);
  color: #9b9b9b;
}
.rf-cal__day strong {
  font-size: calc(var(--p) * 13);
  font-weight: 600;
  line-height: calc(var(--p) * 16);
  color: #414451;
}
.rf-cal__day.is-on {
  background: #0c0e13;
}
.rf-cal__day.is-on em,
.rf-cal__day.is-on strong {
  color: #fff;
}
.rf-cal__rule {
  left: calc(var(--p) * 24.5);
  top: calc(var(--p) * 252);
  width: calc(var(--p) * 372);
  height: 1px;
  background: #efefef;
}
.rf-cal__bar {
  left: calc(var(--p) * 24.5);
  width: calc(var(--p) * 4.5);
  height: calc(var(--p) * 67.5);
  border-radius: calc(var(--p) * 3);
}
.rf-cal__time,
.rf-cal__what,
.rf-cal__who,
.rf-cal__people,
.rf-cal__go {
  transform: translateY(-50%);
  white-space: nowrap;
}
.rf-cal__time,
.rf-cal__what,
.rf-cal__who {
  left: calc(var(--p) * 38);
}
.rf-cal__time {
  font-size: calc(var(--p) * 15);
  font-weight: 600;
  letter-spacing: -0.01em;
}
.rf-cal__what {
  font-size: calc(var(--p) * 13);
  color: #6a6a6b;
}
.rf-cal__who {
  font-size: calc(var(--p) * 11);
  color: #9b9b9b;
}
.rf-cal__who strong {
  font-weight: 600;
  color: #3c3c3b;
}
.rf-cal__people {
  left: calc(var(--p) * 287.5);
  display: flex;
}
.rf-cal__people b {
  width: calc(var(--p) * 32);
  height: calc(var(--p) * 32);
  margin-left: calc(var(--p) * -5);
  display: grid;
  place-items: center;
  border: 1px solid #e6e6e8;
  border-radius: 50%;
  background: #fff;
  box-shadow: 0 0 0 calc(var(--p) * 1.5) #fff;
}
.rf-cal__people b:first-child {
  margin-left: 0;
}
.rf-cal__people img {
  width: calc(var(--p) * 16);
  height: calc(var(--p) * 16);
  display: block;
}
.rf-cal__people .is-more {
  border-color: #0c0e13;
  background: #0c0e13;
  color: #fff;
  font-size: calc(var(--p) * 11);
  font-weight: 600;
}
.rf-cal__go {
  left: calc(var(--p) * 383);
  width: calc(var(--p) * 12);
  height: calc(var(--p) * 12);
  color: #211e1c;
}
.rf-cal__go svg {
  display: block;
  width: 100%;
  height: 100%;
}

/* Accueil, section « Analyse gratuite » : carte champ + résultats (image d'origine 2292 × 2176, carte 438 × 346,5). */
.rf-scan {
  --w: 79.64;
  --img: 1.0533;
  --ratio: 438 / 346.5;
  --base: 438;
}
.rf-scan .rf-illu__card {
  border-radius: 14px;
}
.rf-scan__title,
.rf-scan__subtitle,
.rf-scan__name,
.rf-scan__detail,
.rf-scan__field,
.rf-scan__verdict,
.rf-scan__logo {
  transform: translateY(-50%);
  white-space: nowrap;
}
.rf-scan__title {
  left: calc(var(--p) * 28);
  top: calc(var(--p) * 33.5);
  font-size: calc(var(--p) * 21);
  font-weight: 600;
  letter-spacing: -0.015em;
  color: #3b3b3b;
}
.rf-scan__field {
  left: calc(var(--p) * 27.5);
  top: calc(var(--p) * 86.5);
  width: calc(var(--p) * 335);
  height: calc(var(--p) * 36);
  display: flex;
  align-items: center;
  padding-left: calc(var(--p) * 11.5);
  box-sizing: border-box;
  border: 1px solid #ececec;
  border-radius: calc(var(--p) * 8);
  background: #f9f9f9;
  font-size: calc(var(--p) * 12.5);
  color: #8c8c8c;
}
.rf-scan__send {
  left: calc(var(--p) * 374.5);
  top: calc(var(--p) * 68.5);
  width: calc(var(--p) * 36);
  height: calc(var(--p) * 36);
  display: grid;
  place-items: center;
  border-radius: calc(var(--p) * 8);
  background: #0c0e13;
  color: #fff;
}
.rf-scan__send svg {
  width: calc(var(--p) * 14);
  height: calc(var(--p) * 14);
}
.rf-scan__rule {
  left: calc(var(--p) * 27.5);
  width: calc(var(--p) * 383);
  height: 1px;
  background: #ededed;
}
.rf-scan__subtitle {
  left: calc(var(--p) * 28);
  top: calc(var(--p) * 155);
  font-size: calc(var(--p) * 15);
  font-weight: 600;
  color: #3b3b3b;
}
.rf-scan__logo {
  left: calc(var(--p) * 28);
  width: calc(var(--p) * 46.5);
  height: calc(var(--p) * 46.5);
  display: grid;
  place-items: center;
  box-sizing: border-box;
  border: 1px solid #e8e8ea;
  border-radius: 50%;
  background: #fff;
}
.rf-scan__logo img {
  width: calc(var(--p) * 22);
  height: calc(var(--p) * 22);
  display: block;
}
.rf-scan__name,
.rf-scan__detail {
  left: calc(var(--p) * 85);
}
.rf-scan__name {
  font-size: calc(var(--p) * 15);
  font-weight: 600;
  color: #3b3b3b;
}
.rf-scan__detail {
  font-size: calc(var(--p) * 12.5);
  color: #757677;
}
.rf-scan__verdict {
  right: calc(var(--p) * 27.5);
  font-size: calc(var(--p) * 12.5);
  color: #757677;
}
.rf-scan__verdict.is-pill {
  height: calc(var(--p) * 38);
  display: flex;
  align-items: center;
  padding: 0 calc(var(--p) * 13.5);
  box-sizing: border-box;
  border: 1px solid #eaeaea;
  border-radius: calc(var(--p) * 8);
  background: #f9f9f9;
  font-size: calc(var(--p) * 11.5);
  font-weight: 600;
  color: #0c0e13;
}

/* Accueil, bande de chiffres (section Sources) : les libellés Referis sont plus longs que ceux de la template,
   ils passent sur plusieurs lignes, centrés, sur toute la largeur de leur colonne. */
.framer-jE0hN .framer-2222jj {
  width: 100% !important;
  max-width: 100% !important;
  justify-content: center;
}
.framer-jE0hN .framer-2222jj .framer-text {
  white-space: normal !important;
  text-align: center !important;
  text-wrap: balance;
}
/* Les libellés n'ont pas tous le même nombre de lignes : les quatre colonnes s'étirent à la même hauteur. */
.framer-18miiy {
  align-items: stretch !important;
}
.framer-18miiy [class*="-container"] > .framer-jE0hN {
  height: 100% !important;
}

/* Accueil, section « Réponses IA » : titre plus long que celui de la template, sur 2 lignes dès la tablette. */
@media (min-width: 810px) {
  .framer-mojzzy .framer-7h4q5e {
    max-width: 620px !important;
    flex: 1 0 0px !important;
  }
  .framer-7h4q5e .framer-9vszmz {
    max-width: min(620px, 100%) !important;
    width: 620px !important;
  }
  .framer-7h4q5e .framer-9vszmz h2 {
    text-wrap: balance;
  }
}

/* Tarifs : sur tablette, les deux offres côte à côte (la template les empile, prévu pour trois cartes). */
@media (min-width:810px) and (max-width:1199.98px){.framer-w8dVc.framer-v-h7bor1 .framer-1m8lxl{flex-direction:row!important;align-items:stretch!important}.framer-w8dVc.framer-v-h7bor1 .framer-fvxuzs,.framer-w8dVc.framer-v-h7bor1 .framer-1udb2pf{flex:1 0 0px!important;width:1px!important;min-width:0!important;align-self:stretch!important;height:auto!important}}

/* FAQ : sur mobile, le bloc de titre n'est plus collant (il recouvrait les questions pendant le défilement). */
@media (max-width:809.98px){[data-framer-name="FAQ"] [data-framer-name="Text"]{position:relative!important;top:auto!important}}

/* Sources (ex-Integration), mobile : le bloc de logos défilants doit rester carré ; dans la template, les colonnes
   s'étiraient à la hauteur de toutes leurs copies (≈ 43 000 px de page vide sur téléphone). */
@media (max-width:809.98px){.framer-4k4k1o{min-height:0!important}.framer-4k4k1o>[class*="-container"]{height:100%!important;min-height:0!important}}

/* Offre : titre de l'en-tête élargi sur ordinateur et tablette (zone de 500 px prévue pour un titre anglais court). */
@media (min-width:810px){.framer-13kw6cf{max-width:min(860px,100%)!important;width:860px!important}.framer-13kw6cf .framer-1flioev,.framer-13kw6cf .framer-yb0ei,.framer-13kw6cf h1{width:100%!important;max-width:100%!important}.framer-13kw6cf h1{text-wrap:balance}}

/* Tarifs, tableau comparatif sur mobile : colonnes de ~100 px, les textes passent à la ligne au lieu de déborder. */
@media (max-width:809.98px){.framer-hccc3k [data-framer-name="Title"] [data-framer-component-type="RichTextContainer"],.framer-hccc3k .framer-gfo35n [data-framer-component-type="RichTextContainer"]{width:100%!important;max-width:100%!important;white-space:normal!important}.framer-hccc3k [data-framer-name="Title"] .framer-text,.framer-hccc3k .framer-gfo35n .framer-text{white-space:normal!important;text-wrap:balance;text-align:center}}

/* Contact : titre réparti sur deux lignes équilibrées (sinon « IA » reste seul sur la deuxième ligne). */
.framer-pexuoy h1{text-wrap:balance}

/* Accueil, mobile : la vue du dashboard sous le bouton occupe la largeur de l'écran (la marge prévue pour
   l'ordinateur, 50 × 70 px, la réduisait à 210 px de large). */
@media (max-width:809.98px){.framer-bxvpZ .framer-xvoagy{padding:28px 12px!important}}

/* Pages légales : liens lisibles dans le texte (le style de la template les rendait gris très clair). */
.framer-8c37e5 a.framer-text{color:var(--token-e07e7674-54d1-47e8-969d-bfc477367873,#1c1817)!important;text-decoration:underline!important;text-underline-offset:2px}

/* Pages de contenu (Audit GEO, Accompagnement GEO, Comparatif) : mise en page des pages légales, colonne élargie,
   intertitres de niveau 3 plus petits que ceux de niveau 2, lien « Faire mon analyse » présenté en bouton. */
.rf-contenu .framer-1f40ijm{max-width:820px!important}
.rf-contenu .framer-8c37e5{max-width:720px!important}
.rf-contenu .framer-8c37e5 h3.framer-text{--framer-font-size:21px!important;--framer-line-height:1.35!important}
.rf-contenu .framer-8c37e5 a.framer-text[href$="contact"]{display:inline-block;background:var(--token-e07e7674-54d1-47e8-969d-bfc477367873,#1c1817);color:#fff!important;text-decoration:none!important;padding:10px 18px;border-radius:10px;font-weight:500}
.rf-contenu .framer-8c37e5 th.framer-text,.rf-contenu .framer-8c37e5 td.framer-text{vertical-align:top;min-width:96px!important}
@media (max-width:809.98px){.rf-contenu .framer-8c37e5 th.framer-text,.rf-contenu .framer-8c37e5 td.framer-text{min-width:150px!important}}
.rf-contenu .framer-8c37e5 td .framer-text,.rf-contenu .framer-8c37e5 th .framer-text{--framer-font-size:14px!important;--framer-line-height:1.45!important}

/* Menu, tablette : six liens (Connexion ajouté) ; marges des liens réduites pour que le bouton tienne dans la barre. */
@media (min-width:810px) and (max-width:1199.98px){.framer-1kug2f6 .framer-1s5pwh{--szzy1k:6px 5px 6px 5px!important;padding:6px 5px!important}}
