.ii2-devis{background:var(--global-color-3);padding:74px 28px;color-scheme:light}
.ii2-devis__head{text-align:center;max-width:640px;margin:0 auto 44px}
.ii2-devis__eyebrow{display:inline-block;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;color:var(--global-color-1);font-weight:700;margin-bottom:12px}
.ii2-devis__title{font-size:2.1rem;font-weight:800;color:var(--global-color-2);margin:0 0 10px;line-height:1.2}
.ii2-devis__subtitle{color:#5a7da6;font-size:1.02rem;margin:0}

.ii2-devis__screen--services{max-width:1100px;margin:0 auto}
.ii2-devis__screen--services .ii2-devis__step{text-align:center}

.ii2-devis__back{display:inline-flex;align-items:center;gap:6px;margin:0 0 20px;padding:8px 16px 8px 12px;border-radius:20px;border:2px solid #e6eef8;background:#fff;color:var(--global-color-2);font-weight:700;font-size:.82rem;font-family:inherit;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.ii2-devis__back:hover{border-color:var(--global-color-1);background:var(--global-color-3);color:var(--global-color-1)}

.ii2-devis__selected{display:flex;align-items:center;gap:10px;margin-bottom:24px}

.ii2-devis__surDevisMsg{background:var(--global-color-3);border-radius:12px;padding:18px 20px;margin-bottom:24px}
.ii2-devis__surDevisMsg p{margin:0;color:var(--global-color-2);font-size:.95rem;line-height:1.6}
.ii2-devis__selectedIcon{font-size:1.6rem;line-height:1;color:var(--global-color-2)}
.ii2-devis__selectedLabel{font-size:1.15rem;font-weight:800;color:var(--global-color-2)}

.ii2-devis__grid{display:grid;grid-template-columns:1.5fr 1fr;gap:32px;max-width:1100px;margin:0 auto;align-items:start}
@media(max-width:880px){.ii2-devis__grid{grid-template-columns:1fr}}

.ii2-devis__form{background:#fff;border-radius:18px;padding:32px;box-shadow:0 3px 12px rgba(13,74,138,.08)}
@media(max-width:480px){.ii2-devis__form{padding:24px 20px}}
.ii2-devis__step{font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--global-color-2);margin:0 0 12px}
.ii2-devis__form>.ii2-devis__step:not(:first-child){margin-top:28px}
.ii2-devis__optional{font-weight:400;text-transform:none;color:#8ba7c9;letter-spacing:0}

.ii2-devis__services{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
@media(max-width:520px){.ii2-devis__services{grid-template-columns:repeat(2,1fr)}}
.ii2-devis__service{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:32px 16px;min-height:140px;border-radius:12px;border:2px solid #e6eef8;background:#fff;color:var(--global-color-2);cursor:pointer;font-family:inherit;text-align:center;transition:border-color .15s ease,background-color .15s ease,transform .15s ease}
.ii2-devis__service:hover,
.ii2-devis__service.is-active{border-color:var(--global-color-1);background:var(--global-color-2);color:#fff;transform:translateY(-2px)}
.ii2-devis__service:hover .ii2-devis__serviceLabel,
.ii2-devis__service.is-active .ii2-devis__serviceLabel,
.ii2-devis__service:hover .ii2-devis__serviceIcon,
.ii2-devis__service.is-active .ii2-devis__serviceIcon{color:#fff}
.ii2-devis__serviceIcon{font-size:2.3rem;line-height:1;color:var(--global-color-2);transition:color .15s ease}
.ii2-devis__serviceLabel{font-size:.92rem;font-weight:600;color:var(--global-color-2);line-height:1.25;transition:color .15s ease}

.ii2-devis__variantsWrap{margin-top:14px}
.ii2-devis__variants{display:flex;gap:8px;flex-wrap:wrap}
.ii2-devis__variant{padding:9px 18px;border-radius:20px;border:2px solid #e6eef8;background:#fff;color:var(--global-color-2);font-weight:600;font-size:.85rem;cursor:pointer;font-family:inherit;transition:border-color .15s ease,background-color .15s ease,color .15s ease}
.ii2-devis__variant:hover{border-color:var(--global-color-6)}
.ii2-devis__variant.is-active{border-color:var(--global-color-1);background:var(--global-color-1);color:#fff}

.ii2-devis__stepper{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ii2-devis__stepBtn{width:44px;height:44px;flex-shrink:0;border-radius:10px;border:2px solid #e6eef8;background:#fff;color:var(--global-color-2);font-size:1.4rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.ii2-devis__stepBtn:hover{border-color:var(--global-color-1);color:var(--global-color-1)}
.ii2-devis__qte{width:70px;height:44px;text-align:center;border-radius:10px;border:2px solid #e6eef8;font-size:1.1rem;font-weight:700;color:var(--global-color-2);font-family:inherit;box-sizing:border-box}
.ii2-devis__qte::-webkit-outer-spin-button,.ii2-devis__qte::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ii2-devis__unit{font-size:.92rem;color:#5a7da6;font-weight:600}
.ii2-devis__qteNote{margin:10px 0 0;font-size:.82rem;color:#c9820f;font-weight:600}

.ii2-devis__optionsWrap{margin-top:14px}
.ii2-devis__options{display:flex;flex-direction:column;gap:10px}
.ii2-devis__optionRow{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:10px;border:2px solid #e6eef8;flex-wrap:wrap}
.ii2-devis__optionLabel{font-weight:600;color:var(--global-color-2);font-size:.92rem}
.ii2-devis__optionPrice{font-weight:400;color:#5a7da6;font-size:.85rem}
.ii2-devis__optionStepper{display:flex;align-items:center;gap:8px;flex-shrink:0}
.ii2-devis__optionBtn{width:32px;height:32px;flex-shrink:0;border-radius:8px;border:2px solid #e6eef8;background:#fff;color:var(--global-color-2);font-size:1.1rem;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1}
.ii2-devis__optionBtn:hover{border-color:var(--global-color-1);color:var(--global-color-1)}
.ii2-devis__optionQte{width:44px;height:32px;text-align:center;border-radius:8px;border:2px solid #e6eef8;font-size:.95rem;font-weight:700;color:var(--global-color-2);font-family:inherit;box-sizing:border-box}
.ii2-devis__optionQte::-webkit-outer-spin-button,.ii2-devis__optionQte::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.ii2-devis__optionQte:focus{outline:none;border-color:var(--global-color-1)}

.ii2-devis__optionRow--checkbox{flex-direction:column;align-items:flex-start;gap:8px}
.ii2-devis__optionCheckboxLabel{display:flex;align-items:center;gap:10px;cursor:pointer;width:100%}
.ii2-devis__optionCheckbox{width:20px;height:20px;flex-shrink:0;accent-color:var(--global-color-1);cursor:pointer}
.ii2-devis__optionNote{margin:0;padding-left:30px;font-size:.8rem;color:#c9820f;font-weight:600;line-height:1.5}

.ii2-devis__ville{width:100%;height:44px;padding:0 36px 0 14px;border-radius:10px;border:2px solid #e6eef8;font-size:.95rem;color:var(--global-color-2);font-family:inherit;box-sizing:border-box;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='%230d4a8a'%3E%3Cpath d='M5.5 7.5l4.5 4.5 4.5-4.5' stroke='%230d4a8a' stroke-width='1.6' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 12px center;appearance:none;-webkit-appearance:none;-moz-appearance:none;cursor:pointer}
.ii2-devis__ville:focus,.ii2-devis__qte:focus{outline:none;border-color:var(--global-color-1)}

.ii2-devis__result{background:var(--global-color-2);border-radius:18px;padding:32px;color:#fff;text-align:center;position:sticky;top:96px}
@media(max-width:880px){.ii2-devis__result{position:static}}
.ii2-devis__resultLabel{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--global-color-7);font-weight:700;margin-bottom:8px}
.ii2-devis__price{font-size:3rem;font-weight:800;color:var(--global-color-5);line-height:1;margin-bottom:8px}
.ii2-devis__detail{font-size:.88rem;color:var(--global-color-7);margin:0 0 24px}
.ii2-devis__cta{display:flex;align-items:center;justify-content:center;width:100%;padding:15px 20px;border-radius:10px;background:var(--global-color-4);color:#fff;font-weight:700;font-size:.98rem;text-decoration:none;box-sizing:border-box;transition:transform .15s ease}
.ii2-devis__cta:hover{transform:translateY(-2px)}
.ii2-devis__note{font-size:.78rem;color:var(--global-color-7);margin:14px 0 0;line-height:1.5}

.ii2-devis__disclaimer{max-width:1100px;margin:32px auto 0;padding:16px 20px;border-radius:12px;border:1px solid #f0c9c0;background:#fbeae6;color:#8a4a3d;font-size:.85rem;line-height:1.6;text-align:center}

.ii2-devis-recap{max-width:1100px;margin:0 auto 24px;background:var(--global-color-3);border:1px solid #cfe2f7;border-radius:14px;padding:18px 22px;color:var(--global-color-2)}
.ii2-devis-recap strong{display:block;margin-bottom:6px;font-size:.95rem}
.ii2-devis-recap p{margin:0;font-size:.92rem;line-height:1.6}
