/* =========================================================
   MITKO – A4 OFFERTE LAYOUT (VERBETERDE UITLIJNING)
   ========================================================= */

/* A4 basis */
@page {
  size: A4;
  margin: 20mm;
}

.a4 {
  width: 210mm;
  min-height: 297mm;
  margin: 0 auto;
  background: #ffffff;
  position: relative;
  font-family: Arial, sans-serif;
  color: #222;
}

.page-content {
  padding: 20mm 20mm 40mm 20mm;
}

/* =========================================================
   HEADER (ZONDER LOGO)
   ========================================================= */

.offerte-header-top {
  display: flex;
  justify-content: space-between;
  gap: 40px;
  margin-bottom: 24px;
}

.offerte-client-block {
  font-size: 13px;
  line-height: 1.4;
}

.offerte-client-name {
  font-weight: 700;
  margin-bottom: 4px;
}

.offerte-right-block {
  text-align: right;
  font-size: 13px;
  line-height: 1.4;
}

.offerte-title {
  font-size: 26px;
  font-weight: 800;
  color: #00778b;
  margin-bottom: 10px;
}

.offerte-dates {
  margin-top: 10px;
}

/* =========================================================
   TABEL – PRIJSLIJST
   ========================================================= */

.offerte-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 16px;
  font-size: 13px;
}

.offerte-table th,
.offerte-table td {
  padding: 6px 8px;
}

/* Header */
.offerte-table thead th {
  background: #e5f3f6;
  border-bottom: 2px solid #00778b;
  font-weight: 600;
}

/* Zebra-rijen */
.offerte-table tbody tr:nth-child(odd) {
  background: #ffffff;
}

.offerte-table tbody tr:nth-child(even) {
  background: #f7fbfc;
}

/* randen */
.offerte-table tbody td {
  border-bottom: 1px solid #e0e0e0;
}

/* Kolom uitlijning */
.offerte-table td:first-child {
  text-align: left;
}

.offerte-table td:nth-child(2) {
  text-align: center;
}

.offerte-table td:nth-child(3),
.offerte-table td:nth-child(4) {
  text-align: right;
}

/* Drag actief */
.offerte-table tbody tr.dragging {
  opacity: 0.5;
  background: #c8e8ef !important;
}

/* Backup classes */
.offerte-cell-center { text-align: center; }
.offerte-cell-right  { text-align: right; }

/* =========================================================
   TOTALEN – PERFECT UITGELIJND
   ========================================================= */

.offerte-totals {
  margin-top: 20px;
  width: 240px;               /* iets smaller zodat het blok iets naar links schuift */
  margin-left: auto;
  margin-right: 40px;         /* extra ruimte om uitlijning met totaal-cijfer te matchen */
  font-size: 13px;
}

.offerte-totals-row,
.offerte-total-final {
  display: grid;
  grid-template-columns: 1fr auto;
  column-gap: 20px;
  padding: 4px 0;
}

.offerte-totals-row span:last-child {
  text-align: right;
}

/* Totaal-lijn dunner + strak */
.offerte-total-final {
  border-top: 1px solid #00778b;
  margin-top: 6px;
  padding-top: 6px;
  font-weight: 700;
  font-size: 16px;
}

/* =========================================================
   HANDTEKENINGBLOK + GOEDKEURKNOP
   ========================================================= */

.signature-block {
  margin-top: 30px;
}

.signature-row {
  display: flex;
  justify-content: space-between;
  gap: 80px;
}

.signature-item {
  width: 50%;
  font-size: 13px;
}

.signature-title {
  font-weight: 700;
  margin-bottom: 6px;
  color: #00778b;
}

.signature-line {
  margin-top: 26px;
  width: 260px;
  border-top: 1px solid #00778b;
}

.signature-meta {
  font-size: 12px;
  margin-top: 4px;
  color: #333;
}

.approval-box {
  margin-top: 26px;
  padding: 18px;
  border-radius: 8px;
  border: 1px solid #00778b;
  background: #e8f6f7;
  text-align: center;
}

.approval-btn {
  font-size: 15px;
  font-weight: 700;
  border-radius: 6px;
  padding: 10px 26px;
  border: none;
  cursor: pointer;
  background: #00778b;
  color: #ffffff;
}

.approval-btn:hover {
  background: #005f6b;
}

/* =========================================================
   FOOTER CONDITIES ONDERAAN
   ========================================================= */

.offerte-footer {
  position: absolute;
  left: 20mm;
  right: 20mm;
  bottom: 15mm;
  font-size: 12px;
}

.footer-line {
  width: 100%;
  border-top: 1px solid #00778b;
  margin-bottom: 6px;
}
