/* ============================================================
   KALKULATOR WYCEN — RenoDesign
   ============================================================ */
@import url('https://fonts.googleapis.com/css2?family=Comfortaa:wght@300;400;500;600;700&family=DM+Sans:ital,wght@0,400;0,500;0,700;1,400&family=Libre+Franklin:wght@300;400;500;600;700&display=swap');

.rnd-calc {
  --calc-green: #7CB342;
  --calc-green-dark: #689F38;
  --calc-green-light: #e8f5e9;
  --calc-green-bg: rgba(124,179,66,0.08);
  --calc-gray-bg: #f5f5f5;
  --calc-gray-border: #e0e0e0;
  --calc-gray-text: #757575;
  --calc-dark: #333333;
  --calc-body: #555555;
  --calc-white: #ffffff;
  --calc-card-shadow: 0 2px 12px rgba(0,0,0,0.07);
  --calc-font-heading: 'DM Sans', 'Inter', sans-serif;
  --calc-font-body: 'Comfortaa', 'Inter', sans-serif;
  --calc-radius: 12px;
  --calc-gold: #C09D6C;
  --calc-gold-border: rgba(192,157,108,0.5);
  --calc-blue-light: rgba(130,177,210,0.35);
  --calc-gray-light-border: rgba(180,180,180,0.4);
  max-width: 960px;
  margin: 0 auto;
  font-family: var(--calc-font-body);
  color: var(--calc-dark);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
}

.rnd-calc *, .rnd-calc *::before, .rnd-calc *::after { box-sizing: border-box; }

/* --- CARD WRAPPER --- */
/* v25: use auto height so expanded Step 7 content doesn't overflow */
.rnd-calc__card {
  background: var(--calc-white);
  border-radius: 16px;
  box-shadow: var(--calc-card-shadow);
  padding: 40px 48px 36px;
  min-height: 480px;
  height: auto;
  overflow: visible;
  position: relative;
}

/* --- LOGO --- */
.rnd-calc__logo {
  display: block;
  height: 36px;
  width: auto;
  margin-bottom: 8px;
  filter: invert(1);
}

/* --- STEPPER --- */
.rnd-calc__stepper {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  margin: 0 0 28px;
  padding: 0;
  list-style: none;
}

.rnd-calc__step {
  display: flex;
  align-items: center;
}

.rnd-calc__step-circle {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--calc-font-heading);
  font-size: 14px;
  font-weight: 700;
  border: 2px solid var(--calc-gray-border);
  color: var(--calc-gray-text);
  background: var(--calc-white);
  transition: all 0.3s ease;
  flex-shrink: 0;
}

.rnd-calc__step--active .rnd-calc__step-circle {
  background: var(--calc-green);
  border-color: var(--calc-green);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(124,179,66,0.2);
}

.rnd-calc__step--done .rnd-calc__step-circle {
  background: var(--calc-green);
  border-color: var(--calc-green);
  color: #fff;
}

.rnd-calc__step-line {
  width: 40px;
  height: 2px;
  background: var(--calc-gray-border);
  transition: background 0.3s ease;
}

.rnd-calc__step--done + .rnd-calc__step .rnd-calc__step-line,
.rnd-calc__step--done .rnd-calc__step-line {
  background: var(--calc-green);
}

/* hack: line is BEFORE the circle in each step (except first) */
.rnd-calc__step:first-child .rnd-calc__step-line { display: none; }

/* --- SCREEN CONTAINER --- */
.rnd-calc__screen { display: none; }
.rnd-calc__screen--active { display: block; animation: rndCalcFadeIn 0.3s ease; }

@keyframes rndCalcFadeIn {
  from { opacity: 0; transform: translateY(8px); }
  to { opacity: 1; transform: translateY(0); }
}

/* --- WELCOME HEADING --- */
.rnd-calc__welcome-heading {
  font-family: var(--calc-font-heading);
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 4px;
  color: var(--calc-dark);
}

/* --- TYPOGRAPHY --- */
.rnd-calc__title {
  font-family: var(--calc-font-heading);
  font-size: 24px;
  font-weight: 700;
  text-align: center;
  margin: 0 0 8px;
  color: var(--calc-dark);
}

.rnd-calc__subtitle {
  font-size: 14px;
  text-align: center;
  color: var(--calc-gray-text);
  margin: 0 0 28px;
  line-height: 1.5;
}

/* --- BUTTONS --- */
.rnd-calc__nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 32px;
  padding-top: 16px;
}

.rnd-calc__btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 10px 24px;
  border-radius: 8px;
  font-family: var(--calc-font-heading);
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  border: 2px solid transparent;
  transition: all 0.2s ease;
  text-decoration: none;
}

.rnd-calc__btn--back {
  background: transparent;
  border-color: var(--calc-gray-border);
  color: var(--calc-gray-text);
}

