:root {
    --footercolor: #4E5F28;
    --navbarcolor: #4E5F28;
    --btncolor: #4E5F28;
    --socialcolor: #4E5F28;
    --brightText: #ffffff;
  }
  
  .btncolor {
    background-color: var(--btncolor) !important;
    color: var(--brightText) !important;
  }
  
  .btncolor:hover, .btn-danger:hover{
    color: var(--brightText) !important;
    background-color: rgba(0, 0, 0, 0.5) !important;
  }
  
  .navbar-color {
    background-color: var(--navbarcolor);
  }
  
  .footer-color {
    background-color: var(--footercolor);
  }
  
  body {
    background: #fafafa;
  }
  
  h1, h2, h3, h4, h5, h6 {
    color: #444444;
  }
  
  .site-header .navbar-nav .nav-link {
    color: var(--brightText);
  }
  
  .site-header .navbar-nav .nav-link:hover {
    color: #ffffff;
    background-color: rgba(0, 0, 0, 0.1);
    border-radius: 10%;
  }
  
  .site-header .navbar-nav .nav-link.active {
    font-weight: 500;
  }
  
  .content-section {
    background: #ffffff;
    padding: 10px 20px;
    border: 1px solid #dddddd;
    border-radius: 3px;
    margin-bottom: 20px;
  }
  
  .article-title {
    color: #444444;
  }
  
  a.article-title:hover {
    color: #428bca;
    text-decoration: none;
  }
  
  .article-content {
    white-space: pre-line;
  }
  
  .article-img {
    height: 65px;
    width: 65px;
    margin-right: 16px;
  }
  
  .article-metadata {
    padding-bottom: 1px;
    margin-bottom: 4px;
    border-bottom: 1px solid #e3e3e3
  }
  
  .article-metadata a:hover {
    color: #333;
    text-decoration: none;
  }
  
  .article-svg {
    width: 25px;
    height: 25px;
    vertical-align: middle;
  }
  
  .row.display-flex {
    display: flex;
    flex-wrap: wrap;
  }
  .row.display-flex > [class*='col-'] {
    flex-grow: 1;
  }
  .box {
      border:1px #666 solid;
      height: 95%;
  }
  
  .customhover {
      background: #fff;
      box-shadow: 0 6px 10px rgba(0,0,0,.08), 0 0 6px rgba(0,0,0,.05);
      transition: .3s transform cubic-bezier(.155,1.105,.295,1.12),.3s box-shadow,.3s -webkit-transform cubic-bezier(.155,1.105,.295,1.12);
      cursor: pointer;
  }
  
  .customhover:hover {
      transform: scale(1.02);
      box-shadow: 0 10px 20px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.06);
  }
  
  @media screen and (min-width: 600px){
    .mobiledevice{
        padding-left: 10px;
        padding-right: 10px;
    }
  }
  @media screen and (max-width: 600px){
    .mobiledevice{
        padding-left: 1px;
        padding-right: 1px;
    }
  }
  
  .title-style {
      font-family: fell, Georgia, Cambria, 'Times New Roman', Times, serif !important;
  }
  .subtitle-style {
    font-family: sohne, 'Helvetica Neue', Helvetica, Arial, sans-serif !important;
    color: rgba(117, 117, 117, 1) !important;
  }
  
  /* Small devices (landscape phones, 544px and up) */
  @media (max-width: 544px) {
      p, a, pre, code {font-size:20px !important;} /*1rem = 16px*/
  }
  
  .errorlist {
      list-style: None;
  }
  
  .article-style h1, h3 {
    font-weight: bold;
    border-bottom: 1px solid rgba(0,0,0,.1);
    letter-spacing: 0;
    font-family: sohne, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    margin-top: 1.0em;
    margin-bottom: 0.2em;
    line-height: 36px !important;
    font-size: 30px !important;
  }
  
  .article-style h2, h4 {
    font-weight: bold;
    letter-spacing: 0;
    font-family: sohne, "Helvetica Neue", Helvetica, Arial, sans-serif;
    font-style: normal;
    line-height: 28px !important;
    font-size: 22px !important;
  }

  .aspect-ratio-box {
    position: relative;
  }

  .aspect-ratio-box::after{
    display: block;
    content: '';
    /* 16:9 aspect ratio, 9 / 16 * 100% = 56.25% */
    padding-bottom: 56.25%;
  }

  .aspect-ratio-box img {
    position: absolute;
    left: 0;
    right: 0;
    width: 100%;
    height: 100%;
  }
  
  .cropped-ratio-box {
    position: relative;
    width: 100%; /* of max-width voor limiet */
    aspect-ratio: 16 / 9; /* moderne browsers ondersteunen dit */
    overflow: hidden;
  }
  
  /* --- 1. Fix modal-verspringing --- */
  html.modal-open,
  body.modal-open {
    overflow: hidden !important;
    padding-right: 0 !important; /* voorkomt verspringen */
    width: 100% !important; /* dwingt volle breedte af */
  }

  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 100% !important;
  }

  /* --- 2. Herstel normale layout-breedte --- */
  main.container-xl {
    max-width: 960px; /* of 1140px voor iets compacter */
    margin-left: auto;
    margin-right: auto;
    padding-left: 75px;
    padding-right: 75px;
  }
  
  /* Houd containers altijd 100% breed binnen viewport */
  .container, .container-sm, .container-md, .container-lg, .container-xl, .container-xxl {
    max-width: 100% !important;
  }

  .cropped-ratio-box img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
  }
  
  .profile-image {
    width: 125px;
    height: 125px;
    padding: 5px;
  }

  .site-footer .navbar-nav .nav-link {
    color: var(--brightText);
  }
  
  .site-footer .navbar-nav .nav-link:hover {
    color: #ffffff;
  }
  
  .site-footer .navbar-nav .nav-link.active {
    font-weight: 500;
  }
  
  .footer-text h4, .footer-text p, .footer-text a {
    color: var(--brightText);
  }
  
  .footer-text a:hover {
    color: #ffffff;
  }

  /* Tabel header styling */
  .table thead {
      background-color: #4E5F28 !important;
      color: #ffffff !important;
  }

  .table thead tr:hover th {
      background-color: #4E5F28 !important;
  }

  .custom-table thead {
      background-color: #4E5F28 !important;
      color: #ffffff !important;
  }

  .custom-table thead tr:hover th {
      background-color: #4E5F28 !important;
  }

    /* Tabel header styling */
  .table thead {
      background-color: #4E5F28;
      color: #ffffff !important;
  }

  .table thead tr:hover th {
      background-color: #4E5F28;
  }

  .custom-table thead {
      background-color: #4E5F28;
      color: #ffffff !important;
  }

  .custom-table thead tr:hover th {
      background-color: #4E5F28;
  }

  .custom-table tbody tr:hover {
      background-color: rgba(78, 95, 40, 0.1);
  }

  .table-custom {
    border-collapse: collapse; /* Zorgt voor nette randen */
    width: 100%;
  }

  /* Normale randen */
  .table-custom td, 
  .table-custom th {
    border-bottom: 1px solid #ddd;
    padding: 8px;
  }

  /* Laatste rij krijgt een dikkere rand in de titelbalk-kleur */
  .table-custom tbody tr:last-child td {
    border-bottom: 4px solid var(--navbarcolor); /* of de kleurcode van je titelbalk */
  }

  .preview img {
    width: 80%;  /* Verander dit naar de gewenste grootte */
    max-width: 1000px;  /* Maximaal formaat */
    height: auto;
  }

  /* Algemene knopstijl (geldt overal) */
  button,
  .btn {
      background-color: #3E4C20;   /* zachter groen */
      color: #fff;
      border: none;
      border-radius: 6px;
      padding: 6px 14px;
      font-size: 0.9rem;
      font-weight: bold;          /* altijd bold voor consistentie */
      cursor: pointer;
      transition: background-color 0.2s ease, transform 0.1s ease;
  }

  /* Hover-effect (geldt overal) */
  button:hover,
  .btn:hover {
      background-color: #6B8E23;   /* donkerder groen bij hover */
      transform: scale(1.05);
      text-shadow: 0 0 2px rgba(0,0,0,0.2);
  }

  /* Alleen in tabellen extra ruimte */
  .table button,
  .table .btn {
      margin-right: 6px;
  }

  /* Algemene knopstijl in tabellen */
  .table button,
  .table .btn {
      background-color: #AEBF88;   /* zachter groen */
      color: #4E5F28;
      border: none;
      border-radius: 6px;
      padding: 6px 14px;
      font-size: 0.9rem;
      cursor: pointer;
      transition: background-color 0.2s ease, transform 0.1s ease;
      min-width: 0px;
      text-align: center;
      margin-right: 6px;
  }

  /* Hover-effect */
  .table button:hover,
  .table .btn:hover {
      background-color: #6B8E23;   /* donkerder groen bij hover */
      transform: scale(1.05);
      text-shadow: 0 0 2px rgba(0,0,0,2);
  }

  /* Zorg dat knoppen altijd zichtbaar blijven,
    ook in actieve/gehoverde rijen */
  .table tr:hover button,
  .table tr.active button,
  .table tr:hover .btn,
  .table tr.active .btn {
      background-color: #AEBF88 !important;
      color: #FFFFFF !important;
  }

    /* Alleen outline-knoppen aanpassen, actieve knoppen niet overschrijven */
  .btn-outline-primary {
      background-color: var(--btncolor);
      color: var(--brightText);
      border-color: var(--btncolor);
  }

  .btn-primary:hover {
      background-color: rgba(0,0,0,0.5);
      color: var(--brightText);
      border-color: var(--btncolor);
  }

  /* Laat actieve knoppen de standaard Bootstrap look behouden */
  .btn-primary {
      background-color: #0d6efd; /* Bootstrap standaard */
      color: #fff;
  }

  .toggle-link {
      text-decoration: none; /* haalt de lijn weg */
  }

  .btn-icon {
    padding: 6px 6px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .btn-icon .icon {
      font-size: 1.2rem;   /* ← HIER zie je direct verschil */
      line-height: 1;
  }

  .btn-text {
    min-width:80px;
  }