/* RESET */
* {
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    font-family: Arial, Helvetica, sans-serif;
}

body {
    min-height: 100vh;
}

/* BACKGROUND */
.page-bg {
    min-height: 100vh;
    background: url("../img/background.jpg") center center / cover no-repeat fixed;
    display: flex;
    justify-content: center;
    padding: 40px 15px;
}

/* MAIN CONTAINER */
.page-wrapper {
    width: 100%;
    max-width: 900px;
    background: #ffffff;
    border-radius: 8px;
    overflow: hidden;
    box-shadow: 0 10px 40px rgba(0,0,0,0.25);
}

/* TOP */
.top img {
    width: 100%;
    display: block;
}

/* CONTENT */
.content {
    padding: 30px 40px;
    text-align: center;
}

.content h1 {
    font-size: 20px;
    margin-bottom: 15px;
    color: #333;
}

.content h2 {
    font-size: 15px;
    margin: 25px 0 15px;
    font-weight: normal;
    color: #444;
}

.content p {
    font-size: 14px;
    line-height: 1.5;
    color: #555;
    margin-bottom: 20px;
}

.content a {
    color: #1a4fa3;
    text-decoration: none;
}

/* FORM */
form {
    margin-top: 20px;
    text-align: left;
}

label {
    display: block;
    font-size: 14px;
    margin-bottom: 10px;
    cursor: pointer;
}

input[type="radio"] {
    margin-right: 8px;
}

/* ACTIONS */
.actions {
    text-align: right;
    margin-top: 25px;
}

button {
    background: linear-gradient(#1f4e9b, #143b75);
    color: #fff;
    border: none;
    padding: 8px 26px;
    border-radius: 20px;
    font-size: 14px;
    cursor: pointer;
}

/* FOOTER */
.footer img {
    width: 100%;
    display: block;
}

/* RESPONSIVE */
@media (max-width: 600px) {
    .content {
        padding: 20px;
    }

    .content h1 {
        font-size: 18px;
    }
}


/* =========================
   FORM PAGES (STEP 2+)
   ========================= */

.form-page .form-section {
    padding: 25px 0;
    border-bottom: 2px solid #1f4e9b;
}

.form-page .form-section h3,
.form-page .form-section h4 {
    color: #1f4e9b;
    font-size: 16px;
    margin-bottom: 15px;
}

/* GRID FOR FORMS */
.form-page .grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 15px;
}

.form-page input,
.form-page select {
    width: 100%;
    padding: 12px 16px;
    border-radius: 20px;
    border: 1px solid #ddd;
    font-size: 14px;
}

/* FULL WIDTH FIELD */
.form-page .full {
    grid-column: span 2;
}

/* INFO TEXT */
.form-page .section-info {
    font-size: 13px;
    color: #555;
    margin-bottom: 10px;
}

/* WARNING TEXT */
.form-page .warning {
    font-size: 13px;
    color: #c0392b;
    margin-bottom: 15px;
}

/* CHECKBOX */
.form-page .checkbox {
    font-size: 14px;
}

/* FORM NAV */
.form-page .form-nav {
    display: flex;
    justify-content: space-between;
    padding-top: 30px;
}

/* PROGRESS BAR */
.progress {
    background: #c9d4e6;
    height: 10px;
    position: relative;
}

.progress span {
    position: absolute;
    left: 10px;
    top: -18px;
    font-size: 12px;
}

/* HIDDEN */
.hidden {
    display: none;
}

/* RESPONSIVE */
@media (max-width: 700px) {
    .form-page .grid-2 {
        grid-template-columns: 1fr;
    }

    .form-page .full {
        grid-column: span 1;
    }

    .form-page .form-nav {
        flex-direction: column;
        gap: 10px;
    }
}
/* =========================
   SUMMARY (STEP 4) – DODATKI
   nic nie nadpisuje step1/2/3, wszystko pod .summary-page
   ========================= */

.summary-page .sum-title-row{
  display:flex;
  align-items:flex-start;
  gap:10px;
  margin: 6px 0 16px;
}