.rnd-calc__btn--back:hover { border-color: #bbb; color: var(--calc-dark); }

.rnd-calc__btn--next {
  background: var(--calc-green);
  color: #fff;
  border-color: var(--calc-green);
  margin-left: auto;
}

.rnd-calc__btn--next:hover { background: var(--calc-green-dark); border-color: var(--calc-green-dark); }

.rnd-calc__btn--next:disabled,
.rnd-calc__btn--next[disabled] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.rnd-calc__btn--cta {
  background: var(--calc-green);
  color: #fff;
  border-color: var(--calc-green);
  padding: 12px 28px;
  font-size: 15px;
}
.rnd-calc__btn--cta:hover { background: var(--calc-green-dark); border-color: var(--calc-green-dark); }

.rnd-calc__btn--outline {
  background: transparent;
  border-color: var(--calc-gray-border);
  color: var(--calc-dark);
  padding: 12px 28px;
  font-size: 15px;
}
.rnd-calc__btn--outline:hover { border-color: var(--calc-green); color: var(--calc-green); }

.rnd-calc__btn svg { width: 16px; height: 16px; }

/* --- CHOICE CARDS --- */
.rnd-calc__choices {
  display: flex;
  gap: 16px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 24px 0;
  align-items: stretch;
}

.rnd-calc__choice {
  flex: 1;
  min-width: 180px;
  max-width: 260px;
  padding: 24px 20px; /* v25: wider horizontal padding for rectangular shape */
  border: 2px solid var(--calc-gray-border);
  border-radius: var(--calc-radius);
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--calc-white);
}
/* v25: Step 2 cards — rectangular shape matching Step 3 cards */
[data-screen="2"] .rnd-calc__choices { max-width: 620px; margin-left: auto; margin-right: auto; }
[data-screen="2"] .rnd-calc__choice { max-width: 280px; min-width: 220px; padding: 22px 24px; min-height: auto; aspect-ratio: auto; }

.rnd-calc__choice:hover { border-color: #bbb; box-shadow: 0 2px 8px rgba(0,0,0,0.06); }

.rnd-calc__choice--selected {
  border-color: var(--calc-green) !important;
  background: var(--calc-green-bg);
}

.rnd-calc__choice-title {
  font-family: var(--calc-font-heading);
  font-weight: 700;
  font-size: 15px;
  margin-bottom: 8px;
  color: var(--calc-dark);
}

.rnd-calc__choice-desc {
  font-size: 13px;
  color: var(--calc-gray-text);
  line-height: 1.45;
}

/* --- CHOICE WRAPPER (badge nad kartą) --- */
.rnd-calc__choice-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 0;
}
.rnd-calc__choice-wrapper .rnd-calc__choice {
  width: 100%;
  flex: 1; /* equal height cards */
  display: flex;
  flex-direction: column;
}

/* --- BADGE "Najczesciej wybierane" --- */
.rnd-calc__badge {
  display: inline-block;
  background: var(--calc-green-light);
  color: var(--calc-green-dark);
  font-size: 11px;
  font-weight: 600;
  padding: 2px 10px;
  border-radius: 10px;
  margin-bottom: 8px;
}

/* --- PACKAGE CARDS (ekran 4) --- */
.rnd-calc__packages {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
  margin: 20px 0;
  align-items: stretch;
}

.rnd-calc__pkg-wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  min-width: 180px;
  max-width: 240px;
}
.rnd-calc__pkg-wrapper .rnd-calc__pkg {
  max-width: none;
  min-width: 0;
  width: 100%;
  flex: 1; /* equal height cards */
  display: flex;
  flex-direction: column;
  align-items: center;
}

/* Comfort card — zielony akcent */
.rnd-calc__pkg--comfort {
  border-color: var(--calc-green) !important;
}
.rnd-calc__pkg--comfort .rnd-calc__pkg-name {
  color: var(--calc-green-dark);
}

