.ts-preventivo{
  --ts-surface:#FFFFFF;
  --ts-line:#D8DCE3;
  --ts-track:#C7CCD6;
  --ts-amber:#D89B3C;
  --ts-amber-ink:#8C5E10;
  --ts-amber-soft:rgba(216,155,60,.16);
  --ts-cyan:#1B8F87;
  --ts-link:#0E6F68;
  --ts-text:#12172A;
  --ts-heading:#0F2553;
  --ts-muted:#5B6577;
  --ts-danger:#B3261E;
  --ts-success:#178F52;
  --ts-success-soft:rgba(23,143,82,.12);
  --ts-font-display:'Space Grotesk',system-ui,-apple-system,'Segoe UI',sans-serif;
  --ts-font-body:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;

  position:relative;
  isolation:isolate;
  margin:0 auto;
  font-family:var(--ts-font-body) !important;
  color:var(--ts-text) !important;
  background:transparent !important;
  box-sizing:border-box;
}
h2.ts-title {
    margin: 30px 0px;
    font-weight: 400 !important;
}
.ts-preventivo *,.ts-preventivo *::before,.ts-preventivo *::after{box-sizing:border-box;}
.ts-preventivo svg{fill:none !important;stroke:currentColor !important;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round;}

.ts-form-wrap{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

.ts-head{margin-bottom:28px;}
.ts-eyebrow{
  display:inline-flex;align-items:center;gap:8px;
  font-family:var(--ts-font-display) !important;
  font-size:12px !important;letter-spacing:.14em !important;text-transform:uppercase !important;
  color:var(--ts-amber-ink) !important;font-weight:600 !important;
}
.ts-dot{width:6px;height:6px;border-radius:50% !important;background:var(--ts-amber) !important;box-shadow:0 0 0 4px var(--ts-amber-soft) !important;animation:ts-pulse 2.2s ease-in-out infinite;}
@keyframes ts-pulse{0%,100%{opacity:1;}50%{opacity:.35;}}
.ts-title{color:var(--ts-heading) !important;
  font-family:var(--ts-font-display) !important;
  font-size:clamp(28px,4.4vw,42px) !important;
  line-height:1.1 !important;
  margin:12px 0 10px;
  font-weight:600 !important;
  letter-spacing:-.01em !important;
}
.ts-subtitle{color:var(--ts-muted) !important;font-size:15px !important;line-height:1.55 !important;max-width:52ch;margin:0;}

/* Progress */
.ts-progress{display:flex;align-items:flex-end;gap:22px;margin-bottom:34px;}
.ts-progress-track{position:relative;flex:1;}
.ts-progress-track::before{
  content:"";position:absolute;top:5px;left:0;right:0;height:2px;background:var(--ts-track) !important;
}
.ts-progress-fill{
  position:absolute;top:5px;left:0;height:2px;background:linear-gradient(90deg,var(--ts-amber),var(--ts-cyan)) !important;
  width:0%;transition:width .45s cubic-bezier(.65,0,.35,1);
}
.ts-steps{position:relative;display:flex;justify-content:space-between;}
.ts-step{display:flex;flex-direction:column;align-items:center;gap:6px;flex:1;}
.ts-step-num{
  width:12px;height:12px;border-radius:50% !important;background:#FFFFFF !important;
  border:2px solid var(--ts-track) !important;color:transparent !important;font-size:0 !important;
  transition:all .3s ease;
}
.ts-step.is-active .ts-step-num,.ts-step.is-done .ts-step-num{
  border-color:var(--ts-amber) !important;background:var(--ts-amber) !important;box-shadow:0 0 0 4px var(--ts-amber-soft) !important;
}
.ts-step-label{font-size:11px !important;color:var(--ts-muted) !important;letter-spacing:.03em !important;text-align:center;transition:color .3s ease;}
.ts-step.is-active .ts-step-label{color:var(--ts-text) !important;font-weight:600 !important;}

.ts-signal{display:flex;align-items:flex-end;gap:3px;height:26px;flex-shrink:0;}
.ts-signal-bar{width:5px;background:var(--ts-track) !important;border-radius:2px !important;transition:background .3s ease;}
.ts-signal-bar[data-bar="1"]{height:8px;}
.ts-signal-bar[data-bar="2"]{height:13px;}
.ts-signal-bar[data-bar="3"]{height:18px;}
.ts-signal-bar[data-bar="4"]{height:22px;}
.ts-signal-bar[data-bar="5"]{height:26px;}
.ts-signal-bar.is-lit{background:var(--ts-amber) !important;}

/* Panels */
.ts-panel{display:none;animation:ts-fade .35s ease;}
.ts-panel.is-active{display:block;}
@keyframes ts-fade{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}

.ts-step-title{color:var(--ts-heading) !important;font-family:var(--ts-font-display) !important;font-size:clamp(21px,3vw,27px) !important;margin:0 0 6px;font-weight:600 !important;}
.ts-step-hint{color:var(--ts-muted) !important;font-size:13.5px !important;margin:0 0 20px;}
.ts-step-hint--spaced{margin-top:26px;}

/* Option cards */
.ts-option-grid{display:grid;gap:12px;}
.ts-option-grid--5{grid-template-columns:repeat(3,1fr);}
.ts-option-grid--4{grid-template-columns:repeat(4,1fr);}
.ts-card-option{cursor:pointer !important;display:block;}
.ts-card-option input{position:absolute;opacity:0;width:0;height:0;}
.ts-card-option-inner{
  position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:10px;
  border:1px solid var(--ts-line) !important;background:var(--ts-surface) !important;
  border-radius:10px !important;padding:16px 14px !important;height:100%;
  transition:border-color .2s ease,background .2s ease,transform .15s ease,box-shadow .2s ease;
}
.ts-card-option:hover .ts-card-option-inner{border-color:var(--ts-cyan) !important;transform:translateY(-2px);box-shadow:0 8px 18px -12px rgba(18,23,42,.25) !important;}
.ts-card-option input:checked + .ts-card-option-inner{
  border-color:var(--ts-amber) !important;background:var(--ts-amber-soft) !important;
}
.ts-icon{width:22px;height:22px;color:var(--ts-cyan) !important;}
.ts-card-option input:checked + .ts-card-option-inner .ts-icon{color:var(--ts-amber-ink) !important;}
.ts-card-option-label{color:var(--ts-text) !important;font-size:13.5px !important;font-weight:500 !important;line-height:1.3 !important;}
.ts-check{
  position:absolute;top:10px;right:10px;width:18px;height:18px;border-radius:50% !important;
  border:1.5px solid var(--ts-line) !important;background:#FFFFFF !important;display:flex;align-items:center;justify-content:center;
  font-size:11px !important;color:transparent !important;transition:all .2s ease;
}
.ts-card-option input:checked + .ts-card-option-inner .ts-check{
  background:var(--ts-amber) !important;border-color:var(--ts-amber) !important;color:#20160A !important;
}

/* Pills */
.ts-pill-row{display:flex;flex-wrap:wrap;gap:10px;}
.ts-pill{cursor:pointer !important;}
.ts-pill input{position:absolute;opacity:0;width:0;height:0;}
.ts-pill span{
  display:inline-block;padding:9px 16px !important;border-radius:999px !important;border:1px solid var(--ts-line) !important;
  background:#FFFFFF !important;font-size:13.5px !important;color:var(--ts-muted) !important;transition:all .2s ease;
}
.ts-pill:hover span{border-color:var(--ts-cyan) !important;color:var(--ts-text) !important;}
.ts-pill input:checked + span{border-color:var(--ts-amber) !important;background:var(--ts-amber-soft) !important;color:var(--ts-text) !important;font-weight:600 !important;}

.ts-field-label{font-size:13.5px !important;font-weight:600 !important;margin:0 0 12px;color:var(--ts-text) !important;}
.ts-field-label--spaced{margin-top:24px;}

.ts-textarea-label{display:block;font-size:13.5px !important;font-weight:600 !important;margin:24px 0 8px;color:var(--ts-text) !important;}
.ts-optional{color:var(--ts-muted) !important;font-weight:400 !important;}
.ts-textarea{
  width:100%;background:var(--ts-surface) !important;border:1px solid var(--ts-line) !important;border-radius:10px !important;
  padding:12px 14px !important;color:var(--ts-text) !important;font-family:var(--ts-font-body) !important;font-size:14px !important;resize:vertical;
}
.ts-textarea:focus{outline:none;border-color:var(--ts-cyan) !important;background:#FFFFFF !important;}

/* Contact fields */
.ts-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.ts-field--full{grid-column:1 / -1;}
.ts-field label{display:block;font-size:12.5px !important;font-weight:600 !important;margin-bottom:7px;color:var(--ts-muted) !important;}
.ts-field input{
  width:100%;background:var(--ts-surface) !important;border:1px solid var(--ts-line) !important;border-radius:10px !important;
  padding:11px 14px !important;color:var(--ts-text) !important;font-family:var(--ts-font-body) !important;font-size:14.5px !important;
}
.ts-field input:focus{outline:none;border-color:var(--ts-cyan) !important;background:#FFFFFF !important;}

/* Summary */
.ts-summary{
  border:1px solid var(--ts-line) !important;border-radius:12px !important;padding:18px 20px !important;margin-bottom:20px;
  background:var(--ts-surface) !important;display:grid;gap:12px;
}
.ts-summary-row{display:grid;grid-template-columns:150px 1fr;gap:12px;font-size:13.5px !important;}
.ts-summary-row dt{color:var(--ts-muted) !important;}
.ts-summary-row dd{color:var(--ts-text) !important;margin:0;font-weight:500 !important;}
.ts-summary-empty{color:var(--ts-muted) !important;font-size:13.5px !important;}

.ts-privacy{display:flex;gap:10px;align-items:flex-start;font-size:12.5px !important;color:var(--ts-muted) !important;cursor:pointer !important;line-height:1.5 !important;}
.ts-privacy input{margin-top:3px;accent-color:var(--ts-amber) !important;}
.ts-privacy a{color:var(--ts-link) !important;}

.ts-error{display:none;color:var(--ts-danger) !important;font-size:12.5px !important;margin:14px 0 0;font-weight:500 !important;}
.ts-error.is-visible{display:block;}
.ts-submit-msg{font-size:13px !important;margin-top:14px;}
.ts-submit-msg.is-error{color:var(--ts-danger) !important;}

/* Nav */
.ts-nav{display:flex;align-items:center;gap:16px;margin-top:32px;padding-top:22px;border-top:1px solid var(--ts-line) !important;}
.ts-nav-count{margin-left:auto;font-size:12.5px !important;color:var(--ts-muted) !important;font-variant-numeric:tabular-nums;}
.ts-btn{
  font-family:var(--ts-font-display) !important;font-size:14px !important;font-weight:600 !important;
  border-radius:10px 10px 10px 10px !important;padding:15px 24px 15px 24px !important;cursor:pointer !important;border:1px solid transparent !important;
  transition-duration:2s;transition-property:all;
}
.ts-btn--ghost{background-color:transparent !important;background-image:none !important;border-color:var(--ts-line) !important;color:var(--ts-text) !important;}
.ts-btn--ghost:hover{border-color:var(--ts-cyan) !important;color:var(--ts-cyan) !important;}
.ts-btn--ghost:disabled{opacity:.35;cursor:not-allowed !important;}
.ts-btn--primary{background-color:transparent !important;background-image:linear-gradient(90deg,#3E519E 0%,#203381 100%) !important;color:#FFFFFF !important;}
.ts-btn--primary:hover{background-image:linear-gradient(90deg,#455CB0 0%,#25398F 100%) !important;}
.ts-btn--primary:disabled{opacity:.5;cursor:not-allowed !important;}
.ts-btn--submit[hidden]{display:none;}

/* Success */
.ts-success{
  text-align:center;padding:60px 24px !important;
}
.ts-success-ring{
  width:64px;height:64px;border-radius:50% !important;background:var(--ts-success-soft) !important;
  border:1.5px solid var(--ts-success) !important;display:flex;align-items:center;justify-content:center;
  margin:0 auto 20px;
}
.ts-success-check{width:28px;height:28px;color:var(--ts-success) !important;}
.ts-success h3{color:var(--ts-heading) !important;font-family:var(--ts-font-display) !important;font-size:26px !important;margin:0 0 10px;}
.ts-success p{color:var(--ts-muted) !important;max-width:44ch;margin:0 auto 24px;line-height:1.6 !important;font-size:14.5px !important;}

/* Responsive */
@media (max-width:680px){
  .ts-option-grid--5{grid-template-columns:repeat(2,1fr);}
  .ts-option-grid--4{grid-template-columns:repeat(2,1fr);}
  .ts-field-grid{grid-template-columns:1fr;}
  .ts-progress{flex-direction:column;align-items:stretch;gap:14px;}
  .ts-signal{align-self:flex-end;}
  .ts-step-label{display:none;}
  .ts-step.is-active .ts-step-label{display:block;position:absolute;top:16px;font-size:10px !important;white-space:nowrap;}
  .ts-nav{flex-wrap:wrap;}
  .ts-nav-count{order:3;width:100%;text-align:center;margin:8px 0 0;}
}
@media (prefers-reduced-motion:reduce){
  .ts-panel{animation:none;}
  .ts-dot{animation:none;}
  .ts-progress-fill,.ts-card-option-inner,.ts-btn{transition:none;}
}
