    body {
      font-family: 'Inter', 'Segoe UI', Arial, sans-serif;
      background: linear-gradient(120deg, #eaf6ff 0%, #f7f7fa 100%);
      margin: 0;
      padding: 0;
      min-height: 100vh;
    }
    .container {
      max-width: 68%;
      margin: 0 auto;
      background: rgba(255,255,255,0.88);
      padding: 40px 28px 30px 28px;
      box-shadow: 0 8px 48px 0 rgba(12,40,110,0.17), 0 1.5px 14px 0 rgba(0,0,0,0.04);
      border-radius: 28px;
      margin-top: 40px;
      backdrop-filter: blur(2px);
      transition: box-shadow .22s;
    }
    .container:hover {
      box-shadow: 0 10px 52px 0 rgba(12,40,110,0.24), 0 2px 16px 0 rgba(0,0,0,0.07);
    }
    .inside-container { width: 70%; margin: 0 auto; }
    @media (max-width: 900px) { .inside-container { width: 900px; } }
    h1.logo {
      font-family: 'Air Millhouse', cursive;
      font-size: 38px;
      font-style: italic;
      font-weight: bold;
      text-align: center;
      letter-spacing: 1px;
      color: #0162c8;
      text-shadow: 0 1.5px 8px #bde1fa70;
      margin-bottom: 12px;
    }
    .form-title {
      margin-top: 2.5cm;
      font-weight: bold;
      text-align: center;
      font-size: 30px;
      color: #183f6c;
      letter-spacing: .6px;
      margin-bottom: 6px;
      text-shadow: 0 1px 5px #e6f1ff70;
    }
    .form-desc {
      font-size: 15.5px;
      color: #4d5b79;
      text-align: center;
      margin-bottom: 2.5cm;
    }
    .uwaga {
      margin-top: 2.5cm;
      text-align: center;
      font-size: 26px;
      font-weight: 900;
      color: #d00b2a;
      letter-spacing: 1px;
      text-shadow: 0 1.5px 8px #ffd6dd60;
    }
    .uwaga-czerwony {
      color: #334155;
      font-weight: 500;
      font-size: 16px;
      line-height: 1.6;
      margin: 18px auto 36px auto;
      max-width: 95%;
      background: linear-gradient(90deg,#f4f8fd 0%,#f8fbff 100%);
      border: 1px solid #dbe8f5;
      border-left: 5px solid #1f73c9;
      padding: 15px 20px;
      border-radius: 12px;
      box-shadow: 0 6px 18px rgba(24,78,149,.06);
    }
    .uwaga-czerwony strong {
      color: #184e95;
      font-weight: 800;
    }
    .shipping-title {
      margin-top: 2cm;
      text-align: center;
      font-weight: bold;
      font-size: 24px;
      color: #184e95;
      letter-spacing: .3px;
    }
    .form-row {
      display: flex;
      align-items: center;
      gap: 12px;
      width: 100%;
      margin-bottom: 12px;
      transition: background .22s;
    }
    .form-row label {
      font-weight: 600;
      color: #243b54;
      white-space: nowrap;
    }
    input, select, textarea {
      font-size: 16px;
      padding: 9px 13px;
      border: 1.6px solid #a9c1e6;
      border-radius: 11px;
      outline: none;
      width: 100%;
      box-sizing: border-box;
      background: rgba(251, 253, 255, 0.98);
      transition: border 0.18s, box-shadow 0.18s;
      font-family: inherit;
    }
    input:focus, select:focus, textarea:focus {
      border-color: #3386e5;
      box-shadow: 0 0 0 2px #78c3fa2e;
      background: #f8fbff;
    }
    input[type="checkbox"], input[type="radio"] {
      width: 19px;
      height: 19px;
      accent-color: #0162c8;
      margin-right: 4px;
    }
    select {
      cursor: pointer;
    }
    .red-bold { color: #d00; font-weight: bold; }
    .tick-row { margin: 12px 0; }
    .tick-row label { font-size: 18px; }
    .nabywca-box, .odbiorca-box {
      background: rgba(239,245,255,0.96);
      border: 1.5px solid #8eaaff;
      padding: 18px;
      border-radius: 13px;
      margin-bottom: 22px;
      box-shadow: 0 2px 12px #cfe1ff1a;
    }
    .section-header {
      margin-top: 18px;
      margin-bottom: 12px;
      font-size: 21px;
      font-weight: bold;
      color: #1d428a;
      letter-spacing: .2px;
      border-bottom: 1.5px solid #e3eaff;
      padding-bottom: 4px;
    }
    .przyciski {
      display: flex;
      justify-content: space-between;
      gap: 12px;
      margin: 26px 0 30px 0;
    }
    .przyciski img {
      height: 48px;
      cursor: pointer;
      border-radius: 9px;
      box-shadow: 0 2px 8px #d9e7ff30;
      transition: box-shadow .17s, transform .17s;
    }
    .przyciski img:hover {
      box-shadow: 0 3px 12px #97b6ef30;
      transform: translateY(-2px) scale(1.03);
    }
    .platnosci, .dostawa, .ekspres { margin-bottom: 30px; }
    .dodatkowa-info {
      font-size: 13.5px;
      color: #ca1919;
      margin-top: 2px;
      margin-left: 40px;
      max-width: 92%;
      font-weight: normal;
      background: #ffe6e722;
      border-radius: 7px;
      padding: 3px 14px;
    }
    .final-info {
      color: #b9000e;
      font-weight: bold;
      font-size: 16.5px;
      margin: 16px 0 30px 0;
    }
    .submit-btn {
      display: block;
      margin: 0 auto;
      padding: 20px 60px;
      font-size: 24px;
      border-radius: 16px;
      background: linear-gradient(100deg, #0162c8 0%, #36a0fd 100%);
      color: #fff;
      border: none;
      font-weight: bold;
      cursor: pointer;
      box-shadow: 0 3px 22px #0162c870, 0 1.5px 6px #0153a832;
      transition: background .19s, box-shadow .19s, transform .13s;
    }
    .submit-btn:hover {
      background: linear-gradient(97deg, #0463e7 0%, #1ac8ff 100%);
      box-shadow: 0 6px 32px #1d4b8820, 0 1.5px 12px #0153a844;
      transform: translateY(-1.5px) scale(1.03);
    }
    @media (max-width: 700px) {
      .container { max-width: 99vw; padding: 4vw 1vw 6vw 1vw; }
      .form-row { flex-direction: column; gap: 4px; }
      .przyciski { flex-direction: column; gap: 10px; }
      .inside-container { width: 99vw; }
    }
    .form-row input[type="text"], 
    .form-row input[type="tel"], 
    .form-row input[type="email"] {
      flex: 1 1 0;
      min-width: 0;
    }
    .shipping-title {
      margin-top: 2cm;
      margin-bottom: 28px;
    }
    .platnosci > div,
    .dostawa > div,
    .ekspres > div {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      margin-bottom: 10px;
    }
    .platnosci label,
    .dostawa label,
    .ekspres label {
      display: flex;
      align-items: center;
      gap: 12px;
      font-weight: normal;
      margin-bottom: 0;
      width: auto;
      color: #222;
    }
    .platnosci input[type="radio"],
    .dostawa input[type="radio"],
    .ekspres input[type="radio"] {
      margin-right: 10px;
      accent-color: #0058c7;
      width: 20px;
      height: 20px;
      flex-shrink: 0;
    }
    .kolor-row {
      background: #fafdfffc;
      border-radius: 10px;
      padding: 7px 13px 7px 7px;
      border: 1px solid #e4edfa;
      box-shadow: 0 1.5px 6px #cee7ff25;
    }
    .ilosc-blad {
      color: #d00;
      font-weight: bold;
      font-size: 14px;
    }
    .usun-wiersz {
      background: #fff3f3;
      border: 1.2px solid #fd9191;
      border-radius: 7px;
      color: #d11313;
      padding: 2.5px 9px;
      font-size: 19px;
      font-weight: bold;
      cursor: pointer;
      transition: background .14s, border .14s;
    }
    .usun-wiersz:hover {
      background: #ffe3e3;
      border-color: #e74c3c;
    }
    #dodaj-kolor {
      margin: 0 0 18px 0;
      padding: 8px 22px;
      border-radius: 10px;
      background: linear-gradient(97deg, #2398fa 0%, #78e1fc 100%);
      color: #13427e;
      border: none;
      font-weight: bold;
      font-size: 17px;
      cursor: pointer;
      box-shadow: 0 2px 8px #c7e5ff45;
      transition: background .13s, color .13s, box-shadow .13s;
    }
    #dodaj-kolor:hover {
      background: linear-gradient(98deg, #11a1fd 0%, #e2f6fa 100%);
      color: #0e305c;
      box-shadow: 0 4px 14px #b7e3fd44;
    }
    .nabywca-box, .odbiorca-box, #nadruk-fields, #vat-fields, #odbiorca-fields {
      animation: fade-in .33s cubic-bezier(.23,1.02,.53,.92);
    }
    @keyframes fade-in {
      from { opacity: 0; transform: translateY(12px);}
      to { opacity: 1; transform: translateY(0);}
    }
    #loader strong {
      font-size: 18px;
      color: #0162c8;
      letter-spacing: .7px;
    }
    #successPopup {
      background: #eafdde;
      border: 1.7px solid #41c62b;
      border-radius: 16px;
      padding: 25px 18px;
      box-shadow: 0 4px 22px #93ff9d32;
      margin: 20px auto;
      color: #218c28;
    }
    #successPopup button {
      margin-top: 16px;
      padding: 9px 36px;
      background: #36d150;
      color: #fff;
      border: none;
      border-radius: 11px;
      font-size: 17px;
      font-weight: bold;
      cursor: pointer;
      box-shadow: 0 2px 10px #c8ffd932;
      transition: background .14s;
    }
    #successPopup button:hover {
      background: #1bba36;
    }

