/* =====================================================================
   Simulateur « Quelle étoile pour mon meublé ? » -- /simulateur-classement/
   Chargé après /style.css et /actualites/actualites.css.
   Mobile d'abord (400 px, à une main), puis élargi.
   ===================================================================== */

.sim{max-width:640px;margin:0 auto;padding:1.2rem 1rem 6rem;}

/* ---- Barre : retour, jauge d'étoiles, progression par pièces ---------- */
.sim-barre{
  position:sticky;top:0;z-index:5;margin:0 -1rem 1.2rem;padding:.7rem 1rem .8rem;
  background:rgba(242,245,248,.96);border-bottom:1px solid var(--brume-d);
}
.sim-barre__haut{display:flex;align-items:center;justify-content:space-between;gap:1rem;}
.sim-retour{
  min-height:44px;padding:0 .9rem 0 .2rem;background:none;border:none;cursor:pointer;
  font:500 .78rem/1 'Jost',sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--mer);
}
.sim-retour:disabled{visibility:hidden;}
.sim-retour{white-space:nowrap;}
@media(max-width:359px){.sim-jauge .sim-etoile{width:21px;height:21px;}.sim-jauge{gap:.1rem;}}
.sim-jauge{display:flex;gap:.25rem;}
/* Étoile éteinte = contour seul, allumée = pleine : la forme change, pas seulement la couleur */
.sim-etoile{width:26px;height:26px;color:var(--or);transition:transform .4s ease;}
.sim-etoile path{fill:transparent;stroke:var(--ink-soft);stroke-width:1.2;transition:fill .4s ease;}
.sim-etoile--on path{fill:currentColor;stroke:#9C7F2E;}
.sim-etoile--neuve{animation:sim-pop .6s ease;}
@keyframes sim-pop{0%{transform:scale(.6);}60%{transform:scale(1.18);}100%{transform:scale(1);}}

.sim-progression{list-style:none;display:flex;gap:4px;margin-top:.6rem;}
.sim-progression li{flex:1;height:6px;border-radius:3px;background:var(--brume-d);}
.sim-progression li.fait{background:var(--mer);}
.sim-progression li.encours{background:var(--or);}
.sim-progression__texte{font-size:.74rem;color:var(--mer);margin-top:.35rem;}

/* ---- Écrans -------------------------------------------------------- */
.sim-ecran:focus{outline:none;}
.sim-titre{
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--nuit);
  font-size:clamp(2rem,8vw,2.8rem);line-height:1.1;margin-bottom:.8rem;
}
.sim-h2{
  display:flex;align-items:center;gap:.7rem;
  font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--nuit);
  font-size:clamp(1.6rem,6.5vw,2.1rem);line-height:1.15;margin-bottom:.4rem;
}
.sim-h2:focus{outline:none;}
.sim-h2 svg{flex:none;width:34px;height:34px;color:var(--mer);}
.sim-h3{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;font-size:1.45rem;color:var(--nuit);margin:2rem 0 .6rem;}
.sim-intro{color:var(--ink-soft);margin-bottom:1.3rem;}
.sim-accueil p{font-size:1.05rem;margin-bottom:.8rem;}
.sim-duree{color:var(--mer);font-size:.9rem;}
.sim-alerte{background:var(--or-pale);border-left:3px solid var(--or);padding:.8rem 1rem;margin:1rem 0;}
.sim-lien{display:inline-block;min-height:44px;padding:0 .2rem;background:none;border:none;cursor:pointer;
  font:500 1rem 'Jost',sans-serif;color:var(--mer);text-decoration:underline;}

.sim-bravo{
  background:var(--blanc);border-left:3px solid var(--or);border-radius:2px;
  padding:.8rem 1rem;margin-bottom:1.2rem;color:var(--nuit-2);box-shadow:var(--shadow-1);
}

/* ---- Boutons d'action ------------------------------------------------ */
.sim-actions{display:flex;flex-direction:column;gap:.7rem;margin-top:1.6rem;}
.sim-actions .btn{min-height:52px;width:100%;}
.btn--clair{background:var(--blanc);color:var(--nuit-2);border-color:var(--brume-d);}
.btn--clair:hover{border-color:var(--mer);}
@media(min-width:560px){.sim-actions{flex-direction:row;}.sim-actions .btn{width:auto;}}
.btn:focus-visible,.sim-retour:focus-visible,.sim-q__plus:focus-visible,.sim-lien:focus-visible{outline:3px solid var(--mer);outline-offset:2px;}

/* ---- Questions ------------------------------------------------------ */
.sim-q{border:none;background:var(--blanc);border-radius:4px;padding:1rem 1rem 1.1rem;margin-bottom:1rem;box-shadow:var(--shadow-1);}
.sim-q legend{float:left;width:100%;padding:0;font-weight:500;color:var(--nuit);font-size:1.02rem;line-height:1.45;}
.sim-q legend + *{clear:both;}
.sim-q__aide{font-size:.86rem;color:var(--ink-soft);margin:.35rem 0 .8rem;}
.sim-q__aide strong{font-weight:500;color:var(--mer);}
.sim-q--manque{box-shadow:0 0 0 2px var(--or),var(--shadow-1);}

