/* CIP Simulateur — V2 gamifié */
.cip-sim{
  --cip-primary:#0a2d6b;--cip-accent:#1e5af8;--cip-sky:#48c0f8;--cip-text:#3d3d3d;
  --cip-soft:#f4f7fb;--cip-border:#d8dee8;--cip-radius:10px;--cip-max:1100px;
  font-family:Manrope,DM Sans,system-ui,sans-serif;color:var(--cip-text);
  width:100%;margin:0;line-height:1.45;
  background:
    radial-gradient(ellipse 70% 50% at 100% 0%,rgba(30,90,248,.08),transparent 55%),
    linear-gradient(180deg,#f4f7fb 0%,#fff 40%,#f4f7fb 100%);
  padding:clamp(1.5rem,4vw,2.75rem) 0 clamp(2.5rem,5vw,3.5rem);
}
.cip-sim *,.cip-sim *::before,.cip-sim *::after{box-sizing:border-box}
.cip-sim button{font:inherit;cursor:pointer;-webkit-appearance:none;appearance:none;margin:0}
.cip-sim input,.cip-sim label{font:inherit}
.cip-sim a{color:inherit;text-decoration:none}
.cip-sim svg{fill:currentColor}
/* Embed Elementor : forcer pleine largeur (évite grille écrasée / panneau qui chevauche) */
.elementor-widget-html:has(.cip-sim),
.elementor-widget-html:has(.cip-sim)>.elementor-widget-container,
.elementor-element:has(>.elementor-widget-container .cip-sim),
.e-con:has(.cip-sim),
.e-con-inner:has(.cip-sim){
  margin:0!important;padding-left:0!important;padding-right:0!important;
  max-width:100%!important;width:100%!important;
  flex:1 1 100%!important;align-self:stretch!important;
}
.e-con:has(>.e-con-inner .cip-sim),
.e-con:has(>.elementor-element .cip-sim){
  flex-direction:column!important;flex-wrap:nowrap!important;
  --width:100%;width:100%!important;max-width:100%!important;
}
.cip-sim{max-width:100%;width:100%;box-sizing:border-box}
.cip-sim__wrap{max-width:var(--cip-max);width:100%;margin:0 auto;padding:0 1.15rem;box-sizing:border-box}

/* Header */
.cip-sim__top{margin:0 0 1.35rem;text-align:center}
.cip-sim__logo{
  display:inline-block;margin:0 0 .9rem;
}
.cip-sim__logo img{display:block;height:58px;width:auto;margin:0 auto}
/* Embed WP : logo déjà dans le header site */
.cip-sim--wp .cip-sim__logo{display:none}
.cip-sim--wp{padding-top:clamp(1rem,3vw,1.75rem)}
.cip-sim__brand{
  margin:0 0 .4rem;font-size:.72rem;font-weight:800;letter-spacing:.12em;
  text-transform:uppercase;color:var(--cip-accent);
}
.cip-sim__title{
  margin:0 0 .35rem;font-size:clamp(1.5rem,3.2vw,2.05rem);font-weight:800;
  color:var(--cip-primary);letter-spacing:-.02em;line-height:1.15;
}
.cip-sim__sub{margin:0 auto;max-width:34rem;color:#5a6472;font-size:.98rem}
.cip-sim__trust{
  display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem;margin:.9rem 0 0;padding:0;list-style:none;
}
.cip-sim__trust li{
  display:inline-flex;align-items:center;gap:.35rem;
  padding:.35rem .7rem;border-radius:999px;font-size:.74rem;font-weight:700;
  background:#fff;border:1px solid var(--cip-border);color:var(--cip-primary);
}
.cip-sim__trust li::before{
  content:"";width:.45rem;height:.45rem;border-radius:50%;background:var(--cip-accent);
}

.cip-sim__progress{
  display:flex;align-items:center;gap:.75rem;margin:1.15rem auto 0;max-width:28rem;
}
.cip-sim__bar{flex:1;height:8px;border-radius:999px;background:#d8dee8;overflow:hidden}
.cip-sim__bar>i{
  display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,var(--cip-accent),var(--cip-sky));
  transition:width .45s cubic-bezier(.22,1,.36,1);
}
.cip-sim__step-label{font-size:.78rem;font-weight:700;color:var(--cip-primary);white-space:nowrap}

/* Layout — 2 colonnes souples ; empilement dès que l’espace manque (Elementor inclus) */
.cip-sim__grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,320px);
  gap:1.25rem;
  align-items:start;
  width:100%;
}
.cip-sim__panel,
.cip-sim__preview{min-width:0;max-width:100%;position:relative;z-index:auto}

