:root{
  --order-primary: var(--color-primary, #2b5cff);
  --order-navy:    var(--color-navy,   #0B1B3A);
  --order-text:    var(--color-text,   #0B0D12);
  --order-muted:   #64748b;
  --order-border:  rgba(15,23,42,.10);
  --order-shadow:  0 10px 30px rgba(15,23,42,.10);
}

/* основная секция */
.order-main{
  padding: 32px 0 60px;
  background: #fff;
}
.order-header{
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}
.order-header h1{
  margin: 0 0 8px;
  font-size: clamp(26px, 4vw, 36px);
  line-height: 1.2;
  font-weight: 800;
  color: var(--order-navy);
}
.order-header p{
  margin: 0;
  font-size: 15px;
  color: var(--order-muted);
}

/* сетка 2-колоночная */
.order-layout{ margin-top: 10px; }
.order-grid{
  display: grid;
  grid-template-columns: minmax(0, 1.7fr) minmax(320px, 1.1fr);
  gap: 22px;
  align-items: flex-start;
}
.order-col{ min-width: 0; }

@media (max-width: 960px){
  .order-grid{
    grid-template-columns: 1fr;
  }
  .order-col--right{
    order: -1; /* на мобиле блок с podsumowaniem сверху */
  }
}

/* карточки */
.order-card{
  background: #fff;
  border-radius: 18px;
  border: 1px solid var(--order-border);
  box-shadow: var(--order-shadow);
  padding: 18px 18px 20px;
}
.order-card h2{
  margin: 0 0 10px;
  font-size: 20px;
  font-weight: 800;
  color: var(--order-navy);
}
.order-card-note{
  margin: 2px 0 12px;
  font-size: 14px;
  color: var(--order-muted);
}

/* форма – поля */
.form-card + .form-card{
  margin-top: 24px; /* отступ между секциями слева */
}

.field{
  display:block;
  margin:0 0 12px;
}
.field > span{
  display:inline-block;
  margin:0 0 6px;
  font-weight:700;
}
.field input[type="text"],
.field input[type="email"],
.field input[type="tel"],
.field input[type="number"],
.field select{
  width:100%;
  height:48px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.15);
  padding:0 14px;
  font-size:16px;
  outline:none;
  transition: box-shadow .18s ease, border-color .18s ease;
  box-sizing:border-box;
  background:#fff;
}
.field select{
  padding-right:34px;
}
.field input:focus,
.field select:focus{
  border-color: rgba(43,92,255,.35);
  box-shadow: 0 0 0 4px rgba(43,92,255,.12);
}

/* строки из двух полей */
.form-card .field-row{
  display:flex;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:16px;
}
.form-card .field-row .field{
  flex:1 1 0;
}

/* на мобиле поля в столбик */
@media (max-width:640px){
  .form-card .field-row{
    flex-direction:column;
  }
}

/* маленькая подпись "(opcjonalnie)" */
.field-note{
  font-weight:400;
  font-size:12px;
  color:#64748b;
}

/* блок najemców */
.tenant-item{
  padding: 14px 14px 10px;
  border-radius: 14px;
  border: 1px solid rgba(148,163,184,.6);
  background: #f9fafb;
  margin: 0 0 10px;
}

/* кнопка "Dodaj kolejnego najemcę" */
.btn-add-tenant{
  margin-top:8px;
  background:#fff;
  color:#0b1b3a;
  border:1px solid rgba(15,23,42,.18);
  box-shadow:none;
}
.btn-add-tenant:hover{
  background:#f3f4ff;
  border-color:rgba(15,23,42,.26);
  box-shadow:none;
  transform:none; /* без подпрыгивания */
}

/* чекбоксы */
.check{
  display:flex;
  align-items:flex-start;
  gap:8px;
  margin:6px 0 0;
  font-size:13px;
  color:var(--order-text);
}
.check input[type="checkbox"]{
  margin-top:3px;
}
.check a{
  color:var(--order-primary);
  text-decoration:underline;
  text-underline-offset:2px;
}

/* подсказки */
.order-hint{
  margin:4px 0 0;
  font-size:13px;
  color:var(--order-muted);
}

/* podsumowanie / prawa kolumna */
.summary-subtitle{
  margin:4px 0 14px;
  font-size:14px;
  color:#6b7280;
}
.summary-list{
  margin:0 0 16px;
  padding-left:20px;
  font-size:14px;
  color:#111827;
}
.summary-list li{
  margin:4px 0;
}

.summary-price{
  margin:0 0 12px;
  display:flex;
  justify-content:space-between;  
  align-items:baseline;    
}

.summary-main{
  font-size:18px;
  font-weight:700;
  color:#111827;
}
.summary-main-0{
  font-size:18px;
  font-weight:700;
  color:#111827;
}

.order-consents{
  display:grid;
  gap:8px;
  margin:4px 0 12px;
}

/* основная кнопка */
.btn-order{
  width:100%;
  height:52px;
  border-radius:14px;
  font-size:16px;
  box-shadow:0 10px 30px rgba(37,99,235,.35);
}
.btn-order:hover{
  background:#1f4ed4;
  border-color:#1f4ed4;
  box-shadow:0 14px 36px rgba(37,99,235,.4);
}

/* пояснение под кнопкой */
.pay-note{
  margin:10px 0 0;
  font-size:13px;
  color:#6b7280;
}

/* логотипы Tpay / InPost */
.order-logos{
  margin-top:10px;
}
.order-logos-label{
  font-size:12px;
  color:var(--order-muted);
}
.order-logos-row{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin-top:4px;
}
.order-logo-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(148,163,184,.7);
  font-size:12px;
  font-weight:600;
  color:var(--order-navy);
  background:#fff;
}

/* вторичная кнопка, если общей нет */
.btn.btn-secondary{
  background:#fff;
  color:var(--order-navy);
  border:1px solid rgba(15,23,42,.18);
}
.btn.btn-secondary:hover{
  border-color:rgba(15,23,42,.28);
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}


/* ===== LAYOUT: две колонки, на мобиле — одна, summary ниже формы ===== */
.order-layout{
  display:grid;
  grid-template-columns:minmax(0, 2fr) minmax(320px, 1fr);
  gap:24px;
  align-items:flex-start;
}
.order-left{ order:1; }
.order-summary{ order:2; }

@media (max-width: 960px){
  .order-layout{
    grid-template-columns:1fr;
  }
  .order-summary{
    order:2;
    margin-top:20px; /* summary под формой */
  }
}

/* ===== КАРТОЧКИ / ПОЛЯ ===== */
.order-card,
.order-summary{
  background:#fff;
  border-radius:18px;
  border:1px solid rgba(15,23,42,.08);
  box-shadow:0 14px 32px rgba(15,23,42,.10);
  padding:20px 22px;
}

.order-card + .order-card{
  margin-top:20px;            /* отступ между блоками формы */
}

.order-title{
  margin:0 0 14px;
  font-size:20px;
  font-weight:800;
}

.order-intro{
  margin:0 0 18px;
  font-size:15px;
  color:#4b5563;
  text-align:center;
}

.order-heading{
  margin:0 0 8px;
  font-size:34px;
  font-weight:800;
  text-align:center;
}

@media (max-width:640px){
  .order-heading{
    font-size:30px;
  }
}

.order-note{
  margin:0 0 12px;
  font-size:14px;
  color:#6b7280;
}
.order-note.small{
  font-size:13px;
}

/* поля */
.field{
  display:block;
  margin:0 0 12px;
}
.field label{
  display:block;
  margin:0 0 4px;
  font-size:14px;
  font-weight:600;
}
.field input,
.field select{
  width:100%;
  height:48px;
  border-radius:12px;
  border:1px solid rgba(15,23,42,.12);
  padding:0 14px;
  font-size:15px;
  outline:none;
  transition:border-color .18s ease, box-shadow .18s ease;
  box-sizing:border-box;
}
.field select{
  padding-right:34px;
}
.field input:focus,
.field select:focus{
  border-color:rgba(43,92,255,.55);
  box-shadow:0 0 0 4px rgba(43,92,255,.16);
}

.field-row{
  display:grid;
  gap:12px;
}
@media (min-width: 760px){
  .field-row{
    grid-template-columns:1fr 1fr;
  }
}

.field-note{
  font-weight:400;
  font-size:12px;
  color:#6b7280;
}

/* чекбоксы */
.checkbox-row{
  display:flex;
  align-items:flex-start;
  gap:8px;
  font-size:14px;
  margin:6px 0 6px;
}
.checkbox-row input[type="checkbox"]{
  margin-top:2px;
}

/* ===== Najemcy: кнопка удаления + добавления ===== */
.tenant-item{
  border:1px solid rgba(15,23,42,.06);
  border-radius:14px;
  padding:14px 14px 10px;
  margin-bottom:12px;
  background:#f9fafb;
}

.tenant-remove{
  margin-top:6px;
  border:none;
  background:transparent;
  color:#dc2626;
  font-size:13px;
  font-weight:600;
  cursor:pointer;
  padding:0;
  text-decoration:underline;
  text-underline-offset:2px;
}

/* у первого najemcy кнопку "Usuń" прячем */
.tenant-list .tenant-item:first-child .tenant-remove{
  display:none;
}

/* красивая кнопка "+ Dodaj kolejnego najemcę" */
.btn-add-tenant{
  margin-top:6px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.18);
  background:#fff;
  font-weight:700;
  font-size:14px;
  cursor:pointer;
  transition:background-color .18s ease, border-color .18s ease, box-shadow .18s ease;
}
.btn-add-tenant:hover{
  background:#f9fafb;
  border-color:rgba(15,23,42,.30);
  box-shadow:0 6px 18px rgba(15,23,42,.12);
}