.sim-choix{display:grid;grid-template-columns:repeat(3,1fr);gap:.45rem;}
.sim-choix input{position:absolute;opacity:0;width:1px;height:1px;}
.sim-choix label{
  display:flex;align-items:center;justify-content:center;text-align:center;gap:.35rem;
  min-height:52px;padding:.4rem .3rem;border:1.5px solid var(--brume-d);border-radius:4px;
  font-size:.9rem;line-height:1.2;color:var(--nuit-2);background:var(--brume);cursor:pointer;
  transition:border-color var(--transition),background var(--transition);
}
.sim-choix label:hover{border-color:var(--mer);}
.sim-choix input:focus-visible + label{outline:3px solid var(--mer);outline-offset:2px;}
.sim-choix input:checked + label{border-color:var(--nuit-2);background:var(--nuit-2);color:#fff;font-weight:500;}
.sim-choix input:checked + label::before{content:'✓';}
.sim-choix--na{grid-template-columns:1fr;margin-top:.45rem;}
.sim-choix--na label{min-height:44px;font-size:.84rem;background:transparent;border-style:dashed;}

.sim-q__pied{display:flex;justify-content:flex-end;margin-top:.5rem;}
.sim-q__plus{
  min-width:44px;min-height:36px;padding:0 .7rem;border:1px solid var(--brume-d);border-radius:18px;
  background:var(--blanc);color:var(--mer);font:500 .8rem/1 'Jost',sans-serif;cursor:pointer;
}
.sim-officiel{font-size:.84rem;color:var(--ink-soft);background:var(--brume);border-radius:4px;padding:.7rem .8rem;margin-top:.5rem;white-space:pre-line;}
.sim-officiel strong{color:var(--nuit-2);font-weight:500;}

/* ---- Formulaires (logement, contact) --------------------------------- */
.sim-champ{margin-bottom:1.1rem;}
.sim-champ > label,.sim-champ legend{display:block;font-weight:500;color:var(--nuit);margin-bottom:.35rem;}
.sim-champ fieldset{border:none;}
.sim-champ small{display:block;font-size:.82rem;color:var(--ink-soft);margin-top:.3rem;}
.sim-input{
  width:100%;min-height:50px;padding:.6rem .8rem;border:1.5px solid var(--brume-d);border-radius:4px;
  font:400 1rem 'Jost',sans-serif;color:var(--nuit-2);background:var(--blanc);
}
.sim-input:focus{outline:3px solid var(--mer);outline-offset:1px;border-color:var(--mer);}
textarea.sim-input{min-height:110px;resize:vertical;}
.sim-nombre{display:grid;grid-template-columns:52px 1fr 52px;gap:.4rem;max-width:240px;}
.sim-nombre button{min-height:50px;border:1.5px solid var(--brume-d);border-radius:4px;background:var(--blanc);font-size:1.3rem;color:var(--nuit-2);cursor:pointer;}
.sim-nombre input{text-align:center;}
.sim-erreur{color:#9B2C1F;font-size:.86rem;margin-top:.3rem;}
.sim-erreur::before{content:'! ';font-weight:600;}
.sim-consent{display:flex;gap:.7rem;align-items:flex-start;font-size:.9rem;}
.sim-consent input{width:22px;height:22px;flex:none;margin-top:.15rem;accent-color:var(--nuit-2);}
.sim-piege{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;}

/* ---- Résultat --------------------------------------------------------- */
.sim-resultat__etoiles{display:flex;gap:.4rem;margin:.6rem 0 1rem;}
.sim-resultat__etoiles .sim-etoile{width:44px;height:44px;}
.sim-verdict{font-size:1.25rem;color:var(--nuit);line-height:1.4;}
.sim-verdict strong{font-weight:600;}
.sim-certitude{color:var(--ink-soft);margin-top:.5rem;}
.sim-bloc{background:var(--blanc);border-radius:4px;padding:1rem 1.1rem;margin-top:1.2rem;box-shadow:var(--shadow-1);}
.sim-bloc--alerte{border-left:4px solid #9B2C1F;}
.sim-bloc--atouts{border-left:4px solid var(--or);}
.sim-bloc h3{margin-top:0;}
.sim-liste{list-style:none;}
.sim-liste li{padding:.45rem 0;border-bottom:1px solid var(--brume);}
.sim-liste li:last-child{border-bottom:none;}
.sim-num{font-size:.74rem;color:var(--mer);white-space:nowrap;}
.sim-effort{font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;color:var(--mer);margin:1rem 0 .2rem;}
.sim-atouts{display:flex;flex-wrap:wrap;gap:.5rem;list-style:none;}
.sim-atouts li{background:var(--or-pale);border-radius:16px;padding:.35rem .8rem;font-size:.9rem;}
.sim-bloc a{color:var(--mer);}
.sim-envoye{background:var(--or-pale);padding:1rem;border-radius:4px;}

/* ---- Bandeau d'avertissement, toujours visible ------------------------ */
.sim-avertissement{
  position:fixed;left:0;right:0;bottom:0;z-index:6;padding:.55rem 1rem;
  background:var(--nuit);color:var(--brume);font-size:.76rem;line-height:1.35;text-align:center;
}

@media (prefers-reduced-motion:reduce){.sim-etoile--neuve{animation:none;}}

/* ---- Impression (« Enregistrer en PDF ») -------------------------------- */
@media print{
  .news-top,.sim-barre,footer,.sim-actions,.sim-contact,.sim-q__plus{display:none!important;}
  body.news-page{background:#fff;}
  .sim{padding:0;max-width:none;}
  .sim-bloc{box-shadow:none;border:1px solid #ccc;break-inside:avoid;}
  .sim-avertissement{position:static;background:none;color:#000;border-top:1px solid #ccc;margin-top:1rem;}
}