/* v25: Step 4 pkg cards — more rectangular, not square */
.rnd-calc__pkg {
  flex: 1;
  min-width: 180px;
  max-width: 240px;
  padding: 24px 22px 20px;
  border: 2px solid var(--calc-gray-border);
  border-radius: var(--calc-radius);
  text-align: center;
  cursor: pointer;
  transition: all 0.2s ease;
  background: var(--calc-white);
}
.rnd-calc__pkg-desc {
  margin-top: auto; /* push description to bottom for visual symmetry */
}
.rnd-calc__pkg-subtitle {
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.3px;
  color: var(--calc-dark);
  margin-bottom: 4px;
}
.rnd-calc__pkg[data-pkg-level="comfort"] .rnd-calc__pkg-subtitle { color: var(--calc-green-dark); }
.rnd-calc__pkg[data-pkg-level="standard"] .rnd-calc__pkg-subtitle { color: #333; }
.rnd-calc__pkg[data-pkg-level="premium"] .rnd-calc__pkg-subtitle { color: #666; }
.rnd-calc__pkg[data-pkg-level="lux"] .rnd-calc__pkg-subtitle { color: #333; }
.rnd-calc__pkg:hover { border-color: #bbb; }

.rnd-calc__pkg--selected { border-color: var(--calc-green) !important; background: var(--calc-green-bg); }

/* Kolorowe obramowania pakietów wg Canvy */
.rnd-calc__pkg[data-pkg-level="standard"] { border-color: var(--calc-gold-border); }
.rnd-calc__pkg[data-pkg-level="comfort"] { border-color: var(--calc-green); }
.rnd-calc__pkg[data-pkg-level="premium"] { border-color: var(--calc-gray-light-border); }
.rnd-calc__pkg[data-pkg-level="lux"] { border-color: var(--calc-blue-light); }

.rnd-calc__pkg-name {
  font-family: var(--calc-font-heading);
  font-weight: 700;
  font-size: 14px;
  margin-bottom: 6px;
}

.rnd-calc__pkg-price {
  font-family: var(--calc-font-heading);
  font-size: 28px;
  font-weight: 700;
  color: var(--calc-dark);
  line-height: 1.1;
}

.rnd-calc__pkg-unit {
  font-size: 13px;
  color: var(--calc-gray-text);
  margin-bottom: 10px;
}

.rnd-calc__pkg-desc {
  font-size: 12px;
  color: var(--calc-gray-text);
  line-height: 1.4;
}

/* --- FORM INPUTS --- */
/* v25: Step 5 form rows — more vertical spacing for readability */
.rnd-calc__form-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
}

.rnd-calc__form-label {
  flex: 0 0 180px;
  text-align: right;
  font-size: 14px;
  color: var(--calc-dark);
  font-weight: 500;
  line-height: 1.4;
}

.rnd-calc__form-input {
  flex: 0 0 160px;
  padding: 10px 14px;
  border: none;
  background: var(--calc-gray-bg);
  border-radius: 8px;
  font-family: var(--calc-font-body);
  font-size: 14px;
  color: var(--calc-dark);
  text-align: center;
  outline: none;
  transition: box-shadow 0.2s;
}

.rnd-calc__form-input:focus {
  box-shadow: 0 0 0 2px rgba(124,179,66,0.3);
}

.rnd-calc__form-input::placeholder { color: #bbb; }

.rnd-calc__form-suffix {
  font-size: 13px;
  color: var(--calc-gray-text);
}

/* --- TAK/NIE toggle --- */
.rnd-calc__toggle-group {
  display: inline-flex;
  gap: 0;
  border-radius: 6px;
  overflow: hidden;
  border: 1px solid var(--calc-gray-border);
}

.rnd-calc__toggle-btn {
  padding: 8px 18px;
  font-size: 13px;
  font-weight: 600;
  font-family: var(--calc-font-heading);
  cursor: pointer;
  border: none;
  background: var(--calc-white);
  color: var(--calc-gray-text);
  transition: all 0.2s;
}

.rnd-calc__toggle-btn--active {
  background: var(--calc-green-light);
  color: var(--calc-green-dark);
}

/* --- TWO COLUMN LAYOUT (ekran 5) --- */
/* v25: Step 5 — increased spacing for readability */
.rnd-calc__two-col {
  display: flex;
  gap: 40px;
  align-items: flex-start;
  margin: 28px 0;
}

.rnd-calc__two-col-left { flex: 1; }

.rnd-calc__two-col-right {
  flex: 0 0 320px;
  background: var(--calc-gray-bg);
  border-radius: var(--calc-radius);
  padding: 28px 24px;
  border-left: 3px solid var(--calc-green);
}

.rnd-calc__preview-title {
  font-family: var(--calc-font-heading);
  font-weight: 700;
  font-size: 15px;
  margin: 0 0 16px;
  padding-bottom: 12px;
  text-align: center;
  border-bottom: 1px solid var(--calc-gray-border);
}

/* v31: Step 5 preview rows — label-value grid for readability */
.rnd-calc__preview-row {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 12px;
  margin-bottom: 10px;
  font-size: 13px;
  line-height: 1.5;
  align-items: baseline;
}

.rnd-calc__preview-label { color: var(--calc-gray-text); white-space: nowrap; }
.rnd-calc__preview-value { color: var(--calc-green-dark); font-weight: 600; text-align: right; word-break: break-word; }

/* v25: Step 5 preview total — more breathing room */
.rnd-calc__preview-total {
  margin-top: 20px;
  padding-top: 18px;
  border-top: 1px solid var(--calc-gray-border);
  font-size: 13px;
  line-height: 1.6;
}

.rnd-calc__preview-amount {
  font-family: var(--calc-font-heading);
  font-size: 24px;
  font-weight: 700;
  color: var(--calc-green);
  margin-top: 4px;
  line-height: 1.2;
}
.rnd-calc__preview-vat {
  display: block;
  font-size: 11px;
  font-weight: 400;
  color: var(--calc-gray-text);
  margin-top: 2px;
}

/* --- EXPANDABLE SCOPE DESC --- */
.rnd-calc__scope-toggle {
  color: var(--calc-green);
  font-size: 13px;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: auto; /* push to bottom of flex card */
  padding-top: 8px;
  font-weight: 500;
  border: none;
  background: none;
  font-family: var(--calc-font-body);
}
.rnd-calc__scope-toggle:hover { text-decoration: underline; }

.rnd-calc__scope-detail {
  display: none;
  background: var(--calc-gray-bg);
  border-radius: 8px;
  padding: 16px 20px;
  margin-top: 16px;
  font-size: 13px;
  line-height: 1.7;
  color: var(--calc-body);
}
.rnd-calc__scope-detail--open { display: block; }

.rnd-calc__scope-detail strong {
  display: block;
  font-family: var(--calc-font-heading);
  margin-bottom: 4px;
  color: var(--calc-dark);
}

/* --- CHANGES FORM (ekran 6) --- */
/* v25: Step 7 — overflow: visible so expanded items don't break layout */
.rnd-calc__changes-group {
  max-width: 520px;
  margin: 20px auto;
  overflow: visible;
}

.rnd-calc__changes-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
}

.rnd-calc__changes-label {
  font-size: 14px;
  color: var(--calc-dark);
  flex: 1;
}

.rnd-calc__changes-input {
  width: 110px;
  padding: 8px 12px;
  border: none;
  background: var(--calc-gray-bg);
  border-radius: 8px;
  font-family: var(--calc-font-body);
  font-size: 14px;
  text-align: right;
  outline: none;
  color: var(--calc-dark);
}
.rnd-calc__changes-input:focus { box-shadow: 0 0 0 2px rgba(124,179,66,0.3); }

.rnd-calc__changes-unit {
  width: 40px;
  text-align: left;
  padding-left: 6px;
  font-size: 13px;
  color: var(--calc-gray-text);
}

/* --- ADDITIONAL WORKS (ekran 7) --- */
/* v25: Step 7 — fix overflow when options are expanded */
.rnd-calc__addwork-row {
  display: flex;
  align-items: center;
  gap: 14px;
  padding: 14px 0;
  border-bottom: 1px solid rgba(0,0,0,0.05);
  flex-wrap: wrap;
  overflow: visible;
}

.rnd-calc__addwork-label {
  flex: 0 0 200px;
  font-size: 14px;
  color: var(--calc-dark);
}

.rnd-calc__addwork-extra {
  display: none;
  width: 100%;
  padding: 10px 0 6px 0;
  font-size: 13px;
  color: var(--calc-body);
  line-height: 1.5;
}
.rnd-calc__addwork-extra--visible { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }

.rnd-calc__addwork-hint {
  font-size: 12px;
  color: var(--calc-gray-text);
  padding-left: 0;
  margin-top: 4px;
  line-height: 1.4;
  width: 100%;
}

/* --- SUMMARY (ekran 8) --- */
/* v25: Step 8 — more whitespace for readability */
.rnd-calc__summary-section {
  margin-bottom: 36px;
}

.rnd-calc__summary-heading {
  font-family: var(--calc-font-heading);
  font-size: 17px;
  font-weight: 700;
  color: var(--calc-dark);
  margin: 0 0 20px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--calc-gray-border);
  text-align: center;
}

.rnd-calc__summary-info {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 10px 16px;
  font-size: 14px;
  margin-bottom: 18px;
  align-items: baseline;
}

.rnd-calc__summary-info dt { color: var(--calc-gray-text); white-space: nowrap; }
.rnd-calc__summary-info dd { margin: 0; color: var(--calc-green-dark); font-weight: 600; text-align: right; }

/* v25: Step 8 scope list — more spacing */
.rnd-calc__summary-scope-list {
  list-style: none !important;
  padding: 0 !important;
  margin: 0;
  font-size: 14px;
  line-height: 2.2;
}
.rnd-calc__summary-scope-list li {
  list-style: none !important;
  display: flex;
  align-items: baseline;
  gap: 6px;
}
.rnd-calc__summary-scope-list li::before {
  content: '–';
  color: var(--calc-green);
  flex-shrink: 0;
}
.rnd-calc__summary-scope-list li::marker {
  content: none !important;
}

/* Cost table */
/* v25: Step 8 cost table — more spacing */
.rnd-calc__cost-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
  margin-top: 14px;
}

.rnd-calc__cost-table th {
  text-align: left;
  padding: 8px 10px;
  font-family: var(--calc-font-heading);
  font-weight: 600;
  color: var(--calc-gray-text);
  border-bottom: 1px solid var(--calc-gray-border);
  font-size: 12px;
}
.rnd-calc__cost-table th:last-child { text-align: right; }

/* v25: Step 8 cost table cells — more padding */
.rnd-calc__cost-table td {
  padding: 12px 10px;
  border-bottom: 1px solid rgba(0,0,0,0.06);
  color: var(--calc-body);
  font-size: 13px;
  line-height: 1.5;
}
.rnd-calc__cost-table td:last-child { text-align: right; font-weight: 600; color: var(--calc-dark); }

.rnd-calc__cost-table .rnd-calc__cost-section-header td {
  font-family: var(--calc-font-heading);
  font-weight: 700;
  color: var(--calc-dark);
  padding-top: 16px;
  font-size: 13px;
  border-bottom: 1px solid var(--calc-gray-border);
}

/* Financial block */
/* v25: Step 8 financial block — more spacious */
.rnd-calc__financial {
  background: var(--calc-white);
  border-radius: var(--calc-radius);
  padding: 40px 32px;
  text-align: center;
  margin: 40px 0;
  border: 1px solid var(--calc-gray-border);
  box-shadow: 0 2px 16px rgba(0,0,0,0.06);
}

.rnd-calc__financial-label {
  font-size: 14px;
  color: var(--calc-gray-text);
  margin-bottom: 8px;
}

.rnd-calc__financial-amount {
  font-family: var(--calc-font-heading);
  font-size: 36px;
  font-weight: 700;
  color: var(--calc-green);
  margin-bottom: 6px;
}

.rnd-calc__financial-vat {
  font-size: 13px;
  color: var(--calc-gray-text);
}

.rnd-calc__financial-perm2 {
  font-size: 14px;
  color: var(--calc-body);
  margin-top: 10px;
}

/* Guarantee block */
/* v25: Step 8 guarantee — more padding */
.rnd-calc__guarantee {
  font-size: 13px;
  color: var(--calc-body);
  text-align: center;
  padding: 24px 28px;
  background: var(--calc-green-bg);
  border-radius: 8px;
  margin: 20px 0;
  line-height: 1.7;
}

/* CTA section */
.rnd-calc__cta-section {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  margin: 24px 0 8px;
}

/* --- CONTACT FORM (ekran 8-contact) --- */
.rnd-calc__contact-form {
  max-width: 440px;
  margin: 24px auto 0;
}

.rnd-calc__contact-row {
  display: flex;
  align-items: center;
  gap: 16px;
  margin-bottom: 14px;
}

.rnd-calc__contact-label {
  flex: 0 0 140px;
  text-align: right;
  font-size: 14px;
  color: var(--calc-dark);
}

.rnd-calc__contact-input {
  flex: 1;
  padding: 10px 14px;
  border: none;
  background: var(--calc-gray-bg);
  border-radius: 8px;
  font-family: var(--calc-font-body);
  font-size: 14px;
  color: var(--calc-dark);
  outline: none;
}
.rnd-calc__contact-input:focus { box-shadow: 0 0 0 2px rgba(124,179,66,0.3); }

.rnd-calc__contact-note {
  text-align: center;
  font-size: 13px;
  color: var(--calc-green-dark);
  margin-top: 20px;
  line-height: 1.6;
}

/* --- THANK YOU --- */
.rnd-calc__thankyou-checks {
  list-style: none !important;
  padding: 0 !important;
  margin: 20px 0;
}
.rnd-calc__thankyou-checks li {
  padding: 6px 0;
  font-size: 14px;
  list-style: none !important;
  display: flex;
  align-items: center;
  gap: 10px;
}
.rnd-calc__thankyou-checks li::before {
  content: '✔';
  color: var(--calc-green);
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
}
.rnd-calc__thankyou-checks li::marker {
  content: none !important;
}

.rnd-calc__thankyou-info {
  text-align: center;
  font-size: 14px;
  color: var(--calc-body);
  margin: 24px 0;
  line-height: 1.7;
}

.rnd-calc__thankyou-btns {
  display: flex;
  gap: 12px;
  justify-content: center;
  margin-top: 28px;
}

/* --- WELCOME SCREEN (ekran 1) checklist --- */
.rnd-calc__welcome-checklist {
  list-style: none !important;
  padding: 0 !important;
  margin: 24px 0;
}
.rnd-calc__welcome-checklist li {
  padding: 5px 0;
  font-size: 14px;
  list-style: none !important;
  display: flex;
  align-items: center;
  gap: 8px;
}
.rnd-calc__welcome-checklist li::before {
  content: '✔';
  color: var(--calc-green);
  font-weight: 700;
  font-size: 16px;
  flex-shrink: 0;
}
.rnd-calc__welcome-checklist li::marker {
  content: none !important;
}

.rnd-calc__welcome-layout {
  display: flex;
  gap: 32px;
  align-items: flex-start;
}

.rnd-calc__welcome-left { flex: 1; }

.rnd-calc__welcome-right {
  flex: 0 0 280px;
  background: var(--calc-white);
  border: 1px solid var(--calc-gray-border);
  border-radius: var(--calc-radius);
  padding: 20px;
  box-shadow: 0 1px 6px rgba(0,0,0,0.06);
}

.rnd-calc__welcome-example-title {
  font-family: var(--calc-font-heading);
  font-size: 13px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 12px;
  line-height: 1.4;
}

.rnd-calc__welcome-example-row {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  font-size: 12px;
  padding: 4px 0;
  line-height: 1.3;
}
.rnd-calc__welcome-example-row span:first-child {
  flex-shrink: 0;
  color: var(--calc-gray-text);
}
.rnd-calc__welcome-example-row span:last-child {
  text-align: right;
}

.rnd-calc__welcome-example-total {
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid var(--calc-gray-border);
  font-family: var(--calc-font-heading);
  font-weight: 700;
  font-size: 14px;
}

.rnd-calc__welcome-example-total span {
  color: var(--calc-green);
}

.rnd-calc__welcome-val-green {
  color: var(--calc-green) !important;
}

.rnd-calc__welcome-example-total small {
  font-size: 12px;
  font-weight: 400;
  color: var(--calc-gray-text);
}

.rnd-calc__disclaimer {
  text-align: center;
  font-size: 12px;
  color: #aaa;
  margin-top: 16px;
}

/* --- SCREEN 3: TABLE-LIKE GRID ALIGNMENT (v31) --- */
[data-screen="3"] .rnd-calc__choices {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  align-items: stretch;
}
[data-screen="3"] .rnd-calc__choice-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-top: 28px; /* space for badge */
}
[data-screen="3"] .rnd-calc__choice-wrapper .rnd-calc__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
[data-screen="3"] .rnd-calc__choice-wrapper .rnd-calc__choice {
  display: flex;
  flex-direction: column;
  flex: 1;
}
[data-screen="3"] .rnd-calc__choice-title {
  min-height: 52px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  line-height: 1.3;
}
[data-screen="3"] .rnd-calc__choice .rnd-calc__choice-desc,
[data-screen="3"] .rnd-calc__choice > ul {
  flex: 1;
}
[data-screen="3"] .rnd-calc__choice .rnd-calc__scope-toggle {
  margin-top: auto;
  padding-top: 12px;
}

