/* Simulateur de devis — couleurs du thème Octopote avec valeurs de repli. Propriétés logiques (RTL natif). */
.oc-sim{--n:var(--wp--preset--color--nuit,#1B1640);--n2:var(--wp--preset--color--nuit-claire,#241E52);--n3:var(--wp--preset--color--nuit-3,#2E2766);--b:var(--wp--preset--color--bordure,#3A3275);--c:var(--wp--preset--color--corail,#FF7A59);--l:var(--wp--preset--color--lavande,#C9BDFF);--m:var(--wp--preset--color--brume,#F4F1FF);--td:var(--wp--preset--color--texte-doux,#D9D4F2);--ch:var(--wp--preset--color--champ,#6E64A8);--tc:var(--wp--preset--color--texte-clair-doux,#4A4470);color:var(--m);display:flex;flex-wrap:wrap;gap:28px;align-items:flex-start;max-inline-size:1240px;margin-inline:auto;padding-inline:24px;padding-block-end:96px}
.oc-sim *{box-sizing:border-box}
.oc-sim__main{flex:999 1 640px;min-inline-size:0;display:flex;flex-direction:column;gap:28px}
.oc-sim__recap{flex:1 1 360px;display:flex;flex-direction:column;gap:16px}
.oc-sim__tabs{display:flex;flex-wrap:wrap;gap:8px;background:var(--n2);border-radius:18px;padding:6px}
.oc-sim__tabs button{flex:1 1 220px;min-block-size:48px;border:0;border-radius:14px;background:transparent;color:var(--m);font:inherit;font-weight:600;font-size:16px;cursor:pointer}
.oc-sim__tabs button[aria-selected="true"]{background:var(--c);color:var(--n)}
.oc-sim__panel{display:flex;flex-direction:column;gap:28px}
.oc-sim__panel[hidden]{display:none}
.oc-sim__fs{margin:0;border:0;padding:0;min-inline-size:0}
.oc-sim__fs legend{padding:0;margin-block-end:14px;font-family:var(--wp--custom--font--display,inherit);font-weight:700;font-size:26px}
.oc-sim__grid{display:grid;gap:12px}
.oc-sim__grid--150{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.oc-sim__grid--200{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.oc-sim__grid--220{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}
.oc-sim__grid--260{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}
.oc-sim__grid--280{grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:10px}
.oc-sim__choice{min-block-size:44px;border-radius:14px;padding:14px 16px;text-align:start;display:flex;flex-direction:column;gap:4px;font:inherit;cursor:pointer;color:var(--m);background:var(--n2);border:2px solid var(--b)}
.oc-sim__choice[aria-pressed="true"]{background:var(--n3);border-color:var(--c)}
.oc-sim__choice:hover{border-color:var(--ch)}
.oc-sim__choice[aria-pressed="true"]:hover{border-color:var(--c)}
.oc-sim__label{font-weight:600;font-size:16px}
.oc-sim__hint{font-size:14px;color:var(--l)}
.oc-sim__price{font-family:var(--wp--custom--font--display,inherit);font-weight:800;font-size:30px}
.oc-sim__feat{display:flex;align-items:center;gap:12px;min-block-size:52px;padding:12px 14px;border-radius:12px;font-size:15px;cursor:pointer;background:var(--n2);border:1.5px solid var(--b)}
.oc-sim__feat.is-on{background:var(--n3);border-color:var(--c)}
.oc-sim__feat input{inline-size:20px;block-size:20px;flex:none;accent-color:var(--c)}
.oc-sim__feat .oc-sim__label{flex:1;font-weight:400;font-size:15px}
.oc-sim__days{font-size:14px;color:var(--l);white-space:nowrap}
.oc-sim :is(button,input,textarea,a):focus-visible{outline:3px solid var(--l);outline-offset:3px}

.oc-sim__contact{background:var(--n2);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:18px}
.oc-sim__contact h2{margin:0;font-family:var(--wp--custom--font--display,inherit);font-weight:700;font-size:26px}
.oc-sim__form{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.oc-sim__field{display:flex;flex-direction:column;gap:8px}
.oc-sim__field label{font-size:15px;font-weight:600}
.oc-sim__field :is(input,textarea){min-block-size:48px;border-radius:12px;border:1.5px solid var(--ch);background:var(--n);color:var(--m);padding-inline:14px;font:inherit;font-size:16px;inline-size:100%}
.oc-sim__field textarea{padding-block:12px;resize:vertical}
.oc-sim__wide{grid-column:1/-1}
.oc-sim__hp{position:absolute;inset-inline-start:-9999px}
.oc-sim__consent{display:flex;gap:10px;align-items:flex-start;font-size:14px;line-height:1.5;color:var(--td)}
.oc-sim__consent input{inline-size:20px;block-size:20px;margin-block-start:2px;flex:none;accent-color:var(--c)}
.oc-sim__consent a{color:var(--wp--preset--color--corail-clair,#FFB39E)}
.oc-sim__actions{display:flex;flex-wrap:wrap;gap:12px}
.oc-sim__btn{min-block-size:52px;border:0;border-radius:999px;background:var(--c);color:var(--n);font:inherit;font-weight:600;font-size:17px;padding-inline:26px;cursor:pointer}
.oc-sim__btn--ghost{background:transparent;border:1.5px solid var(--ch);color:var(--m)}
.oc-sim__btn:disabled{opacity:.6;cursor:progress}
.oc-sim__status{background:var(--n);border-radius:16px;padding:24px;display:flex;flex-direction:column;gap:8px}
.oc-sim__status[hidden]{display:none}
.oc-sim__status p{margin:0;font-size:16px;line-height:1.55;color:var(--td)}
.oc-sim__status .oc-sim__ok{font-family:var(--wp--custom--font--display,inherit);font-weight:700;font-size:24px;color:var(--m)}
.oc-sim__status--error{border:1.5px solid var(--c)}

.oc-sim__card{background:var(--m);color:var(--n);border-radius:24px;padding:28px;display:flex;flex-direction:column;gap:16px}
.oc-sim__card h2{margin:0;font-family:var(--wp--custom--font--display,inherit);font-weight:800;font-size:26px}
.oc-sim__lines{margin:0;display:flex;flex-direction:column;gap:10px;font-size:15px}
.oc-sim__lines div{display:flex;justify-content:space-between;gap:12px;border-block-end:1px solid var(--wp--preset--color--filet-clair,#E4DFF5);padding-block-end:10px}
.oc-sim__lines dt{color:var(--tc)}
.oc-sim__lines dd{margin:0;font-weight:600;text-align:end}
.oc-sim__saving{background:var(--wp--preset--color--lavande-pale,#EDE8FF);border-radius:14px;padding:14px 16px;font-size:14px;line-height:1.5}
.oc-sim__totals{display:flex;flex-direction:column;gap:8px;font-size:16px}
.oc-sim__totals>div{display:flex;justify-content:space-between;gap:12px}
.oc-sim__soft{color:var(--tc);font-size:15px}
.oc-sim__ttc{align-items:baseline;border-block-start:2px solid var(--n);padding-block-start:12px;margin-block-start:4px}
.oc-sim__ttc span{font-weight:700}
.oc-sim__ttc strong{font-family:var(--wp--custom--font--display,inherit);font-weight:800;font-size:38px}
.oc-sim__cta{text-align:center;background:var(--n);color:var(--m);font-weight:600;font-size:16px;padding:16px;border-radius:999px;text-decoration:none}
.oc-sim__disclaimer{margin:0;font-size:13px;line-height:1.5;color:var(--tc)}
.oc-sim__octo{background:var(--n2);border-radius:20px;padding:22px;display:flex;gap:14px;align-items:flex-start}
.oc-sim__octo svg{flex:none}
.oc-sim__octo p{margin:0;font-size:15px;line-height:1.55;color:var(--td)}
.oc-sim__octo strong{color:var(--m)}
@media (max-width:640px){.oc-sim{padding-inline:16px}.oc-sim__contact{padding:20px}}

/* Assistant « Parler d'un projet » */
.oc-sim--assistant{display:block;max-inline-size:960px}
.oc-as{display:flex;flex-direction:column;gap:24px;background:var(--n2);border-radius:24px;padding:32px}
.oc-as__top{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;align-items:center}
.oc-as__progress{margin:0;font-size:14px;font-weight:600;color:var(--l);letter-spacing:.04em}
.oc-as__live{margin:0;background:var(--n);border:1.5px solid var(--c);border-radius:999px;padding:8px 16px;font-weight:600;font-size:15px}
.oc-as__live[hidden]{display:none}
.oc-as__bar{block-size:6px;background:var(--n);border-radius:999px;overflow:hidden}
.oc-as__bar span{display:block;block-size:100%;background:var(--c);border-radius:999px;transition:inline-size .3s}
.oc-as__step{display:flex;flex-direction:column;gap:16px}
.oc-as__step h2{margin:0;font-family:var(--wp--custom--font--display,inherit);font-weight:800;font-size:clamp(24px,3vw,32px);outline:none}
.oc-as__h3{margin:8px 0 0;font-family:var(--wp--custom--font--display,inherit);font-weight:700;font-size:22px}
.oc-as__hint{margin:0;color:var(--td);font-size:16px;line-height:1.55}
.oc-as__sub{border:0;margin:8px 0 0;padding:0;min-inline-size:0}
.oc-as__sub legend{padding:0;margin-block-end:12px;font-weight:600}
.oc-as__reco{display:inline-block;margin-inline-start:6px;background:var(--c);color:var(--n);font-size:12px;font-weight:700;padding:2px 8px;border-radius:999px;vertical-align:middle}
.oc-as__idea textarea{min-block-size:140px}
.oc-as__error{margin:0;color:#FFB39E;font-weight:600}
.oc-as__error[hidden],.oc-as__nav [hidden]{display:none}
.oc-as__nav{display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}
.oc-as__nav [data-next]{margin-inline-start:auto}
.oc-as__recap{gap:14px}
.oc-sim--assistant .oc-sim__form{background:transparent;padding:0}
@media (max-width:640px){.oc-as{padding:20px}}
