/* V45 — popups premium + hero photo */
.hero45-photo{position:relative;overflow:hidden;background:#eaf4fb!important}.hero45-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center}.hero45-photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(238,248,255,.08),rgba(7,39,81,.05) 48%,rgba(255,255,255,.42))}.hero45-photo .hero43-message{position:absolute;z-index:3;right:8%;top:28%;text-shadow:0 1px 12px rgba(255,255,255,.75)}
body.modal-open45{overflow:hidden}.info-modal45{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:24px;background:rgba(5,26,56,.58);backdrop-filter:blur(8px);opacity:0;transition:opacity .18s ease}.info-modal45[hidden]{display:none}.info-modal45.show45{opacity:1}.info-card45,.simulation-shell45{position:relative;width:min(100%,980px);max-height:88vh;overflow:auto;background:#fff;border:1px solid rgba(19,72,124,.13);border-radius:26px;padding:34px;box-shadow:0 30px 90px rgba(4,28,59,.28);transform:translateY(10px) scale(.99);transition:transform .18s ease}.show45 .info-card45,.show45 .simulation-shell45{transform:none}.compact45{width:min(100%,900px)}.modal-close45{position:absolute;right:18px;top:16px;width:44px;height:44px;border:0;border-radius:50%;background:#edf5fb;color:#0a376e;font-size:28px;line-height:1;cursor:pointer}.modal-close45:hover{background:#fff2d7;color:#b66d00}.modal-kicker45,.sim-modal-head45>span{display:block;color:#c77b00;font-weight:800;font-size:13px;letter-spacing:.14em;margin-bottom:8px}.info-card45>h2,.sim-modal-head45 h2{margin:0 56px 24px 0;color:#092f63;font-size:clamp(26px,3vw,40px);line-height:1.08}.benefit-modal-grid45{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.benefit-modal-grid45>div{padding:17px;border:1px solid #dbe8f3;border-radius:16px;background:#fbfdff}.benefit-modal-grid45 b{display:inline-grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#fff1d4;color:#b76c00;font-size:12px;margin-bottom:9px}.benefit-modal-grid45 strong{display:block;color:#0b376f;font-size:16px;margin-bottom:5px}.benefit-modal-grid45 p{margin:0;color:#4c6683;font-size:14px;line-height:1.5}.modal-note45{color:#657b94;font-size:13px;margin:18px 0}.modal-sim45{margin-top:4px}.steps45{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;gap:14px;align-items:stretch}.steps45>div{padding:24px 18px;border:1px solid #dbe8f3;border-radius:20px;text-align:center;background:#fbfdff}.steps45>div.altec45{border-color:#e8b65a;background:#fffaf0}.steps45>div>span{display:grid;place-items:center;margin:0 auto 12px;width:38px;height:38px;border-radius:50%;background:#0b3a75;color:#fff;font-weight:800}.steps45 h3{color:#0a376e;margin:0 0 8px}.steps45 p{color:#4c6683;line-height:1.55;margin:0;font-size:15px}.steps45>i{align-self:center;color:#c77b00;font-size:26px;font-style:normal}.modal-callout45{margin:18px 0;padding:16px 20px;border-radius:16px;background:#edf6fd;color:#0b376f;display:flex;gap:8px;flex-wrap:wrap}.qa-modal45{display:grid;gap:8px}.qa-modal45 details{border:1px solid #dbe8f3;border-radius:14px;background:#fbfdff;overflow:hidden}.qa-modal45 summary{cursor:pointer;list-style:none;padding:15px 18px;color:#0a376e;font-weight:700;display:flex;justify-content:space-between;gap:14px}.qa-modal45 summary::-webkit-details-marker{display:none}.qa-modal45 summary b{color:#b66d00;white-space:nowrap}.qa-modal45 details p{margin:0;padding:0 18px 16px;color:#4c6683;line-height:1.55}.simulation-shell45{width:min(100%,1080px);padding:26px}.sim-modal-head45{padding:6px 52px 18px 8px}.sim-modal-head45 h2{margin-bottom:8px}.sim-modal-head45 p{margin:0;color:#536d88;font-size:16px}.simulation-in-modal45{padding:0!important;margin:0!important;background:transparent!important}.simulation-in-modal45 .sim-wrap{margin:0!important;max-width:none!important}.simulation-in-modal45 .sim-photo{border-radius:20px}.simulation-in-modal45 form{border-radius:20px}.simulation-in-modal45+.anything{display:none}
@media(max-width:850px){.hero45-photo .hero43-message{right:7%;top:16%}.benefit-modal-grid45{grid-template-columns:1fr 1fr}.steps45{grid-template-columns:1fr}.steps45>i{transform:rotate(90deg);justify-self:center}.info-card45,.simulation-shell45{padding:24px 18px}.simulation-in-modal45 .sim-wrap{grid-template-columns:1fr!important}.simulation-in-modal45 .sim-photo{min-height:260px}}
@media(max-width:560px){.info-modal45{padding:10px}.info-card45,.simulation-shell45{border-radius:20px;max-height:94vh}.benefit-modal-grid45{grid-template-columns:1fr}.hero45-photo .hero43-message{font-size:.92em}.modal-close45{right:10px;top:10px}.info-card45>h2,.sim-modal-head45 h2{margin-right:44px}}

/* V46 — hero plus compact : l'information reste prioritaire, photo secondaire et fusionnée */
@media (min-width:1001px){
  .hero43{
    min-height:535px;
    grid-template-columns:minmax(0,1.34fr) minmax(390px,.66fr);
    background:linear-gradient(105deg,#f7fcff 0%,#edf8ff 62%,#edf8ff 100%);
  }
  .hero43-copy{padding:58px 3.8vw 38px 5vw}
  .hero43 h1{font-size:clamp(50px,4.55vw,70px);margin:16px 0 14px}
  .hero43-copy>p{font-size:18px;line-height:1.5;margin-bottom:22px}
  .hero43-benefits{margin-top:32px}
  .hero45-photo{
    min-height:535px;
    overflow:visible;
    background:#edf8ff!important;
  }
  .hero45-photo>img{
    left:-150px;
    width:calc(100% + 150px);
    object-fit:cover;
    object-position:57% center;
  }
  .hero45-photo:before{
    content:"";
    position:absolute;
    z-index:2;
    top:0;bottom:0;left:-155px;
    width:300px;
    pointer-events:none;
    background:linear-gradient(90deg,#edf8ff 0%,rgba(237,248,255,.98) 20%,rgba(237,248,255,.82) 46%,rgba(237,248,255,.35) 74%,rgba(237,248,255,0) 100%);
  }
  .hero45-photo-shade{
    z-index:2;
    background:linear-gradient(90deg,rgba(237,248,255,.22),rgba(255,255,255,0) 42%,rgba(255,255,255,.14));
  }
  .hero45-photo .hero43-message{
    z-index:3;
    right:6%;top:22%;
    padding:14px 17px;
    max-width:290px;
    background:rgba(248,252,255,.84);
    backdrop-filter:blur(5px);
    border-radius:16px;
    box-shadow:0 10px 30px rgba(8,47,104,.08);
  }
  .hero45-photo .hero43-message span{font-size:clamp(23px,2vw,31px)}
  .hero45-photo .hero43-message strong{font-size:clamp(22px,1.8vw,28px)}
}

/* V47 — hero compact : visuel secondaire, image entière, aucune coupe */
@media (min-width:1001px){
  .hero43{
    min-height:520px;
    grid-template-columns:minmax(0,1.52fr) minmax(420px,.48fr);
    align-items:center;
    padding-right:4.5vw;
    background:linear-gradient(110deg,#f7fcff 0%,#edf8ff 100%);
  }
  .hero43-copy{
    padding:54px 3vw 38px 5vw;
  }
  .hero45-photo{
    min-height:0;
    height:auto;
    align-self:center;
    overflow:visible;
    background:transparent!important;
    border-radius:0;
    padding:0;
  }
  .hero45-photo>img{
    position:relative;
    inset:auto;
    left:auto;
    display:block;
    width:100%;
    max-width:520px;
    height:auto;
    margin:0 0 0 auto;
    object-fit:contain;
    object-position:center;
    border-radius:24px;
    border:1px solid rgba(201,137,19,.34);
    box-shadow:0 20px 55px rgba(9,47,99,.13);
  }
  .hero45-photo:before,
  .hero45-photo-shade{display:none!important}
  .hero45-photo .hero43-message{
    right:-1.5%;
    top:-9%;
    max-width:245px;
    padding:13px 16px;
    border:1px solid rgba(201,137,19,.16);
    background:rgba(255,255,255,.95);
    box-shadow:0 14px 35px rgba(8,47,104,.10);
    transform:rotate(-2deg);
  }
  .hero45-photo .hero43-message span{font-size:24px}
  .hero45-photo .hero43-message strong{font-size:23px}
}
@media (max-width:1000px){
  .hero43{padding-right:0}
  .hero45-photo{padding:22px 6vw 34px;background:#edf8ff!important;min-height:0}
  .hero45-photo>img{position:relative;inset:auto;width:min(100%,620px);height:auto;object-fit:contain;border-radius:22px;margin:0 auto;display:block}
  .hero45-photo-shade{display:none!important}
  .hero45-photo .hero43-message{right:8%;top:8%;left:auto;bottom:auto;max-width:250px}
}


/* V48 — retour à la consultante validée : visuel compact, entier et sans recadrage */
@media (min-width:1001px){
  .hero43{
    min-height:520px;
    grid-template-columns:minmax(0,1.5fr) minmax(390px,.5fr);
    padding-right:5vw;
  }
  .hero45-photo{
    width:min(100%,500px);
    justify-self:end;
    align-self:center;
    overflow:visible;
    background:transparent!important;
  }
  .hero45-photo>img{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    width:100%!important;
    max-width:500px!important;
    height:auto!important;
    aspect-ratio:auto!important;
    object-fit:contain!important;
    object-position:center!important;
    display:block!important;
    margin:0!important;
    border-radius:22px!important;
    border:1px solid rgba(201,137,19,.25)!important;
    box-shadow:0 18px 48px rgba(9,47,99,.12)!important;
  }
  .hero45-photo:before,.hero45-photo-shade{display:none!important}
  .hero45-photo .hero43-message{
    right:-4%!important;
    top:-7%!important;
    max-width:235px!important;
    padding:12px 15px!important;
    background:rgba(255,255,255,.96)!important;
  }
  .hero45-photo .hero43-message span{font-size:23px!important}
  .hero45-photo .hero43-message strong{font-size:22px!important}
}
@media (max-width:1000px){
  .hero45-photo>img{width:min(100%,500px)!important;height:auto!important;object-fit:contain!important}
}

/* V49 — image consultante propre : uniquement le visuel, reste de V48 inchangé */
@media (min-width:1001px){
  .hero43{grid-template-columns:minmax(0,1.52fr) minmax(360px,.48fr);padding-right:5.5vw}
  .hero45-photo{width:min(100%,460px);justify-self:end;align-self:center;overflow:visible;background:transparent!important}
  .hero45-photo>img{position:relative!important;inset:auto!important;width:100%!important;max-width:460px!important;height:auto!important;aspect-ratio:auto!important;object-fit:contain!important;object-position:center!important;display:block!important;margin:0!important;border-radius:22px!important;border:1px solid rgba(201,137,19,.24)!important;box-shadow:0 18px 46px rgba(9,47,99,.12)!important}
  .hero45-photo:before,.hero45-photo-shade{display:none!important}
  .hero45-photo .hero43-message{right:-5%!important;top:-6%!important;max-width:225px!important;padding:12px 15px!important;background:rgba(255,255,255,.97)!important}
}
@media (max-width:1000px){
  .hero45-photo{padding:22px 6vw 34px!important;min-height:0!important;background:#edf8ff!important}
  .hero45-photo>img{position:relative!important;inset:auto!important;width:min(100%,460px)!important;height:auto!important;object-fit:contain!important;display:block!important;margin:0 auto!important;border-radius:22px!important}
}