/* ===== Summary / prawa karta ===== */
.order-summary h2{
  margin:0 0 16px;
  font-size:20px;
  font-weight:800;
}
.summary-subtitle{
  margin:0 0 14px;
  font-size:14px;
  color:#6b7280;
}
.summary-list{
  margin:0 0 16px;
  padding:0 0 12px;
  border-bottom:1px solid rgba(15,23,42,.08); /* тонкая разделительная линия */
}
.summary-row{
  display:flex;
  justify-content:space-between;
  gap:12px;
  font-size:14px;
  margin:6px 0;
}
.summary-row dt{
  font-weight:600;
  color:#111827;
}
.summary-row dd{
  margin:0;
  text-align:right;
}

.summary-text{
  margin:0 0 14px;
  font-size:14px;
  color:#4b5563;
}

.summary-price{
  margin:8px 0 16px;
}
.summary-label{
  display:block;
  font-size:13px;
  color:#6b7280;
  margin-bottom:4px;
}
.summary-price-row{
  display:flex;
  align-items:baseline;
  gap:10px;
  justify-content:flex-end;   /* прижали цены вправо */
}
.summary-main{
  font-size:18px;
  font-weight:700;
  color:#111827;
  text-align:right;
}
.summary-main-0{
  font-size:18px;
  font-weight:700;
  color:#111827;
}
.summary-old{
  font-size:14px;
  color:#9ca3af;
  text-decoration:line-through;
}

