/* P.GAZ33 — Simulateur (hero + page) */
.pg-sim{
  --pg-brand:#006EAB;
  --pg-brand-hover:#0693e3;
  --pg-navy:#15406C;
  --pg-navy-deep:#0a2a4a;
  --pg-cream:#F1EFE9;
  --pg-ink:#132D46;
  --pg-muted:#848484;
  --pg-white:#FFFFFF;
  --pg-error:#DD3333;
  --pg-font:"Poppins",system-ui,sans-serif;
  --pg-radius:18px;
  font-family:var(--pg-font);
  color:var(--pg-ink);
  box-sizing:border-box;
}
.pg-sim *,
.pg-sim *::before,
.pg-sim *::after{box-sizing:border-box}

.pg-sim__card{
  position:relative;
  background:var(--pg-white);
  border-radius:var(--pg-radius);
  box-shadow:0 18px 50px rgba(10,42,74,.28);
  padding:1.15rem 1.15rem 1.25rem;
  width:100%;
  max-width:420px;
  display:flex;
  flex-direction:column;
  height:460px;
  min-height:460px;
  max-height:460px;
  overflow:hidden;
}
.pg-sim__card::before{
  content:"";
  position:absolute;
  left:0;right:0;top:0;
  height:3px;
  background:linear-gradient(90deg,var(--pg-brand),var(--pg-brand-hover));
}
.pg-sim--page .pg-sim__card{
  max-width:520px;
  margin:0 auto;
  padding:1.5rem 1.4rem 1.55rem;
  box-shadow:0 12px 40px rgba(21,64,108,.12);
  border:1px solid rgba(21,64,108,.08);
  height:480px;
  min-height:480px;
  max-height:480px;
}
/* Zone étapes : hauteur fixe, nav collée en bas */
.pg-sim [data-panel]{
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
.pg-sim [data-panel] .pg-sim__nav{
  margin-top:auto;
  padding-top:.75rem;
}
.pg-sim [data-panel] .pg-sim__legal{
  margin-top:.5rem;
}

.pg-sim__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:.75rem;
  margin:0 0 .85rem;
}
.pg-sim__kicker{
  margin:0;
  font-size:.68rem;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--pg-brand);
}
.pg-sim__title{
  margin:.2rem 0 0;
  font-size:1.05rem;
  font-weight:700;
  line-height:1.25;
  color:var(--pg-navy);
}
.pg-sim--page .pg-sim__title{font-size:1.25rem}
.pg-sim__step-n{
  flex-shrink:0;
  font-size:.72rem;
  font-weight:600;
  color:var(--pg-muted);
  white-space:nowrap;
  padding-top:.15rem;
}

.pg-sim__bar{
  height:4px;
  border-radius:999px;
  background:rgba(21,64,108,.1);
  overflow:hidden;
  margin:0 0 1rem;
}
.pg-sim__bar>i{
  display:block;
  height:100%;
  width:0;
  border-radius:inherit;
  background:linear-gradient(90deg,var(--pg-brand),var(--pg-brand-hover));
  transition:width .28s ease;
}

.pg-sim__q{
  margin:0 0 .75rem;
  font-size:.92rem;
  font-weight:600;
  line-height:1.35;
  color:var(--pg-ink);
}
.pg-sim__hint{
  margin:-.35rem 0 .75rem;
  font-size:.78rem;
  color:var(--pg-muted);
  line-height:1.4;
}

