/* Page /simulateur. En-tête, haut de page et pied de page : styles.css (mêmes classes que le site). */
.simu-page {
  margin: 0;
  color: #0a1b27;
  background: #fff;
  font: 400 16px/1.65 Inter, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
}
.simu-page *, .simu-page *::before, .simu-page *::after { box-sizing: border-box; }
.simu-page [hidden] { display: none !important; }
.simu-page :focus-visible { outline: 2px solid #028dfa; outline-offset: 4px; }
.skip-link { position: absolute; top: -100px; z-index: 20; padding: 12px; background: #fff; }
.skip-link:focus { top: 8px; }

/* En-tête : liens vers les sections de la page (styles.css) */
.simu-page [id] { scroll-margin-top: 24px; }

/* Haut de page centré, sur toute la hauteur de l'écran */
.v2-home .simu-hero { min-height: calc(100svh - 74px); }
.v2-home .simu-hero .hero-overlay { background: linear-gradient(180deg, rgba(7, 27, 41, .93), rgba(10, 39, 58, .88)); }
.v2-home .simu-hero .hero-container { padding: 80px 0 88px; grid-template-columns: 1fr; justify-items: center; text-align: center; }
.v2-home .simu-hero .hero-copy { max-width: 1040px; }
.v2-home .simu-hero .eyebrow { margin: 0 auto 28px; font-size: 13px; }
.v2-home .simu-hero .hero-title { max-width: none; font-size: clamp(48px, 5.4vw, 80px); line-height: 1.02; }
.v2-home .simu-hero .hero-intro { max-width: 880px; margin: 28px auto 0; font-size: 18px; line-height: 1.65; text-wrap: pretty; }
.v2-home .simu-hero .benefits { justify-content: center; margin-top: 36px; }
.v2-home .simu-hero .benefits li { flex: none; padding: 2px 24px; }
.v2-home .simu-hero .benefits strong { font-size: 16px; }
.v2-home .simu-start {
  display: inline-flex;
  align-items: center;
  min-height: 62px;
  margin-top: 44px;
  padding: 16px 40px;
  font-size: 17px;
  color: #fff;
  background: #0170c8;
  border-radius: 4px;
  font-weight: 700;
  text-decoration: none;
  transition: background 160ms ease;
}
.v2-home .simu-start:hover { background: #015ba3; }

/* Simulateur en plein écran (élément de la page, pas une fenêtre de navigateur) */
.simu-open { overflow: hidden; }
.simu-overlay {
  position: fixed;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  max-height: none;
  margin: 0;
  padding: 0 0 48px;
  border: 0;
  overflow-y: auto;
  color: #0a1b27;
  background-color: #eef3f7;
  background-image: radial-gradient(rgba(2, 141, 250, .32) 1.3px, transparent 1.4px);
  background-size: 22px 22px;
}
.simu-overlay[open] { display: flex; flex-direction: column; animation: simu-in 220ms ease-out; }
/* La carte se centre dans l'espace sous la barre (et défile normalement si elle est plus haute que l'écran) */
.simu-overlay .simu-card { flex: none; margin: auto; }
.simu-overlay::backdrop { background: #0a1b27; }
@keyframes simu-in { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.simu-overlay-bar {
  position: sticky;
  top: 0;
  z-index: 2;
  height: 64px;
  margin-bottom: 40px;
  padding: 0 max(24px, calc((100% - 1240px) / 2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #0a1b27;
}
.simu-overlay-bar img { display: block; width: 170px; height: auto; }
.v2-home .simu-close {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 0;
  border: 0;
  background: none;
  color: #fff;
  font: 600 14px/1 Inter, Arial, sans-serif;
  cursor: pointer;
}
.simu-close span { font-size: 22px; font-weight: 400; line-height: 1; }

/* Carte du simulateur */
.simu-card {
  position: relative;
  width: calc(100% - 48px);
  max-width: 980px;
  margin: 0 auto;
  padding: 44px 56px 52px;
  color: #0a1b27;
  background: #fff;
  border: 1px solid #dde6ec;
  border-radius: 8px;
  box-shadow: 0 24px 60px rgba(10, 27, 39, .10);
  scroll-margin-top: 24px;
}
.simu-progress { position: absolute; top: 0; left: 0; right: 0; height: 4px; background: #e3eaef; border-radius: 8px 8px 0 0; overflow: hidden; }
.simu-progress span { display: block; height: 100%; width: 10%; background: #028dfa; transition: width 260ms ease; }
.simu-top { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; min-height: 28px; margin-bottom: 14px; }
.simu-count { grid-column: 2; grid-row: 1; margin: 0; color: #0170c8; font-size: 14px; font-weight: 600; letter-spacing: .08em; text-transform: uppercase; }
.simu-back { grid-column: 1; grid-row: 1; justify-self: start; padding: 0; border: 0; background: none; color: #0a1b27; font: 500 14px/1 Inter, Arial, sans-serif; text-decoration: underline; text-underline-offset: 4px; cursor: pointer; }
.v2-home .simu-question {
  max-width: 720px;
  margin: 0 auto 34px;
  color: #0a1b27;
  font-family: "Schibsted Grotesk", Arial, sans-serif;
  font-size: 2.25rem;
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -.04em;
  text-align: center;
}
.simu-question:focus { outline: none; }

/* Réponses : vignettes avec pictogramme */
.simu-options { display: grid; gap: 14px; }
.simu-options--n2 { grid-template-columns: repeat(2, minmax(0, 220px)); justify-content: center; }
.simu-options--n3, .simu-options--n9 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simu-options--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.simu-options--n5 { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.simu-option {
  width: 100%;
  min-height: 140px;
  padding: 24px 14px 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  color: #0a1b27;
  background: #fff;
  border: 1px solid #d3dee6;
  border-radius: 8px;
  font: 500 16px/1.4 Inter, Arial, sans-serif;
  text-align: center;
  cursor: pointer;
  transition: border-color 160ms ease, background 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}
.simu-option:hover { border-color: #028dfa; box-shadow: 0 12px 28px rgba(2, 141, 250, .14); transform: translateY(-2px); }
.simu-option[aria-pressed="true"] { border-color: #028dfa; background: #f2f9ff; box-shadow: 0 0 0 1px #028dfa; }
.simu-option-icon { width: 36px; height: 36px; flex: none; fill: none; stroke: #028dfa; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.simu-option-icon circle[r="1.2"] { fill: #028dfa; }
.simu-options--n9 .simu-option { min-height: 0; flex-direction: row; justify-content: flex-start; gap: 12px; padding: 16px 18px; text-align: left; }
.simu-options--n9 .simu-option-icon { width: 24px; height: 24px; }

/* Coordonnées */
.simu-form, .simu-done, .simu-out { max-width: 560px; margin: 0 auto; }
.simu-hint { margin: -18px 0 26px; font-size: 16px; text-align: center; }
.simu-done, .simu-out { text-align: center; }
.simu-out p { margin: 0 0 14px; }
.simu-out a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
/* Lien pour les personnes qui cherchent un emploi : discret, en bas de la carte */
.simu-job { margin: 36px 0 0; padding-top: 20px; border-top: 1px solid #e3eaef; font-size: 14px; text-align: center; }
.simu-job a { color: #0a1b27; font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.simu-row { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.simu-form label { display: block; margin-bottom: 6px; font-size: 14px; font-weight: 600; }
.simu-form label span { font-weight: 400; }
.simu-form input {
  width: 100%;
  min-height: 48px;
  margin: 0 0 16px;
  padding: 10px 14px;
  color: #0a1b27;
  background: #fff;
  border: 1px solid #c9d5dd;
  border-radius: 4px;
  font: 400 16px/1.4 Inter, Arial, sans-serif;
}
.simu-form input:focus { outline: none; border-color: #028dfa; box-shadow: 0 0 0 3px rgba(2, 141, 250, .15); }
.v2-home .simu-submit {
  width: 100%;
  min-height: 54px;
  margin-top: 6px;
  color: #fff;
  background: #0170c8;
  border: 0;
  border-radius: 4px;
  font: 700 16px/1 Inter, Arial, sans-serif;
  cursor: pointer;
  transition: background 160ms ease;
}
.v2-home .simu-submit:hover { background: #015ba3; }
.simu-note { margin: 14px 0 0; font-size: 13px; line-height: 1.55; }
.simu-note a, .simu-done a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
.simu-done p { margin: 0 0 14px; }

/* Sections */
.simu-container { width: 90%; max-width: 80rem; margin: 0 auto; }
.simu-section { padding: 7rem 0; color: #0a1b27; background: #fff; }
/* .v2-home met du blanc sur fond foncé par défaut : on remet noir sur clair pour les sections claires */
.simu-section.simu-light { background: #f7f7f7; }
.simu-kicker { margin: 0 0 16px; color: #0170c8; font-size: .875rem; font-weight: 500; letter-spacing: .14em; text-transform: uppercase; }
.v2-home .simu-section h2 {
  max-width: 790px;
  margin: 0;
  color: #0a1b27;
  font-family: "Schibsted Grotesk", Arial, sans-serif;
  font-size: 3rem;
  font-weight: 700;
  line-height: 1.03;
  letter-spacing: -.05em;
}
.simu-lead { max-width: 640px; margin: 24px 0 0; font-size: 16px; line-height: 1.65; }
.simu-split { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(3rem, 7vw, 6rem); align-items: start; }

/* Texte à gauche, photo à droite */
.simu-media { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(3rem, 7vw, 6rem); align-items: center; }
.simu-media .simu-lead + .simu-lead { margin-top: 16px; }
.simu-media-image { margin: 0; }
.simu-media-image img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; border-radius: 4px; }

/* Étapes */
.simu-steps { margin: 0; padding: 0; list-style: none; border-top: 1px solid #d6dfe5; }
.simu-steps li { display: grid; grid-template-columns: 56px 1fr; gap: 12px; padding: 28px 0; border-bottom: 1px solid #d6dfe5; }
.simu-steps span { font-family: "Schibsted Grotesk", Arial, sans-serif; font-size: 1.25rem; font-weight: 700; color: #0170c8; }
.v2-home .simu-steps h3 { margin: 0 0 6px; font-family: "Schibsted Grotesk", Arial, sans-serif; font-size: 1.5rem; font-weight: 700; letter-spacing: -.03em; line-height: 1.15; color: #0a1b27; }
.simu-steps p { margin: 0; }

/* Avis */
.simu-section.simu-dark { background: #0a1b27; color: #fff; }
.simu-dark .simu-kicker { color: #65c3ff; }
.v2-home .simu-dark h2 { color: #fff; }
.simu-reviews { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; margin-top: 56px; }
.simu-reviews figure { margin: 0; padding-top: 24px; border-top: 1px solid rgba(255, 255, 255, .25); }
.simu-reviews blockquote { margin: 0 0 20px; font-size: 16px; line-height: 1.65; }
.simu-reviews figcaption { font-size: 14px; font-weight: 600; }

/* FAQ */
.simu-faq details { border-bottom: 1px solid #d6dfe5; }
.simu-faq details:first-child { border-top: 1px solid #d6dfe5; }
.simu-faq summary { padding: 22px 0; cursor: pointer; font-size: 16px; font-weight: 600; list-style: none; display: flex; justify-content: space-between; gap: 24px; }
.simu-faq summary::-webkit-details-marker { display: none; }
.simu-faq summary::after { content: "+"; flex: none; color: #028dfa; font-size: 1.5rem; line-height: 1; }
.simu-faq details[open] summary::after { content: "−"; }
.simu-faq details p { margin: 0 0 24px; }

/* Pied de page */
.simu-footer-grid { display: grid; grid-template-columns: minmax(0, 1.4fr) repeat(3, minmax(0, 1fr)); gap: 48px; padding-bottom: 40px; }
.simu-footer-about p { max-width: 340px; margin: 20px 0 0; color: #fff; font-size: 15px; line-height: 1.6; }
.simu-footer-grid nav, .simu-footer-grid > div:last-child { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
.simu-footer-title { margin: 0 0 6px; color: #65c3ff; font-size: 13px; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.simu-footer-grid a { color: #fff; font-size: 15px; text-decoration: none; }
.simu-footer-grid a:hover { text-decoration: underline; text-underline-offset: 4px; }
.simu-footer-grid > div:last-child p:not(.simu-footer-title) { margin: 0; color: #fff; font-size: 15px; }
.v2-home .simu-footer-phone { font-size: 18px; font-weight: 700; }
.simu-footer .v2-footer-bottom p, .simu-footer .v2-footer-legal a { color: #fff; }

@media (max-width: 991px) {
  .simu-section { padding: 5rem 0; }
  .v2-home .simu-section h2 { font-size: 2.5rem; }
  .simu-split { grid-template-columns: 1fr; }
  .simu-reviews { grid-template-columns: 1fr; gap: 28px; }
  .simu-media { grid-template-columns: 1fr; gap: 2.5rem; }
  .simu-footer-grid { grid-template-columns: 1fr 1fr; gap: 36px; }
}
@media (max-width: 640px) {
  .v2-home .simu-hero .benefits { display: none; }
  .simu-row { grid-template-columns: 1fr; gap: 0; }
  .v2-home .simu-section h2 { font-size: 2.125rem; }
  .simu-container { width: calc(100% - 32px); }
  .simu-footer-grid { grid-template-columns: 1fr; gap: 32px; }
}

/* Case d'accord pour être recontacté */
.simu-form .simu-consent { display: flex; align-items: flex-start; gap: 10px; margin: 2px 0 14px; font-size: 14px; font-weight: 400; line-height: 1.5; cursor: pointer; }
.simu-form .simu-consent input { width: 18px; min-height: 18px; height: 18px; margin: 2px 0 0; padding: 0; flex: none; accent-color: #028dfa; }

/* Réponses illustrées : photo + texte */
.simu-options--images { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.simu-options--images .simu-option { justify-content: flex-start; gap: 0; min-height: 0; padding: 0; overflow: hidden; }
.simu-option-pic { position: relative; width: 100%; display: grid; place-items: center; aspect-ratio: 4 / 3; background: #eef2f5; color: #0a1b27; font-size: 13px; font-weight: 500; }
.simu-option-pic img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }
.simu-options--images .simu-option-text { display: block; padding: 14px 12px 16px; }

@media (max-width: 991px) {
  .simu-options--n5 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .simu-card { padding: 40px 32px 44px; }
}
@media (max-width: 640px) {
  .simu-overlay { padding-bottom: 0; background: #fff; }
  .simu-overlay-bar { height: 56px; margin-bottom: 0; padding: 0 16px; }
  .simu-overlay-bar img { width: 140px; }
  .simu-card { width: 100%; padding: 28px 16px 32px; border: 0; border-radius: 0; box-shadow: none; }
  .simu-overlay .simu-card { margin: 0; }
  .simu-progress { border-radius: 0; }
  .v2-home .simu-question { font-size: 1.5rem; margin-bottom: 24px; }
  .simu-options--n2, .simu-options--n3, .simu-options--n4, .simu-options--n5, .simu-options--images { grid-template-columns: 1fr 1fr; gap: 10px; }
  .simu-options--n9 { grid-template-columns: 1fr; gap: 8px; }
  .simu-option { min-height: 116px; padding: 18px 10px 16px; gap: 10px; font-size: 15px; }
  .simu-options--n3 .simu-option:last-child, .simu-options--n5 .simu-option:last-child { grid-column: 1 / -1; min-height: 0; flex-direction: row; justify-content: center; padding: 16px; }
  .simu-option-icon { width: 30px; height: 30px; }
  .v2-home .simu-hero { min-height: calc(100svh - 66px); }
  .v2-home .simu-hero .hero-container { padding: 48px 0 56px; }
  .v2-home .simu-hero .hero-title { font-size: clamp(38px, 11vw, 48px); }
  .v2-home .simu-hero .hero-intro { font-size: 16px; }
  .v2-home .simu-start { width: 100%; justify-content: center; }
}

@media (prefers-reduced-motion: reduce) { .simu-overlay[open] { animation: none; } .simu-option { transition: none; } }

/* Page candidature */
.simu-job-page { min-height: calc(100svh - 74px); padding: 56px 0; color: #0a1b27; background-color: #eef3f7; background-image: radial-gradient(rgba(2, 141, 250, .32) 1.3px, transparent 1.4px); background-size: 22px 22px; }
.simu-job-page .simu-card { max-width: 680px; }

/* Questions « prise de conscience » : réponses en texte seul */
.simu-sub { margin: -22px 0 30px; }
.simu-options--text .simu-option { min-height: 92px; padding: 20px 16px; font-weight: 600; }
.simu-options--text.simu-options--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.simu-options--text.simu-options--n4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
/* Phrase avant le formulaire */
.simu-thanks { margin: 0 0 12px; color: #0170c8; font-size: 16px; font-weight: 600; text-align: center; }
@media (max-width: 640px) {
  .simu-options--text.simu-options--n3, .simu-options--text.simu-options--n4 { grid-template-columns: 1fr; gap: 10px; }
  .simu-options--text .simu-option, .simu-options--text.simu-options--n3 .simu-option:last-child { min-height: 64px; grid-column: auto; }
  .simu-sub { margin: -14px 0 22px; }
}

/* Témoignage au-dessus d'une question */
.simu-intro { max-width: 640px; margin: 0 auto 14px; font-size: 16px; line-height: 1.65; text-align: center; }
.simu-options--text.simu-options--n2 { grid-template-columns: repeat(2, minmax(0, 260px)); justify-content: center; }
@media (max-width: 640px) { .simu-options--text.simu-options--n2 { grid-template-columns: 1fr; } }
.v2-home .simu-question.simu-question--long { max-width: 820px; font-size: 2rem; line-height: 1.15; }
@media (max-width: 640px) { .v2-home .simu-question.simu-question--long { font-size: 1.375rem; } }

/* Question libre */
.simu-free { max-width: 640px; margin: 0 auto; display: block; }
.simu-free-text { display: block; width: 100%; min-height: 140px; margin: 0 0 16px; padding: 14px 16px; color: #0a1b27; background: #fff; border: 1px solid #c9d5dd; border-radius: 8px; font: 400 16px/1.6 Inter, Arial, sans-serif; resize: vertical; }
.simu-free-text:focus { outline: none; border-color: #028dfa; box-shadow: 0 0 0 3px rgba(2, 141, 250, .15); }
.simu-free-text::placeholder { color: #5b6b76; }
.simu-close[hidden] { display: none !important; }

/* Formulaire final : champs avec pictogramme, plus doux */
.simu-form input:not([type=checkbox]) {
  min-height: 52px;
  padding-left: 44px;
  background-color: #f6f9fb;
  background-repeat: no-repeat;
  background-position: 14px center;
  background-size: 18px 18px;
  border-color: #dbe4ea;
  border-radius: 8px;
}
.simu-form input:not([type=checkbox]):focus { background-color: #fff; }
.simu-form input[name="first-name"], .simu-form input[name="last-name"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23028dfa%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%228%22%20r%3D%224%22/%3E%3Cpath%20d%3D%22M4.5%2020.5c.6-3.7%203.7-5.5%207.5-5.5s6.9%201.8%207.5%205.5%22/%3E%3C/svg%3E"); }
.simu-form input[name="phone"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23028dfa%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M7.2%203.5%209.4%208a1.2%201.2%200%200%201-.3%201.4l-1.4%201.1a14%2014%200%200%200%205.8%205.8l1.1-1.4a1.2%201.2%200%200%201%201.4-.3l4.5%202.2a1.2%201.2%200%200%201%20.7%201.1V20a1.2%201.2%200%200%201-1.2%201.2C10.5%2021.2%202.8%2013.5%202.8%204A1.2%201.2%200%200%201%204%202.8h2.1a1.2%201.2%200%200%201%201.1.7Z%22/%3E%3C/svg%3E"); }
.simu-form input[name="email"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23028dfa%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M3%205.5h18v13H3z%22/%3E%3Cpath%20d%3D%22m3.5%206%208.5%207%208.5-7%22/%3E%3C/svg%3E"); }
.simu-form label { font-size: 14px; }
.v2-home .simu-form .simu-submit { border-radius: 8px; }
.simu-form .simu-note { padding-left: 24px; background: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%230a1b27%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M5%2011h14v10H5z%22/%3E%3Cpath%20d%3D%22M8%2011V7.5a4%204%200%200%201%208%200V11%22/%3E%3C/svg%3E") no-repeat 0 2px / 16px 16px; }

@media (max-width: 640px) {
  /* Sur mobile : la carte reste posée sur le fond à points, avec une marge */
  .simu-overlay {
    background-color: #eef3f7;
    background-image: radial-gradient(rgba(2, 141, 250, .32) 1.3px, transparent 1.4px);
    background-size: 22px 22px;
  }
  .simu-overlay .simu-card {
    width: auto;
    margin: 12px;
    padding: 26px 18px 22px;
    border: 1px solid #dde6ec;
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(10, 27, 39, .10);
  }
  .simu-progress { border-radius: 12px 12px 0 0; }
  .simu-row { grid-template-columns: 1fr 1fr; gap: 10px; }
  .simu-form .simu-hint { margin: -8px 0 22px; font-size: 15px; }
  .simu-form input:not([type=checkbox]) { margin-bottom: 14px; }
  .simu-form label { font-size: 13px; }
}

/* Réponse illustrée sans photo : grand point d'interrogation bleu */
.simu-option-pic--icon { background: #f2f9ff; }
.simu-option-pic--icon .simu-option-icon { width: 56px; height: 56px; stroke-width: 1.3; }

/* Question à photos : carte plus large, 3 grandes photos, libellé court */
.simu-card.simu-card--wide { max-width: 1180px; }
.simu-options--images.simu-options--n3 { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px; }
.simu-options--images .simu-option-pic img { transition: transform 300ms ease; }
.simu-options--images .simu-option:hover .simu-option-pic img { transform: scale(1.04); }
.simu-options--images .simu-option-text { padding: 16px 12px 18px; font-size: 18px; font-weight: 700; }
@media (max-width: 640px) {
  .simu-options--images.simu-options--n3 { grid-template-columns: 1fr; gap: 12px; }
  .simu-options--images .simu-option-text { padding: 12px; font-size: 17px; }
}
@media (max-width: 640px) {
  .simu-options--images.simu-options--n3 .simu-option:last-child { grid-column: auto; flex-direction: column; justify-content: flex-start; min-height: 0; padding: 0; }
}
@media (max-width: 640px) {
  /* Les 3 photos tiennent sur un écran de téléphone */
  .simu-options--images.simu-options--n3 .simu-option-pic { aspect-ratio: 16 / 9; }
  .simu-options--images.simu-options--n3 .simu-option-text { padding: 10px 12px; }
}

/* « (facultatif) » après le point d'interrogation, plus discret que la question */
.simu-question-suffix { font-family: Inter, Arial, sans-serif; font-size: 18px; font-weight: 500; letter-spacing: 0; white-space: nowrap; }

/* Galerie « Une réelle expertise diogène » : grille 3 x 3, puis « Voir plus » */
.simu-dark .simu-lead { color: #fff; }
.simu-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 48px; }
.simu-gallery-item { margin: 0; overflow: hidden; border-radius: 6px; background: #14374e; }
.simu-gallery-item img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 5; object-fit: cover; transition: transform 400ms ease; }
.simu-gallery-item:hover img { transform: scale(1.03); }
.simu-gallery-more { margin-top: 40px; text-align: center; }
.v2-home .simu-more {
  min-height: 54px;
  padding: 14px 36px;
  color: #fff;
  background: #028dfa;
  border: 0;
  border-radius: 4px;
  font: 700 16px/1 Inter, Arial, sans-serif;
  cursor: pointer;
  transition: background 160ms ease;
}
.v2-home .simu-more:hover { background: #0170c8; }
@media (max-width: 640px) {
  .simu-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 32px; }
  .v2-home .simu-more { width: 100%; }
}
@media (max-width: 640px) {
  /* 2 colonnes sur mobile : 8 photos avant « Voir plus », pour ne pas laisser une photo seule */
  .simu-gallery:not(.is-open) .simu-gallery-item:nth-child(9) { display: none; }
}

/* Galerie : titre et sous-titre centrés, « Voir plus » en simple lien souligné */
.simu-gallery-wrap > h2, .v2-home .simu-gallery-wrap > h2 { margin-left: auto; margin-right: auto; text-align: center; }
.simu-gallery-wrap > .simu-lead { margin-left: auto; margin-right: auto; text-align: center; }
.v2-home .simu-more,
.v2-home .simu-more:hover {
  min-height: 0;
  padding: 4px 0;
  color: #fff;
  background: none;
  border-radius: 0;
  font: 400 16px/1.5 Inter, Arial, sans-serif;
  text-decoration: underline;
  text-underline-offset: 4px;
}
.v2-home .simu-more:hover { text-decoration-thickness: 2px; }
@media (max-width: 640px) { .v2-home .simu-more { width: auto; } }

/* Lien téléphone sous le bouton du haut de page : texte blanc souligné, non gras */
.v2-home .simu-call { margin: 18px 0 0; font-size: 16px; }
.v2-home .simu-call a { color: #fff; font-weight: 400; text-decoration: underline; text-underline-offset: 4px; }
.v2-home .simu-call a:hover { text-decoration-thickness: 2px; }

/* Le petit titre long ne doit pas élargir le haut de page au-delà de l'écran (mobile) */
.v2-home .simu-hero .hero-copy { width: 100%; min-width: 0; }
.v2-home .simu-hero .eyebrow { width: auto; justify-content: center; text-align: center; }

/* Mobile (30/10) : le quiz prend toute la largeur, fond blanc, sans motif ni carte ; seule la barre du logo reste */
@media (max-width: 640px) {
  .simu-overlay { background: #fff; }
  .simu-overlay .simu-card { width: 100%; margin: 0; padding: 24px 16px 32px; border: 0; border-radius: 0; box-shadow: none; }
  .simu-progress { border-radius: 0; }
}
@media (max-width: 640px) {
  .simu-job-page { min-height: 0; padding: 0; background: #fff; }
  .simu-job-page .simu-card { width: 100%; margin: 0; padding: 28px 16px 32px; border: 0; border-radius: 0; box-shadow: none; }
}
.simu-form input[name="ville"] { background-image: url("data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20viewBox%3D%220%200%2024%2024%22%20fill%3D%22none%22%20stroke%3D%22%23028dfa%22%20stroke-width%3D%221.6%22%20stroke-linecap%3D%22round%22%20stroke-linejoin%3D%22round%22%3E%3Cpath%20d%3D%22M12%2021s7-6.1%207-11.5a7%207%200%201%200-14%200C5%2014.9%2012%2021%2012%2021z%22/%3E%3Ccircle%20cx%3D%2212%22%20cy%3D%229.5%22%20r%3D%222.5%22/%3E%3C/svg%3E"); }

/* Question 1 : cartes texte (titre + explication), sans pictogramme */
.simu-option.simu-option--desc { min-height: 150px; padding: 26px 22px; gap: 10px; justify-content: center; }
.simu-option--desc .simu-option-text { font-family: "Schibsted Grotesk", Arial, sans-serif; font-size: 20px; font-weight: 700; line-height: 1.2; letter-spacing: -.02em; }
.simu-option-desc { font-size: 15px; font-weight: 400; line-height: 1.45; }
@media (max-width: 640px) {
  .simu-options--text.simu-options--n3 .simu-option.simu-option--desc { min-height: 0; padding: 18px 16px; flex-direction: column; }
  .simu-option--desc .simu-option-text { font-size: 18px; }
}

/* Mobile : pas d'image de fond dans le haut de page (couverte à 91 % par le voile, elle ralentissait l'affichage) */
@media (max-width: 640px) {
  .v2-home .simu-hero { background-image: none; background-color: #0b2233; }
  .v2-home .simu-hero .hero-overlay { background: linear-gradient(180deg, #0a1b27, #0d2a3e); }
}