/* --- SCREEN 4: PACKAGE CARDS ALIGNMENT (v31) --- */
[data-screen="4"] .rnd-calc__packages {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  align-items: stretch;
  justify-content: center;
}
/* v29: Centrowanie 3 kart gdy LUX niedostępny (scope project/execution) */
[data-screen="4"] .rnd-calc__packages.rnd-calc__packages--3cols {
  grid-template-columns: repeat(3, minmax(0, 200px));
  justify-content: center;
}
[data-screen="4"] .rnd-calc__pkg-wrapper {
  display: flex;
  flex-direction: column;
  position: relative;
  padding-top: 28px; /* space for badge */
}
[data-screen="4"] .rnd-calc__pkg-wrapper .rnd-calc__badge {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap;
}
[data-screen="4"] .rnd-calc__pkg-wrapper .rnd-calc__pkg {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
}
[data-screen="4"] .rnd-calc__pkg-name {
  min-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
}
[data-screen="4"] .rnd-calc__pkg-subtitle {
  min-height: 16px;
  text-align: center;
}
[data-screen="4"] .rnd-calc__pkg-price {
  display: flex;
  align-items: center;
  justify-content: center;
}
[data-screen="4"] .rnd-calc__pkg-desc {
  margin-top: auto;
  min-height: 36px;
  display: flex;
  align-items: flex-start;
  text-align: center;
}

