/* Simulateurs des pages de prestation pour Duda — généré par tools/build-duda-sim.mjs, ne pas modifier à la main.
   Tout est préfixé sous .iso-sim (rien ne touche au reste du site Duda). Déclarations en !important : Duda impose
   couleurs, polices, interlignes et marges aux titres, paragraphes, liens et champs avec des sélecteurs plus forts.
   Sources : maison-3d/css/simulateur.css et pac-3d.css (identiques à assets/maison-3d/ de WordPress). */
@font-face { font-family: "Outfit"; src: url("../fonts/outfit-latin-wght.woff2") format("woff2"); font-weight: 300 800; font-style: normal; font-display: swap; }
@font-face { font-family: "Inter"; src: url("../fonts/inter-latin-wght.woff2") format("woff2"); font-weight: 300 700; font-style: normal; font-display: swap; }

/* Conteneur du widget : pleine largeur dans la colonne Duda (le bloc WordPress est « alignfull »). */
.iso-sim:not(#iso-x) {
	display: block !important; position: relative !important; box-sizing: border-box !important;
	width: 100vw !important; max-width: 100vw !important; margin: 0 0 0 calc(50% - 50vw) !important; padding: 0 !important;
	background: transparent !important; text-align: start !important; direction: ltr !important;
	font: 400 18px/1.5 "Outfit", system-ui, sans-serif !important; color: #1b1f3b !important;
	letter-spacing: normal !important; text-transform: none !important; text-shadow: none !important; word-spacing: normal !important;
	-webkit-font-smoothing: antialiased; -webkit-text-size-adjust: 100%;
}
html:has(.iso-sim), body:has(.iso-sim) { overflow-x: clip; }
.dmRespRow:has(.iso-sim) { padding-top: 0 !important; padding-bottom: 0 !important; }
.dmCustomHtml:has(> .iso-sim) { margin-top: 0 !important; margin-bottom: 0 !important; }
.iso-sim:not(#iso-x) *, .iso-sim:not(#iso-x) *::before, .iso-sim:not(#iso-x) *::after { box-sizing: border-box; }
.iso-sim:not(#iso-x) :is(h1, h2, h3, h4, h5, h6) { margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important; font-family: "Outfit", sans-serif !important; font-style: normal !important; font-weight: 700 !important; line-height: 1.25 !important; color: #2c2160 !important; letter-spacing: -.01em !important; text-transform: none !important; text-align: inherit !important; text-shadow: none !important; text-decoration: none !important; direction: ltr !important; }
.iso-sim:not(#iso-x) :is(p, ul, ol, dl, dd, figure, blockquote) { margin: 0 !important; }
.iso-sim:not(#iso-x) :is(p, li, span, strong, b, em, small, label, i) { font-family: inherit !important; letter-spacing: inherit !important; text-transform: inherit !important; text-shadow: inherit !important; direction: ltr !important; }
.iso-sim:not(#iso-x) :is(p, li, label) { color: inherit !important; font-size: inherit !important; line-height: inherit !important; font-weight: inherit; text-align: inherit !important; }
.iso-sim:not(#iso-x) :is(strong, b) { font-weight: 700 !important; color: inherit; }
.iso-sim:not(#iso-x) small { font-size: .8em; }
.iso-sim:not(#iso-x) a { color: #4068ae !important; text-decoration: none !important; font-family: inherit !important; font-size: inherit; letter-spacing: inherit !important; text-transform: none !important; text-shadow: inherit !important; vertical-align: baseline !important; }
.iso-sim:not(#iso-x) :is(button, input, select, textarea) { font-family: inherit !important; letter-spacing: normal !important; text-transform: none !important; text-shadow: inherit !important; text-align: start !important; margin: 0 !important; line-height: normal !important; min-width: 0 !important; max-width: none !important; float: none !important; -webkit-appearance: none; appearance: none; }
.iso-sim:not(#iso-x) button { text-align: center !important; color: inherit !important; background: none !important; border: 0 !important; padding: 0 !important; height: auto !important; width: auto !important; border-radius: 0 !important; box-shadow: none !important; }
.iso-sim:not(#iso-x) :is(input[type="radio"], input[type="checkbox"]) { width: auto !important; height: auto !important; }
.iso-sim:not(#iso-x) svg { max-width: none !important; }
.iso-sim:not(#iso-x) [hidden]:not(#iso-y) { display: none !important; }

/* Chargement du fragment et erreurs du chargeur */
.iso-sim:not(#iso-x) .iso-sim-loading { display: flex !important; align-items: center !important; justify-content: center !important; gap: .7rem !important; min-height: 420px !important; color: #372979 !important; font: 600 1rem "Outfit", sans-serif !important; background: linear-gradient(180deg, #f1effa 0%, #fbfbfe 100%) !important; }
.iso-sim:not(#iso-x) .iso-sim-loading::before { content: "" !important; width: 34px; height: 34px; border-radius: 50%; border: 4px solid #e4e2f1; border-top-color: #6dc34e; animation: sim-spin .8s linear infinite; }
.iso-sim:not(#iso-x) .iso-sim-error { max-width: 760px !important; margin: 2rem auto !important; padding: 1.2rem 1.4rem !important; border-radius: 14px !important; background: #fde3e0 !important; color: #8a1f12 !important; font: 600 1rem/1.5 "Outfit", sans-serif !important; text-align: center !important; }
.iso-sim:not(#iso-x) .iso-sim-error a { color: #8a1f12 !important; }
.iso-sim:not(#iso-x) .sim-notice a { color: inherit !important; }
.iso-sim:not(#iso-x) .sim-lead.is-sending .sim-btn { opacity: .6 !important; pointer-events: none !important; }

/* ---- simulateur.css (WordPress) ---- */
.iso-sim:not(#iso-x) .sim3d { position: relative !important; overflow: hidden !important; border-radius: 22px !important; background: #2c2160 !important; isolation: isolate !important }
.iso-sim:not(#iso-x) .sim3d-stage { position: absolute !important; inset: 0 !important }
.iso-sim:not(#iso-x) .sim3d-stage canvas { display: block !important; opacity: 0 !important; transition: opacity .8s }
.iso-sim:not(#iso-x):not(#iso-y) .sim3d-stage canvas { width: 100% !important; height: 100% !important }
.iso-sim:not(#iso-x) .sim3d.is-ready .sim3d-stage canvas { opacity: 1 !important }
.iso-sim:not(#iso-x) .sim3d-labels { position: absolute !important; inset: 0 !important; pointer-events: none !important; z-index: 2 !important }
.iso-sim:not(#iso-x) .sim3d-label { position: absolute !important; left: 0 !important; top: 0 !important; translate: -50% -50% !important; padding: .3rem .6rem !important; border-radius: 999px !important; background: rgba(6, 14, 60, .92) !important; border: 1px solid rgba(255, 255, 255, .22) !important; color: #fff !important; font: 600 .78rem/1.2 Outfit, system-ui, sans-serif !important; white-space: nowrap !important; opacity: 0 !important; transition: opacity .35s }
.iso-sim:not(#iso-x) .sim3d-label::before { content: "" !important; display: inline-block !important; width: 7px !important; height: 7px !important; margin-right: .4rem !important; border-radius: 50% !important; background: #9fb4ff !important; vertical-align: .05em !important }
.iso-sim:not(#iso-x) .sim3d-label.is-on { opacity: 1 !important }
.iso-sim:not(#iso-x) .sim3d.is-narrow .sim3d-label { max-width: 46% !important; white-space: normal !important; font-size: .7rem !important; line-height: 1.2 !important; padding: .25rem .5rem !important; border-radius: 10px !important; text-align: left !important }
.iso-sim:not(#iso-x) .sim3d-label.is-hot::before { background: #ff5a24 !important }
.iso-sim:not(#iso-x) .sim3d-label.is-cold::before { background: #4f8dff !important }
.iso-sim:not(#iso-x) .sim3d-label.is-ok::before { background: #6dc34e !important }
.iso-sim:not(#iso-x) .sim3d-loader { position: absolute !important; inset: 0 !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: .6rem !important; color: #c9d1f0 !important; font: 500 .9rem Outfit, sans-serif !important; z-index: 3 !important }
.iso-sim:not(#iso-x) .sim3d-loader span { width: 18px !important; height: 18px !important; border-radius: 50% !important; border: 2px solid rgba(255, 255, 255, .2) !important; border-top-color: #6dc34e !important; animation: sim-spin 1s linear infinite }
@keyframes sim-spin { to { transform: rotate(360deg); } }
.iso-sim:not(#iso-x) .sim3d-hint { position: absolute !important; z-index: 3 !important; right: .8rem !important; bottom: .6rem !important; margin: 0 !important; color: rgba(255, 255, 255, .6) !important; font: 500 .75rem Outfit, sans-serif !important }
.iso-sim:not(#iso-x) .sim3d.is-fallback { display: none !important }
.iso-sim:not(#iso-x) .sim { --s-navy: #2c2160; --s-violet: #372979; --s-blue: #4068ae; --s-green: #6dc34e; --s-green-d: #37967a; --s-ink: #1b1f3b; --s-muted: #5b6188; --s-line: #e4e2f1; --s-bg: #f6f5fc; --s-ease: cubic-bezier(.2, .75, .2, 1); position: relative !important; overflow: hidden !important; background:
		radial-gradient(60% 50% at 0% 0%, rgba(64, 104, 174, .12), transparent 70%),
		radial-gradient(50% 40% at 100% 10%, rgba(122, 197, 17, .12), transparent 70%),
		linear-gradient(180deg, #f1effa 0%, #fbfbfe 100%) !important; color: var(--s-ink) !important; font-family: Outfit, system-ui, sans-serif !important; padding: clamp(2.8rem, 5vw, 5rem) clamp(1rem, 3vw, 2rem) !important; scroll-margin-top: 120px !important }
.iso-sim:not(#iso-x) .sim * { box-sizing: border-box !important }
.iso-sim:not(#iso-x) .sim-in { position: relative !important; max-width: 1180px !important; margin: 0 auto !important }
.iso-sim:not(#iso-x) .sim h2, .iso-sim:not(#iso-x) .sim h3 { font-family: "Outfit", sans-serif !important; color: var(--s-navy) !important; margin: 0 !important; letter-spacing: -.01em !important }
.iso-sim:not(#iso-x) .sim-head { text-align: center !important; max-width: 860px !important; margin: 0 auto 2.4rem !important }
.iso-sim:not(#iso-x) .sim-kicker { display: inline-flex !important; align-items: center !important; gap: .5rem !important; margin: 0 0 1rem !important; padding: .4rem .95rem .4rem .5rem !important; border-radius: 999px !important; background: #fff !important; border: 1px solid var(--s-line) !important; box-shadow: 0 6px 18px -12px rgba(44, 33, 96, .45) !important; color: var(--s-navy) !important; font: 600 .82rem/1.2 Outfit, sans-serif !important; letter-spacing: .02em !important }
.iso-sim:not(#iso-x) .sim-kicker::before { content: "" !important; width: 22px !important; height: 22px !important; border-radius: 50% !important; background: var(--s-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center / 13px no-repeat !important }
.iso-sim:not(#iso-x) .sim-head h2 { font-size: clamp(1.75rem, 3.4vw, 2.7rem) !important; line-height: 1.1 !important; font-weight: 800 !important; text-wrap: balance !important }
.iso-sim:not(#iso-x) .sim-intro { max-width: 680px !important; color: var(--s-muted) !important; font-size: 1.05rem !important; line-height: 1.65 !important; text-wrap: pretty !important }
.iso-sim:not(#iso-x):not(#iso-y) .sim-intro { margin: 1rem auto 0 !important }
.iso-sim:not(#iso-x) .sim-progress { list-style: none !important; display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 0 !important; max-width: 760px !important }
.iso-sim:not(#iso-x):not(#iso-y) .sim-progress { margin: 2.2rem auto 0 !important; padding: 0 !important }
.iso-sim:not(#iso-x) .sim-progress li { position: relative !important; display: flex !important; flex-direction: column !important; align-items: center !important; gap: .55rem !important; padding: 0 .3rem !important; color: var(--s-muted) !important; font: 600 .88rem/1.25 Outfit, sans-serif !important; text-align: center !important }
.iso-sim:not(#iso-x) .sim-progress li::before { content: "" !important; position: absolute !important; top: 19px !important; left: calc(-50% + 24px) !important; right: calc(50% + 24px) !important; height: 3px !important; border-radius: 3px !important; background: var(--s-line) !important; transition: background-color .4s }
.iso-sim:not(#iso-x) .sim-progress li:first-child::before { display: none !important }
.iso-sim:not(#iso-x) .sim-progress li span { position: relative !important; z-index: 1 !important; display: grid !important; place-items: center !important; width: 40px !important; height: 40px !important; border-radius: 50% !important; background: #fff !important; border: 2px solid var(--s-line) !important; color: var(--s-violet) !important; font: 700 .95rem "Outfit", sans-serif !important; transition: background-color .3s, border-color .3s, color .3s, box-shadow .3s }
.iso-sim:not(#iso-x) .sim-progress li.is-reachable { cursor: pointer !important }
.iso-sim:not(#iso-x) .sim-progress li.is-reachable:hover span { border-color: var(--s-violet) !important }
.iso-sim:not(#iso-x) .sim-progress li.is-done { color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-progress li.is-done span { background: var(--s-green) !important; border-color: var(--s-green) !important; color: transparent !important }
.iso-sim:not(#iso-x) .sim-progress li.is-done span::after { content: "" !important; position: absolute !important; inset: 0 !important; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center / 18px no-repeat !important }
.iso-sim:not(#iso-x) .sim-progress li.is-done::before, .iso-sim:not(#iso-x) .sim-progress li.is-current::before { background: var(--s-green) !important }
.iso-sim:not(#iso-x) .sim-progress li.is-current { color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-progress li.is-current span, .iso-sim:not(#iso-x) .sim-progress li.is-current.is-done span { background: var(--s-violet) !important; border-color: var(--s-violet) !important; color: #fff !important; box-shadow: 0 0 0 6px rgba(55, 41, 121, .14) !important }
.iso-sim:not(#iso-x) .sim-progress li.is-current span::after { display: none !important }
.iso-sim:not(#iso-x) .sim-panel { position: relative !important; background: #fff !important; border: 1px solid var(--s-line) !important; border-radius: 28px !important; padding: clamp(1.4rem, 3.2vw, 2.6rem) !important; box-shadow: 0 40px 80px -55px rgba(44, 33, 96, .55), 0 2px 6px rgba(44, 33, 96, .04) !important }
.iso-sim:not(#iso-x) .sim-panel[hidden] { display: none !important }
.iso-sim:not(#iso-x) .sim-panel:not([hidden]) { animation: sim-in .45s var(--s-ease) }
@keyframes sim-in { from { opacity: 0; transform: translateY(12px); } }
.iso-sim:not(#iso-x) .sim-panel__title { display: flex !important; align-items: center !important; gap: .75rem !important; font-size: 1.4rem !important; font-weight: 800 !important; padding-bottom: 1.1rem !important; border-bottom: 1px solid var(--s-line) !important }
.iso-sim:not(#iso-x):not(#iso-y) .sim-panel__title { margin: 0 0 1.6rem !important }
.iso-sim:not(#iso-x) .sim-panel__title::before { content: "" !important; width: 6px !important; height: 1.4em !important; border-radius: 4px !important; background: linear-gradient(180deg, var(--s-green), var(--s-blue)) !important }
.iso-sim:not(#iso-x) .sim-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)) !important; gap: 1.3rem 1.4rem !important }
.iso-sim:not(#iso-x) .sim-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important }
.iso-sim:not(#iso-x) .sim-field { display: flex !important; flex-direction: column !important; gap: .45rem !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; border: 0 !important }
.iso-sim:not(#iso-x) .sim-field[hidden] { display: none !important }
.iso-sim:not(#iso-x) .sim-field--wide { grid-column: 1 / -1 !important }
.iso-sim:not(#iso-x) .sim-label { font: 600 .93rem/1.3 Outfit, sans-serif !important; color: var(--s-navy) !important; padding: 0 !important }
.iso-sim:not(#iso-x) .sim-label b { color: #d33 !important }
.iso-sim:not(#iso-x) label.sim-field > .sim-label { min-height: 2.6em !important; display: flex !important; align-items: flex-end !important }
.iso-sim:not(#iso-x) .sim-lead label.sim-field > .sim-label { min-height: 0 !important }
.iso-sim:not(#iso-x) .sim-help { color: var(--s-muted) !important; font-size: .8rem !important; line-height: 1.45 !important }
.iso-sim:not(#iso-x) .sim-input { position: relative !important; display: flex !important; align-items: center !important }
.iso-sim:not(#iso-x) .sim-input input, .iso-sim:not(#iso-x) .sim-input select, .iso-sim:not(#iso-x) .sim-input textarea { width: 100% !important; min-height: 52px !important; padding: .75rem 1rem !important; border: 1.5px solid transparent !important; border-radius: 14px !important; background: var(--s-bg) !important; color: var(--s-ink) !important; font: 600 1.02rem Outfit, sans-serif !important; transition: border-color .2s, box-shadow .2s, background-color .2s; appearance: none !important }
.iso-sim:not(#iso-x) .sim-input input:hover, .iso-sim:not(#iso-x) .sim-input select:hover, .iso-sim:not(#iso-x) .sim-input textarea:hover { background: #efedf8 !important }
.iso-sim:not(#iso-x) .sim-input select { cursor: pointer !important; background-image: linear-gradient(45deg, transparent 50%, var(--s-violet) 50%), linear-gradient(135deg, var(--s-violet) 50%, transparent 50%) !important; background-position: calc(100% - 22px) 23px, calc(100% - 16px) 23px !important; background-size: 6px 6px !important; background-repeat: no-repeat !important; padding-right: 2.6rem !important }
.iso-sim:not(#iso-x) .sim-input textarea { min-height: 100px !important; resize: vertical !important }
.iso-sim:not(#iso-x) .sim-input em { position: absolute !important; right: .6rem !important; padding: .2rem .55rem !important; border-radius: 8px !important; background: #fff !important; color: var(--s-violet) !important; font: 600 .8rem Outfit, sans-serif !important; font-style: normal !important; pointer-events: none !important }
.iso-sim:not(#iso-x) .sim-input input:has(+ em) { padding-right: 4.2rem !important }
.iso-sim:not(#iso-x) .sim-input :focus { outline: none !important; background: #fff !important; border-color: var(--s-violet) !important; box-shadow: 0 0 0 4px rgba(55, 41, 121, .12) !important }
.iso-sim:not(#iso-x) .sim-input input::placeholder { color: #a3a6c4 !important; font-weight: 500 !important }
.iso-sim:not(#iso-x) .sim-choices { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important; gap: .7rem !important }
.iso-sim:not(#iso-x) .sim-choice { position: relative !important; cursor: pointer !important }
.iso-sim:not(#iso-x) .sim-choice[hidden] { display: none !important }
.iso-sim:not(#iso-x) .sim-choice input { position: absolute !important; opacity: 0 !important; inset: 0 !important }
.iso-sim:not(#iso-x) .sim-choice span { position: relative !important; display: flex !important; flex-direction: column !important; gap: .25rem !important; height: 100% !important; padding: .95rem 2.6rem .95rem 1.05rem !important; border: 1.5px solid var(--s-line) !important; border-radius: 16px !important; background: #fff !important; transition: border-color .2s, background-color .2s, box-shadow .2s, transform .2s }
.iso-sim:not(#iso-x) .sim-choice span::after { content: "" !important; position: absolute !important; top: .95rem !important; right: .95rem !important; width: 20px !important; height: 20px !important; border-radius: 50% !important; border: 2px solid #cfcde3 !important; background: #fff !important; transition: all .2s }
.iso-sim:not(#iso-x) .sim-choice:hover span { border-color: #c9c4ea !important; box-shadow: 0 10px 24px -18px rgba(55, 41, 121, .6) !important; transform: translateY(-1px) }
.iso-sim:not(#iso-x) .sim-choice strong { font: 700 .98rem/1.25 "Outfit", sans-serif !important; color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-choice small { color: var(--s-muted) !important; font-size: .8rem !important; line-height: 1.4 !important }
.iso-sim:not(#iso-x) .sim-choice input:checked + span { border-color: var(--s-violet) !important; background: linear-gradient(135deg, rgba(55, 41, 121, .07), rgba(64, 104, 174, .05)) !important; box-shadow: 0 12px 26px -18px rgba(55, 41, 121, .8) !important }
.iso-sim:not(#iso-x) .sim-choice input:checked + span::after { border-color: var(--s-violet) !important; background: var(--s-violet) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m5 12 4.5 4.5L19 7'/%3E%3C/svg%3E") center / 12px no-repeat !important }
.iso-sim:not(#iso-x) .sim-choice input:focus-visible + span { outline: 3px solid rgba(111, 184, 15, .6) !important; outline-offset: 2px !important }
.iso-sim:not(#iso-x) .sim-checks { display: flex !important; flex-wrap: wrap !important; gap: .55rem !important }
.iso-sim:not(#iso-x) .sim-check { position: relative !important; cursor: pointer !important }
.iso-sim:not(#iso-x) .sim-check input { position: absolute !important; opacity: 0 !important }
.iso-sim:not(#iso-x) .sim-check span { display: inline-block !important; padding: .65rem 1rem !important; border: 1.5px solid var(--s-line) !important; border-radius: 999px !important; background: #fff !important; font: 600 .9rem Outfit, sans-serif !important; color: var(--s-navy) !important; transition: all .2s }
.iso-sim:not(#iso-x) .sim-check:hover span { border-color: #c9c4ea !important }
.iso-sim:not(#iso-x) .sim-check input:checked + span { background: var(--s-violet) !important; border-color: var(--s-violet) !important; color: #fff !important }
.iso-sim:not(#iso-x) .sim-check input:focus-visible + span { outline: 3px solid rgba(111, 184, 15, .6) !important; outline-offset: 2px !important }
.iso-sim:not(#iso-x) .sim-nav { display: flex !important; flex-wrap: wrap !important; justify-content: flex-end !important; align-items: center !important; gap: .8rem !important; margin-top: 2rem !important; padding-top: 1.4rem !important; border-top: 1px solid var(--s-line) !important }
.iso-sim:not(#iso-x) .sim-nav[hidden] { display: none !important }
.iso-sim:not(#iso-x) .sim-btn { display: inline-flex !important; align-items: center !important; justify-content: center !important; gap: .6rem !important; min-height: 54px !important; padding: .85rem 1.7rem !important; border: 0 !important; border-radius: 999px !important; background: linear-gradient(90deg, #37967a 0%, #6dc34e 100%) !important; color: #fff !important; text-shadow: 0 1px 1px rgba(0, 40, 0, .3) !important; font: 700 1.05rem/1 "Outfit", sans-serif !important; text-decoration: none !important; cursor: pointer !important; box-shadow: 0 14px 28px -14px rgba(55, 150, 122, .6) !important; transition: transform .25s var(--s-ease), box-shadow .25s, filter .25s }
.iso-sim:not(#iso-x) .sim-btn:hover { color: #fff !important; transform: translateY(-2px); box-shadow: 0 18px 34px -14px rgba(55, 150, 122, .8) !important; filter: brightness(1.05) !important }
.iso-sim:not(#iso-x) .sim-btn span { transition: transform .25s var(--s-ease) }
.iso-sim:not(#iso-x) .sim-btn:hover span { transform: translateX(3px) }
.iso-sim:not(#iso-x) .sim-btn:focus-visible { outline: 3px solid var(--s-violet) !important; outline-offset: 3px !important }
.iso-sim:not(#iso-x) .sim-btn--ghost { background: #fff !important; color: var(--s-violet) !important; text-shadow: none !important; border: 1.5px solid var(--s-line) !important; box-shadow: none !important }
.iso-sim:not(#iso-x) .sim-btn--ghost:hover { color: var(--s-violet) !important; background: var(--s-bg) !important; box-shadow: none !important }
.iso-sim:not(#iso-x) .sim-btn--ghost:hover span { transform: translateX(-3px) }
.iso-sim:not(#iso-x) .sim-btn--call { background: linear-gradient(135deg, var(--s-violet), var(--s-navy)) !important; color: #fff !important; font-size: 1.1rem !important; min-height: 60px !important; padding: .9rem 1.7rem !important; box-shadow: 0 16px 30px -16px rgba(44, 33, 96, .9) !important }
.iso-sim:not(#iso-x) .sim-btn--call:hover { box-shadow: 0 20px 36px -16px rgba(44, 33, 96, 1) !important }
.iso-sim:not(#iso-x) .sim-btn--call svg { width: 22px !important; height: 22px !important; fill: currentColor !important }
.iso-sim:not(#iso-x) .sim-btn--call { white-space: nowrap !important }
@media (max-width: 420px) {
.iso-sim:not(#iso-x) .sim-btn--call { width: 100% !important; font-size: 1rem !important; padding-inline: 1rem !important }
}
.iso-sim:not(#iso-x) .sim-cards { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) !important; gap: .8rem !important }
.iso-sim:not(#iso-x) .sim-card { display: flex !important; flex-direction: column !important; gap: .35rem !important; padding: 1rem 1.1rem !important; border-radius: 16px !important; background: var(--s-bg) !important; border: 1px solid var(--s-line) !important }
.iso-sim:not(#iso-x) .sim-card span { color: var(--s-muted) !important; font: 600 .8rem/1.3 Outfit, sans-serif !important; text-transform: uppercase !important; letter-spacing: .03em !important }
.iso-sim:not(#iso-x) .sim-card strong { font: 800 1.35rem/1.15 "Outfit", sans-serif !important; color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-card small { color: var(--s-muted) !important; font-size: .84rem !important; line-height: 1.4 !important }
.iso-sim:not(#iso-x) .sim-card.is-key { background: linear-gradient(135deg, var(--s-violet), var(--s-navy)) !important; border-color: transparent !important }
.iso-sim:not(#iso-x) .sim-card.is-key span, .iso-sim:not(#iso-x) .sim-card.is-key small { color: #cdd3f5 !important }
.iso-sim:not(#iso-x) .sim-card.is-key strong { color: #fff !important; font-size: 1.6rem !important }
.iso-sim:not(#iso-x) .sim-disclaimer { color: var(--s-muted) !important; font-size: .85rem !important }
.iso-sim:not(#iso-x):not(#iso-y) .sim-disclaimer { margin: .9rem 0 0 !important }
.iso-sim:not(#iso-x) .sim-explain, .iso-sim:not(#iso-x) .sim-pac3d { margin-top: 1.6rem !important }
.iso-sim:not(#iso-x) .sim-explain { display: grid !important; grid-template-columns: minmax(0, 1.65fr) minmax(0, 1fr) !important; gap: 1.2rem !important; align-items: stretch !important }
.iso-sim:not(#iso-x) .sim-explain .sim3d { min-height: 500px !important }
.iso-sim:not(#iso-x) .sim-steps { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: .5rem !important }
.iso-sim:not(#iso-x) .sim-steps li { border: 1px solid var(--s-line) !important; border-radius: 16px !important; background: #fff !important; overflow: hidden !important; transition: border-color .2s, box-shadow .2s }
.iso-sim:not(#iso-x) .sim-steps button { display: flex !important; align-items: center !important; gap: .7rem !important; width: 100% !important; padding: .8rem .9rem !important; border: 0 !important; background: transparent !important; text-align: left !important; cursor: pointer !important; font: 600 1rem/1.25 "Outfit", sans-serif !important; color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-steps__n { flex: 0 0 28px !important; display: grid !important; place-items: center !important; width: 28px !important; height: 28px !important; border-radius: 50% !important; background: var(--s-bg) !important; color: var(--s-violet) !important; font: 700 .85rem Outfit, sans-serif !important }
.iso-sim:not(#iso-x) .sim-steps p { margin: 0 !important; padding: 0 1rem 1rem 3.2rem !important; color: var(--s-muted) !important; font-size: .93rem !important; line-height: 1.55 !important; display: none !important }
.iso-sim:not(#iso-x) .sim-steps li.is-active { border-color: var(--s-violet) !important; box-shadow: 0 12px 26px -20px rgba(55, 41, 121, .8) !important }
.iso-sim:not(#iso-x) .sim-steps li.is-active .sim-steps__n { background: var(--s-violet) !important; color: #fff !important }
.iso-sim:not(#iso-x) .sim-steps li.is-active p { display: block !important }
.iso-sim:not(#iso-x) .sim-steps button:focus-visible { outline: 3px solid rgba(122, 197, 17, .7) !important; outline-offset: -3px !important }
.iso-sim:not(#iso-x):not(#iso-y) .sim-pac3d .pac3d { margin: 0 !important; width: 100% !important; max-width: 100% !important }
.iso-sim:not(#iso-x) .sim-pac3d .pac3d-cta { display: none !important }
.iso-sim:not(#iso-x) .sim-result { margin-top: 1.6rem !important }
.iso-sim:not(#iso-x) .sim-cat { display: flex !important; flex-wrap: wrap !important; align-items: baseline !important; gap: .6rem !important; padding: .9rem 1.1rem !important; border-radius: 14px !important; margin-bottom: 1rem !important }
.iso-sim:not(#iso-x) .sim-cat span { color: var(--s-muted) !important; font-weight: 600 !important; font-size: .9rem !important }
.iso-sim:not(#iso-x) .sim-cat strong { font: 800 1.15rem "Outfit", sans-serif !important; color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-cat--bleu { background: #dbe9f6 !important }
.iso-sim:not(#iso-x) .sim-cat--jaune { background: #f7e6ad !important }
.iso-sim:not(#iso-x) .sim-cat--violet { background: #dcd9f3 !important }
.iso-sim:not(#iso-x) .sim-cat--rose { background: #f9d6c7 !important }
.iso-sim:not(#iso-x) .sim-aides__list { list-style: none !important; margin: 0 !important; padding: 0 !important; display: flex !important; flex-direction: column !important; gap: .5rem !important }
.iso-sim:not(#iso-x) .sim-aides__list li { display: grid !important; grid-template-columns: 1fr auto !important; gap: .2rem 1rem !important; padding: .85rem 1rem !important; border-radius: 14px !important; border: 1px solid var(--s-line) !important; background: #fff !important }
.iso-sim:not(#iso-x) .sim-aide__label { font: 600 .98rem/1.3 "Outfit", sans-serif !important; color: var(--s-navy) !important }
.iso-sim:not(#iso-x) .sim-aide__montant { font: 800 1.05rem "Outfit", sans-serif !important; color: var(--s-green-d) !important; white-space: nowrap !important }
.iso-sim:not(#iso-x) .sim-aides__list small { grid-column: 1 / -1 !important; color: var(--s-muted) !important; font-size: .85rem !important; line-height: 1.45 !important }
.iso-sim:not(#iso-x) .sim-aides__list li.is-non { background: #fafafd !important }
.iso-sim:not(#iso-x) .sim-aides__list li.is-non .sim-aide__montant { color: #9a9cb5 !important }
.iso-sim:not(#iso-x) .sim-aides__list li.is-info .sim-aide__montant { color: var(--s-blue) !important }
.iso-sim:not(#iso-x) .sim-total { display: flex !important; flex-wrap: wrap !important; justify-content: space-between !important; align-items: center !important; gap: .6rem !important; margin-top: 1rem !important; padding: 1.1rem 1.3rem !important; border-radius: 16px !important; background: linear-gradient(135deg, var(--s-violet), var(--s-navy)) !important; color: #fff !important }
.iso-sim:not(#iso-x) .sim-total span { font-weight: 600 !important }
.iso-sim:not(#iso-x) .sim-total strong { font: 800 1.6rem "Outfit", sans-serif !important; color: #b6ec5c !important }
.iso-sim:not(#iso-x) .sim-notes { margin: 1rem 0 0 !important; padding-left: 1.1rem !important; color: var(--s-muted) !important; font-size: .84rem !important; line-height: 1.5 !important }
.iso-sim:not(#iso-x) .sim-contact__grid { display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr) !important; gap: 1.6rem !important; align-items: start !important }
.iso-sim:not(#iso-x) .sim-call { padding: 1.4rem !important; border-radius: 18px !important; background: var(--s-bg) !important }
.iso-sim:not(#iso-x) .sim-call p { margin: 0 0 1rem !important; color: var(--s-ink) !important; line-height: 1.55 !important }
.iso-sim:not(#iso-x) .sim-call__sub { font-size: .88rem !important }
.iso-sim:not(#iso-x):not(#iso-y) .sim-call__sub { margin: 1rem 0 0 !important; color: var(--s-muted) !important }
.iso-sim:not(#iso-x) .sim-lead .sim-btn { margin-top: 1rem !important }
.iso-sim:not(#iso-x) .sim-lead__note { margin: .8rem 0 0 !important; color: var(--s-muted) !important; font-size: .82rem !important }
.iso-sim:not(#iso-x) .sim-hp { position: absolute !important; left: -9999px !important }
.iso-sim:not(#iso-x) .sim-notice { margin: 0 0 1.2rem !important; padding: 1rem 1.2rem !important; border-radius: 14px !important; font-weight: 600 !important }
.iso-sim:not(#iso-x) .sim-notice.is-ok { background: #e6f5d3 !important; color: #2f5a00 !important }
.iso-sim:not(#iso-x) .sim-notice.is-err { background: #fde3e0 !important; color: #8a1f12 !important }
@media (max-width: 900px) {
.iso-sim:not(#iso-x) .sim-explain { grid-template-columns: 1fr !important }
.iso-sim:not(#iso-x) .sim-explain .sim3d { min-height: 420px !important }
.iso-sim:not(#iso-x) .sim-contact__grid, .iso-sim:not(#iso-x) .sim-grid--2 { grid-template-columns: 1fr !important }
.iso-sim:not(#iso-x) .sim-progress li { font-size: .74rem !important }
.iso-sim:not(#iso-x) .sim-progress li span { width: 34px !important; height: 34px !important }
.iso-sim:not(#iso-x) .sim-progress li::before { top: 16px !important; left: calc(-50% + 20px) !important; right: calc(50% + 20px) !important }
.iso-sim:not(#iso-x) .sim-panel__title { font-size: 1.2rem !important }
.iso-sim:not(#iso-x) .sim-nav { justify-content: stretch !important }
.iso-sim:not(#iso-x) .sim-nav .sim-btn { flex: 1 1 auto !important }
}
@media (prefers-reduced-motion: reduce) {
.iso-sim:not(#iso-x) .sim-btn, .iso-sim:not(#iso-x) .sim3d-stage canvas { transition: none }
.iso-sim:not(#iso-x) .sim-panel:not([hidden]) { animation: none }
}
.iso-sim:not(#iso-x) .sim-link { grid-column: 1 / -1 !important; margin: .2rem 0 0 !important; padding: .85rem 1.1rem !important; border-radius: 16px !important; background: rgba(109, 195, 78, .12) !important; border-left: 4px solid var(--s-green) !important; color: var(--s-navy) !important; font-size: .92rem !important; line-height: 1.5 !important }
.iso-sim:not(#iso-x) .sim-link a { color: var(--s-violet) !important; font-weight: 700 !important; white-space: nowrap !important }

/* ---- pac-3d.css (WordPress) ---- */
.iso-sim:not(#iso-x) .pac3d { --pac-ink: #2c2160; --pac-indigo: #372979; --pac-bleu: #4068ae; --pac-vert: #6dc34e; --pac-gris: #5b6280; --pac-trait: #e3e5ef; --pac-ease: cubic-bezier(.2, .75, .2, 1); width: min(1240px, 100vw - 2rem) !important; position: relative !important; left: 50% !important; translate: -50% 0 !important; color: var(--pac-ink) !important }
.iso-sim:not(#iso-x):not(#iso-y) .pac3d { margin-block: clamp(2rem, 5vw, 3.5rem) !important; max-width: none !important }
.iso-sim:not(#iso-x) .pac3d *, .iso-sim:not(#iso-x) .pac3d *::before, .iso-sim:not(#iso-x) .pac3d *::after { box-sizing: border-box !important }
.iso-sim:not(#iso-x) .pac3d svg { width: 100% !important; height: 100% !important; display: block !important; fill: none !important; stroke: currentColor !important; stroke-width: 2 !important; stroke-linecap: round !important; stroke-linejoin: round !important }
.iso-sim:not(#iso-x) .pac3d-head { margin-bottom: 1.1rem !important }
.iso-sim:not(#iso-x) .pac3d-kicker { margin: 0 0 .4rem !important; font-size: .78rem !important; font-weight: 600 !important; letter-spacing: .14em !important; text-transform: uppercase !important; color: var(--pac-indigo) !important }
.iso-sim:not(#iso-x) .pac3d .pac3d-titre { margin: 0 !important; font-size: clamp(1.5rem, 2.6vw, 2.1rem) !important; line-height: 1.15 !important }
.iso-sim:not(#iso-x) .pac3d-body { display: grid !important; grid-template-columns: minmax(0, 1fr) 380px !important; border-radius: 26px !important; overflow: hidden !important; background: #fff !important; border: 1px solid var(--pac-trait) !important; box-shadow: 0 30px 60px -45px rgba(44, 33, 96, .55) !important }
.iso-sim:not(#iso-x) .pac3d-scene { position: relative !important; min-height: 560px !important; overflow: hidden !important; isolation: isolate !important; background: linear-gradient(90deg, #e3edfb 0%, #eaf1fb 44%, #f6f0e8 56%, #f8f3ec 100%) !important }
.iso-sim:not(#iso-x) .pac3d-stage { position: absolute !important; inset: 0 !important }
.iso-sim:not(#iso-x) .pac3d-stage canvas { display: block !important; opacity: 0 !important; transition: opacity 1s var(--pac-ease) }
.iso-sim:not(#iso-x):not(#iso-y) .pac3d-stage canvas { width: 100% !important; height: 100% !important }
.iso-sim:not(#iso-x) .pac3d.is-ready .pac3d-stage canvas { opacity: 1 !important }
.iso-sim:not(#iso-x) .pac3d-labels { position: absolute !important; inset: 0 !important; pointer-events: none !important; z-index: 2 !important }
.iso-sim:not(#iso-x) .pac3d-labels > * { position: absolute !important; left: 0 !important; top: 0 !important; will-change: transform; transition: opacity .35s var(--pac-ease) }
.iso-sim:not(#iso-x):not(#iso-y) .pac3d-labels > .is-out { opacity: 0 !important; pointer-events: none !important }
.iso-sim:not(#iso-x) .pac3d:not(.is-ready) .pac3d-labels { opacity: 0 !important }
.iso-sim:not(#iso-x) .pac3d-zone { margin: -.8rem 0 0 -3rem !important; width: 6rem !important; text-align: center !important; font-size: .72rem !important; font-weight: 700 !important; letter-spacing: .16em !important; text-transform: uppercase !important; color: rgba(44, 33, 96, .45) !important; white-space: nowrap !important }
.iso-sim:not(#iso-x) .pac3d-lbl { pointer-events: auto !important; display: flex !important; align-items: center !important; gap: .45rem !important; margin: -15px 0 0 -10px !important; padding: 0 .7rem 0 .3rem !important; height: 30px !important; border: 1px solid rgba(44, 33, 96, .12) !important; border-radius: 999px !important; background: rgba(255, 255, 255, .9) !important; color: var(--pac-ink) !important; font: 600 .8rem/1 "Outfit", system-ui, sans-serif !important; white-space: nowrap !important; cursor: pointer !important; box-shadow: 0 8px 18px -10px rgba(44, 33, 96, .5) !important; transition: background-color .25s, color .25s, transform .3s var(--pac-ease), opacity .35s }
.iso-sim:not(#iso-x) .pac3d-lbl i { width: 20px !important; height: 20px !important; border-radius: 50% !important; background: var(--pac-bleu) !important; box-shadow: inset 0 0 0 6px #fff !important; border: 1px solid var(--pac-bleu) !important; flex: none !important }
.iso-sim:not(#iso-x) .pac3d-lbl:hover { transform: translateY(-2px) }
.iso-sim:not(#iso-x) .pac3d-lbl.is-active { background: var(--pac-indigo) !important; border-color: transparent !important; color: #fff !important }
.iso-sim:not(#iso-x) .pac3d-lbl.is-active i { background: var(--pac-vert) !important; box-shadow: inset 0 0 0 5px var(--pac-indigo) !important; border-color: var(--pac-vert) !important; animation: pac3d-pulse 1.8s var(--pac-ease) infinite }
@keyframes pac3d-pulse { 50% { box-shadow: inset 0 0 0 5px var(--pac-indigo), 0 0 0 6px rgba(122, 197, 17, .25); } }
.iso-sim:not(#iso-x) .pac3d:not([data-step="vue"]):not([data-step="cop"]):not([data-step="ete"]) .pac3d-lbl:not(.is-active) { opacity: .55 !important }
.iso-sim:not(#iso-x) .pac3d-tag { display: flex !important; align-items: center !important; gap: .4rem !important; margin: -2.4rem 0 0 0 !important; transform-origin: left bottom !important; padding: .35rem .6rem !important; border-radius: 8px !important; background: var(--pac-ink) !important; color: #fff !important; font-size: .74rem !important; font-weight: 500 !important; white-space: nowrap !important; opacity: 0 !important; box-shadow: 0 10px 20px -12px rgba(44, 33, 96, .8) !important }
.iso-sim:not(#iso-x) .pac3d-tag i { width: 10px !important; height: 10px !important; border-radius: 50% !important; flex: none !important }
.iso-sim:not(#iso-x) .pac3d-tag.is-on { opacity: 1 !important }
.iso-sim:not(#iso-x) .pac3d-legend { position: absolute !important; z-index: 3 !important; left: .9rem !important; bottom: .9rem !important; display: flex !important; flex-wrap: wrap !important; gap: .35rem .9rem !important; max-width: calc(100% - 1.8rem) !important; padding: .5rem .8rem !important; border-radius: 12px !important; background: rgba(255, 255, 255, .85) !important; font-size: .74rem !important; color: var(--pac-gris) !important }
.iso-sim:not(#iso-x) .pac3d-legend span { display: inline-flex !important; align-items: center !important; gap: .35rem !important }
.iso-sim:not(#iso-x) .pac3d-legend i { width: 18px !important; height: 6px !important; border-radius: 6px !important; background: var(--c) !important }
.iso-sim:not(#iso-x) .pac3d.is-ete .pac3d-legend { opacity: .4 !important }
.iso-sim:not(#iso-x) .pac3d-hint { position: absolute !important; z-index: 3 !important; right: .9rem !important; bottom: .9rem !important; margin: 0 !important; padding: .35rem .7rem !important; border-radius: 999px !important; background: rgba(255, 255, 255, .7) !important; font-size: .72rem !important; color: var(--pac-gris) !important; pointer-events: none !important }
.iso-sim:not(#iso-x) .pac3d-loader { position: absolute !important; inset: 0 !important; z-index: 4 !important; display: grid !important; place-items: center !important; transition: opacity .8s var(--pac-ease), visibility .8s }
.iso-sim:not(#iso-x) .pac3d-loader span { width: 40px !important; height: 40px !important; border-radius: 50% !important; border: 3px solid rgba(44, 33, 96, .1) !important; border-top-color: var(--pac-vert) !important; animation: pac3d-spin 1s linear infinite }
.iso-sim:not(#iso-x) .pac3d.is-ready .pac3d-loader { opacity: 0 !important; visibility: hidden !important }
@keyframes pac3d-spin { to { transform: rotate(360deg); } }
.iso-sim:not(#iso-x) .pac3d-panel { display: flex !important; flex-direction: column !important; padding: 1.4rem 1.4rem 1.2rem !important; border-left: 1px solid var(--pac-trait) !important; min-width: 0 !important }
.iso-sim:not(#iso-x) .pac3d-steps { list-style: none !important; margin: 0 !important; padding: 0 !important; flex: 1 !important }
.iso-sim:not(#iso-x) .pac3d-step h4 { margin: 0 0 .7rem !important; font-size: 1.3rem !important; line-height: 1.2 !important; color: var(--pac-ink) !important }
.iso-sim:not(#iso-x) .pac3d-step p { margin: 0 0 .8rem !important; font-size: .95rem !important; line-height: 1.6 !important; color: var(--pac-gris) !important }
.iso-sim:not(#iso-x) .pac3d-step .pac3d-retenir { position: relative !important; margin-top: 1rem !important; padding: .8rem .9rem .8rem 2.6rem !important; border-radius: 14px !important; background: #f1f6e8 !important; color: #2f4a0b !important; font-size: .9rem !important; line-height: 1.5 !important }
.iso-sim:not(#iso-x) .pac3d-retenir::before { content: "!" !important; position: absolute !important; left: .8rem !important; top: .8rem !important; width: 1.3rem !important; height: 1.3rem !important; border-radius: 50% !important; display: grid !important; place-items: center !important; background: var(--pac-vert) !important; color: #fff !important; font-weight: 700 !important; font-size: .8rem !important }
.iso-sim:not(#iso-x) .pac3d-step .pac3d-note { font-size: .78rem !important; line-height: 1.45 !important; margin-top: .6rem !important }
.iso-sim:not(#iso-x) .pac3d-cop { display: grid !important; grid-template-columns: 1fr auto 2fr !important; gap: .45rem .4rem !important; align-items: stretch !important; margin-top: 1rem !important }
.iso-sim:not(#iso-x) .pac3d-cop > span:not([aria-hidden]) { display: flex !important; flex-direction: column !important; justify-content: center !important; padding: .55rem .6rem !important; border-radius: 10px !important; font-size: .74rem !important; line-height: 1.25 !important; color: #fff !important }
.iso-sim:not(#iso-x) .pac3d-cop b { font: 700 1.05rem/1.1 "Outfit", system-ui, sans-serif !important }
.iso-sim:not(#iso-x) .pac3d-cop__elec { background: #e5a700 !important }
.iso-sim:not(#iso-x) .pac3d-cop__air { background: var(--pac-bleu) !important }
.iso-sim:not(#iso-x) .pac3d-cop__plus, .iso-sim:not(#iso-x) .pac3d-cop__egal { align-self: center !important; font-weight: 700 !important; color: var(--pac-gris) !important }
.iso-sim:not(#iso-x) .pac3d-cop__egal { grid-column: 1 / -1 !important; justify-self: center !important; line-height: 1 !important }
.iso-sim:not(#iso-x) .pac3d-cop__chaleur { grid-column: 1 / -1 !important; background: linear-gradient(90deg, #e5a700 0 33%, #ff5a24 33%) !important }
.iso-sim:not(#iso-x) .pac3d-controls { display: flex !important; align-items: center !important; gap: .4rem !important; margin-top: 1rem !important; padding-top: 1rem !important; border-top: 1px solid var(--pac-trait) !important; flex-wrap: wrap !important }
.iso-sim:not(#iso-x) .pac3d-controls[hidden] { display: none !important }
.iso-sim:not(#iso-x) .pac3d-prev, .iso-sim:not(#iso-x) .pac3d-next { flex: none !important; width: 38px !important; height: 38px !important; padding: 9px !important; border-radius: 50% !important; border: 1px solid var(--pac-trait) !important; background: #fff !important; color: var(--pac-ink) !important; cursor: pointer !important; transition: background-color .2s, border-color .2s }
.iso-sim:not(#iso-x) .pac3d-prev:hover, .iso-sim:not(#iso-x) .pac3d-next:hover { border-color: var(--pac-indigo) !important }
.iso-sim:not(#iso-x) .pac3d-dots { order: 5 !important; flex: 1 1 100% !important; display: flex !important; gap: .3rem !important; overflow-x: auto !important; scrollbar-width: none !important; padding: .15rem !important; margin-top: .3rem !important }
.iso-sim:not(#iso-x) .pac3d-dots::-webkit-scrollbar { display: none !important }
.iso-sim:not(#iso-x) .pac3d-dots button { flex: none !important; padding: .38rem .65rem !important; border-radius: 999px !important; border: 1px solid var(--pac-trait) !important; background: #fff !important; color: var(--pac-gris) !important; font-size: .76rem !important; font-weight: 500 !important; cursor: pointer !important; white-space: nowrap !important; transition: background-color .2s, color .2s, border-color .2s }
.iso-sim:not(#iso-x) .pac3d-dots button:hover { border-color: var(--pac-indigo) !important; color: var(--pac-ink) !important }
.iso-sim:not(#iso-x) .pac3d-dots button[aria-selected="true"] { background: var(--pac-indigo) !important; border-color: var(--pac-indigo) !important; color: #fff !important }
.iso-sim:not(#iso-x) .pac3d-play { margin-left: auto !important; display: inline-flex !important; align-items: center !important; gap: .45rem !important; height: 38px !important; padding: 0 .9rem 0 .7rem !important; border-radius: 999px !important; border: 0 !important; background: var(--pac-ink) !important; color: #fff !important; font-size: .82rem !important; font-weight: 600 !important; cursor: pointer !important; position: relative !important; overflow: hidden !important }
.iso-sim:not(#iso-x) .pac3d-play svg { width: 16px !important; height: 16px !important; fill: currentColor !important; stroke: none !important }
.iso-sim:not(#iso-x) .pac3d-play .i-pause, .iso-sim:not(#iso-x) .pac3d-play[aria-pressed="true"] .i-play { display: none !important }
.iso-sim:not(#iso-x) .pac3d-play[aria-pressed="true"] .i-pause { display: block !important }
.iso-sim:not(#iso-x) .pac3d-play::after { content: "" !important; position: absolute !important; left: 0 !important; bottom: 0 !important; height: 3px !important; width: 0 !important; background: var(--pac-vert) !important }
.iso-sim:not(#iso-x) .pac3d.is-playing .pac3d-play::after { animation: pac3d-auto var(--pac3d-auto, 9s) linear infinite }
@keyframes pac3d-auto { to { width: 100%; } }
.iso-sim:not(#iso-x) .pac3d-cta { display: flex !important; align-items: center !important; justify-content: center !important; gap: .5rem !important; margin-top: .9rem !important; min-height: 46px !important; padding: .7rem 1rem !important; border-radius: 12px !important; background: linear-gradient(90deg, #37967a 0%, #6dc34e 100%) !important; color: #fff !important; text-shadow: 0 1px 1px rgba(0, 40, 0, .3) !important; font-weight: 600 !important; font-size: .95rem !important; text-decoration: none !important; transition: transform .25s var(--pac-ease) }
.iso-sim:not(#iso-x) .pac3d-cta:hover { transform: translateY(-2px) }
.iso-sim:not(#iso-x) .pac3d.is-js .pac3d-step { display: none !important }
.iso-sim:not(#iso-x) .pac3d.is-js .pac3d-step.is-active { display: block !important; animation: pac3d-in .5s var(--pac-ease) }
@keyframes pac3d-in { from { opacity: 0; transform: translateY(8px); } }
.iso-sim:not(#iso-x) .pac3d.is-2d .pac3d-body { grid-template-columns: 1fr !important }
.iso-sim:not(#iso-x) .pac3d.is-2d .pac3d-scene { display: none !important }
.iso-sim:not(#iso-x) .pac3d.is-2d .pac3d-panel { border-left: 0 !important }
.iso-sim:not(#iso-x) .pac3d:not(.is-js) .pac3d-scene { display: none !important }
.iso-sim:not(#iso-x) .pac3d:not(.is-js) .pac3d-body { grid-template-columns: 1fr !important }
.iso-sim:not(#iso-x) .pac3d:not(.is-js) .pac3d-step { margin-bottom: 1.25rem !important }
@media (max-width: 980px) {
.iso-sim:not(#iso-x) .pac3d-body { grid-template-columns: 1fr !important }
.iso-sim:not(#iso-x) .pac3d-scene { min-height: 0 !important; height: min(60svh, 380px) !important }
.iso-sim:not(#iso-x) .pac3d-panel { border-left: 0 !important; border-top: 1px solid var(--pac-trait) !important }
.iso-sim:not(#iso-x) .pac3d-legend { font-size: .68rem !important; gap: .25rem .6rem !important; left: .5rem !important; bottom: .5rem !important; padding: .4rem .6rem !important }
.iso-sim:not(#iso-x) .pac3d-hint { display: none !important }
.iso-sim:not(#iso-x) .pac3d-lbl { height: 26px !important; font-size: .72rem !important }
.iso-sim:not(#iso-x) .pac3d-lbl i { width: 16px !important; height: 16px !important }
.iso-sim:not(#iso-x) .pac3d-tag { font-size: .68rem !important }
.iso-sim:not(#iso-x) .pac3d-zone { font-size: .62rem !important }
}
@media (max-width: 560px) {
.iso-sim:not(#iso-x) .pac3d:is([data-step="vue"], [data-step="cop"], [data-step="ete"]) .pac3d-lbl { opacity: 0 !important; pointer-events: none !important }
.iso-sim:not(#iso-x) .pac3d:not([data-step="vue"]):not([data-step="cop"]):not([data-step="ete"]) .pac3d-lbl:not(.is-active) { opacity: 0 !important; pointer-events: none !important }
.iso-sim:not(#iso-x) .pac3d-panel { padding: 1.1rem 1rem 1rem !important }
.iso-sim:not(#iso-x) .pac3d-step h4 { font-size: 1.15rem !important }
}
@media (prefers-reduced-motion: reduce) {
.iso-sim:not(#iso-x):not(#iso-y) .pac3d *, .iso-sim:not(#iso-x):not(#iso-y) .pac3d *::before, .iso-sim:not(#iso-x):not(#iso-y) .pac3d *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important }
}
.iso-sim:not(#iso-x):not(#iso-y) .pac3d-lbl.is-hidden { opacity: 0 !important; pointer-events: none !important }

/* ---- Styles du thème WordPress repris pour le bloc ---- */
/* Pages migrées (.imx p { margin: 0 }) : les paragraphes du bloc n'ont pas de marge, sauf règles !important. */
.iso-sim:not(#iso-x) .sim p { margin: 0 !important; }
.iso-sim:not(#iso-x) .sim h4 { margin: 0 !important; }
