.service-tool{background:var(--color-bg-light);padding:var(--spacing-lg);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);color:var(--color-text)}.fade-in{animation:fadeIn .25s ease forwards}.fade-out{animation:fadeOut .25s ease forwards}@keyframes fadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeOut{0%{opacity:1;transform:translateY(0)}to{opacity:0;transform:translateY(-4px)}}.tool-step h2{font-size:1.7rem;margin-bottom:var(--spacing-lg);color:var(--color-heading)}.tool-step label{font-weight:600;margin-bottom:var(--spacing-xs);display:block;color:var(--color-heading)}.tool-step input,.tool-step select{width:100%;padding:.75rem 1rem;border-radius:var(--radius-md);background:#fff;border:none;box-shadow:var(--shadow-sm);font-size:1rem;transition:all .2s ease}.tool-step input:focus,.tool-step select:focus{outline:none;background:var(--color-bg);box-shadow:0 0 0 3px #00008026}.tool-step .checkbox{display:flex;align-items:flex-start;gap:.8rem;padding:0;cursor:pointer;border-radius:var(--radius-md);transition:background .2s ease}.checkbox:hover{background:#0000000a}.checkbox input[type=checkbox],.checkbox input[type=radio]{width:18px;height:18px;accent-color:var(--color-primary);margin-top:3px}.consensi{margin-top:2rem;padding:1.2rem;background:#f8f9fb;border-radius:var(--radius-md);box-shadow:var(--shadow-xs)}.consensi h3{margin-bottom:1rem;font-size:1.2rem}.consensi .checkbox{margin:10px 0 0;padding:0}.privacy-box{background:#fff;padding:1rem;box-shadow:var(--shadow-sm);border-radius:var(--radius-md);margin-top:1rem}.privacy-row{display:flex;align-items:center;gap:.6rem}.privacy-row input[type=checkbox]{width:18px;height:18px;flex-shrink:0;margin:0;accent-color:var(--color-primary)}.tool-step .privacy-main-label{flex:1;font-weight:600;color:#111;font-size:1rem;margin:0;padding:0}.privacy-description{margin-top:.7rem;font-size:.95rem;color:#333;line-height:1.45}.privacy-description a{color:var(--color-primary);font-weight:600;text-decoration:underline}.error-text{color:#e55353;margin-top:.6rem;font-size:.85rem}.tool-success{background:#eaf7ea;border-radius:var(--radius-lg);padding:var(--spacing-xl) var(--spacing-lg);text-align:center;box-shadow:var(--shadow-md)}.tool-success h2{font-size:1.8rem;color:var(--color-secondary)}.tool-success p{color:var(--color-text);font-size:1.1rem}.progress-wrapper{margin-bottom:var(--spacing-lg)}.progress-info{font-weight:600;margin-bottom:var(--spacing-xs);font-size:.95rem}.progress-bar-bg{width:100%;height:8px;background:#dfe3ea;border-radius:999px;overflow:hidden}.progress-bar-fill{height:100%;background:var(--color-primary);width:0%;transition:width .35s ease;border-radius:999px}.tool-step{min-height:460px;display:flex;flex-direction:column;justify-content:space-between}.nav-buttons{margin-top:auto;display:flex;justify-content:space-between;gap:1rem}.nav-buttons .btn-forward:only-child{margin-left:auto}.btn-back{border:none;background:none;color:var(--color-primary);cursor:pointer;font-weight:600}.btn-forward{background:var(--color-primary);color:#fff;padding:.75rem 1.6rem;border-radius:999px;font-weight:600;border:none;cursor:pointer}.btn-submit-final{background:var(--color-secondary);color:#fff;padding:.75rem 1.8rem;border-radius:999px;font-weight:600;cursor:pointer;border:none}.phone-wrapper{display:flex;gap:.5rem;align-items:center}.phone-prefix{background:#fff;padding:.75rem 1rem;border-radius:var(--radius-md);box-shadow:var(--shadow-sm);font-weight:600}@media(min-width:992px){.personal-row{display:flex;gap:1.5rem}.personal-row .field{flex:1}}.tool-step input.error{border:1px solid #e55353}.tool-step input.valid{border:1px solid #28a745}.tool-step small{color:#e55353;font-size:.85rem}.tool-step label{margin-top:20px}