/* --- SECONDARY MARKET INFO --- */
.rnd-calc__info-box {
  background: var(--calc-gray-bg);
  border-radius: var(--calc-radius);
  padding: 18px 24px;
  margin: 16px 0;
  font-size: 13px;
  line-height: 1.7;
}

.rnd-calc__info-box strong {
  display: block;
  margin-bottom: 6px;
  font-family: var(--calc-font-heading);
  color: var(--calc-dark);
}

.rnd-calc__info-box ul {
  margin: 4px 0;
  padding-left: 16px;
}

/* --- ERROR MSG --- */
.rnd-calc__error {
  color: #e53935;
  font-size: 12px;
  margin-top: 4px;
}

/* --- LOADING --- */
.rnd-calc__loading {
  display: none;
  text-align: center;
  padding: 20px;
}
.rnd-calc__loading--active { display: block; }

.rnd-calc__spinner {
  width: 32px;
  height: 32px;
  border: 3px solid var(--calc-gray-border);
  border-top-color: var(--calc-green);
  border-radius: 50%;
  animation: rndCalcSpin 0.8s linear infinite;
  margin: 0 auto 10px;
}

@keyframes rndCalcSpin {
  to { transform: rotate(360deg); }
}

/* --- SUMMARY LAYOUT --- */
/* v25: Step 8 summary layout — more gap */
.rnd-calc__summary-layout {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  margin-top: 16px;
}
.rnd-calc__summary-left {
  flex: 1 1 240px;
  min-width: 240px;
}
.rnd-calc__summary-right {
  flex: 1.6 1 420px;
  min-width: 0;
}