.summary-page .sum-bullet{
  width:12px;
  height:12px;
  border:2px solid #1f4e9b;
  border-radius:50%;
  margin-top:6px;
  flex:0 0 auto;
}

.summary-page .sum-title-text h3{
  color:#1f4e9b;
  font-size:18px;
  margin:0 0 4px;
}

.summary-page .sum-subtitle{
  color:#444;
  font-size:13px;
  margin:0;
}

.summary-page .sum-block{
  padding: 10px 0 18px;
  border-bottom: 2px solid #1f4e9b;
}

.summary-page .sum-block-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  margin: 6px 0 10px;
}

.summary-page .sum-head-link{
  color:#1f4e9b;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
}

.summary-page .sum-subblock{
  padding: 10px 0 0;
}

.summary-page .sum-subblock.compact{
  padding-top: 6px;
}

.summary-page .sum-subhead{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 6px 0 8px;
  border-top: 1px solid #dbe3f2;
}

.summary-page .sum-sub-link{
  color:#1f4e9b;
  text-decoration:none;
  font-size:12px;
}

.summary-page .sum-kv-grid{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px 22px;
  padding: 8px 0 2px;
}

.summary-page .kv .k{
  font-size:10px;
  letter-spacing:.02em;
  color:#666;
  margin-bottom:3px;
}

.summary-page .kv .v{
  font-size:12px;
  color:#222;
}

.summary-page .sum-inline{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding: 10px 0 2px;
  border-top: 1px solid #dbe3f2;
  font-size:12px;
}

.summary-page .sum-inline .k{ color:#666; font-size:11px; }
.summary-page .sum-inline .v{ color:#222; font-weight:600; }

.summary-page .sum-muted{
  font-size:12px;
  color:#666;
  padding: 8px 0 2px;
  border-top: 1px solid #dbe3f2;
}

.summary-page .btn.small{
  padding: 4px 18px;
  font-size:12px;
  border-radius: 16px;
}

.summary-page .sum-table{
  width:100%;
  border-collapse:collapse;
  margin-top:10px;
  font-size:12px;
}

.summary-page .sum-table th{
  font-size:11px;
  color:#666;
  font-weight:600;
  padding: 6px 8px;
  border-bottom:1px solid #dbe3f2;
}

.summary-page .sum-table td{
  padding: 10px 8px;
  border-bottom:1px solid #dbe3f2;
}

.summary-page .sum-table.small td,
.summary-page .sum-table.small th{
  padding: 8px 8px;
}

.summary-page .sum-table .r{ text-align:right; }
.summary-page .sum-table .c{ text-align:center; }

.summary-page .sum-total-row{
  display:flex;
  justify-content:flex-end;
  gap: 30px;
  padding: 14px 0 6px;
  font-size:12px;
  color:#222;
}

.summary-page .sum-total-label{
  color:#666;
}

.summary-page .sum-total-value{
  font-weight:700;
}

.summary-page .mt-24{ margin-top:24px; }

/* TERMS */
.summary-page .terms-block{
  padding: 10px 0 0;
  border-bottom: 2px solid #1f4e9b;
}

.summary-page .terms-block h4{
  color:#1f4e9b;
  font-size:13px;
  margin: 14px 0 8px;
}

.summary-page .terms-block ul{
  margin: 0 0 8px 18px;
  font-size:12px;
  color:#333;
}

.summary-page .terms-block li{
  margin-bottom:6px;
}

.summary-page .terms-bank{
  font-size:12px;
  color:#333;
  border-left: 3px solid #dbe3f2;
  padding: 8px 12px;
  margin: 6px 0 10px;
}

.summary-page .terms-bank .muted{
  color:#777;
  font-size:11px;
  margin-top:6px;
}

.summary-page .terms-accept{
  display:flex;
  gap:10px;
  align-items:flex-start;
  font-size:12px;
  padding: 10px 0 14px;
  border-top: 1px solid #dbe3f2;
}

.summary-page .terms-accept input{
  margin-top:3px;
}

/* MOBILE */
@media (max-width: 700px){
  .summary-page .sum-kv-grid{
    grid-template-columns: 1fr;
  }
  .summary-page .sum-total-row{
    justify-content:space-between;
  }
}
