#leasingujtak-sprawdz * { box-sizing: border-box; font-family: Inter, system-ui, -apple-system, sans-serif; }
#leasingujtak-sprawdz { background: #0b0b10; width: 100vw; position: relative; left: 50%; margin-left: -50vw; padding: 48px 0 60px; }
#leasingujtak-sprawdz .so-inner { max-width: 780px; margin: 0 auto; padding: 0 24px; }

#leasingujtak-sprawdz .so-header { text-align: center; margin-bottom: 40px; }
#leasingujtak-sprawdz .so-badge { display: inline-flex; padding: 8px 16px; border-radius: 999px; font-size: 12px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; background: rgba(209,12,154,.12); border: 1px solid rgba(209,12,154,.35); color: #fff; margin-bottom: 20px; }
#leasingujtak-sprawdz .so-title { font-size: 48px; font-weight: 900; line-height: 1.05; margin: 0 0 12px; color: #fff; }
#leasingujtak-sprawdz .so-title span { color: #d10c9a; }
#leasingujtak-sprawdz .so-sub { font-size: 16px; color: rgba(255,255,255,.75); margin: 0; line-height: 1.6; }
@media(max-width:600px){ #leasingujtak-sprawdz .so-title { font-size: 32px; } }

#leasingujtak-sprawdz .so-section { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.10); border-radius: 20px; padding: 28px; margin-bottom: 20px; }
#leasingujtak-sprawdz .so-section-title { font-size: 18px; font-weight: 900; margin: 0 0 6px; color: #fff; }
#leasingujtak-sprawdz .so-section-sub { font-size: 13px; color: rgba(255,255,255,.6); margin: 0 0 20px; }

#leasingujtak-sprawdz .so-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
@media(max-width:580px){ #leasingujtak-sprawdz .so-grid2 { grid-template-columns: 1fr; } }

#leasingujtak-sprawdz .so-label { display: block; font-size: 13px; font-weight: 700; color: rgba(255,255,255,.8); margin-bottom: 6px; }
#leasingujtak-sprawdz .so-input, #leasingujtak-sprawdz .so-select { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.12); border-radius: 12px; padding: 14px 16px; color: #fff; font-size: 15px; font-weight: 600; width: 100%; outline: none; transition: border-color .2s; -webkit-text-fill-color: #fff; caret-color: #fff; }
#leasingujtak-sprawdz .so-input:focus, #leasingujtak-sprawdz .so-select:focus { border-color: #d10c9a; box-shadow: 0 0 0 3px rgba(209,12,154,.15); }
#leasingujtak-sprawdz .so-input::placeholder { color: rgba(255,255,255,.3); -webkit-text-fill-color: rgba(255,255,255,.3); }
#leasingujtak-sprawdz .so-input:-webkit-autofill { -webkit-text-fill-color: #fff !important; -webkit-box-shadow: 0 0 0 1000px #0b0b10 inset !important; }
#leasingujtak-sprawdz .so-select option { background:#0b0b10; color:#fff; }
#leasingujtak-sprawdz .so-hint { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 4px; }

#leasingujtak-sprawdz .so-radio-group { display: flex; gap: 10px; flex-wrap: wrap; }
#leasingujtak-sprawdz .so-radio input[type="radio"] { display: none; }
#leasingujtak-sprawdz .so-radio-label { display: flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 999px; border: 1px solid rgba(255,255,255,.12); font-size: 14px; font-weight: 700; cursor: pointer; transition: all .2s; color: #fff; }
#leasingujtak-sprawdz .so-radio input[type="radio"]:checked + .so-radio-label { background: rgba(209,12,154,.15); border-color: #d10c9a; color: #d10c9a; }

#leasingujtak-sprawdz .so-err { color: #ffd7d5; font-size: 14px; margin-bottom: 12px; display: none; }
#leasingujtak-sprawdz .so-err.show { display: block; }

#leasingujtak-sprawdz .so-btn-primary { display: block; width: 100%; padding: 16px; border-radius: 999px; font-size: 16px; font-weight: 900; text-align: center; cursor: pointer; border: none; background: linear-gradient(90deg,#ff34c7,#d10c9a); color: #fff; box-shadow: 0 18px 50px rgba(209,12,154,.3); margin-bottom: 20px; transition: transform .15s; }
#leasingujtak-sprawdz .so-btn-primary:hover { transform: translateY(-1px); }

#leasingujtak-sprawdz .so-wynik-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 14px; margin-bottom: 16px; }
@media(max-width:580px){ #leasingujtak-sprawdz .so-wynik-grid { grid-template-columns: 1fr; } }
#leasingujtak-sprawdz .so-wynik-card { background: rgba(255,255,255,.06); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 18px; text-align: center; }
#leasingujtak-sprawdz .so-wynik-card--pink { background: rgba(209,12,154,.1); border-color: rgba(209,12,154,.4); }
#leasingujtak-sprawdz .so-wynik-label { font-size: 11px; font-weight: 700; letter-spacing: 1px; text-transform: uppercase; color: rgba(255,255,255,.6); margin-bottom: 8px; }
#leasingujtak-sprawdz .so-wynik-value { font-size: 26px; font-weight: 900; color: #fff; }
#leasingujtak-sprawdz .so-wynik-card--pink .so-wynik-value { color: #d10c9a; }
#leasingujtak-sprawdz .so-wynik-note { font-size: 12px; color: rgba(255,255,255,.5); margin-top: 4px; }

#leasingujtak-sprawdz .so-analiza { background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 20px; margin-bottom: 16px; }
#leasingujtak-sprawdz .so-analiza-title { font-size: 15px; font-weight: 900; margin-bottom: 12px; color: #fff; }
#leasingujtak-sprawdz .so-analiza-row { display: flex; justify-content: space-between; padding: 8px 0; border-bottom: 1px solid rgba(255,255,255,.06); font-size: 14px; }
#leasingujtak-sprawdz .so-analiza-row:last-child { border-bottom: none; }
#leasingujtak-sprawdz .so-analiza-key { color: rgba(255,255,255,.7); }
#leasingujtak-sprawdz .so-analiza-val { font-weight: 700; color: #fff; }
#leasingujtak-sprawdz .so-analiza-val.good { color: #6cffb1; }
#leasingujtak-sprawdz .so-analiza-val.warn { color: #ffd166; }
#leasingujtak-sprawdz .so-analiza-val.bad { color: #ff6b6b; }

/* HAK - blok "czego kalkulator nie widzi" */
#leasingujtak-sprawdz .so-hak { border-radius: 16px; padding: 22px; margin-bottom: 16px; font-size: 15px; line-height: 1.7; }
#leasingujtak-sprawdz .so-hak--warn { background: rgba(255,209,102,.08); border: 1px solid rgba(255,209,102,.35); }
#leasingujtak-sprawdz .so-hak--bad { background: rgba(255,107,107,.08); border: 1px solid rgba(255,107,107,.4); }
#leasingujtak-sprawdz .so-hak--good { background: rgba(108,255,177,.06); border: 1px solid rgba(108,255,177,.3); }
#leasingujtak-sprawdz .so-hak-head { font-size: 16px; font-weight: 900; color: #fff; margin: 0 0 10px; }
#leasingujtak-sprawdz .so-hak-body { color: rgba(255,255,255,.9); margin: 0; }
#leasingujtak-sprawdz .so-hak-list { margin: 12px 0 0; padding: 0; list-style: none; }
#leasingujtak-sprawdz .so-hak-list li { padding: 6px 0 6px 26px; position: relative; color: rgba(255,255,255,.88); }
#leasingujtak-sprawdz .so-hak-list li:before { content: "!"; position: absolute; left: 0; top: 6px; width: 18px; height: 18px; border-radius: 50%; background: #d10c9a; color: #fff; font-size: 12px; font-weight: 900; text-align: center; line-height: 18px; }

#leasingujtak-sprawdz .so-btn-secondary { display: block; width: 100%; padding: 14px; border-radius: 999px; font-size: 15px; font-weight: 700; border: 1px solid rgba(255,255,255,.15); background: rgba(255,255,255,.06); color: #fff; cursor: pointer; margin-top: 12px; transition: opacity .15s; }
#leasingujtak-sprawdz .so-btn-secondary:hover { opacity: .8; }

.wpcf7 .wpcf7-acceptance span { color: rgba(255,255,255,.85) !important; }
.wpcf7 input[type="file"] + span { color: rgba(255,255,255,.75) !important; }
.wpcf7 .wpcf7-mail-sent-ok { color: #6cffb1 !important; border-color: #6cffb1 !important; background: rgba(108,255,177,.1) !important; }
.wpcf7 .wpcf7-response-output { color: #fff !important; }
.wpcf7 label span { color: rgba(255,255,255,.75) !important; }