/* LOGIN PAGE STYLES */
.login-card {
    max-width: 420px;
    margin: 72px auto 0 auto;
    background: rgba(255,255,255,0.96);
    border-radius: 24px;
    box-shadow: 0 8px 48px 0 rgba(12,40,110,0.18), 0 1.5px 14px 0 rgba(0,0,0,0.04);
    padding: 44px 36px 32px 36px;
    text-align: center;
    animation: fade-in .5s;
}
.login-logo {
    width: 84px; height: 84px; border-radius: 17px; margin-bottom: 12px;
    box-shadow: 0 2px 18px #0183c440;
}
.login-title {
    font-size: 29px;
    font-weight: 900;
    color: #1865b5;
    margin-bottom: 11px;
    letter-spacing: .7px;
    text-shadow: 0 1px 8px #bce3fa52;
}
.login-desc {
    font-size: 16px;
    color: #3c5774;
    margin-bottom: 29px;
}
.login-form input[type="email"], .login-form input[type="password"] {
    width: 100%;
    margin-bottom: 21px;
    padding: 13px 13px;
    font-size: 17px;
    border-radius: 10px;
    border: 1.6px solid #a9c1e6;
    background: #f9fcfffa;
    transition: border .18s, box-shadow .18s;
}
.login-form input[type="email"]:focus, .login-form input[type="password"]:focus {
    border-color: #3386e5;
    box-shadow: 0 0 0 2px #78c3fa2e;
}
.login-btn {
    width: 100%;
    background: linear-gradient(93deg,#1d6ad8 0%,#26c6fa 100%);
    color: #fff;
    font-size: 20px;
    font-weight: 700;
    border: none;
    border-radius: 13px;
    padding: 13px 0;
    margin-top: 6px;
    margin-bottom: 20px;
    cursor: pointer;
    box-shadow: 0 2px 12px #36a0fd34;
    letter-spacing: .5px;
    transition: background .15s;
}
.login-btn:hover {
    background: linear-gradient(92deg,#1760a8 0%,#1ad0ff 100%);
}
.login-error {
    color: #d00032;
    font-size: 16px;
    margin-bottom: 16px;
    background: #fff0f3;
    border-left: 4px solid #e92c2c60;
    padding: 8px 12px;
    border-radius: 7px;
    text-align: center;
    animation: fade-in .3s;
}
.login-link {
    color: #197cba;
    text-decoration: underline;
    font-weight: 600;
    margin: 0 3px;
    transition: color .16s;
}
.login-link:hover {
    color: #ff4c62;
    text-decoration: underline;
}
@media (max-width: 650px) {
    .login-card { max-width: 98vw; padding: 6vw 3vw; }
    .login-title { font-size: 23px; }
}


/* Allow inputs to grow more within each row (labels stay auto-width) */
  .form-row { flex-wrap: wrap; }
  .form-row label { flex: 0 0 auto; }

  /* Make fields visually as before (wider "feel") without touching mobile */
  .form-row input,
  .form-row select,
  .form-row textarea {
    flex: 1 1 420px; /* prefer at least ~420px per field on desktop */
    min-width: 0;    /* allow shrinking if absolutely needed */
  }
}


.form-row label {
    flex: 0 0 auto;       /* labels keep natural width */
    white-space: nowrap;  /* prevent wrapping */
  }
  .form-row input,
  .form-row select,
  .form-row textarea {
    /* Wider, but flexible: two inputs fit per row; single input stretches full width */
    flex: 1 1 clamp(320px, (100% - 220px)/2, 560px);
    min-width: 0;
    max-width: 100%;
  }
}


