.simulateur-container{max-width:980px;margin:0 auto;padding:20px;color:#000}.simulateur-form{display:block}.progress-indicator{display:flex;align-items:center;gap:12px;margin-bottom:24px}.progress-bar{flex:1 1 auto;height:8px;background:#eee;border-radius:999px;overflow:hidden}.progress-fill{width:0%;height:100%;background:#2196bb;border-radius:999px;transition:width .25s ease}.progress-text{font-size:14px;font-weight:600;color:#000}.form-step{display:none}.form-step.active{display:block}.step-header{margin-bottom:18px}.step-title{margin:0 0 6px 0;font-size:24px;font-weight:700;color:#000}.step-subtitle{margin:0;font-size:15px;color:#444}.options-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.option-card{position:relative;display:flex;align-items:center;gap:12px;padding:16px;border:2px solid #e6e6e6;border-radius:12px;background:#fff;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease,transform .06s ease}.option-card>input[type="radio"]{position:absolute;inset:0;opacity:0;pointer-events:none}.option-card:has(>input[type="radio"]:checked){border-color:#b0d229;background:rgba(176,210,41,.06);box-shadow:0 0 0 2px rgba(176,210,41,.18)}.option-card:focus-within{outline:3px solid #2196bb;outline-offset:2px;border-color:#2196bb}.option-card:active{transform:translateY(.5px)}.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:14px 16px;margin-top:12px}.form-grid .full-width{grid-column:1 / -1}.input-group{display:flex;flex-direction:column;gap:6px}.input-group label{font-size:14px;font-weight:600;color:#000}.input-group input[type="text"],.input-group input[type="email"],.input-group input[type="tel"],.input-group input[type="number"],.input-group input[type="date"],.input-group select,.input-group textarea{appearance:none;width:100%;font-size:16px;line-height:1.35;padding:10px 12px;border:1.5px solid #dcdcdc;border-radius:10px;background:#fff;color:#000;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.input-group textarea{resize:vertical;min-height:120px}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{outline:none;border-color:#2196bb;box-shadow:0 0 0 3px rgba(33,150,187,.15)}.input-help{margin-top:6px;font-size:13px;color:#444}.form-navigation{display:flex;justify-content:space-between;gap:12px;margin-top:22px}.btn{appearance:none;border:0;border-radius:999px;padding:12px 18px;font-size:16px;font-weight:700;line-height:1;cursor:pointer;transition:transform .06s ease,box-shadow .15s ease,opacity .2s ease;display:inline-flex;align-items:center;justify-content:center}.btn:active{transform:translateY(1px)}.btn[disabled],.btn:disabled{opacity:.6;cursor:not-allowed}.btn-primary{background:#2196bb;color:#fff;box-shadow:0 6px 16px rgba(33,150,187,.25)}.btn-primary:hover{box-shadow:0 8px 22px rgba(33,150,187,.32)}.btn-secondary{background:#f2f2f2;color:#000}.btn-secondary:hover{box-shadow:inset 0 0 0 2px #ddd}.form-messages{margin-top:16px;font-size:14px;color:#000}.input-unit{margin-left:8px;font-size:14px;color:#444}.equipment-category{margin-top:18px}.category-title{margin:0 0 10px 0;font-size:18px;font-weight:700;color:#000}.equipment-options,.equipment-checkboxes{display:flex;flex-wrap:wrap;gap:10px 14px}.equipment-option,.equipment-checkbox{display:inline-flex;align-items:center;gap:8px;padding:8px 10px;border:1px solid #e6e6e6;border-radius:10px}.equipment-option input,.equipment-checkbox input{transform:translateY(1px)}.checkbox-custom{width:18px;height:18px;border:1.5px solid #dcdcdc;border-radius:4px}@media (max-width:720px){.options-grid{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-navigation{flex-direction:column-reverse;align-items:stretch}.btn{width:100%}}.flatpickr-day.disabled,.flatpickr-day.disabled:hover{color:#bbb;cursor:not-allowed;text-decoration:line-through}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange{background:#2196bb;border-color:#2196bb;color:#fff}.flatpickr-day.today{border-color:#b0d229}.installation-type{margin-top:1rem;display:grid;gap:1rem}.radio-card{cursor:pointer;display:block}.radio-card input[type="radio"]{display:none}.radio-card .content{display:flex;align-items:center;gap:10px;padding:12px 16px;border:2px solid #ccc;border-radius:8px;transition:all 0.2s ease}.radio-card .icon{height:32px;width:32px;display:inline-flex}.radio-card .text{font-size:14px;font-weight:500}.radio-card input[type="radio"]:checked+.content{border-color:#b0d229;background:rgba(176,210,41,.06);box-shadow:0 0 0 2px rgba(176,210,41,.18)}