/* SpecLease JDG Form — isolated styles for WordPress / Elementor / Astra */
.sl-form-wrap,
.sl-form-wrap * { box-sizing:border-box; }
.sl-form-wrap {
  --navy:#0d1b37; --blue:#176bf0; --blue-hover:#0c54cf;
  --muted:#66758c; --border:#dce5f1; --pale:#f4f8ff; --white:#ffffff;
  max-width:800px; margin:30px auto 52px;
  background:#fff; border:1px solid #e2eaf4; border-radius:20px;
  box-shadow:0 20px 58px rgba(13,27,55,.065); overflow:hidden;
  font:400 15px/1.55 system-ui,-apple-system,"Segoe UI",sans-serif;
  color:var(--navy);
}
.sl-form-wrap h2,.sl-form-wrap h3,.sl-form-wrap h4,.sl-form-wrap p { margin:0; }
.sl-brand { padding:23px 32px; display:flex; align-items:center; gap:20px; background:var(--navy); border-bottom:4px solid var(--blue); color:white; }
.sl-brand img { width:88px; height:88px; flex:none; border-radius:14px; background:#fff; object-fit:contain; }
.sl-brand-copy { min-width:0; }
.sl-brand .sl-eyebrow { color:#aec8ea; font-size:10px; letter-spacing:.12em; font-weight:700; margin-bottom:4px; }
.sl-brand h2 { font-size:25px!important; line-height:1.22!important; font-weight:750!important; color:#fff!important; letter-spacing:-.6px; }
.sl-brand-copy>p:last-child { margin-top:4px; font-size:13px; color:#d2dff3; }
.sl-jdg-form { padding:26px 32px 21px; }
.sl-progress { margin-bottom:23px; }
.sl-progress-meter { height:5px; background:#ecf1f8; border-radius:8px; overflow:hidden; }
.sl-progress-meter>span { display:block; height:100%; background:linear-gradient(90deg,#176bf0,#4c9bfa); transition:width .18s ease; border-radius:8px; }
.sl-step-names { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); list-style:none!important; padding:11px 0 0!important; margin:0!important; gap:4px; }
.sl-step-names li { font-size:11px; color:#8b98ab; font-weight:600; list-style:none!important; padding:0!important; margin:0!important; }
.sl-step-names li.is-current { color:var(--blue); font-weight:800; }
.sl-step-names li.is-complete { color:#1d6b57; }
.sl-form-notice { background:#eff5ff; padding:11px 14px; border-radius:9px; color:#586c88; font-size:12px; margin:0 0 26px; }
.sl-heading { display:flex; gap:13px; align-items:center; margin:0 0 25px; }
.sl-heading>span { flex:none; display:grid; place-items:center; background:#eaf2ff; color:var(--blue); font-weight:800; width:40px; height:40px; border-radius:12px; font-size:15px; }
.sl-heading h3 { font-size:21px!important; font-weight:750!important; line-height:1.22!important; color:var(--navy)!important; }
.sl-heading p { color:var(--muted); font-size:12px; margin-top:3px; }
.sl-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:17px 18px; }
.sl-grid>.sl-full { grid-column:1/-1; }
.sl-field { display:flex; flex-direction:column; gap:7px; min-width:0; margin:0!important; }
.sl-field>span { font-size:12px; font-weight:700; line-height:1.35; color:var(--navy); }
.sl-field em,.sl-acknowledgement em { color:#e14f4f; font-style:normal; }
.sl-field input,.sl-field select,.sl-field textarea {
  display:block; width:100%; max-width:100%; appearance:auto; -webkit-appearance:auto;
  min-height:45px; background:#fff!important; color:var(--navy)!important;
  border:1px solid #d7e2f0!important; border-radius:9px!important;
  outline:none!important; box-shadow:none!important;
  padding:10px 12px!important; margin:0!important;
  font-family:inherit!important; font-weight:450!important; font-size:15px!important;
  letter-spacing:normal!important; line-height:1.35!important;
  transition:border-color .15s ease,box-shadow .15s ease;
}
.sl-field input::placeholder,.sl-field textarea::placeholder { color:#a1afc1; opacity:1; }
.sl-field input:focus,.sl-field select:focus,.sl-field textarea:focus {
  border-color:var(--blue)!important; box-shadow:0 0 0 3px rgba(23,107,240,.13)!important;
}
.sl-field input[aria-invalid="true"],.sl-field select[aria-invalid="true"] { border-color:#e14f4f!important; }
.sl-field textarea { min-height:136px; resize:vertical; }
.sl-subsection { margin:27px 0 17px; padding-bottom:9px; border-bottom:1px solid #e4ebf5; }
.sl-subsection h4 { font-size:14px!important; font-weight:800!important; color:var(--navy)!important; }
.sl-subsection p { font-size:12px; color:var(--muted); margin-top:3px; }
.sl-conditional[hidden] { display:none!important; }
.sl-toggle { display:inline-flex; align-items:center; gap:9px; font-weight:500; color:var(--navy); font-size:13px; cursor:pointer; }
.sl-toggle input { width:16px; height:16px; accent-color:var(--blue); }
.sl-small { font-size:12px; color:var(--muted); padding:13px 0 0; }
.sl-privacy { border:1px solid #d9e7f7; padding:20px; border-radius:12px; background:var(--pale); font-size:13px; line-height:1.65; }
.sl-privacy h4 { font-size:15px!important; margin-bottom:9px; color:var(--navy)!important; }
.sl-privacy p+p { margin-top:8px; }
.sl-privacy a,.sl-help a { color:var(--blue); text-decoration:none; font-weight:650; }
.sl-privacy a:hover,.sl-help a:hover { text-decoration:underline; }
.sl-acknowledgement { display:flex; align-items:flex-start; gap:11px; padding:21px 0 3px; font-size:13px; line-height:1.6; cursor:pointer; }
.sl-acknowledgement input { flex:none; margin-top:3px; width:18px; height:18px; accent-color:var(--blue); }
.sl-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:12px; border-top:1px solid #e6ecf5; padding-top:22px; margin-top:31px; }
.sl-btn { display:inline-flex!important; align-items:center; justify-content:center; gap:11px; border-radius:10px!important; font-weight:750!important; font-family:inherit!important; cursor:pointer; padding:12px 24px!important; line-height:1.35!important; font-size:14px!important; min-height:47px; border:0!important; transition:background-color .15s ease, transform .15s ease; text-decoration:none!important; }
.sl-btn:hover { transform:translateY(-1px); }
.sl-btn-primary { background:var(--blue)!important; color:#fff!important; box-shadow:0 6px 18px rgba(23,107,240,.15); }
.sl-btn-primary:hover,.sl-btn-primary:focus { background:var(--blue-hover)!important; color:white!important; }
.sl-btn-secondary { background:#ecf2fa!important; color:var(--navy)!important; }
.sl-btn:focus-visible { outline:3px solid rgba(23,107,240,.38)!important; outline-offset:2px; }
.sl-btn[hidden],.sl-jdg-form [hidden] { display:none!important; }
.sl-help { font-size:12px; text-align:center; margin-top:21px!important; color:var(--muted); }
.sl-client-error { border:1px solid #ecc2c2; background:#fff2f2; color:#a12d2d; padding:12px 14px; border-radius:9px; font-size:13px; margin-top:20px!important; }
.sl-feedback { margin:30px; padding:19px 22px; border-radius:12px; }
.sl-feedback--success { color:#18543d; background:#eaf9f0; }
.sl-feedback--error,.sl-security-error { color:#842c2c; background:#fff0f0; padding:18px; }
.sl-hp { position:absolute!important; height:1px!important; width:1px!important; overflow:hidden!important; left:-10000px!important; }
.sl-jdg-form.sl-enhanced .sl-step:not(.is-active) { display:none!important; }
@media(max-width:700px) {
  .sl-form-wrap { max-width:100%; margin:0 auto 24px; border:0; border-radius:0; box-shadow:none; }
  .sl-brand { padding:16px 18px; gap:13px; }
  .sl-brand img { width:68px; height:68px; border-radius:11px; }
  .sl-brand .sl-eyebrow { font-size:8px; letter-spacing:.07em; }
  .sl-brand h2 { font-size:18px!important; letter-spacing:-.35px; }
  .sl-brand-copy>p:last-child { font-size:11px; }
  .sl-jdg-form { padding:18px 18px 24px; }
  .sl-step-names li { font-size:9px; }
  .sl-grid { grid-template-columns:minmax(0,1fr); gap:15px; }
  .sl-grid>.sl-full { grid-column:auto; }
  .sl-heading { margin-bottom:22px; }
  .sl-heading h3 { font-size:19px!important; }
  .sl-btn { width:100%; }
  .sl-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); }
  .sl-actions .sl-btn[data-sl-next]:not([hidden]),.sl-actions .sl-btn[data-sl-submit]:not([hidden]) { grid-column:2; }
  .sl-actions .sl-btn[data-sl-prev]:not([hidden]) { grid-column:1; }
  .sl-actions .sl-btn:only-child { grid-column:1/-1; }
  .sl-privacy { padding:15px; }
  .sl-feedback { margin:18px; }
}
@media(max-width:380px) {
  .sl-brand h2 { font-size:17px!important; }
  .sl-step-names li { font-size:8px; }
  .sl-btn { padding:11px 13px!important; font-size:12px!important; }
}

/* SpecLease Premium - ekran potwierdzenia po wysłaniu */
.sl-confirmation { padding:32px 34px 34px; text-align:center; color:#0d1b37; }
.sl-confirmation-icon { display:grid; place-items:center; width:66px; height:66px; margin:0 auto 18px; border-radius:50%; background:#e7f7ed; color:#177547; font-size:38px; font-weight:800; line-height:1; }
.sl-confirmation h3 { font-family:inherit!important; font-size:23px!important; line-height:1.32!important; font-weight:800!important; color:#0d1b37!important; margin:0 0 10px!important; }
.sl-confirmation-intro { font-size:14px; color:#586c86; margin:0 0 21px!important; }
.sl-confirmation-ref { background:#f2f6fd; border:1px solid #e1eaf6; border-radius:13px; padding:19px 16px; display:flex; flex-direction:column; gap:6px; }
.sl-confirmation-ref span { font-size:10px; font-weight:800; letter-spacing:.11em; color:#66758c; }
.sl-confirmation-ref strong { color:#0d1b37; font-size:27px; letter-spacing:.035em; font-weight:800; }
.sl-confirmation-ref small { font-size:12px; color:#66758c; }
.sl-confirmation-next { max-width:590px; margin:22px auto 24px!important; font-size:14px; line-height:1.65; color:#3a506e; }
.sl-confirmation-home { display:inline-flex!important; align-items:center; justify-content:center; gap:12px; min-height:48px; padding:12px 24px; background:#176bf0; color:#fff!important; border-radius:10px; font-size:14px; line-height:1.3; font-weight:750; text-decoration:none!important; box-shadow:0 6px 16px rgba(23,107,240,.17); }
.sl-confirmation-home:hover,.sl-confirmation-home:focus { color:#fff!important; background:#0c54cf; }
.sl-confirmation-home:focus-visible { outline:3px solid #8bbaff; outline-offset:3px; }
.sl-confirmation-close { max-width:560px; margin:18px auto 0!important; font-size:12px; color:#66758c; }
.sl-confirmation-contact { margin:19px 0 0!important; font-size:12px; color:#66758c; }
.sl-confirmation-contact a { color:#176bf0!important; text-decoration:none!important; }
@media(max-width:700px) {
  .sl-confirmation { padding:26px 18px 34px; }
  .sl-confirmation h3 { font-size:20px!important; }
  .sl-confirmation-ref strong { font-size:25px; }
  .sl-confirmation-home { display:flex!important; width:100%; }
}