.cip-sim__panel{
  display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--cip-border);border-radius:16px;
  padding:clamp(1.15rem,3vw,1.6rem);
  box-shadow:0 14px 36px rgba(10,45,107,.07);
  min-height:440px;
  overflow:hidden;
}
.cip-sim__panel>.cip-sim__nav{margin-top:auto;padding-top:1.25rem}
.cip-sim__panel>.cip-sim__choices,.cip-sim__panel>.cip-sim__cards{margin-bottom:1.25rem}
.cip-sim__panel.is-anim{animation:cipSimIn .32s ease both}
@keyframes cipSimIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cip-sim__panel h2{
  margin:0 0 .35rem;font-size:clamp(1.15rem,2.4vw,1.4rem);font-weight:800;
  color:var(--cip-primary);letter-spacing:-.02em;line-height:1.2;
}
.cip-sim__kicker{
  margin:0 0 .4rem;font-size:.68rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cip-accent);
}
.cip-sim__hint{margin:0 0 1.15rem;color:#5a6472;font-size:.92rem}
.cip-sim__foot{margin:1.1rem 0 0;font-size:.76rem;color:#8a93a0;text-align:center}
.cip-sim__note{
  margin:0 0 1rem;padding:.7rem .85rem;border-radius:8px;text-align:left;
  background:#fff7e8;border:1px solid #f3d9a4;color:#7a5a12;font-size:.85rem;
}

/* Cards projet */
.cip-sim__cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}
.cip-sim__card{
  position:relative;display:flex;align-items:center;gap:.85rem;
  text-align:left;padding:.95rem 1rem;border-radius:12px;min-height:76px;
  border:1.5px solid var(--cip-border);background:#fff;color:inherit;
  transition:border-color .2s,box-shadow .2s,transform .2s,background .2s;
}
.cip-sim__card:hover{
  border-color:rgba(30,90,248,.45);transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(10,45,107,.1);
}
.cip-sim__card.is-on{
  border-color:var(--cip-accent);background:rgba(30,90,248,.06);
  box-shadow:0 0 0 3px rgba(30,90,248,.15);
}
.cip-sim__card-ico{
  flex:0 0 2.5rem;width:2.5rem;height:2.5rem;border-radius:10px;
  display:grid;place-items:center;
  background:rgba(30,90,248,.1);color:var(--cip-accent);
}
.cip-sim__card.is-on .cip-sim__card-ico{background:var(--cip-accent);color:#fff}
.cip-sim__card-ico svg{width:1.25rem;height:1.25rem}
.cip-sim__card-txt{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.cip-sim__card-txt strong{font-size:.92rem;color:var(--cip-primary);line-height:1.25}
.cip-sim__card-txt span{font-size:.76rem;color:#5a6472;line-height:1.3}

/* Choices quiz */
.cip-sim__choices{display:grid;gap:.55rem}
.cip-sim__choice{
  display:flex;align-items:center;gap:.75rem;width:100%;
  padding:.95rem 1rem;border-radius:12px;text-align:left;
  border:1.5px solid var(--cip-border);background:#fff;color:inherit;
  transition:border-color .2s,background .2s,transform .15s;
}
.cip-sim__choice:hover{border-color:rgba(30,90,248,.4);transform:translateX(3px)}
.cip-sim__choice.is-on{border-color:var(--cip-accent);background:rgba(30,90,248,.06)}
.cip-sim__choice i{
  width:1.35rem;height:1.35rem;border-radius:50%;flex-shrink:0;
  border:2px solid #b8c5d9;transition:all .15s;
}
.cip-sim__choice.is-on i{
  border-color:var(--cip-accent);background:var(--cip-accent);
  box-shadow:inset 0 0 0 3px #fff;
}
.cip-sim__choice strong{font-size:.95rem;color:var(--cip-primary);font-weight:700}
.cip-sim__choices--2col{grid-template-columns:1fr 1fr}
.cip-sim__choice--multi i{border-radius:5px}
.cip-sim__choice--multi.is-on i{
  box-shadow:none;
  background:var(--cip-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23fff'%3E%3Cpath d='M9.55 17.6 4.9 12.95l1.4-1.4 3.25 3.25 7.15-7.15 1.4 1.4z'/%3E%3C/svg%3E") center/80% no-repeat;
}

/* Chips créneau */
.cip-sim__field--full{grid-column:1/-1}
.cip-sim__field label em{font-style:normal;font-weight:500;text-transform:none;letter-spacing:0;color:#8a93a0}
.cip-sim__chips{display:flex;flex-wrap:wrap;gap:.45rem}
.cip-sim__chip{
  padding:.5rem .9rem;border-radius:999px;font-size:.82rem;font-weight:700;
  border:1.5px solid var(--cip-border);background:#fff;color:var(--cip-primary);
  transition:border-color .15s,background .15s;
}
.cip-sim__chip:hover{border-color:var(--cip-accent)}
.cip-sim__chip.is-on{border-color:var(--cip-accent);background:var(--cip-accent);color:#fff}

/* Résultats (lecture de situation) */
.cip-sim__results{
  list-style:none;margin:0 0 .6rem;padding:0;display:grid;gap:.5rem;text-align:left;
}
.cip-sim__results li{
  display:flex;gap:.65rem;align-items:flex-start;
  padding:.75rem .9rem;border-radius:10px;
  background:#fff;border:1px solid var(--cip-border);
  font-size:.9rem;line-height:1.45;color:var(--cip-text);
}
.cip-sim__results li svg{
  flex:0 0 1.35rem;width:1.35rem;height:1.35rem;padding:.2rem;border-radius:50%;
  background:rgba(30,90,248,.12);color:var(--cip-accent);margin-top:.05rem;
}
.cip-sim__results-note{margin:0 0 1.15rem;font-size:.76rem;color:#8a93a0;line-height:1.4}

/* ---------- Chargement ---------- */
.cip-sim__load{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  padding:3rem 1.5rem;min-height:460px;justify-content:center;
  background:#fff;border:1px solid var(--cip-border);border-radius:16px;
  box-shadow:0 14px 36px rgba(10,45,107,.07);
}
.cip-sim__load-ring{position:relative;width:140px;height:140px;margin:0 0 1.5rem}
.cip-sim__load-ring svg{width:100%;height:100%;transform:rotate(-90deg)}
.cip-sim__load-bg{fill:none;stroke:var(--cip-border);stroke-width:6}
.cip-sim__load-fg{fill:none;stroke:var(--cip-accent);stroke-width:6;stroke-linecap:round}
.cip-sim__load-ring::after{
  content:"";position:absolute;inset:22px;border-radius:50%;
  background:radial-gradient(circle,rgba(72,192,248,.25),transparent 70%);
  animation:cipPulse 2.2s ease-in-out infinite;
}
.cip-sim__load-pct{
  position:absolute;inset:0;display:grid;place-items:center;
  font-size:1.75rem;font-weight:800;letter-spacing:-.02em;color:var(--cip-primary);
}
.cip-sim__load-title{margin:0 0 .35rem;font-size:1.2rem;font-weight:800;color:var(--cip-primary)}
.cip-sim__load-tip{margin:0 0 1.5rem;font-size:.9rem;color:#5a6472;min-height:1.4em}
.cip-sim__load-steps{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;text-align:left;width:min(100%,340px)}
.cip-sim__load-steps li{
  position:relative;padding:.45rem .6rem .45rem 1.9rem;border-radius:8px;font-size:.82rem;
  color:#8a93a0;transition:color .2s,background .2s;
}
.cip-sim__load-steps li::before{
  content:"";position:absolute;left:.6rem;top:50%;transform:translateY(-50%);
  width:.7rem;height:.7rem;border-radius:50%;border:2px solid #c9d2df;background:#fff;
}
.cip-sim__load-steps li.is-on{color:var(--cip-primary);font-weight:700;background:rgba(30,90,248,.06)}
.cip-sim__load-steps li.is-on::before{border-color:var(--cip-accent);background:var(--cip-accent);box-shadow:0 0 0 3px rgba(30,90,248,.18)}
.cip-sim__load-steps li.is-done{color:var(--cip-text)}
.cip-sim__load-steps li.is-done::before{border-color:#48c0f8;background:#48c0f8}
@keyframes cipPulse{0%,100%{opacity:.4;transform:scale(.9)}50%{opacity:1;transform:scale(1.05)}}

/* ---------- Page résultats ---------- */
.cip-sim__rs{display:grid;gap:1.1rem}
.cip-sim__rs-in{animation:cipSimIn .45s ease both}
.cip-sim__rs-head{
  display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;
  padding:1.4rem 1.5rem;border-radius:16px;background:#fff;border:1px solid var(--cip-border);
  box-shadow:0 14px 36px rgba(10,45,107,.07);
}
.cip-sim__rs-head h2{margin:0 0 .35rem;font-size:clamp(1.3rem,2.6vw,1.6rem)}
.cip-sim__rs-sub{margin:0;color:#5a6472;font-size:.92rem;max-width:34rem}
.cip-sim__rs-badge{
  display:flex;align-items:center;gap:.7rem;padding:.75rem 1rem;border-radius:12px;
  border:1px solid var(--cip-border);background:var(--cip-soft);min-width:240px;
}
.cip-sim__rs-badge i{
  flex:0 0 2.4rem;width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;
  background:#1f9d6a;color:#fff;
}
.cip-sim__rs-badge i svg{width:1.3rem;height:1.3rem}
.cip-sim__rs-badge.is-mid i{background:#e0a020}
.cip-sim__rs-badge.is-warn i{background:#d9734a}
.cip-sim__rs-badge strong{display:block;font-size:.95rem;color:var(--cip-primary);line-height:1.2}
.cip-sim__rs-badge span{font-size:.76rem;color:#5a6472;line-height:1.3}

/* Encart éligibilité (pas de fichage) */
.cip-sim__rs-eligible{
  display:flex;align-items:center;gap:1rem;
  padding:1.25rem 1.4rem;border-radius:16px;
  background:linear-gradient(135deg,#e8f8f0 0%,#d4f0e4 55%,#c5ebd9 100%);
  border:2px solid #1f9d6a;
  box-shadow:0 12px 32px rgba(31,157,106,.18);
  animation:cipSimIn .4s ease both;
}
.cip-sim__rs-eligible-ico{
  flex:0 0 3.25rem;width:3.25rem;height:3.25rem;border-radius:50%;
  display:grid;place-items:center;
  background:#1f9d6a;color:#fff;
  box-shadow:0 8px 20px rgba(31,157,106,.35);
}
.cip-sim__rs-eligible-ico svg{width:1.55rem;height:1.55rem}
.cip-sim__rs-eligible-kicker{
  margin:0 0 .2rem;font-size:.72rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:#157a52;
}
.cip-sim__rs-eligible-txt strong{
  display:block;font-size:clamp(1.15rem,2.4vw,1.45rem);font-weight:800;
  color:#0d5c3d;letter-spacing:-.02em;line-height:1.2;margin-bottom:.3rem;
}
.cip-sim__rs-eligible-txt span{
  display:block;font-size:.9rem;color:#1a5c40;line-height:1.4;max-width:40rem;
}
@media (max-width:600px){
  .cip-sim__rs-eligible{flex-direction:column;text-align:center;padding:1.15rem 1.1rem}
  .cip-sim__rs-eligible-txt span{max-width:none}
}

.cip-sim__rs-hero{
  position:relative;overflow:hidden;color:#fff;border-radius:16px;padding:1.5rem;
  background:linear-gradient(165deg,#061840 0%,#0a2d6b 55%,#0c3a8c 100%);
  box-shadow:0 18px 40px rgba(6,24,64,.3);display:grid;gap:1.25rem;
}
.cip-sim__rs-hero::before{
  content:"";position:absolute;right:-60px;top:-60px;width:220px;height:220px;border-radius:50%;
  background:rgba(30,90,248,.35);pointer-events:none;
}
.cip-sim__rs-hero>*{position:relative;z-index:1}
.cip-sim__rs-hero-kicker{display:block;font-size:.68rem;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--cip-sky);margin-bottom:.35rem}
.cip-sim__rs-hero-txt strong{display:block;font-size:clamp(1.2rem,2.4vw,1.5rem);font-weight:800;line-height:1.2;margin-bottom:.35rem}
.cip-sim__rs-hero-txt>span{font-size:.88rem;color:rgba(255,255,255,.78)}
.cip-sim__rs-ba{display:grid;grid-template-columns:1fr auto 1fr;gap:1rem;align-items:center}
.cip-sim__rs-ba-col{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:.9rem 1rem}
.cip-sim__rs-ba-col em{display:block;font-style:normal;font-size:.68rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:rgba(255,255,255,.6);margin-bottom:.6rem}
.cip-sim__rs-ba-col ul{list-style:none;margin:0;padding:0;display:grid;gap:.45rem}
.cip-sim__rs-ba-col li{display:flex;align-items:center;gap:.6rem;font-size:.86rem;font-weight:600}
.cip-sim__rs-ba-col li.is-add{color:var(--cip-sky)}
.cip-sim__rs-ico{flex:0 0 1.75rem;width:1.75rem;height:1.75rem;border-radius:8px;display:grid;place-items:center;background:rgba(255,255,255,.14)}
.cip-sim__rs-ico svg{width:1rem;height:1rem}
.cip-sim__rs-ba-col.is-after{background:rgba(30,90,248,.35);border-color:rgba(72,192,248,.5)}
.cip-sim__rs-ba-col.is-after .cip-sim__rs-ico{background:var(--cip-sky);color:#061840}
.cip-sim__rs-ba-col.is-after li{font-size:.95rem;font-weight:800}
.cip-sim__rs-ba-arrow{width:2.5rem;height:2.5rem;border-radius:50%;display:grid;place-items:center;background:var(--cip-accent);box-shadow:0 8px 20px rgba(30,90,248,.45)}
.cip-sim__rs-ba-arrow svg{width:1.2rem;height:1.2rem}
.cip-sim__rs-pills{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem}
.cip-sim__rs-pills>div{background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:.7rem .85rem;display:flex;flex-direction:column;gap:.1rem}
.cip-sim__rs-pills strong{font-size:.95rem;line-height:1.2}
.cip-sim__rs-pills span{font-size:.7rem;color:rgba(255,255,255,.65);text-transform:uppercase;letter-spacing:.05em;font-weight:700}

.cip-sim__rs-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem}
.cip-sim__rs-grid--3{grid-template-columns:repeat(3,1fr)}
.cip-sim__rs-card{
  background:#fff;border:1px solid var(--cip-border);border-radius:16px;padding:1.25rem 1.35rem;text-align:left;
  box-shadow:0 10px 28px rgba(10,45,107,.05);
}
.cip-sim__rs-card h3{margin:0 0 .85rem;font-size:1rem;font-weight:800;color:var(--cip-primary);letter-spacing:-.01em}
.cip-sim__rs-card-sub{margin:-.5rem 0 .6rem;font-size:.82rem;color:#5a6472}
.cip-sim__rs-card>ul{margin:0;padding:0 0 0 1.1rem;font-size:.86rem;line-height:1.55;color:var(--cip-text)}
.cip-sim__rs-card>ul li{margin-bottom:.25rem}
.cip-sim__rs-sols{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}
.cip-sim__rs-sols a{display:flex;flex-direction:column;gap:.1rem;padding:.7rem .85rem;border-radius:10px;border:1.5px solid var(--cip-border);transition:border-color .15s,background .15s}
.cip-sim__rs-sols a:hover{border-color:var(--cip-accent)}
.cip-sim__rs-sols strong{font-size:.9rem;color:var(--cip-primary)}
.cip-sim__rs-sols span{font-size:.78rem;color:#5a6472}
.cip-sim__rs-sols li.is-on a{border-color:var(--cip-accent);background:rgba(30,90,248,.06)}
.cip-sim__rs-sols li.is-on strong::after{content:"Recommandé";margin-left:.5rem;padding:.1rem .4rem;border-radius:4px;font-size:.6rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:var(--cip-accent);color:#fff;vertical-align:middle}
.cip-sim__rs-google{display:flex;align-items:center;gap:.75rem;padding:.75rem .85rem;border-radius:10px;background:var(--cip-soft);margin-bottom:.85rem}
.cip-sim__rs-g{width:2.4rem;height:2.4rem;border-radius:50%;display:grid;place-items:center;background:#fff;border:1px solid var(--cip-border);font-weight:800;font-size:1.2rem;color:#4285F4}
.cip-sim__rs-google strong{display:block;font-size:1.3rem;color:var(--cip-primary);line-height:1}
.cip-sim__rs-google small{font-size:.8rem;color:#5a6472;font-weight:600}
.cip-sim__rs-google span{font-size:.76rem;color:#e0a020;font-weight:700}
.cip-sim__rs-steps{list-style:none;margin:0;padding:0;counter-reset:cipnext;display:grid;gap:.6rem}
.cip-sim__rs-steps li{position:relative;padding-left:2rem}
.cip-sim__rs-steps li::before{counter-increment:cipnext;content:counter(cipnext);position:absolute;left:0;top:0;width:1.4rem;height:1.4rem;border-radius:50%;display:grid;place-items:center;font-size:.7rem;font-weight:800;background:var(--cip-primary);color:#fff}
.cip-sim__rs-steps strong{display:block;font-size:.88rem;color:var(--cip-primary)}
.cip-sim__rs-steps span{font-size:.8rem;color:#5a6472;line-height:1.4}
.cip-sim__rs-pieces{margin:0;padding:0 0 0 1.1rem;font-size:.84rem;line-height:1.55;color:var(--cip-text)}
.cip-sim__rs-recap{border:1px solid var(--cip-border);border-radius:12px;background:#fff;padding:.25rem .5rem}
.cip-sim__rs-recap summary{cursor:pointer;padding:.7rem .75rem;font-size:.88rem;font-weight:700;color:var(--cip-primary);list-style:none;display:flex;justify-content:space-between}
.cip-sim__rs-recap summary::after{content:"+";font-size:1.1rem;color:var(--cip-accent)}
.cip-sim__rs-recap[open] summary::after{content:"–"}
.cip-sim__rs-recap .cip-sim__success-summary{margin:0 .25rem .5rem;grid-template-columns:repeat(4,1fr)}
.cip-sim__rs-cta{
  text-align:center;padding:1.75rem 1.5rem;border-radius:16px;
  background:linear-gradient(180deg,#fff,var(--cip-soft));border:1px solid var(--cip-border);
  display:flex;flex-direction:column;align-items:center;gap:.8rem;
}
.cip-sim__rs-cta p{margin:0;font-size:1rem;color:var(--cip-text);max-width:34rem}
.cip-sim__rs-cta p strong{color:var(--cip-primary)}
.cip-sim .cip-sim__rs-cta .cip-sim__btn--primary{margin:0}
.cip-sim__rs-cta>span{font-size:.78rem;color:#8a93a0}

/* Pièces à préparer */
.cip-sim__pieces{
  text-align:left;margin:0 0 1.25rem;padding:.9rem 1rem;border-radius:10px;
  background:rgba(30,90,248,.06);border:1px solid rgba(30,90,248,.18);
}
.cip-sim__pieces strong{display:block;font-size:.85rem;color:var(--cip-primary);margin-bottom:.45rem}
.cip-sim__pieces ul{margin:0;padding:0 0 0 1.1rem;font-size:.82rem;color:var(--cip-text);line-height:1.5}

/* Form */
.cip-sim__form{display:grid;grid-template-columns:1fr 1fr;gap:.85rem .75rem}
.cip-sim__field{display:flex;flex-direction:column;gap:.3rem}
.cip-sim__field label{font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:#5a6472}
.cip-sim__field input{
  min-height:46px;padding:.65rem .8rem;border-radius:8px;width:100%;
  border:1.5px solid var(--cip-border);background:#fff;color:var(--cip-text);
  transition:border-color .15s,box-shadow .15s;
}
.cip-sim__field input:focus{outline:none;border-color:var(--cip-accent);box-shadow:0 0 0 3px rgba(30,90,248,.15)}
.cip-sim__field input.is-err{border-color:#d64545;box-shadow:0 0 0 3px rgba(214,69,69,.12)}
.cip-sim__consent{
  grid-column:1/-1;display:flex;gap:.65rem;align-items:flex-start;
  font-size:.82rem;color:#5a6472;line-height:1.45;cursor:pointer;
}
.cip-sim__consent input{margin-top:.2rem;accent-color:var(--cip-accent);flex-shrink:0}
.cip-sim__consent a{color:var(--cip-accent);text-decoration:underline}
.cip-sim__hp{position:absolute;left:-9999px;opacity:0;height:0;width:0;overflow:hidden}

/* Nav / buttons */
.cip-sim__nav{
  display:flex;flex-wrap:wrap;gap:.65rem;justify-content:space-between;align-items:center;
  margin-top:1.35rem;padding-top:1rem;border-top:1px solid var(--cip-border);
}
.cip-sim__nav--full{grid-column:1/-1}
.cip-sim__btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.45rem;
  min-height:48px;padding:.75rem 1.25rem;border-radius:8px;font-weight:800;line-height:1;
  border:0;background:none;color:inherit;
  transition:transform .15s,background .15s,box-shadow .15s;
}
.cip-sim__btn svg{width:1.05em;height:1.05em;flex-shrink:0}
.cip-sim__btn:hover{transform:translateY(-1px)}
.cip-sim__btn--ghost{background:#fff;border:1.5px solid var(--cip-border);color:var(--cip-primary)}
.cip-sim__btn--ghost:hover{border-color:var(--cip-accent);color:var(--cip-accent)}
.cip-sim .cip-sim__btn--primary,.cip-sim a.cip-sim__btn--primary{
  background:var(--cip-accent);color:#fff;
  box-shadow:0 8px 22px rgba(30,90,248,.35);margin-left:auto;
}
.cip-sim .cip-sim__btn--primary:hover,.cip-sim a.cip-sim__btn--primary:hover{background:#1748d4;color:#fff}
.cip-sim__btn--xl{min-height:56px;padding:1rem 1.75rem;font-size:1.05rem;border-radius:10px}
.cip-sim__btn--primary:disabled{opacity:.45;cursor:not-allowed;transform:none}

/* Preview card */
.cip-sim__preview{
  position:relative;
  background:linear-gradient(165deg,#061840 0%,#0a2d6b 55%,#0c3a8c 100%);
  color:#fff;border-radius:16px;padding:1.25rem 1.2rem 1.35rem;
  box-shadow:0 18px 40px rgba(6,24,64,.35);
  overflow:hidden;
  float:none!important;inset:auto!important;
}
.cip-sim__preview::before{
  content:"";position:absolute;right:-40px;top:-40px;width:160px;height:160px;
  border-radius:50%;background:rgba(30,90,248,.35);pointer-events:none;
}
/* Mode résultats : pleine largeur, panneau latéral masqué */
.cip-sim.is-done .cip-sim__grid{grid-template-columns:1fr}
.cip-sim.is-done .cip-sim__preview{display:none}
.cip-sim.is-done .cip-sim__panel{padding:0;border:0;background:transparent;box-shadow:none;min-height:0}
.cip-sim__preview-inner{position:relative;z-index:1}
.cip-sim__preview-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin:0 0 .5rem}
.cip-sim__preview-kicker{
  margin:0;font-size:.68rem;font-weight:800;letter-spacing:.1em;
  text-transform:uppercase;color:var(--cip-sky);
}
.cip-sim__preview-tag{
  padding:.2rem .5rem;border-radius:4px;font-size:.62rem;font-weight:800;
  letter-spacing:.06em;text-transform:uppercase;background:var(--cip-accent);color:#fff;
}
.cip-sim__preview h3{
  margin:0 0 .4rem;font-size:1.15rem;font-weight:800;line-height:1.2;color:#fff;
}
.cip-sim__preview-orient{
  margin:0 0 .95rem;font-size:.82rem;color:rgba(255,255,255,.78);line-height:1.4;min-height:2.3em;
}
.cip-sim__gauge{margin:0 0 1rem}
.cip-sim__gauge-top{
  display:flex;justify-content:space-between;font-size:.75rem;font-weight:700;
  margin-bottom:.35rem;color:rgba(255,255,255,.75);
}
.cip-sim__gauge-track{height:10px;border-radius:999px;background:rgba(255,255,255,.15);overflow:hidden}
.cip-sim__gauge-track>i{
  display:block;height:100%;width:0;border-radius:999px;
  background:linear-gradient(90deg,#1e5af8,#48c0f8);
  transition:width .5s cubic-bezier(.22,1,.36,1);
}
.cip-sim__preview ul{list-style:none;margin:0;padding:0;display:grid;gap:.4rem}
.cip-sim__preview-lock{margin-top:1rem}
.cip-sim__preview-lock[hidden]{display:none}
.cip-sim__preview li{
  position:relative;display:grid;grid-template-columns:auto 1fr;gap:.15rem .6rem;align-items:center;
  padding:.5rem .65rem .5rem 1.6rem;border-radius:8px;
  background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.1);
  font-size:.8rem;line-height:1.3;
}
.cip-sim__preview li::before{
  content:"";position:absolute;left:.6rem;top:50%;transform:translateY(-50%);
  width:.55rem;height:.55rem;border-radius:50%;background:rgba(255,255,255,.25);
}
.cip-sim__preview li.is-done::before{background:#48c0f8;box-shadow:0 0 0 3px rgba(72,192,248,.25)}
.cip-sim__pv-label{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:rgba(255,255,255,.55)}
.cip-sim__pv-val{color:rgba(255,255,255,.9);font-weight:600}
.cip-sim__preview li.is-done .cip-sim__pv-val{color:#fff}
.cip-sim__preview li.is-edit{cursor:pointer;transition:background .15s}
.cip-sim__preview li.is-edit:hover{background:rgba(255,255,255,.14)}
.cip-sim__pv-edit{
  position:absolute;right:.6rem;top:50%;transform:translateY(-50%);
  font-size:.62rem;color:var(--cip-sky);text-decoration:underline;opacity:0;transition:opacity .15s;
}
.cip-sim__preview li.is-edit:hover .cip-sim__pv-edit{opacity:1}
.cip-sim__preview-lock{
  margin:0;padding:.75rem .8rem;border-radius:8px;
  background:rgba(0,0,0,.2);border:1px dashed rgba(255,255,255,.25);
  font-size:.8rem;color:rgba(255,255,255,.7);line-height:1.4;
}
.cip-sim__preview-lock strong{color:#fff}

/* Success */
.cip-sim__success{text-align:center;padding:.5rem 0 .25rem}
.cip-sim__success-badge{
  width:64px;height:64px;margin:0 auto .85rem;border-radius:50%;
  display:grid;place-items:center;background:rgba(30,90,248,.12);color:var(--cip-accent);
  animation:cipSimPop .5s cubic-bezier(.22,1,.36,1) both;
}
@keyframes cipSimPop{from{transform:scale(.6);opacity:0}to{transform:none;opacity:1}}
.cip-sim__success-badge svg{width:1.9rem;height:1.9rem}
.cip-sim__success h2{margin:0 0 .5rem}
.cip-sim__success>p{margin:0 0 1rem;color:#5a6472}
.cip-sim__success-summary{
  display:grid;grid-template-columns:1fr 1fr;gap:.55rem;
  text-align:left;margin:0 0 1.15rem;padding:.9rem;border-radius:12px;
  background:var(--cip-soft);border:1px solid var(--cip-border);
}
.cip-sim__success-summary div{display:flex;flex-direction:column;gap:.1rem}
.cip-sim__success-summary span{font-size:.66rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#8a93a0}
.cip-sim__success-summary strong{font-size:.88rem;color:var(--cip-primary);line-height:1.3}
.cip-sim__next{
  display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;
  margin:0 0 1.25rem;padding:0;list-style:none;counter-reset:cipnext;text-align:left;
}
.cip-sim__next li{
  position:relative;padding:.85rem .85rem .85rem 2.4rem;border-radius:10px;
  background:#fff;border:1px solid var(--cip-border);
}
.cip-sim__next li::before{
  counter-increment:cipnext;content:counter(cipnext);
  position:absolute;left:.75rem;top:.85rem;width:1.25rem;height:1.25rem;border-radius:50%;
  display:grid;place-items:center;font-size:.7rem;font-weight:800;
  background:var(--cip-primary);color:#fff;
}
.cip-sim__next strong{display:block;font-size:.85rem;color:var(--cip-primary);margin-bottom:.15rem}
.cip-sim__next span{font-size:.78rem;color:#5a6472;line-height:1.35}
.cip-sim__success-actions{display:flex;flex-wrap:wrap;gap:.65rem;justify-content:center}
.cip-sim__success-actions .cip-sim__btn--primary{margin-left:0}

.cip-sim__err{
  margin:.75rem 0 0;padding:.65rem .8rem;border-radius:8px;
  background:#fff0f0;border:1px solid #f0c0c0;color:#a03030;font-size:.85rem;
}
.cip-sim__legal{margin:1rem 0 0;font-size:.72rem;color:#8a93a0;line-height:1.4;text-align:center}

/* Responsive — seuil haut : conteneurs Elementor souvent < 1100px utiles */
@media (max-width:1100px){
  .cip-sim__grid{grid-template-columns:1fr}
  .cip-sim__preview{order:-1;padding:1rem 1.1rem}
  .cip-sim__panel>.cip-sim__nav{margin-top:1.25rem}
  .cip-sim__preview ul,.cip-sim__preview-lock{display:none}
  .cip-sim__preview-orient{margin-bottom:.7rem}
  .cip-sim__gauge{margin:0}
  .cip-sim__panel{min-height:0}
  .cip-sim__preview-orient{min-height:0}
  .cip-sim__rs-grid,.cip-sim__rs-grid--3{grid-template-columns:1fr}
  .cip-sim__rs-recap .cip-sim__success-summary{grid-template-columns:1fr 1fr}
}
@media (max-width:600px){
  .cip-sim__logo img{height:48px}
  .cip-sim__cards{grid-template-columns:1fr}
  .cip-sim__card{min-height:0}
  .cip-sim__form{grid-template-columns:1fr}
  .cip-sim__choices--2col{grid-template-columns:1fr}
  .cip-sim__nav{flex-direction:column-reverse;align-items:stretch}
  .cip-sim__btn{width:100%}
  .cip-sim__btn--primary{margin-left:0}
  .cip-sim__success-summary,.cip-sim__rs-recap .cip-sim__success-summary{grid-template-columns:1fr}
  .cip-sim__next{grid-template-columns:1fr}
  .cip-sim__rs-ba{grid-template-columns:1fr}
  .cip-sim__rs-ba-arrow{transform:rotate(90deg);margin:0 auto}
  .cip-sim__rs-pills{grid-template-columns:1fr}
  .cip-sim__rs-badge{width:100%}
  .cip-sim__load{min-height:380px;padding:2rem 1rem}
  .cip-sim__load-ring{width:110px;height:110px}
  .cip-sim__trust li:nth-child(n+4){display:none}
}
@media (prefers-reduced-motion:reduce){
  .cip-sim__bar>i,.cip-sim__gauge-track>i,.cip-sim__card,.cip-sim__choice{transition:none}
  .cip-sim__panel.is-anim,.cip-sim__success-badge{animation:none}
}

/* ==========================================================================
   Isolation WP / Elementor / Hello : le style global des <button> (fond accent,
   texte blanc, hover) ne doit pas écraser les cartes et boutons du simulateur.
   Spécificité élevée + !important ciblé sur les propriétés qui fuient.
   ========================================================================== */
.cip-sim button{
  text-transform:none;letter-spacing:normal;text-shadow:none;
  font-family:inherit;box-shadow:none;
}
.cip-sim button.cip-sim__card,
.cip-sim button.cip-sim__choice,
.cip-sim button.cip-sim__chip{
  background:#fff!important;color:inherit!important;
  border:1.5px solid var(--cip-border)!important;border-radius:12px!important;
  font-weight:inherit;text-align:left;
}
.cip-sim button.cip-sim__chip{border-radius:999px!important}
.cip-sim button.cip-sim__card:hover,
.cip-sim button.cip-sim__card:focus-visible{
  background:#fff!important;color:inherit!important;
  border-color:rgba(30,90,248,.45)!important;
  box-shadow:0 10px 24px rgba(10,45,107,.1)!important;
}
.cip-sim button.cip-sim__choice:hover,
.cip-sim button.cip-sim__choice:focus-visible{
  background:#fff!important;color:inherit!important;
  border-color:rgba(30,90,248,.4)!important;
}
.cip-sim button.cip-sim__chip:hover{background:#fff!important;border-color:var(--cip-accent)!important;color:var(--cip-primary)!important}
.cip-sim button.cip-sim__card.is-on,
.cip-sim button.cip-sim__choice.is-on{
  background:rgba(30,90,248,.06)!important;border-color:var(--cip-accent)!important;color:inherit!important;
}
.cip-sim button.cip-sim__card.is-on{box-shadow:0 0 0 3px rgba(30,90,248,.15)!important}
.cip-sim button.cip-sim__chip.is-on,
.cip-sim button.cip-sim__chip.is-on:hover{background:var(--cip-accent)!important;color:#fff!important;border-color:var(--cip-accent)!important}

/* Textes dans les cartes : couleurs d'origine */
.cip-sim button.cip-sim__card .cip-sim__card-txt strong,
.cip-sim button.cip-sim__choice strong{color:var(--cip-primary)!important}
.cip-sim button.cip-sim__card .cip-sim__card-txt span{color:#5a6472!important}
.cip-sim button.cip-sim__card .cip-sim__card-ico{background:rgba(30,90,248,.1)!important;color:var(--cip-accent)!important}
.cip-sim button.cip-sim__card.is-on .cip-sim__card-ico{background:var(--cip-accent)!important;color:#fff!important}

/* Boutons Retour / Continuer */
.cip-sim button.cip-sim__btn--ghost{
  background:#fff!important;color:var(--cip-primary)!important;
  border:1.5px solid var(--cip-border)!important;border-radius:8px!important;
}
.cip-sim button.cip-sim__btn--ghost:hover{border-color:var(--cip-accent)!important;color:var(--cip-accent)!important;background:#fff!important}
.cip-sim button.cip-sim__btn--primary{
  background:var(--cip-accent)!important;color:#fff!important;border:0!important;border-radius:8px!important;
  box-shadow:0 8px 22px rgba(30,90,248,.35)!important;
}
.cip-sim button.cip-sim__btn--primary:hover:not(:disabled){background:#1748d4!important;color:#fff!important}

/* Texte : retour à la ligne forcé (Hello met white-space:nowrap sur les boutons) */
.cip-sim button,
.cip-sim button *{white-space:normal!important;overflow-wrap:anywhere;word-break:normal;max-width:100%}
.cip-sim button.cip-sim__card,
.cip-sim button.cip-sim__choice{overflow:hidden;min-width:0;height:auto}
.cip-sim .cip-sim__card-txt{flex:1 1 auto;min-width:0;overflow:hidden}
.cip-sim .cip-sim__card-txt strong,
.cip-sim .cip-sim__card-txt span{display:block;white-space:normal!important;overflow:visible;text-overflow:clip;overflow-wrap:break-word;hyphens:auto}
.cip-sim .cip-sim__preview,
.cip-sim .cip-sim__preview *{overflow-wrap:anywhere}
.cip-sim .cip-sim__preview li{min-width:0}
.cip-sim .cip-sim__pv-val{min-width:0;overflow-wrap:anywhere}
.cip-sim .cip-sim__btn{white-space:nowrap!important}

/* ==========================================================================
   Mode hero Accueil (cip-sim--hero) : carte compacte dans le hero
   ========================================================================== */
.cip-sim.cip-sim--hero{
  --cip-max:100%;
  padding:1.1rem 0 1.25rem;
  background:#fff;
  border-radius:18px;
  box-shadow:0 22px 50px rgba(6,24,64,.35);
  border:1px solid rgba(255,255,255,.35);
}
.cip-sim.cip-sim--hero .cip-sim__wrap{padding:0 1rem;max-width:100%}
.cip-sim.cip-sim--hero .cip-sim__top{margin:0 0 .85rem;text-align:left}
.cip-sim.cip-sim--hero .cip-sim__brand{margin:0 0 .25rem}
.cip-sim.cip-sim--hero .cip-sim__title{
  font-size:clamp(1.05rem,1.9vw,1.28rem);margin:0 0 .25rem;text-align:left;
  line-height:1.25;max-width:22em;
}
.cip-sim.cip-sim--wp:not(.cip-sim--hero) .cip-sim__title{
  font-size:clamp(1.45rem,3vw,1.95rem);line-height:1.2;
}
.cip-sim.cip-sim--hero .cip-sim__sub{display:none}
.cip-sim.cip-sim--hero .cip-sim__trust{display:none}
/* Évite le double « Quel est votre projet ? » (titre carte + H2 panneau) */
.cip-sim.cip-sim--hero:not(.is-done) .cip-sim__panel > h2:first-child{display:none}
.cip-sim.cip-sim--hero:not(.is-done) .cip-sim__panel > .cip-sim__hint{margin-top:0}
.cip-sim.cip-sim--hero .cip-sim__progress{margin:.65rem 0 0;max-width:100%}
.cip-sim.cip-sim--hero .cip-sim__grid{grid-template-columns:1fr;gap:.75rem}
.cip-sim.cip-sim--hero .cip-sim__preview{display:none}
.cip-sim.cip-sim--hero .cip-sim__panel{
  min-height:0;padding:1rem;border-radius:12px;
  box-shadow:none;border:1px solid var(--cip-border);
}
.cip-sim.cip-sim--hero .cip-sim__cards{grid-template-columns:1fr;gap:.5rem}
.cip-sim.cip-sim--hero .cip-sim__card{
  min-height:0;padding:.75rem .85rem;gap:.65rem;
}
.cip-sim.cip-sim--hero .cip-sim__card-ico{flex-basis:2.1rem;width:2.1rem;height:2.1rem}
.cip-sim.cip-sim--hero .cip-sim__card-txt strong{font-size:.88rem}
.cip-sim.cip-sim--hero .cip-sim__card-txt span{font-size:.72rem}
.cip-sim.cip-sim--hero .cip-sim__panel h2{font-size:1.05rem}
.cip-sim.cip-sim--hero .cip-sim__hint{font-size:.82rem;margin-bottom:.85rem}
.cip-sim.cip-sim--hero .cip-sim__foot{font-size:.7rem}
/* Résultats : reprise pleine largeur du hero */
.cip-sim.cip-sim--hero.is-done{
  padding:1.25rem 0 1.5rem;
}
.cip-sim.cip-sim--hero.is-done .cip-sim__top{display:none}
.cip-sim.cip-sim--hero.is-done .cip-sim__panel{
  border:0;padding:0;background:transparent;
}
@media (min-width:980px){
  .cip-sim.cip-sim--hero:not(.is-done) .cip-sim__cards{grid-template-columns:1fr 1fr}
}