.pg-sim__choices{
  display:flex;
  flex-direction:column;
  gap:.45rem;
}
.pg-sim__choice{
  display:flex;
  align-items:center;
  gap:.55rem;
  width:100%;
  min-height:48px;
  padding:.7rem .85rem .7rem .9rem;
  margin:0;
  border:1.5px solid rgba(21,64,108,.12);
  border-radius:12px;
  background:#fff;
  background-color:#fff;
  background-image:none;
  box-shadow:0 1px 0 rgba(21,64,108,.04);
  color:#132D46!important;
  font-family:inherit;
  font-size:.88rem;
  font-weight:600;
  text-align:left;
  cursor:pointer;
  transition:border-color .15s ease,background .15s ease,box-shadow .15s ease,transform .12s ease;
}
/* Anti Hello/Elementor : hover ne doit JAMAIS blanchir le texte */
body .pg-sim button.pg-sim__choice:hover,
body .pg-sim button.pg-sim__choice:focus,
body .pg-sim button.pg-sim__choice:focus-visible,
body .pg-sim button.pg-sim__choice:active,
.pg-sim__choice:hover,
.pg-sim__choice:focus,
.pg-sim__choice:focus-visible,
.pg-sim__choice:active{
  border-color:#006EAB!important;
  background:#f3f9fc!important;
  background-color:#f3f9fc!important;
  background-image:none!important;
  color:#132D46!important;
  box-shadow:0 4px 14px rgba(0,110,171,.1)!important;
  transform:none!important;
}
.pg-sim__choice:focus-visible{
  outline:2px solid #0693e3;
  outline-offset:2px;
}
body .pg-sim button.pg-sim__choice.is-on,
body .pg-sim button.pg-sim__choice.is-on:hover,
.pg-sim__choice.is-on,
.pg-sim__choice.is-on:hover{
  border-color:#006EAB!important;
  background:#e8f4fb!important;
  background-color:#e8f4fb!important;
  background-image:none!important;
  color:#15406C!important;
  box-shadow:0 0 0 3px rgba(0,110,171,.12)!important;
}
.pg-sim__choice-label{flex:1 1 auto;min-width:0;color:inherit!important}
.pg-sim__choice-price{
  font-size:.78rem;
  font-weight:700;
  color:#006EAB!important;
  white-space:nowrap;
}
.pg-sim__choice-chev{
  flex-shrink:0;
  width:1.1rem;
  text-align:center;
  font-size:1.15rem;
  font-weight:700;
  line-height:1;
  color:#006EAB!important;
  opacity:.55;
}
.pg-sim__choice:hover .pg-sim__choice-chev,
.pg-sim__choice.is-on .pg-sim__choice-chev{opacity:1;color:#006EAB!important}
.pg-sim__foot{
  margin:auto 0 0;
  padding-top:.85rem;
  font-size:.72rem;
  font-weight:600;
  letter-spacing:.02em;
  color:var(--pg-muted);
  text-align:center;
}

.pg-sim__nav{
  display:flex;
  align-items:center;
  gap:.5rem;
  margin-top:1rem;
}
.pg-sim__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  min-height:44px;
  padding:0 1.15rem;
  margin:0;
  border-radius:999px;
  border:1.5px solid transparent;
  font-family:inherit;
  font-size:.82rem;
  font-weight:700;
  cursor:pointer;
  transition:background .15s ease,border-color .15s ease,transform .12s ease;
}
.pg-sim__btn:focus-visible{
  outline:2px solid var(--pg-brand-hover);
  outline-offset:2px;
}
.pg-sim__btn--ghost{
  background:transparent;
  border-color:rgba(21,64,108,.2);
  color:var(--pg-navy);
}
.pg-sim__btn--ghost:hover{border-color:var(--pg-navy);background:rgba(21,64,108,.04)}
.pg-sim__btn--primary{
  background:var(--pg-brand);
  border-color:var(--pg-brand);
  color:var(--pg-white);
  flex:1;
}
.pg-sim__btn--primary:hover{
  background:var(--pg-brand-hover);
  border-color:var(--pg-brand-hover);
}
.pg-sim__btn:disabled{
  opacity:.45;
  cursor:not-allowed;
  transform:none!important;
}