/* v28: Base cost & additional cost displays */
.rnd-calc__summary-base-cost,
.rnd-calc__summary-add-cost {
  margin-top: 16px;
  padding-top: 12px;
  border-top: 1px solid var(--calc-gray-border);
  font-family: var(--calc-font-body);
  font-size: 13px;
  color: var(--calc-dark);
}
.rnd-calc__summary-base-cost strong,
.rnd-calc__summary-add-cost strong {
  font-size: 16px;
  font-weight: 700;
  color: var(--calc-green-dark);
}
.rnd-calc__summary-base-cost small,
.rnd-calc__summary-add-cost small {
  font-size: 11px;
  color: var(--calc-gray-text);
}

/* --- RESPONSIVE: TABLET (980px) --- */
@media (max-width: 980px) {
  .rnd-calc__card { padding: 32px 28px 28px; }
  .rnd-calc__step-line { width: 24px; }
  /* welcome + two-col — stack columns on tablet */
  .rnd-calc__welcome-layout { flex-direction: column; gap: 20px; }
  .rnd-calc__welcome-right { flex: auto; width: 100%; }
  .rnd-calc__two-col { flex-direction: column; }
  .rnd-calc__two-col-right { flex: auto; width: 100%; }
  .rnd-calc__choices { flex-direction: column; align-items: center; }
  [data-screen="3"] .rnd-calc__choices { grid-template-columns: 1fr; }
  [data-screen="3"] .rnd-calc__choice-wrapper { padding-top: 0; }
  [data-screen="3"] .rnd-calc__choice-wrapper .rnd-calc__badge { position: static; transform: none; margin-bottom: 8px; }
  .rnd-calc__choice { max-width: 100%; min-width: 0; width: 100%; }
  [data-screen="2"] .rnd-calc__choice { min-width: 0; max-width: 100%; }
  [data-screen="3"] .rnd-calc__choice-title { min-height: auto; }
  [data-screen="4"] .rnd-calc__pkg-wrapper { padding-top: 0; }
  [data-screen="4"] .rnd-calc__pkg-wrapper .rnd-calc__badge { position: static; transform: none; margin-bottom: 8px; }
  .rnd-calc__packages { flex-wrap: wrap; justify-content: center; }
  [data-screen="4"] .rnd-calc__packages { grid-template-columns: 1fr 1fr; }
  .rnd-calc__pkg { min-width: 140px; flex: 1 1 calc(50% - 8px); }
  .rnd-calc__form-row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .rnd-calc__form-label { flex: auto; text-align: left; }
  .rnd-calc__form-input { flex: auto; width: 100%; }
  .rnd-calc__changes-row { flex-wrap: wrap; }
  .rnd-calc__contact-row { flex-direction: column; align-items: flex-start; gap: 4px; }
  .rnd-calc__contact-label { flex: auto; text-align: left; }
  .rnd-calc__contact-input { width: 100%; }
  .rnd-calc__addwork-label { flex: auto; }
  .rnd-calc__addwork-extra { padding-left: 0; }
  .rnd-calc__addwork-hint { padding-left: 0; }
  .rnd-calc__summary-info { grid-template-columns: 1fr; }
  .rnd-calc__summary-layout { flex-direction: column; }
  .rnd-calc__summary-left, .rnd-calc__summary-right { flex: auto; width: 100%; min-width: 0; }
  .rnd-calc__financial { padding: 32px 24px; }
  .rnd-calc__financial-amount { font-size: 30px; }
}

