:root{
  --forest:#0f3d2e;
  --forest-2:#1b5b45;
  --cream:#f6f1e4;
  --paper:#fbf7ee;
  --line: rgba(15,61,46,.18);
  --shadow: 0 14px 40px rgba(15,61,46,.12);
}

body{
  background: radial-gradient(900px circle at 10% 0%, rgba(27,91,69,.10), transparent 45%),
              radial-gradient(900px circle at 90% 10%, rgba(27,91,69,.08), transparent 45%),
              var(--cream);
  color:#1b1b1b;
}

.bg-forest{ background: linear-gradient(90deg, rgba(15,61,46,.96), rgba(15,61,46,.86)) !important; }
.bg-forest-soft{ background: var(--paper) !important; }
.border-success-subtle{ border-color: var(--line) !important; }

.brand-title{
  font-family: ui-serif, Georgia, "Times New Roman", Times, serif;
  letter-spacing: .2px;
}

.btn-forest{
  --bs-btn-color:#fff;
  --bs-btn-bg: var(--forest-2);
  --bs-btn-border-color: var(--forest-2);
  --bs-btn-hover-bg: var(--forest);
  --bs-btn-hover-border-color: var(--forest);
  box-shadow: 0 10px 18px rgba(15,61,46,.18);
}
.btn-outline-forest{
  --bs-btn-color: var(--forest);
  --bs-btn-border-color: rgba(15,61,46,.35);
  --bs-btn-hover-color:#fff;
  --bs-btn-hover-bg: var(--forest);
  --bs-btn-hover-border-color: var(--forest);
}

.card{
  background: var(--paper);
  border-color: var(--line) !important;
  box-shadow: var(--shadow);
}
.list-group-item{
  background: transparent;
  border-color: rgba(15,61,46,.14);
}

.hero-wrap{
  position: relative;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: #efe8d5;
  box-shadow: var(--shadow);
}
.hero-bg{
  position:absolute;
  inset:0;
  background: url('/assets/img/hero.svg') center/cover no-repeat;
  opacity:.95;
}
.hero-inner{
  position:relative;
  padding: 28px;
}
@media (min-width: 768px){
  .hero-inner{ padding: 42px; }
}

.search-box{
  background: rgba(251,247,238,.86);
  border: 1px solid rgba(15,61,46,.18);
  border-radius: 18px;
  box-shadow: 0 14px 30px rgba(15,61,46,.10);
  backdrop-filter: blur(3px);
}

.badge-soft{
  background: rgba(27,91,69,.10);
  color: var(--forest);
  border: 1px solid rgba(27,91,69,.22);
}


/* Lichtere modal voor misbruik */

.modal-soft .form-control,
.modal-soft .form-select{
  background: rgba(255,255,255,0.95);
  border-color: rgba(18,58,42,0.25);
  color: #123a2a;
}
.modal-soft .btn-close{
  filter: none;
}

/* Tabellen in site-stijl */
.table{ --bs-table-bg: transparent; margin-bottom: 0; }
.table thead th{
  background: rgba(16, 61, 43, 0.12);
  color: rgba(255,255,255,0.92);
  border-bottom: 1px solid rgba(255,255,255,0.12);
}
.table tbody tr{ background: rgba(16, 61, 43, 0.08); }
.table tbody td{ border-top: 1px solid rgba(255,255,255,0.10); }

/* Modal in lichte site-kleur */
.modal-soft{background: rgba(236, 246, 241, 0.98) !important; color:#123a2a; border: 1px solid rgba(15,61,46,.18);}
.modal-soft .modal-header{background: rgba(15,61,46,.06);}
.modal-soft .form-control,.modal-soft .form-select{background: rgba(255,255,255,0.9); border-color: rgba(15,61,46,.22); color:#123a2a;}


/* Offer cards (tegels) */
.offer-card{
  border-radius: 18px;
  background: rgba(16,61,43,0.14);
  border: 1px solid rgba(255,255,255,0.10);
  box-shadow: 0 10px 25px rgba(0,0,0,0.08);
  padding: 16px;
  display: flex;
  flex-direction: column;
}
.offer-top{
  display:flex;
  gap:12px;
  align-items:flex-start;
}
.offer-ico{
  width:42px;
  height:42px;
  border-radius:14px;
  background: rgba(16,61,43,0.18);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:22px;
}
.offer-badges{
  margin-left:auto;
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.badge.status-ok{ background: rgba(46,125,50,0.20); color:#eaffea; border:1px solid rgba(46,125,50,0.35); }
.badge.status-part{ background: rgba(255,193,7,0.18); color:#fff3cd; border:1px solid rgba(255,193,7,0.35); }
.badge.status-res{ background: rgba(220,53,69,0.18); color:#ffe3e6; border:1px solid rgba(220,53,69,0.35); }

.offer-chips{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  margin-top:12px;
}
.chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 10px;
  border-radius:999px;
  background: rgba(255,255,255,0.06);
  border: 1px solid rgba(255,255,255,0.10);
  font-size: 12px;
  color: rgba(255,255,255,0.92);
}
.chip-ico{ opacity: 0.95; }

.offer-foot{ margin-top:auto; padding-top:12px; }

.offer-card:hover{transform: translateY(-2px); box-shadow: 0 14px 30px rgba(0,0,0,0.10);}

.table-theme{color:#123a2a;}
.table-theme thead th{border-bottom-color: rgba(15,61,46,.22);}
.table-theme td,.table-theme th{border-color: rgba(15,61,46,.18);}
.table-theme tbody tr:hover{background: rgba(16,61,43,0.06);}