.pg-sim__fields{
  display:flex;
  flex-direction:column;
  gap:.65rem;
}
.pg-sim__field label{
  display:block;
  margin:0 0 .3rem;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:var(--pg-muted);
}
.pg-sim__field input,
.pg-sim__field textarea{
  width:100%;
  min-height:44px;
  padding:.65rem .8rem;
  border:1.5px solid rgba(21,64,108,.16);
  border-radius:10px;
  background:#fff;
  font-family:inherit;
  font-size:.9rem;
  color:var(--pg-ink);
}
.pg-sim__field textarea{min-height:78px;resize:vertical}
.pg-sim__field input:focus,
.pg-sim__field textarea:focus{
  outline:none;
  border-color:var(--pg-brand);
  box-shadow:0 0 0 3px rgba(0,110,171,.15);
}
.pg-sim__field input.is-err,
.pg-sim__field textarea.is-err{border-color:var(--pg-error)}
.pg-sim__hp{
  position:absolute!important;
  left:-9999px!important;
  width:1px!important;height:1px!important;
  overflow:hidden!important;
  opacity:0!important;
  pointer-events:none!important;
}
.pg-sim__consent{
  display:flex;
  gap:.55rem;
  align-items:flex-start;
  font-size:.75rem;
  line-height:1.4;
  color:var(--pg-muted);
}
.pg-sim__consent input{
  margin-top:.2rem;
  flex-shrink:0;
  width:16px;height:16px;
  accent-color:var(--pg-brand);
}
.pg-sim__consent a{color:var(--pg-brand);text-decoration:underline}

.pg-sim__result{
  text-align:center;
  padding:.35rem 0 .15rem;
}
.pg-sim__result-label{
  margin:0;
  font-size:.72rem;
  font-weight:700;
  letter-spacing:.06em;
  text-transform:uppercase;
  color:var(--pg-muted);
}
.pg-sim__result-price{
  margin:.35rem 0 .15rem;
  font-size:2.15rem;
  font-weight:700;
  line-height:1.1;
  color:var(--pg-brand);
}
.pg-sim__result-price small{
  font-size:1rem;
  font-weight:600;
  color:var(--pg-navy);
}
.pg-sim__result-note{
  margin:.45rem 0 0;
  font-size:.78rem;
  line-height:1.45;
  color:var(--pg-muted);
}
.pg-sim__summary{
  margin:1rem 0 0;
  padding:.75rem .85rem;
  border-radius:12px;
  background:var(--pg-cream);
  text-align:left;
  font-size:.82rem;
  line-height:1.45;
  color:var(--pg-ink);
}
.pg-sim__summary dt{
  font-weight:700;
  color:var(--pg-navy);
  margin:0 0 .1rem;
}
.pg-sim__summary dd{
  margin:0 0 .55rem;
  color:rgba(19,45,70,.85);
}
.pg-sim__summary dd:last-child{margin-bottom:0}
.pg-sim__ok{
  margin:.85rem 0 0;
  padding:.7rem .8rem;
  border-radius:10px;
  background:#e8f7e4;
  color:#1f6b14;
  font-size:.82rem;
  font-weight:600;
  line-height:1.4;
}
.pg-sim__err{
  margin:.65rem 0 0;
  padding:.65rem .75rem;
  border-radius:10px;
  background:#fdeaea;
  color:var(--pg-error);
  font-size:.8rem;
  font-weight:600;
  line-height:1.35;
}
.pg-sim__legal{
  margin:.85rem 0 0;
  font-size:.68rem;
  line-height:1.4;
  color:var(--pg-muted);
  text-align:center;
}

/* Tablette / pliable déplié */
@media (max-width:1024px){
  .pg-sim__card{
    max-width:100%;
    padding:1.1rem 1.05rem 1.15rem;
    height:440px;
    min-height:440px;
    max-height:440px;
  }
  .pg-sim--page .pg-sim__card{
    max-width:480px;
    height:460px;
    min-height:460px;
    max-height:460px;
  }
  .pg-sim__title{font-size:1rem}
  .pg-sim__q{font-size:.9rem}
  .pg-sim__choice{
    min-height:46px;
    padding:.65rem .85rem;
    font-size:.86rem;
  }
  .pg-sim__result-price{font-size:1.9rem}
}