/* === Desktop-only: expand inputs to fill remaining space, keep layout and mobile intact === */
@media (min-width: 901px){
  .form-row { display:flex; align-items:center; gap:12px; flex-wrap: nowrap; }
  .form-row > label { flex: 0 0 auto; white-space: nowrap; }
  .form-row > input,
  .form-row > select,
  .form-row > textarea {
    flex: 1 1 0 !important;  /* split leftover space evenly between inputs in the row */
    min-width: 0;            /* allow to shrink if very tight */
    max-width: 100%;
  }
}


/* === 2026 UI upgrade === */
body {
  background:
    radial-gradient(circle at top left, rgba(52,152,219,.14), transparent 28%),
    radial-gradient(circle at top right, rgba(46,204,113,.10), transparent 24%),
    linear-gradient(135deg, #eef5ff 0%, #f7f9fc 52%, #eef8f4 100%);
  color: #16324f;
}
.container {
  max-width: min(1180px, 92vw);
  border: 1px solid rgba(255,255,255,.75);
  box-shadow: 0 24px 60px rgba(14, 44, 91, .12), 0 8px 24px rgba(14, 44, 91, .06);
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(14px);
}
.inside-container { width: min(980px, 100%); }
.form-title { margin-top: 18px; font-size: clamp(30px, 3.4vw, 42px); }
.form-desc { margin-bottom: 28px; }
.uwaga { margin-top: 18px; }
.uwaga-czerwony {
  border-left-width: 5px;
  border-radius: 16px;
  padding: 16px 18px;
}
.shipping-title {
  margin-top: 26px;
  margin-bottom: 20px;
  font-size: 28px;
}
#orderForm { display: flex; flex-direction: column; gap: 22px; }
.fo-draft-clear {
  appearance: none;
  border: 1px solid #d7e3ef;
  background: #fff;
  color: #224b75;
  border-radius: 999px;
  font-weight: 700;
  padding: 10px 14px;
  cursor: pointer;
  transition: all .18s ease;
}
.fo-draft-clear:hover { border-color: #b8cae1; box-shadow: 0 6px 16px rgba(19,63,107,.08); }
.fo-stage-card {
  background: linear-gradient(180deg, rgba(255,255,255,.92), rgba(248,251,255,.92));
  border: 1px solid #dfe9f3;
  border-radius: 24px;
  padding: 24px;
  box-shadow: 0 16px 34px rgba(13, 43, 79, .06);
}
.fo-stage-card::before {
  content: attr(data-step) ". " attr(data-step-title);
  display: inline-flex;
  margin-bottom: 18px;
  padding: 8px 12px;
  border-radius: 999px;
  background: #edf4fb;
  color: #1b4772;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.fo-stage-card[data-step-numbered="false"]::before {
  content: attr(data-step-title);
}
.form-row { gap: 14px; margin-bottom: 14px; }
.form-row label { font-size: 14px; font-weight: 800; color: #274362; }
input, select, textarea {
  min-height: 52px;
  border-radius: 15px;
  border: 1px solid #cfdceb;
  background: rgba(255,255,255,.92);
  box-shadow: inset 0 1px 2px rgba(16,42,67,.03);
}
textarea { min-height: 110px; resize: vertical; }
input:focus, select:focus, textarea:focus {
  border-color: #0f67d8;
  box-shadow: 0 0 0 4px rgba(15,103,216,.10);
  background: #fff;
}
input.is-valid-live, select.is-valid-live, textarea.is-valid-live {
  border-color: #17b26a !important;
  box-shadow: 0 0 0 4px rgba(23,178,106,.10), inset 0 1px 2px rgba(16,42,67,.02);
  background-image: linear-gradient(180deg, rgba(23,178,106,.035), rgba(23,178,106,.015));
}
input.is-invalid-live, select.is-invalid-live, textarea.is-invalid-live {
  border-color: #e35d6a !important;
  box-shadow: 0 0 0 4px rgba(227,93,106,.10);
}
.tick-row {
  padding: 12px 14px;
  border-radius: 16px;
  background: #f7fafc;
  border: 1px solid #e5edf6;
}
.nabywca-box, .odbiorca-box {
  background: linear-gradient(180deg, rgba(242,247,255,.95), rgba(250,252,255,.98));
  border: 1px solid #d7e4f2;
  border-radius: 20px;
  padding: 20px;
}
.section-header {
  margin-top: 6px;
  font-size: 24px;
  color: #173f68;
  border-bottom: 1px solid #e4edf6;
  padding-bottom: 10px;
}
.kolor-row {
  padding: 12px;
  border-radius: 16px;
  border: 1px solid #e3ecf5;
  background: #fbfdff;
}
.przyciski { gap: 16px; }
.przyciski a {
  flex: 1 1 0;
  display: flex;
  justify-content: center;
  padding: 10px;
  border-radius: 18px;
  background: rgba(248,251,255,.8);
  border: 1px solid #e3ecf5;
}
.przyciski img { height: 48px; max-width: 100%; object-fit: contain; }
.platnosci > div, .dostawa > div, .ekspres > div {
  padding: 14px 16px;
  border-radius: 18px;
  background: #fbfdff;
  border: 1px solid #e6edf6;
}
.dodatkowa-info {
  margin-top: 10px;
  margin-left: 32px;
  padding: 8px 12px;
  border-radius: 12px;
  background: rgba(255, 239, 239, .65);
}
#openInpost {
  margin-top: 12px;
  appearance: none;
  border: 0;
  border-radius: 14px;
  background: linear-gradient(135deg, #0f67d8, #36a0fd);
  color: #fff;
  padding: 12px 18px;
  font-weight: 800;
  cursor: pointer;
}
.submit-btn {
  width: min(100%, 420px);
  margin-top: 10px;
  padding: 18px 28px;
  border-radius: 18px;
  font-size: 22px;
  letter-spacing: .01em;
}
@media (max-width: 900px) {
  .container { padding: 20px 14px 26px; margin-top: 18px; border-radius: 22px; }
  .inside-container { width: 100%; }
  .fo-stage-card { padding: 18px; border-radius: 20px; }
  .shipping-title { font-size: 24px; }
}


/* === layout stability === */
html, body {
  overflow-x: clip !important;
}

body, .container, .inside-container, #orderForm {
  overflow-y: visible !important;
}



#orderForm {
  padding-top: 0;
}



.fo-draft-clear-row {
  display: flex;
  justify-content: flex-end;
  margin: 10px 0 6px;
}

#telefon { letter-spacing: .04em; }

@media (max-width: 900px) {
  .fo-draft-clear-row {
    justify-content: stretch;
    margin: 12px 0 10px;
  }
  .fo-draft-clear-row .fo-draft-clear {
    width: 100%;
    border-radius: 14px;
    padding: 12px 14px;
  }
}

.fo-hp{position:absolute !important;left:-9999px !important;top:auto !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important;}
.inline-error{display:block;margin-top:8px;color:#c62828;font-size:13px;font-weight:700;line-height:1.35;}
.hidden.inline-error,.file-error.hidden{display:none !important;}
.file-error{margin-top:8px;}
input[type="file"]{padding-top:10px;padding-bottom:10px;}
input[type="file"]:invalid{border-color:#e57373;box-shadow:0 0 0 3px rgba(229,115,115,.12);}


.fo-postal-assist-row {
  margin: -6px 0 14px;
  padding-left: 0;
}
.fo-postal-suggestions {
  min-height: 46px;
  width: min(100%, 460px);
  margin-bottom: 8px;
}
.fo-postal-status {
  min-height: 20px;
  font-size: 13px;
  font-weight: 700;
  color: #60758f;
}
.fo-postal-status.is-success { color: #147a4d; }
.fo-postal-status.is-error { color: #c62828; }
.fo-postal-status.is-info { color: #245c97; }
@media (max-width: 900px) {
  .fo-postal-assist-row {
    margin-top: -2px;
    margin-bottom: 12px;
  }
  .fo-postal-suggestions {
    width: 100%;
  }
}


/* === ZMIANA 4: opcjonalna nazwa firmy w danych do wysyłki === */
.fo-company-shipping-row {
  display: flex;
  align-items: center;
  flex-wrap: nowrap;
  width: 100%;
}
.fo-company-shipping-row > label {
  flex: 0 0 auto !important;
  min-width: 98px;
  white-space: nowrap;
}
.fo-company-shipping-row > input {
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
}
@media (max-width: 700px) {
  .fo-company-shipping-row {
    align-items: stretch;
    flex-direction: column;
    gap: 6px;
  }
  .fo-company-shipping-row > label,
  .fo-company-shipping-row > input {
    width: 100% !important;
  }
}


/* === Checkboxy wizualizacji i faktury VAT === */
.visualisation-request-row,
.vat-request-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
}

/* Nowoczesny kafelek dodatkowej wizualizacji */
.visualisation-request-row {
  width: 100% !important;
  box-sizing: border-box !important;
  gap: 14px !important;
  padding: 17px 20px !important;
  margin: 10px 0 12px !important;
  border: 1px solid #d7e6f6 !important;
  border-left: 4px solid #176ba8 !important;
  border-radius: 14px !important;
  background: linear-gradient(100deg, #f3f8fe 0%, #f8fbff 100%) !important;
  box-shadow: 0 4px 14px rgba(23, 107, 168, .06) !important;
  transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease !important;
}
.visualisation-request-row:hover {
  border-color: #bdd8ef !important;
  border-left-color: #176ba8 !important;
  background: linear-gradient(100deg, #edf6ff 0%, #f8fbff 100%) !important;
  box-shadow: 0 7px 20px rgba(23, 107, 168, .10) !important;
}
.visualisation-request-row:has(#wizualizacja:checked) {
  border-color: #9cc9ed !important;
  border-left-color: #176ba8 !important;
  background: linear-gradient(100deg, #eaf5ff 0%, #f5faff 100%) !important;
  box-shadow: 0 8px 22px rgba(23, 107, 168, .12) !important;
}

/* Customowy checkbox wizualizacji */
.visualisation-request-row input[type="checkbox"] {
  -webkit-appearance: none !important;
  appearance: none !important;
  position: relative !important;
  flex: 0 0 24px !important;
  width: 24px !important;
  min-width: 24px !important;
  height: 24px !important;
  min-height: 24px !important;
  margin: 0 !important;
  border: 2px solid #87b4dc !important;
  border-radius: 7px !important;
  background: #fff !important;
  box-shadow: 0 1px 4px rgba(28, 76, 119, .10) !important;
  cursor: pointer !important;
  transition: background .18s ease, border-color .18s ease, box-shadow .18s ease, transform .18s ease !important;
}
.visualisation-request-row input[type="checkbox"]::after {
  content: "" !important;
  position: absolute !important;
  left: 7px !important;
  top: 3px !important;
  width: 6px !important;
  height: 12px !important;
  border: solid #fff !important;
  border-width: 0 2.5px 2.5px 0 !important;
  opacity: 0 !important;
  transform: rotate(45deg) scale(.65) !important;
  transition: opacity .16s ease, transform .16s ease !important;
}
.visualisation-request-row input[type="checkbox"]:checked {
  border-color: #176ba8 !important;
  background: #176ba8 !important;
  box-shadow: 0 0 0 4px rgba(23, 107, 168, .13) !important;
}
.visualisation-request-row input[type="checkbox"]:checked::after {
  opacity: 1 !important;
  transform: rotate(45deg) scale(1) !important;
}
.visualisation-request-row input[type="checkbox"]:focus-visible {
  outline: 3px solid rgba(23, 107, 168, .24) !important;
  outline-offset: 3px !important;
}
.visualisation-request-row input[type="checkbox"]:active {
  transform: scale(.94) !important;
}

.visualisation-request-label {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  flex: 1 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  color: #193b60 !important;
  font-size: 16px !important;
  font-weight: 500 !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  cursor: pointer !important;
}
.visualisation-request-label strong {
  color: #143f6b !important;
  font-weight: 800 !important;
}
.visualisation-request-icon {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex: 0 0 30px !important;
  width: 30px !important;
  height: 30px !important;
  border-radius: 9px !important;
  background: #deeffd !important;
  color: #176ba8 !important;
}
.visualisation-request-icon svg {
  width: 18px !important;
  height: 18px !important;
  fill: currentColor !important;
}

/* Checkbox VAT pozostaje w jednej linii */
.vat-request-row input[type="checkbox"] {
  flex: 0 0 19px !important;
  width: 19px !important;
  min-width: 19px !important;
  height: 19px !important;
  min-height: 19px !important;
  margin: 0 !important;
}
.vat-request-row label {
  display: inline-flex !important;
  align-items: center !important;
  flex: 0 1 auto !important;
  width: auto !important;
  margin: 0 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
}

@media (max-width: 620px) {
  .visualisation-request-row {
    padding: 15px 14px !important;
    gap: 11px !important;
  }
  .visualisation-request-label {
    gap: 8px !important;
    font-size: 15px !important;
  }
  .visualisation-request-icon {
    flex-basis: 28px !important;
    width: 28px !important;
    height: 28px !important;
  }
}

/* === INTEGRACJA MF: NIP + zielony przycisk w jednym wierszu === */
.gus-nip-row {
  align-items: flex-start !important;
}
.gus-nip-controls {
  display: flex;
  align-items: center;
  flex: 1 1 auto;
  gap: 12px;
  min-width: 0;
}
.gus-nip-controls > input[type="text"] {
  flex: 1 1 auto !important;
  width: auto !important;
  min-width: 160px !important;
  max-width: none !important;
}
.gus-lookup-btn {
  flex: 0 0 auto;
  min-height: 46px;
  padding: 10px 18px;
  border: 1px solid #13884f;
  border-radius: 12px;
  background: linear-gradient(180deg, #27b86c 0%, #159653 100%);
  color: #fff;
  font: inherit;
  font-weight: 800;
  line-height: 1.1;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 4px 12px rgba(21, 150, 83, .20);
  transition: transform .15s ease, box-shadow .15s ease, filter .15s ease;
}
.gus-lookup-btn:hover:not(:disabled) {
  filter: brightness(1.04);
  transform: translateY(-1px);
  box-shadow: 0 6px 16px rgba(21, 150, 83, .27);
}
.gus-lookup-btn:focus-visible {
  outline: 3px solid rgba(39, 184, 108, .30);
  outline-offset: 2px;
}
.gus-lookup-btn:disabled {
  cursor: wait;
  opacity: .72;
  transform: none;
}
.gus-nip-row .inline-error,
.gus-lookup-status {
  flex: 1 0 100%;
  margin-left: 0;
}
.gus-lookup-status {
  min-height: 19px;
  padding-left: 0;
  font-size: 13px;
  font-weight: 800;
  line-height: 1.35;
}
.gus-lookup-status.is-error { color: #d11b1b; }
.gus-lookup-status.is-success { color: #147a4d; }
.gus-lookup-status.is-loading { color: #245c97; }

@media (max-width: 700px) {
  .gus-nip-controls {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
  }
  .gus-nip-controls > input[type="text"],
  .gus-lookup-btn {
    width: 100% !important;
  }
}

.gus-nip-row { flex-wrap: wrap !important; }
.gus-lookup-status:empty { display: none; }


/* === ZMIANA 9: lokalne podpowiedzi miejscowości po kodzie pocztowym === */
.fo-postal-source {
  margin-top: 2px;
  color: #7b8ea5;
  font-size: 11px;
  line-height: 1.35;
}

/* === ZMIANA 14: checkbox odbiorcy na fakturze w jednej linii === */
.recipient-request-row {
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
}
.recipient-request-row .recipient-request-label {
  display: inline-flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: flex-start !important;
  flex-wrap: nowrap !important;
  gap: 10px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  color: #243b54 !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
  white-space: nowrap !important;
  cursor: pointer;
}
.recipient-request-row .recipient-request-label input[type="checkbox"] {
  flex: 0 0 19px !important;
  width: 19px !important;
  min-width: 19px !important;
  height: 19px !important;
  min-height: 19px !important;
  margin: 0 !important;
}
.recipient-request-row .recipient-request-label span {
  display: inline-block !important;
  color: #243b54 !important;
  white-space: nowrap !important;
}


/* ZMIANA 20: uporządkowane kafelki dostawy i płatności z widocznymi cenami */
.platnosci > .choice-card,
.dostawa > .choice-card {
  width: 100%;
  box-sizing: border-box;
}
.platnosci > .choice-card[hidden],
.dostawa > .choice-card[hidden] {
  display: none !important;
}
.platnosci .choice-label,
.dostawa .choice-label {
  display: flex;
  align-items: center;
  width: 100%;
  min-width: 0;
  box-sizing: border-box;
  gap: 12px;
  cursor: pointer;
}
.choice-name {
  min-width: 0;
  color: #26384d;
  line-height: 1.35;
}
.choice-price {
  margin-left: auto;
  flex: 0 0 auto;
  padding: 7px 11px;
  border-radius: 999px;
  background: #edf6ff;
  border: 1px solid #d7e9fb;
  color: #155a9f;
  font-size: 13px;
  line-height: 1.15;
  font-weight: 800;
  white-space: nowrap;
}
.choice-price-free {
  background: #ecfbf2;
  border-color: #ccefd9;
  color: #17753f;
}
.platnosci .choice-card:has(input[type="radio"]:checked),
.dostawa .choice-card:has(input[type="radio"]:checked) {
  border-color: #8fc4f4;
  background: #f7fbff;
  box-shadow: 0 0 0 3px rgba(31, 120, 207, .08);
}

@media (max-width: 700px) {
  .platnosci .choice-label,
  .dostawa .choice-label {
    align-items: flex-start;
    flex-wrap: wrap;
  }
  .choice-name {
    flex: 1 1 calc(100% - 48px);
  }
  .choice-price {
    margin-left: 44px;
    margin-top: 2px;
  }
  .platnosci .dodatkowa-info,
  .dostawa .dodatkowa-info {
    margin-left: 0;
  }
}

/* === ZMIANA 22: łagodny komunikat informacyjny nad danymi klienta === */
.fo-info-tip {
  color: #334155;
  background: linear-gradient(90deg, #f4f8fd 0%, #f8fbff 100%);
  border: 1px solid #dbe8f5;
  border-left: 5px solid #1f73c9;
  font-weight: 500;
  line-height: 1.6;
}
.fo-info-tip strong { color: #184e95; font-weight: 800; }


/* Blokada wielokrotnego wysyłania formularza */
.submit-btn:disabled,
.submit-btn[aria-disabled="true"] {
    cursor: not-allowed;
    opacity: .72;
    filter: saturate(.75);
    transform: none !important;
    pointer-events: none;
}


/* === ZMIANA 28: obowiązkowe potwierdzenie poprawności danych w modalu === */
.data-confirmation-box {
  margin: 24px 0 18px;
  padding: 18px 20px;
  background: #fff0f0;
  border: 1px solid #ef9a9a;
  border-left: 7px solid #d32f2f;
  border-radius: 15px;
  box-shadow: 0 6px 18px rgba(183, 28, 28, .08);
  scroll-margin-top: 120px;
  transition: border-color .18s ease, box-shadow .18s ease, background .18s ease;
}
.data-confirmation-box.has-error {
  background: #ffe8e8;
  border-color: #d32f2f;
  box-shadow: 0 0 0 4px rgba(211, 47, 47, .12), 0 8px 22px rgba(183, 28, 28, .12);
}
.data-confirmation-label {
  display: flex;
  align-items: flex-start;
  gap: 13px;
  width: 100%;
  margin: 0;
  color: #252525;
  font-size: 16px;
  font-weight: 650;
  line-height: 1.55;
  cursor: pointer;
}
.data-confirmation-label span {
  display: block;
  flex: 1 1 auto;
}
.data-confirmation-box input[type="checkbox"] {
  flex: 0 0 25px;
  width: 25px !important;
  min-width: 25px !important;
  height: 25px !important;
  min-height: 25px !important;
  margin: 1px 0 0 !important;
  padding: 0 !important;
  accent-color: #c62828;
  cursor: pointer;
}
.data-confirmation-box input[type="checkbox"]:focus-visible {
  outline: 3px solid rgba(198, 40, 40, .25);
  outline-offset: 3px;
}
.data-confirmation-error {
  margin: 10px 0 0 38px;
  color: #b71c1c;
  font-size: 14px;
  font-weight: 800;
  line-height: 1.4;
}
.data-confirmation-error.hidden {
  display: none !important;
}
@media (max-width: 700px) {
  .data-confirmation-box {
    padding: 16px;
    border-left-width: 6px;
  }
  .data-confirmation-label {
    gap: 11px;
    font-size: 15px;
  }
  .data-confirmation-error {
    margin-left: 36px;
  }
}


/* Dopasowanie ramki potwierdzenia do okna „Potwierdzenie wysyłki”. */
.scm-body .data-confirmation-box {
  margin: 14px 0 10px;
  padding: 15px 16px;
  border-radius: 12px;
  box-shadow: 0 4px 14px rgba(183, 28, 28, .08);
}
.scm-body .data-confirmation-label {
  font-size: 14px;
  line-height: 1.5;
}
.scm-body .data-confirmation-error {
  margin-top: 9px;
  font-size: 13px;
}
@media (max-width: 700px) {
  .scm-body .data-confirmation-box {
    padding: 13px 14px;
  }
  .scm-body .data-confirmation-label {
    font-size: 13.5px;
  }
}


/* Uwagi do zamówienia — czytelny, szary tekst pomocniczy */
textarea[name="komentarz"]::placeholder {
  color: #7d8795;
  opacity: 1;
}