/* --- RESPONSIVE: PHONE (600px) --- */
@media (max-width: 600px) {
  .rnd-calc { max-width: 100%; }
  .rnd-calc__card { padding: 20px 16px 16px; min-height: auto; }

  /* STEPPER — compact for 8 steps on 375px */
  .rnd-calc__stepper { gap: 0; margin-bottom: 20px; }
  .rnd-calc__step-circle { width: 28px; height: 28px; font-size: 12px; }
  .rnd-calc__step-line { width: 12px; height: 2px; }
  .rnd-calc__step--active .rnd-calc__step-circle { box-shadow: 0 0 0 3px rgba(124,179,66,0.2); }

  /* TYPOGRAPHY */
  .rnd-calc__welcome-heading { font-size: 20px; }
  .rnd-calc__title { font-size: 20px; margin-bottom: 8px; }
  .rnd-calc__subtitle { font-size: 13px; margin-bottom: 16px; }

  /* NAV BUTTONS — 44px touch targets */
  .rnd-calc__btn { min-height: 44px; padding: 10px 20px; font-size: 13px; }
  .rnd-calc__btn svg { width: 18px; height: 18px; }
  .rnd-calc__nav { gap: 10px; }

  /* CHOICE CARDS */
  .rnd-calc__choice { padding: 18px 16px; }
  .rnd-calc__choice-title { font-size: 14px; }
  .rnd-calc__choice-desc { font-size: 12px; }

  /* PACKAGE CARDS — 2x2 grid */
  [data-screen="4"] .rnd-calc__packages { grid-template-columns: 1fr 1fr; gap: 10px; }
  .rnd-calc__packages { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
  .rnd-calc__pkg { min-width: 0; padding: 14px 12px; }
  .rnd-calc__pkg-name { font-size: 13px; }
  .rnd-calc__pkg-price { font-size: 22px; }
  .rnd-calc__pkg-unit { font-size: 11px; }
  .rnd-calc__pkg-desc { font-size: 11px; }

  /* TOGGLE BUTTONS — 44px touch targets */
  .rnd-calc__toggle-btn { padding: 10px 20px; font-size: 13px; min-height: 44px; }

  /* FORM INPUTS — prevent iOS zoom (font-size >= 16px) */
  .rnd-calc__form-input { font-size: 16px; padding: 12px 14px; width: 100%; flex: auto; }
  .rnd-calc__form-label { font-size: 13px; }
  .rnd-calc__form-suffix { font-size: 12px; }

  /* CHANGES FORM */
  .rnd-calc__changes-row { gap: 8px; }
  .rnd-calc__changes-label { font-size: 13px; }
  .rnd-calc__changes-input { width: 90px; font-size: 16px; padding: 10px 10px; }
  .rnd-calc__changes-unit { font-size: 12px; width: 32px; }

  /* ADDWORK */
  .rnd-calc__addwork-row { gap: 10px; padding: 12px 0; }
  .rnd-calc__addwork-label { flex: auto; font-size: 13px; }

  /* SCOPE DETAIL */
  .rnd-calc__scope-detail { padding: 14px 16px; font-size: 12px; }
  .rnd-calc__scope-toggle { font-size: 12px; min-height: 44px; }

  /* CONTACT FORM — prevent iOS zoom */
  .rnd-calc__contact-input { font-size: 16px; padding: 12px 14px; }
  .rnd-calc__contact-label { font-size: 13px; }
  .rnd-calc__contact-form { max-width: 100%; }

  /* SUMMARY & COST TABLE */
  .rnd-calc__summary-heading { font-size: 15px; }
  .rnd-calc__summary-info { font-size: 13px; gap: 10px; }
  .rnd-calc__cost-table { font-size: 12px; display: block; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .rnd-calc__cost-table th { padding: 6px 8px; font-size: 11px; white-space: nowrap; }
  .rnd-calc__cost-table td { padding: 10px 8px; font-size: 12px; }

  /* FINANCIAL */
  .rnd-calc__financial { padding: 24px 16px; margin: 24px 0; }
  .rnd-calc__financial-amount { font-size: 26px; }
  .rnd-calc__financial-label { font-size: 13px; }
  .rnd-calc__financial-perm2 { font-size: 13px; }

  /* GUARANTEE */
  .rnd-calc__guarantee { padding: 16px 14px; font-size: 12px; }

  /* CTA SECTION */
  .rnd-calc__cta-section { flex-direction: column; align-items: stretch; }
  .rnd-calc__cta-section .rnd-calc__btn { width: 100%; justify-content: center; }

  /* THANK YOU */
  .rnd-calc__thankyou-btns { flex-direction: column; gap: 10px; }
  .rnd-calc__thankyou-btns .rnd-calc__btn { width: 100%; justify-content: center; }

  /* WELCOME — stack columns on phone */
  .rnd-calc__welcome-layout { flex-direction: column !important; gap: 16px !important; }
  .rnd-calc__welcome-left { width: 100% !important; flex: auto !important; }
  .rnd-calc__welcome-right { flex: auto !important; width: 100% !important; max-width: 100% !important; padding: 16px !important; }
  .rnd-calc__welcome-checklist li { font-size: 13px; }
  .rnd-calc__welcome-example-title { font-size: 12px; }
  .rnd-calc__welcome-example-row { font-size: 11px; }
  .rnd-calc__welcome-example-total { font-size: 13px; }

  /* INFO BOX */
  .rnd-calc__info-box { padding: 14px 16px; font-size: 12px; }

  /* DISCLAIMER */
  .rnd-calc__disclaimer { font-size: 11px; }
}