/* Mobile standard */
@media (max-width:680px){
  .pg-sim__card{
    max-width:none;
    padding:1.05rem .95rem 1rem;
    border-radius:18px;
    box-shadow:
      0 4px 6px rgba(10,42,74,.06),
      0 18px 40px rgba(10,42,74,.22);
    height:390px;
    min-height:390px;
    max-height:390px;
  }
  .pg-sim--page .pg-sim__card{
    height:420px;
    min-height:420px;
    max-height:420px;
  }
  .pg-sim__head{margin:0 0 .55rem;gap:.5rem}
  .pg-sim__title{font-size:1.05rem}
  .pg-sim__kicker{color:var(--pg-brand)}
  .pg-sim__step-n{font-size:.68rem}
  .pg-sim__bar{height:5px;margin:0 0 .8rem}
  .pg-sim__q{font-size:.9rem;margin:0 0 .6rem;color:var(--pg-navy)}
  .pg-sim__hint{font-size:.74rem;margin:-.15rem 0 .55rem}
  .pg-sim__choices{gap:.4rem}
  .pg-sim__choice{
    min-height:48px;
    padding:.65rem .75rem .65rem .85rem;
    font-size:.86rem;
    border-radius:12px;
    background:var(--pg-cream);
    border-color:transparent;
  }
  .pg-sim__choice:hover,
  .pg-sim__choice.is-on{
    background:#fff;
    border-color:var(--pg-brand);
  }
  .pg-sim__foot{padding-top:.55rem;font-size:.7rem}
  .pg-sim__fields{gap:.55rem}
  .pg-sim__field input,
  .pg-sim__field textarea{
    font-size:16px; /* évite zoom iOS */
    min-height:46px;
    padding:.7rem .8rem;
  }
  .pg-sim__nav{
    flex-wrap:wrap;
    gap:.45rem;
    margin-top:.85rem;
  }
  .pg-sim__btn{
    min-height:46px;
    flex:1 1 auto;
    padding:0 1rem;
    font-size:.8rem;
  }
  .pg-sim__btn--ghost{flex:0 0 auto;min-width:5.5rem}
  .pg-sim__btn--primary{flex:1 1 10rem}
  .pg-sim__consent{font-size:.72rem;gap:.5rem}
  .pg-sim__consent input{width:18px;height:18px;margin-top:.1rem}
  .pg-sim__result-price{font-size:1.85rem}
  .pg-sim__summary{font-size:.8rem;padding:.7rem .75rem}
  .pg-sim__legal{font-size:.65rem}
}

@media (max-width:430px){
  .pg-sim__card{
    padding:1rem .85rem .95rem;
    border-radius:16px;
    height:375px;
    min-height:375px;
    max-height:375px;
  }
  .pg-sim__kicker{font-size:.64rem;letter-spacing:.06em}
  .pg-sim__choice{font-size:.82rem}
  .pg-sim__nav{flex-direction:column-reverse}
  .pg-sim__btn,
  .pg-sim__btn--ghost,
  .pg-sim__btn--primary{
    width:100%;
    flex:none;
    min-width:0;
  }
}

/* Cover pliable / très étroit */
@media (max-width:320px){
  .pg-sim__card{
    padding:.85rem .7rem .85rem;
    border-radius:14px;
    height:360px;
    min-height:360px;
    max-height:360px;
  }
  .pg-sim__choice{
    min-height:40px;
    padding:.5rem .65rem;
    font-size:.78rem;
    gap:.4rem;
  }
  .pg-sim__btn{min-height:40px;font-size:.76rem}
  .pg-sim__field input{min-height:40px;font-size:16px}
  .pg-sim__result-price{font-size:1.55rem}
  .pg-sim__head{flex-wrap:wrap}
}

@media (hover:none) and (pointer:coarse){
  .pg-sim__choice{min-height:48px}
  .pg-sim__btn{min-height:44px}
  .pg-sim__field input,
  .pg-sim__field textarea{min-height:48px}
}
@media (max-width:320px) and (hover:none) and (pointer:coarse){
  .pg-sim__choice{min-height:40px}
  .pg-sim__btn{min-height:40px}
}

@media (max-height:430px) and (orientation:landscape){
  .pg-sim__card{
    padding:.75rem .85rem .85rem;
    height:min(340px,78vh);
    min-height:min(340px,78vh);
    max-height:min(340px,78vh);
  }
  .pg-sim__bar{margin:0 0 .55rem}
  .pg-sim__q{margin:0 0 .45rem}
  .pg-sim__choices{gap:.3rem}
  .pg-sim__choice{min-height:40px;padding:.45rem .7rem}
  .pg-sim__nav{margin-top:.55rem}
}

@media (prefers-reduced-motion:reduce){
  .pg-sim__bar>i,
  .pg-sim__choice,
  .pg-sim__btn{transition:none}
}
