.elementor-27447 .elementor-element.elementor-element-232bddb{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-27447 .elementor-element.elementor-element-f20810b > .elementor-widget-container{margin:0px 0px 0px 0px;padding:0px 0px 0px 0px;}.elementor-27447 .elementor-element.elementor-element-f20810b.xpro-widget-bg-overlay:before{transition:background 0.3s;}/* Start custom CSS for container, class: .elementor-element-232bddb *//* Variables globales (si pas déjà définies) */
:root{
  --beige:#FFF5E6; --beige2:#FFF9E3; --white:#FFF;
  --text:#222; --muted:#444;
  --corail:#FF7F4F; --corail-weak:#FFCBA4; --border:#FFE2C9;
}

/* Layout & helpers */
.wrap{ max-width:1200px; margin:0 auto; padding:0 24px; }
.lead{ font:400 18px/1.65 "Open Sans",sans-serif; color:var(--muted); max-width:820px; margin:0 auto; }
.cta-row{ display:flex; gap:12px; justify-content:center; flex-wrap:wrap; margin-top:16px; }

/* Boutons */
.btn{ display:inline-flex; align-items:center; justify-content:center; padding:14px 28px;
      border-radius:30px; font:700 15.5px/1 "Montserrat",sans-serif; text-decoration:none;
      transition:background .25s,color .25s,transform .2s, box-shadow .25s; }
.btn--primary{ background:var(--corail); color:#FFF !important; box-shadow:0 4px 12px rgba(255,127,79,.25); }
.btn--primary:hover{ background:#FF885C; transform:translateY(-2px); box-shadow:0 10px 24px rgba(255,127,79,.35); }
.btn--outline{ border:2px solid var(--corail); color:var(--corail); background:transparent; }
.btn--outline:hover{ background:var(--corail); color:#FFF; transform:translateY(-2px); box-shadow:0 10px 24px rgba(255,127,79,.25); }

/* HERO */
.ads-hero{ background:linear-gradient(to bottom, var(--beige2), #FFF); padding:160px 0 80px; text-align:center; }
.ads-hero h1{ font:800 44px/1.2 "Montserrat",sans-serif; color:var(--text); margin:0 0 14px; }

/* CONTEXTE */
.ads-context{ background:#FFF; padding:90px 0; }
.ads-context h2{ font:800 34px/1.25 "Montserrat",sans-serif; color:var(--text); text-align:center; margin:0 0 32px; }
.ads-context .grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:start; }
.ads-context p{ font:400 16.5px/1.7 "Open Sans",sans-serif; color:var(--muted); margin:0 0 12px; }
.bullets{ list-style:none; padding:0; margin:0; }
.bullets li{ font:400 16px/1.7 "Open Sans",sans-serif; color:var(--muted); margin:0 0 10px; padding-left:18px; position:relative; }
.bullets li::before{ content:"•"; position:absolute; left:0; color:var(--corail); }

/* MÉTHODE */
.ads-method{ background:var(--beige2); padding:90px 0; text-align:center; }
.ads-method h2{ font:800 34px/1.25 "Montserrat",sans-serif; margin:0 0 36px; color:var(--text); }
.steps{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; max-width:1100px; margin:0 auto; padding:0; }
.step{ list-style:none; background:#FFF; border:1px solid var(--border); border-radius:16px; padding:22px;
       text-align:left; box-shadow:0 6px 20px rgba(0,0,0,.03);
       transition:transform .25s, box-shadow .25s, border-color .25s; }
.step:hover{ transform:translateY(-3px); box-shadow:0 12px 26px rgba(0,0,0,.06); border-color:var(--corail-weak); }
.step .ico{ width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(255,127,79,.08); color:var(--corail); font-size:20px; margin-bottom:10px; }
.step h3{ font:700 17px/1.35 "Montserrat",sans-serif; color:var(--text); margin:0 0 6px; }
.step p{ font:400 15.5px/1.6 "Open Sans",sans-serif; color:var(--muted); margin:0; }

/* OFFRE */
.ads-offer{ background:#FFF; padding:90px 0; }
.ads-offer h2{ font:800 34px/1.25 "Montserrat",sans-serif; text-align:center; margin:0 0 28px; color:var(--text); }
.offer-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.offer{ background:#FFF; border:1px solid var(--border); border-radius:16px; padding:24px; box-shadow:0 6px 20px rgba(0,0,0,.03); }
.offer h3{ font:700 18px/1.35 "Montserrat",sans-serif; margin:0 0 10px; color:var(--text); }
.offer ul{ margin:0; padding-left:18px; }
.offer li{ font:400 15.5px/1.6 "Open Sans",sans-serif; color:var(--muted); margin:0 0 6px; }
.meta{ display:flex; flex-wrap:wrap; gap:14px; justify-content:center; margin:18px 0 0; }
.meta > div{ background:var(--beige2); border:1px solid var(--border); border-radius:999px; padding:8px 12px; font:600 13px/1 "Montserrat",sans-serif; color:#333; }

/* DIFFÉRENCIATION */
.ads-diff{ background:var(--beige2); padding:90px 0; }
.ads-diff .grid{ display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.ads-diff h2{ font:800 34px/1.25 "Montserrat",sans-serif; margin:0 0 14px; color:var(--text); }
.check{ list-style:none; padding:0; margin:0 0 18px; }
.check li{ font:400 16px/1.7 "Open Sans",sans-serif; color:var(--muted); margin:0 0 8px; }
.diff-img{ width:100%; max-width:520px; border-radius:16px; box-shadow:0 10px 28px rgba(0,0,0,.06); display:block; margin:0 auto; }

/* FAQ */
.ads-faq{ background:#FFF; padding:80px 0; }
.ads-faq h2{ font:800 32px/1.25 "Montserrat",sans-serif; text-align:center; margin:0 0 18px; color:var(--text); }
.faq{ max-width:900px; margin:0 auto; }
.faq details{ background:#FFF; border:1px solid var(--border); border-radius:14px; padding:14px 16px; margin:10px 0; box-shadow:0 6px 20px rgba(0,0,0,.02); }
.faq summary{ font:700 15.5px/1.4 "Montserrat",sans-serif; cursor:pointer; }
.faq p{ font:400 15px/1.6 "Open Sans",sans-serif; color:var(--muted); margin:8px 0 4px; }

/* CTA final */
.ads-cta{ background:linear-gradient(135deg, var(--corail) 0%, var(--beige) 100%); padding:90px 0; text-align:center; color:#FFF; }
.ads-cta h2{ font:800 34px/1.2 "Montserrat",sans-serif; margin:0 0 10px; color:#FFF; }
.ads-cta .lead{ color:#FFF; opacity:.95; margin-bottom:18px; }

/* Animations douces */
.ads-hero h1,.ads-hero .lead,.ads-hero .btn,
.ads-context h2,.ads-context .grid,
.ads-method h2,.step,
.ads-offer h2,.offer-grid,.meta,
.ads-diff h2,.ads-diff .grid,
.ads-faq h2,.faq details,
.ads-cta h2,.ads-cta .lead,.ads-cta .btn{
  opacity:0; transform:translateY(12px); animation:fadeUp .55s ease-out forwards;
}
.ads-hero h1{ animation-delay:.05s } .ads-hero .lead{ animation-delay:.12s } .ads-hero .btn{ animation-delay:.20s }
.step:nth-child(1){ animation-delay:.12s } .step:nth-child(2){ animation-delay:.18s } .step:nth-child(3){ animation-delay:.24s } .step:nth-child(4){ animation-delay:.30s }
@keyframes fadeUp{ from{opacity:0; transform:translateY(12px)} to{opacity:1; transform:translateY(0)} }
@media (prefers-reduced-motion:reduce){
  .ads-hero h1,.ads-hero .lead,.ads-hero .btn,
  .ads-context h2,.ads-context .grid,.ads-method h2,.step,
  .ads-offer h2,.offer-grid,.meta,.ads-diff h2,.ads-diff .grid,
  .ads-faq h2,.faq details,.ads-cta h2,.ads-cta .lead,.ads-cta .btn{
    animation:none !important; opacity:1 !important; transform:none !important;
  }
}

/* Responsive */
@media (max-width:1024px){
  .ads-context .grid, .offer-grid, .ads-diff .grid{ grid-template-columns:1fr 1fr; gap:28px; }
}
@media (max-width:768px){
  .ads-hero h1{ font-size:32px; }
  .lead{ font-size:16px; }
  .ads-context .grid, .offer-grid, .ads-diff .grid{ grid-template-columns:1fr; gap:22px; }
  .btn--primary, .btn--outline{ width:100%; }
}



/* --- Fix responsive "Notre approche en 4 étapes" --- */

/* Sécurise l'affichage et évite tout rognage */
.ads-method { overflow: visible; }
.ads-method .wrap { max-width: 1100px; padding: 0 20px; }

/* Grille desktop par défaut (4 colonnes) – inchangé */
.steps { 
  display: grid; 
  grid-template-columns: repeat(4, 1fr); 
  gap: 24px; 
}

/* Tablette : 2 colonnes */
@media (max-width: 1024px) {
  .steps { grid-template-columns: 1fr 1fr; gap: 20px; }
  .step { padding: 20px; }
}

/* Mobile : 1 colonne, largeur 100%, aucune carte coupée */
@media (max-width: 768px) {
  .ads-method { padding: 72px 0; }
  .ads-method h2 { font-size: 28px; margin-bottom: 22px; }

  .steps {
    grid-template-columns: 1fr;     /* une seule colonne */
    gap: 16px;
    overflow: visible;
  }

  .step {
    width: 100%;
    min-width: 0;                   /* fix iOS Safari (grid overflow) */
    padding: 18px;
    border-radius: 14px;
    box-shadow: 0 6px 18px rgba(0,0,0,.04);
    transform: none !important;     /* évite décalages lors des hover sur mobile */
  }

  .step .ico {
    width: 40px; height: 40px;
    font-size: 18px;
    margin-bottom: 8px;
  }

  .step h3 { font-size: 16.5px; margin-bottom: 6px; }
  .step p  { font-size: 15px; line-height: 1.6; }
}

/* Très petits écrans : un peu plus de respiration */
@media (max-width: 380px) {
  .ads-method .wrap { padding: 0 16px; }
}/* End custom CSS */