.summary-check{
  font-size:13px;
  color:#4b5563;
}

/* главная кнопка "Zamawiam i płacę online" – как Kup adres do najmu */
.order-btn-main{
  width:100%;
  margin-top:16px;
  height:48px;
  border-radius:14px;
  border:1px solid var(--color-primary, #2b5cff);
  background:var(--color-primary, #2b5cff);
  color:#fff;
  font-weight:800;
  font-size:15px;
  cursor:pointer;
  box-shadow:0 10px 26px rgba(37,99,235,.32);
  transition:background-color .16s ease, border-color .16s ease,
             box-shadow .16s ease, transform .06s ease;
}
.order-btn-main:hover{
  background:#1f4ed4;
  border-color:#1f4ed4;
  box-shadow:0 16px 38px rgba(37,99,235,.40);
}
.order-btn-main:active{
  background:#1a43b8;
  border-color:#1a43b8;
  transform:translateY(0);
}

/* блок с логотипами Tpay / InPost */
.summary-pay-note{
  margin-top:12px;
  font-size:13px;
  color:#4b5563;
}
.summary-brands-title{
  margin:10px 0 6px;
  font-size:13px;
  font-weight:600;
}
.summary-brands{
  display:flex;
  gap:10px;
}
.brand-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:4px 10px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.18);
  background:#fff;
  font-size:13px;
  font-weight:600;
}
.brand-pill img{
  width:60px;
  height:40px;
  border-radius:999px;
  object-fit:cover;
}