/* Comparalu - couche responsive, n'affecte pas les ecrans > 800px. */
.mobile-menu-toggle{display:none}
@media (max-width:800px){
  *,*::before,*::after{box-sizing:border-box}
  html,body{width:100%;max-width:100%;margin:0;overflow-x:hidden}
  img,video,iframe{max-width:100%;height:auto}
  .wrapper,#site-content .wrapper,#site-footer .wrapper{width:auto!important;max-width:100%!important;margin-left:auto!important;margin-right:auto!important;padding-left:15px!important;padding-right:15px!important}
  #site-header .header-title{margin-top:0;margin-bottom:0;padding-top:15px;padding-bottom:12px}
  #site-header .header-title>p,#site-header .header-title>p:last-child{text-align:center!important;font-size:clamp(14px,4vw,20px)!important;line-height:1.35!important;margin:0 0 6px!important}
  #site-header .header-title>p strong{font-size:1.35em!important}
  .mobile-menu-toggle{display:block;width:100%;min-height:48px;border:0;color:#fff;background:#c9212b;text-align:left;padding:10px 16px;font-size:17px;font-weight:bold;cursor:pointer}
  #site-header .header-menu{display:none;overflow:visible}
  #site-header .header-menu.is-open{display:block}
  #site-header .header-menu ul{display:flex;flex-direction:column;padding:0!important;margin:0!important}
  #site-header .header-menu ul li{float:none;display:block;width:100%;border-bottom:1px solid rgba(255,255,255,.25)}
  #site-header .header-menu ul li:after{content:none}
  #site-header .header-menu ul li a{display:block;line-height:1.35;min-height:45px;padding:13px 18px;white-space:normal;font-size:14px}
  #site-header .header-hero .hero-bg{height:auto;min-height:130px;background-size:cover}
  #site-header .header-hero .wrapper{padding-top:12px!important;padding-bottom:12px!important}
  #site-header .header-hero .hero-title p{font-size:clamp(20px,6vw,32px);line-height:1.25;margin:12px 0}
  #site-header .header-hero .hero-form .pod{margin:12px 0}
  #site-content{padding:15px 0}
  h1,.title-h{font-size:clamp(19px,5vw,25px)!important;line-height:1.4!important;overflow-wrap:break-word}
  #site-content .dynamic-row{display:flex;flex-direction:column;gap:16px}
  .dynamic-row>[class*="column"],.dynamic-row .column-1,.dynamic-row .column-2,.dynamic-row .column-3,.dynamic-row .column-6{float:none!important;display:block!important;width:100%!important;max-width:100%!important;margin:0!important}
  .pod,.pod .pod-content{max-width:100%}
  .pod .pod-content{padding:16px 12px}
  .idealsteps-container,.idealsteps-wrap,.idealsteps-step,.idealsteps-nav,.idealsteps-nav li{max-width:100%!important}
  form.idealforms,form.idealforms .field{width:100%!important;max-width:100%!important}
  form.idealforms .field{height:auto!important;min-height:0!important;display:block!important;margin:0 0 14px!important;clear:both!important}
  form.idealforms label.main{float:none!important;display:block!important;width:100%!important;max-width:100%!important;height:auto!important;min-height:0!important;margin:0 0 6px!important;padding:0!important;line-height:1.4!important;text-align:left!important}
  form.idealforms input[type=text],form.idealforms input[type=email],form.idealforms input[type=tel],form.idealforms textarea,form.idealforms select{display:block!important;float:none!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;font-size:16px!important;min-height:42px}
  form.idealforms textarea{height:110px!important;min-height:110px}
  form.idealforms .field.buttons{display:flex!important;flex-wrap:wrap;gap:9px;align-items:center}
  form.idealforms .field.buttons label.main{display:none!important}
  form.idealforms .field.buttons button{flex:1 1 125px;min-height:44px;margin:0!important;cursor:pointer}
  form.idealforms .field .group,form.idealforms .field .grouped,form.idealforms .field .radios,form.idealforms .field .checkboxes{max-width:100%!important;width:100%!important}
  form.idealforms .field .error{max-width:100%!important;overflow-wrap:anywhere}
  #site-footer .site-footer-links{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0}
  #site-footer .site-footer-links li{float:none;width:auto!important;border-right:0;padding:7px 0}
  #site-footer .site-footer-links .li-title{font-size:14px;line-height:1.3}
  #side-3 .side-3-form{width:100%;max-width:100%}
  #side-3 .side-3-form input[type=text],#side-3 .side-3-form input[type=submit]{display:block;width:100%;max-width:100%;margin:0 0 10px;height:auto;min-height:45px;font-size:16px}
  .popular-pod{float:none!important;width:100%!important;margin:0 0 14px!important}
  #ca-container,#ca-container-2,#side-4 #ca-container{max-width:100%!important;overflow:hidden}
  #site-content table{max-width:100%;display:block;overflow-x:auto}
  form#jeu,form#rappel{max-width:100%;background-size:100% auto}
  form#jeu input,form#rappel input{max-width:90%}
}
@media(max-width:420px){#site-footer .site-footer-links{grid-template-columns:1fr}#site-header .header-hero .hero-bg{min-height:90px}.pod .pod-content{padding:12px 10px}}


/* V2 - bandeau et progression compacts sur smartphone */
@media (max-width:800px){
  #site-header .header-title{padding-top:10px!important;padding-bottom:8px!important}
  #site-header .header-title>p,
  #site-header .header-title>p:last-child{
    font-size:clamp(12px,3.15vw,17px)!important;
    line-height:1.25!important;
    margin:0 0 5px!important;
    letter-spacing:-.15px;
  }
  #site-header .header-title>p strong{font-size:1.18em!important}
  /* Priorite sur le mode .adaptive de IdealForms, qui empilait les etapes. */
  .idealsteps-container .idealsteps-nav,
  .idealsteps-container.adaptive .idealsteps-nav{
    width:100%!important;max-width:100%!important;
    margin:0 0 14px!important;border:1px solid #d1d1d1!important;
    border-radius:5px!important;box-shadow:none!important;
    background:#eee!important;overflow:hidden!important;
  }
  .idealsteps-container .idealsteps-nav ul,
  .idealsteps-container.adaptive .idealsteps-nav ul{
    display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;
    width:100%!important;margin:0!important;padding:0!important;
  }
  .idealsteps-container .idealsteps-nav li,
  .idealsteps-container.adaptive .idealsteps-nav li{
    display:block!important;float:none!important;flex:1 1 50%!important;
    width:50%!important;min-width:0!important;margin:0!important;
    overflow:hidden!important;
  }
  .idealsteps-container .idealsteps-nav li a,
  .idealsteps-container.adaptive .idealsteps-nav li a,
  .idealsteps-container.adaptive .idealsteps-nav li:first-child a,
  .idealsteps-container.adaptive .idealsteps-nav li.idealsteps-step-active a{
    display:flex!important;float:none!important;align-items:center!important;
    justify-content:center!important;width:100%!important;height:48px!important;
    padding:0 5px!important;line-height:1.15!important;
    font-size:0!important;text-align:center!important;
    border:0!important;border-radius:0!important;
    color:#666!important;background:#ececec!important;
  }
  .idealsteps-container .idealsteps-nav li:first-child a,
  .idealsteps-container.adaptive .idealsteps-nav li:first-child a{border-right:1px solid #d4d4d4!important}
  .idealsteps-container .idealsteps-nav li.idealsteps-step-active a,
  .idealsteps-container.adaptive .idealsteps-nav li.idealsteps-step-active a{
    color:#248dba!important;background:#fff!important;font-weight:700!important;
  }
  .idealsteps-container .idealsteps-nav a:before,
  .idealsteps-container .idealsteps-nav a:after,
  .idealsteps-container.adaptive .idealsteps-nav a:before,
  .idealsteps-container.adaptive .idealsteps-nav a:after{display:none!important}
  .idealsteps-container .idealsteps-nav li a .counter{display:none!important}
  .idealsteps-container .idealsteps-nav li:first-child a::after,
  .idealsteps-container.adaptive .idealsteps-nav li:first-child a::after{
    content:'1. Mon projet'!important;display:block!important;
    position:static!important;border:0!important;margin:0!important;
    font-size:clamp(12px,3.7vw,16px)!important;line-height:1.15!important;
  }
  .idealsteps-container .idealsteps-nav li:nth-child(2) a::after,
  .idealsteps-container.adaptive .idealsteps-nav li:nth-child(2) a::after{
    content:'2. Mes coordonnées'!important;display:block!important;
    position:static!important;border:0!important;margin:0!important;
    font-size:clamp(12px,3.7vw,16px)!important;line-height:1.15!important;
  }
}


/* V3 - blocs lateraux: conserver les dimensions natives des visuels (328 px),
   sans agrandir les images historiques sur les mobiles larges. */
@media (max-width:800px){
  #site-content .dynamic-row .column-3 .pod{
    width:100%!important;
    max-width:328px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden;
  }
  #site-content .dynamic-row .column-3 .pod > img{
    display:block;
    width:100%!important;
    max-width:328px!important;
    height:auto!important;
    margin:0 auto;
  }
  #site-content .dynamic-row .column-3 form#jeu,
  #site-content .dynamic-row .column-3 form#rappel{
    display:block!important;
    width:100%!important;
    max-width:328px!important;
    margin:0 auto!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
  }
  #site-content .dynamic-row .column-3 form#jeu{
    box-sizing:border-box!important;
    height:auto!important;
    min-height:425px!important;
    padding-top:160px!important;
  }
  #site-content .dynamic-row .column-3 form#rappel{
    box-sizing:border-box!important;
    height:auto!important;
    min-height:254px!important;
    padding-top:140px!important;
  }
  #site-content .dynamic-row .column-3 form#jeu input,
  #site-content .dynamic-row .column-3 form#rappel input{
    width:76%!important;
    max-width:250px!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}
