/* Kleine extra's bovenop Bootstrap */
:root { --brand: #0d6efd; }

/* Dark theme overrides when Bootstrap theme is set to dark */
[data-bs-theme="dark"] body { background-color: #0f0f0f; color: #eaeaea; }
[data-bs-theme="dark"] .navbar.bg-dark { background-color: #111 !important; }
[data-bs-theme="dark"] .card { background-color: #171717; border-color: #262626; }
[data-bs-theme="dark"] .table { color: #ddd; }

/* Ensure good contrast for light cards in dark theme */
[data-bs-theme="dark"] .card.text-bg-light .text-muted { color: #000 !important; }
[data-bs-theme="dark"] .card.text-bg-light .card-body { color: #000; }

.table td, .table th { vertical-align: middle; }

:root { --base-font-size: 16px; }
html, body { font-size: var(--base-font-size); line-height: 1.55; }

/* Headings netjes en schaalbaar */
h1, h2, h3, h4, h5, h6 { line-height: 1.25; }

/* Duidelijke focus voor toetsenbordnavigatie */
:focus-visible { outline: 3px solid rgba(13,110,253,.6); outline-offset: 2px; }

/* Homepage styling */
.home-hero {
  position: relative;
  border-radius: 1.5rem;
  overflow: hidden;
  background-size: cover;
  background-position: center;
  box-shadow: 0 1.25rem 3rem rgba(15, 32, 67, 0.25);
  display: flex;
  align-items: center;
  min-height: 22rem;
}

.home-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, rgba(9, 21, 45, 0.78), rgba(9, 21, 45, 0.55));
  backdrop-filter: blur(2px);
}

.home-hero-inner {
  position: relative;
  z-index: 1;
  max-width: 48rem;
}

.home-feature-card {
  border: none;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.home-feature-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 1rem 2.5rem rgba(12, 27, 54, 0.15);
}

.home-feature-icon {
  width: 3.5rem;
  height: 3.5rem;
  border-radius: 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 1.75rem;
}

.home-highlight .home-bullet-icon {
  display: inline-flex;
  width: 2.5rem;
  height: 2.5rem;
  align-items: center;
  justify-content: center;
  border-radius: 0.75rem;
  background: rgba(13, 110, 253, 0.08);
  font-size: 1.25rem;
}

.home-card-image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  filter: saturate(1.15);
  opacity: 0.25;
}

.home-section .card {
  border-radius: 1rem;
}

.object-fit-cover {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

[data-bs-theme="dark"] .home-hero::before {
  background: linear-gradient(120deg, rgba(6, 12, 28, 0.88), rgba(6, 12, 28, 0.65));
}

[data-bs-theme="dark"] .home-feature-card {
  box-shadow: 0 0 0 rgba(0, 0, 0, 0);
}

[data-bs-theme="dark"] .home-feature-card:hover {
  box-shadow: 0 1rem 2.5rem rgba(0, 0, 0, 0.35);
}

[data-bs-theme="dark"] .home-card-image {
  opacity: 0.2;
}