@media (max-width:359px){
  #site-content .dynamic-row .column-3 form#jeu{
    padding-top:46%!important;
    min-height:390px!important;
  }
  #site-content .dynamic-row .column-3 form#rappel{
    padding-top:43%!important;
    min-height:240px!important;
  }
}

/* V4 — visuels lateraux reels : 328px d'origine, reduits a 280px sur mobile.
   Le formulaire est reduit a la meme echelle, ses champs restent dans le visuel. */
@media (max-width:800px){
  #site-content .dynamic-row .column-3 .pod{
    width:280px!important;
    max-width:100%!important;
    margin:0 auto 16px!important;
    overflow:hidden!important;
  }
  #site-content .dynamic-row .column-3 .pod > img{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    height:auto!important;
  }
  #site-content .dynamic-row .column-3 form#jeu,
  #site-content .dynamic-row .column-3 form#rappel{
    width:100%!important;
    max-width:100%!important;
    margin:0!important;
    background-size:100% auto!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    overflow:hidden!important;
    box-sizing:border-box!important;
  }
  #site-content .dynamic-row .column-3 form#jeu{
    height:363px!important;
    min-height:0!important;
    padding:136px 0 0!important;
  }
  #site-content .dynamic-row .column-3 form#rappel{
    height:217px!important;
    min-height:0!important;
    padding:119px 0 0!important;
  }
  #site-content .dynamic-row .column-3 form#jeu input,
  #site-content .dynamic-row .column-3 form#rappel input{
    display:block!important;
    width:214px!important;
    max-width:calc(100% - 30px)!important;
    min-width:0!important;
    margin:0 auto 8px!important;
    box-sizing:border-box!important;
    font-size:13px!important;
  }
  #site-content .dynamic-row .column-3 form#jeu input[type=text],
  #site-content .dynamic-row .column-3 form#rappel input[type=text]{
    height:36px!important;
    min-height:0!important;
    padding:6px 9px!important;
    border-radius:8px!important;
  }
  #site-content .dynamic-row .column-3 form#jeu input[type=submit],
  #site-content .dynamic-row .column-3 form#rappel input[type=submit]{
    height:36px!important;
    min-height:0!important;
    padding:0!important;
    background-size:100% 100%!important;
  }
}
