/* KSA Scherpenheuvel - gecentraliseerde paginaspecifieke CSS
   Gegenereerd uit inline <style>-blokken van de hoofdsite.
   Paginaspecifieke regels zijn gescoped via body.page-*.
   /verhuur (WordPress) en /Leiding zijn bewust niet aangepast. */

/* =========================================================
   agenda.html
   ========================================================= */
/* =========================================
   AGENDA - origineel design, subtiel verfijnd
   ========================================= */

/* Minder scherpe kalender */
body.page-agenda .embed-responsive{
  overflow: hidden;
  border-radius: 16px !important;
  border: 1px solid rgba(127,127,127,.16);
}

/* Bestaande evenementkaarten behouden */
body.page-agenda #evenementen .podcast-entry{
  overflow: hidden;
  border-radius: 16px !important;
  box-shadow: 0 6px 20px rgba(0,0,0,.06);
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}

body.page-agenda #evenementen .podcast-entry:hover{
  transform: translateY(-3px);
  border-color: rgba(0,95,171,.30);
  box-shadow: 0 10px 26px rgba(0,0,0,.10);
}

/* Afbeelding volgt de afgeronde kaart */
body.page-agenda #evenementen .podcast-entry .image{
  overflow: hidden;
}

/* Tekstgedeelte iets luchtiger zonder layout te wijzigen */
body.page-agenda #evenementen .podcast-entry .text{
  padding: 22px 24px !important;
}

/* Titel net iets sterker */
body.page-agenda #evenementen .podcast-entry h3{
  font-weight: 800 !important;
  line-height: 1.25;
}

/* Knoppen afronden */
body.page-agenda #evenementen .btn, body.page-agenda #evenementen a.btn{
  border-radius: 999px !important;
}

/* Algemene knoppen op agendapagina */
body.page-agenda .btn{
  border-radius: 999px;
}

/* Mobiel: afgerond maar niet overdreven */
@media (max-width: 767.98px){
  body.page-agenda .embed-responsive, body.page-agenda #evenementen .podcast-entry{
    border-radius: 12px !important;
  }

  body.page-agenda #evenementen .podcast-entry .text{
    padding: 17px 18px !important;
  }
}

/* =========================================================
   brieven.html
   ========================================================= */
/* =========================================
   BRIEVEN - subtiel modern
   ========================================= */

body.page-brieven .brief-page{
  font-family: "Nunito", sans-serif;
}

body.page-brieven .brief-page .site-hero, body.page-brieven .brief-page .site-hero > .container > .row{
  padding-top: 22px !important;
}

body.page-brieven .brief-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-brieven .brief-intro{
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

body.page-brieven .brief-intro p{
  margin: 0;
  line-height: 1.7;
  opacity: .72;
}

body.page-brieven .brief-intro a{
  color: #005FAB !important;
  font-weight: 700;
}

/* Bestaande lijst omvormen tot kaarten */
body.page-brieven .brief-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

body.page-brieven .brief-card{
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;

  min-height: 62px;
  padding: 14px 16px;

  border: 1px solid rgba(127,127,127,.18);
  border-radius: 13px;

  background: rgba(127,127,127,.03);

  color: inherit !important;
  text-decoration: none !important;

  font-weight: 700;
  line-height: 1.35;

  transition:
    transform .2s ease,
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease;
}

body.page-brieven .brief-card:hover{
  transform: translateY(-2px);
  border-color: rgba(0,95,171,.40);
  background: rgba(0,95,171,.05);
  box-shadow: 0 8px 20px rgba(0,0,0,.07);
}

body.page-brieven .brief-card-text{
  min-width: 0;
}

body.page-brieven .brief-card-arrow{
  flex: 0 0 auto;
  color: #005FAB;
  font-size: 18px;
  line-height: 1;
}

body.page-brieven .brief-section-title{
  margin-top: 28px;
  margin-bottom: 8px;
  color: inherit;
  font-size: 1.25rem;
  font-weight: 800;
}

/* Tablet */
@media (max-width: 991.98px){
  body.page-brieven .brief-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* GSM */
@media (max-width: 575.98px){
  body.page-brieven .brief-page .site-hero, body.page-brieven .brief-page .site-hero > .container > .row{
    padding-top: 16px !important;
  }

  body.page-brieven .brief-grid{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.page-brieven .brief-card{
    min-height: 56px;
    padding: 12px 14px;
  }
}

/* =========================================================
   contact.html
   ========================================================= */
/* =========================================
   CONTACT - strakker en rustiger
   ========================================= */

body.page-contact .contact-page{
  font-family: "Nunito", sans-serif;
}

body.page-contact .contact-page .site-hero, body.page-contact .contact-page .site-hero > .container > .row{
  padding-top: 20px !important;
}

body.page-contact .contact-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

/* Contactblokken */
body.page-contact .contact-page .contact-card, body.page-contact .contact-page .media-1, body.page-contact .contact-page .unit-9, body.page-contact .contact-page .half-sm, body.page-contact .contact-page .bg-white{
  border-radius: 14px !important;
  overflow: hidden;
}

body.page-contact .contact-page .half-sm, body.page-contact .contact-page .media-1, body.page-contact .contact-page .bg-white{
  border: 1px solid rgba(127,127,127,.18);
  background: transparent !important;
  box-shadow: none !important;
}

body.page-contact .contact-page .half-sm .text, body.page-contact .contact-page .media-1 .text{
  padding: 20px !important;
}

/* Formulier */
body.page-contact .contact-page form{
  max-width: 980px;
  margin: 0 auto;
}

body.page-contact .contact-page input[type="text"], body.page-contact .contact-page input[type="email"], body.page-contact .contact-page input[type="tel"], body.page-contact .contact-page textarea, body.page-contact .contact-page select{
  width: 100%;
  min-height: 42px;
  padding: 9px 11px;

  border: 1px solid rgba(127,127,127,.28);
  border-radius: 9px;

  background: transparent;
  color: inherit;

  font: inherit;
  box-shadow: none !important;
}

body.page-contact .contact-page textarea{
  min-height: 120px;
  resize: vertical;
}

body.page-contact .contact-page input:focus, body.page-contact .contact-page textarea:focus, body.page-contact .contact-page select:focus{
  outline: none;
  border-color: #005FAB;
  box-shadow: 0 0 0 3px rgba(0,95,171,.10) !important;
}

/* Labels en tekst */
body.page-contact .contact-page label{
  margin-bottom: 6px;
  font-weight: 700;
}

body.page-contact .contact-page p{
  line-height: 1.65;
}

/* Knoppen */
body.page-contact .contact-page .btn, body.page-contact .contact-page button, body.page-contact .contact-page input[type="submit"]{
  border-radius: 999px !important;
  font-weight: 800;
}

body.page-contact .contact-page button[type="submit"], body.page-contact .contact-page input[type="submit"]{
  padding: 10px 18px;
}

/* Links niet schreeuwerig */
body.page-contact .contact-page a:not(.btn){
  color: inherit;
}

body.page-contact .contact-page a:not(.btn):hover{
  color: #005FAB;
}

/* Contactinfo compacter */
body.page-contact .contact-page .contact-info, body.page-contact .contact-page address{
  line-height: 1.7;
  font-style: normal;
}

/* Mobiel */
@media (max-width: 767.98px){
  body.page-contact .contact-page .site-hero, body.page-contact .contact-page .site-hero > .container > .row{
    padding-top: 16px !important;
  }

  body.page-contact .contact-page .half-sm, body.page-contact .contact-page .media-1, body.page-contact .contact-page .unit-9, body.page-contact .contact-page .bg-white{
    border-radius: 12px !important;
  }

  body.page-contact .contact-page .half-sm .text, body.page-contact .contact-page .media-1 .text{
    padding: 16px !important;
  }

  body.page-contact .contact-page button[type="submit"], body.page-contact .contact-page input[type="submit"]{
    width: 100%;
  }
}

/* Contactpagina compacter bovenaan */
body.page-contact .contact-page .site-hero, body.page-contact .contact-page .site-hero > .container > .row{
  padding-top: 6px !important;
}

body.page-contact .contact-page .site-hero .heading{
  margin-top: 0 !important;
  margin-bottom: 5px !important;
}

/* Tekst direct onder de titel dichterbij */
body.page-contact .contact-page .site-hero .heading + p, body.page-contact .contact-page .site-hero .heading ~ p:first-of-type{
  margin-top: 0 !important;
  margin-bottom: 12px !important;
}

/* Minder ruimte tussen tekst en mailadressen */
body.page-contact .contact-page .site-hero p{
  margin-bottom: 8px;
}

body.page-contact .contact-page .site-hero a[href^="mailto:"]{
  display: inline-block;
  margin-top: 0 !important;
  margin-bottom: 3px !important;
}

/* Contactgegevens onderling compacter */
body.page-contact .contact-page address, body.page-contact .contact-page .contact-info{
  margin-top: 8px !important;
  margin-bottom: 12px !important;
  line-height: 1.5 !important;
}

@media (max-width: 767.98px){
  body.page-contact .contact-page .site-hero, body.page-contact .contact-page .site-hero > .container > .row{
    padding-top: 4px !important;
  }

  body.page-contact .contact-page .site-hero .heading{
    margin-bottom: 4px !important;
  }
}

/* =========================================================
   header.html (gedeeld fragment)
   ========================================================= */
/* =========================
   KSA HEADER
   ========================= */

.ksa-header {
  width: 100%;
  position: relative;
  z-index: 1000;

  background: var(--ksa-header-bg);

  border: none !important;
  border-bottom: none !important;
  box-shadow: none !important;

  font-family: 'Nunito', sans-serif !important;
}

.ksa-header-inner {
  width: 100%;
  max-width: 1450px;
  margin: 0 auto;

  padding: 10px 24px;

  display: flex;
  align-items: center;
  justify-content: space-between;

  gap: 20px;
}


/* =========================
   LOGO
   ========================= */

.ksa-header-logo {
  display: flex;
  align-items: baseline;
  flex-shrink: 0;

  color: var(--ksa-header-text) !important;

  text-decoration: none !important;

  font-family: 'Nunito', sans-serif !important;

  font-size: 27px;
  font-weight: 800;

  line-height: 1;
}

.ksa-header-logo span {
  margin-left: 3px;

  color: #005FAB;

  font-family: 'Nunito', sans-serif !important;

  font-size: 17px;
  font-weight: 700;
}


/* =========================
   DESKTOP NAVIGATIE
   ========================= */

.ksa-header-nav {
  font-family: 'Nunito', sans-serif !important;
}

.ksa-header-nav > ul {
  margin: 0;
  padding: 0;

  display: flex;
  align-items: center;
  justify-content: flex-end;

  gap: 1px;

  list-style: none;
}

.ksa-header-nav li {
  position: relative;

  margin: 0;
  padding: 0;

  list-style: none;
}

.ksa-header-nav a,
.ksa-dropdown-button {
  display: flex;
  align-items: center;

  padding: 9px 9px;

  border: none;
  border-radius: 7px;

  background: transparent;

  color: var(--ksa-header-text) !important;

  font-family: 'Nunito', sans-serif !important;

  font-size: 14px;
  font-weight: 600;

  line-height: 1.2;

  text-decoration: none !important;

  cursor: pointer;

  transition:
    color .2s ease,
    background .2s ease;
}

.ksa-header-nav a:hover,
.ksa-dropdown-button:hover {
  color: #005FAB !important;

  background: var(--ksa-header-hover);
}


/* =========================
   ONZE KSA DROPDOWN
   ========================= */

.ksa-dropdown {
  position: relative;
}

.ksa-dropdown-button {
  display: inline-flex;

  align-items: center;
  justify-content: center;

  gap: 7px;
}

/* pijl */
.ksa-dropdown-arrow {
  width: 7px;
  height: 7px;

  display: inline-block;

  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;

  transform: rotate(45deg) translateY(-2px);

  transform-origin: center;

  transition: transform .2s ease;
}


/* dropdown */
.ksa-dropdown-menu {
  position: absolute;

  top: calc(100% + 5px);
  left: 0;

  min-width: 190px;

  margin: 0;
  padding: 7px;

  list-style: none;

  background: var(--ksa-dropdown-bg);

  border: none;

  border-radius: 10px;

  box-shadow: 0 10px 30px rgba(0,0,0,.18);

  opacity: 0;
  visibility: hidden;

  transform: translateY(-5px);

  transition:
    opacity .18s ease,
    transform .18s ease,
    visibility .18s ease;

  z-index: 2000;
}

.ksa-dropdown-menu li {
  width: 100%;
}

.ksa-dropdown-menu a {
  width: 100%;

  padding: 10px 12px;

  justify-content: flex-start;

  font-size: 14px;
}


/* Desktop dropdown openen */
@media (min-width: 1151px) {

  .ksa-dropdown:hover .ksa-dropdown-menu,
  .ksa-dropdown:focus-within .ksa-dropdown-menu,
  .ksa-dropdown.open .ksa-dropdown-menu {
    opacity: 1;
    visibility: visible;

    transform: translateY(0);
  }

  .ksa-dropdown:hover .ksa-dropdown-arrow,
  .ksa-dropdown:focus-within .ksa-dropdown-arrow,
  .ksa-dropdown.open .ksa-dropdown-arrow {
    transform: rotate(225deg) translate(-1px, -1px);
  }

}


/* =========================
   HAMBURGER
   ========================= */

.ksa-mobile-toggle {
  display: none;

  width: 42px;
  height: 42px;

  margin: 0;
  padding: 8px;

  border: none;

  background: transparent;

  color: var(--ksa-header-text);

  cursor: pointer;
}

.ksa-mobile-toggle span {
  width: 25px;
  height: 2px;

  display: block;

  margin: 5px auto;

  background: currentColor;

  border-radius: 5px;

  transition:
    transform .25s ease,
    opacity .2s ease;
}


/* =========================
   GSM / TABLET
   ========================= */

@media (max-width: 1150px) {

  .ksa-header-inner {
    padding: 9px 18px;

    flex-wrap: wrap;

    gap: 0;
  }


  /* Logo */

  .ksa-header-logo {
    font-size: 24px;
  }

  .ksa-header-logo span {
    font-size: 15px;
  }


  /* Hamburger */

  .ksa-mobile-toggle {
    display: block;

    margin-left: auto;
  }


  /* Menu standaard dicht */

  .ksa-header-nav {
    display: none;

    width: 100%;

    padding-top: 7px;
    padding-bottom: 4px;
  }


  /* Menu open */

  .ksa-header-nav.open {
    display: block;
  }


  .ksa-header-nav > ul {
    width: 100%;

    display: flex;
    flex-direction: column;

    align-items: stretch;

    gap: 0;
  }


  .ksa-header-nav > ul > li {
    width: 100%;
  }


  .ksa-header-nav a {
    width: 100%;

    min-height: 42px;

    padding: 10px 10px;

    display: flex;

    align-items: center;
    justify-content: flex-start;

    font-size: 16px;
  }


  /* =========================
     ONZE KSA WEG OP GSM
     ========================= */

  .ksa-dropdown-button {
    display: none !important;
  }


  /*
    Leiding, Kampen en Media
    worden gewone menu-items
  */

  .ksa-dropdown-menu {
    display: contents !important;

    position: static;

    margin: 0;
    padding: 0;

    background: transparent;

    border: none;
    border-radius: 0;

    box-shadow: none;

    opacity: 1;

    visibility: visible;

    transform: none;
  }


  .ksa-dropdown-menu li {
    width: 100%;
  }


  .ksa-dropdown-menu a {
    width: 100%;

    min-height: 42px;

    padding: 10px 10px;

    color: var(--ksa-header-text) !important;

    font-size: 16px;
    font-weight: 600;
  }


  /* Hamburger naar kruis */

  .ksa-mobile-toggle.open span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }

  .ksa-mobile-toggle.open span:nth-child(2) {
    opacity: 0;
  }

  .ksa-mobile-toggle.open span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

}


/* =========================
   MINDER RUIMTE ONDER HEADER
   ========================= */

.site-hero,
.site-hero > .container > .row {
  padding-top: 4% !important;
}

@media (max-width: 767px) {

  .site-hero,
  .site-hero > .container > .row {
    padding-top: 20px !important;
  }

}

/* =========================================================
   index.html
   ========================================================= */
/* =========================================
   SUBTIELE HOMEPAGE-VERBETERINGEN
   behoudt de bestaande structuur
   ========================================= */

body.page-index .home-soft{
  font-family: "Nunito", sans-serif;
}

/* Minder grote lege ruimte boven content */
body.page-index .site-hero, body.page-index .site-hero > .container > .row{
  padding-top: 28px !important;
}

/* Algemene secties iets rustiger */
body.page-index .site-section{
  padding-top: 46px !important;
  padding-bottom: 46px !important;
}

/* Titels */
body.page-index .site-hero .heading, body.page-index .site-section .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

/* Welkom-blok */
body.page-index .home-welcome-soft{
  max-width: 860px;
  margin: 0 auto;
}

body.page-index .home-welcome-soft p{
  line-height: 1.75;
}

/* Groepen: bestaande inhoud, maar nettere tegels */
body.page-index .home-groups-soft{
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

body.page-index .home-group-soft{
  padding: 17px 15px;
  border-radius: 12px;
  border: 1px solid rgba(127,127,127,.18);
  background: rgba(127,127,127,.035);
  transition: transform .2s ease, border-color .2s ease;
}

body.page-index .home-group-soft:hover{
  transform: translateY(-3px);
  border-color: rgba(0,95,171,.45);
}

body.page-index .home-group-soft h3{
  margin: 0 0 6px;
  color: inherit;
  font-size: 1.05rem;
  font-weight: 800;
}

body.page-index .home-group-soft p{
  margin: 0;
  font-size: .9rem;
  opacity: .72;
  line-height: 1.45;
}

/* Evenementen iets meer vorm */
body.page-index #frontpage-evenementen{
  margin-top: 12px;
}

body.page-index #frontpage-evenementen > [class*="col-"]{
  margin-bottom: 18px;
}

body.page-index #frontpage-evenementen .card, body.page-index #frontpage-evenementen .unit-9, body.page-index #frontpage-evenementen .event-card{
  border-radius: 13px !important;
  overflow: hidden;
}

/* Kamp- en info-afbeeldingen */
body.page-index .site-section img{
  border-radius: 12px;
}

/* Bestaande half-sm blokken subtieler */
body.page-index .half-sm{
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(127,127,127,.14);
}

body.page-index .half-sm .text{
  padding: 22px !important;
}

/* Links/knoppen iets zachter */
body.page-index .btn, body.page-index .home-soft .btn{
  border-radius: 999px;
}

/* Mooimakers en onderste blokken */
body.page-index .home-soft-panel{
  border: 1px solid rgba(127,127,127,.16);
  border-radius: 14px;
  padding: 22px;
  background: rgba(127,127,127,.03);
}

/* Mobiel */
@media (max-width: 1199px){
  body.page-index .home-groups-soft{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767.98px){
  body.page-index .site-hero, body.page-index .site-hero > .container > .row{
    padding-top: 18px !important;
  }

  body.page-index .site-section{
    padding-top: 34px !important;
    padding-bottom: 34px !important;
  }

  body.page-index .home-groups-soft{
    grid-template-columns: 1fr;
    gap: 10px;
  }

  body.page-index .home-group-soft{
    padding: 14px;
  }

  body.page-index .half-sm .text{
    padding: 17px !important;
  }
}

/* =========================================================
   inschrijvingsfiche.html
   ========================================================= */
/* =========================================
   INSCHRIJVINGSFICHE - subtiele redesign
   ========================================= */

body.page-inschrijvingsfiche .signup-page{
  font-family: "Nunito", sans-serif;
}

body.page-inschrijvingsfiche .signup-page .site-hero, body.page-inschrijvingsfiche .signup-page .site-hero > .container > .row{
  padding-top: 22px !important;
}

body.page-inschrijvingsfiche .signup-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-inschrijvingsfiche .signup-page .signup-intro{
  max-width: 820px;
  margin: 0 auto 26px;
  line-height: 1.7;
}

body.page-inschrijvingsfiche .signup-page .signup-intro a{
  color: #005FAB;
  font-weight: 700;
}

body.page-inschrijvingsfiche .signup-page form#contactForm{
  max-width: 980px;
  margin: 0 auto 60px;
  padding: 24px;
  border: 1px solid rgba(127,127,127,.18);
  border-radius: 16px;
  background: rgba(127,127,127,.025);
  box-shadow: 0 10px 28px rgba(0,0,0,.06);
}

body.page-inschrijvingsfiche .signup-page form#contactForm table{
  width: 100% !important;
  border-collapse: separate;
  border-spacing: 0 10px;
  table-layout: fixed;
}

body.page-inschrijvingsfiche .signup-page form#contactForm td{
  vertical-align: middle !important;
  padding: 5px 8px;
  border: none !important;
  color: inherit;
}

body.page-inschrijvingsfiche .signup-page form#contactForm tr td[colspan="4"] > strong, body.page-inschrijvingsfiche .signup-page form#contactForm tr td[colspan="4"] > b{
  display: block;
  margin: 18px 0 4px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(0,95,171,.10);
  color: inherit;
  font-size: 1.08rem;
  font-weight: 800;
}

body.page-inschrijvingsfiche .signup-page form#contactForm tr:first-of-type td[colspan="4"] > strong{
  margin-top: 0;
}

body.page-inschrijvingsfiche .signup-page input[type="text"], body.page-inschrijvingsfiche .signup-page input[type="email"], body.page-inschrijvingsfiche .signup-page input[type="date"], body.page-inschrijvingsfiche .signup-page input[type="month"], body.page-inschrijvingsfiche .signup-page textarea, body.page-inschrijvingsfiche .signup-page select{
  width: 100%;
  min-height: 44px;
  padding: 10px 12px;
  border: 1px solid rgba(127,127,127,.32);
  border-radius: 9px;
  background: transparent;
  color: inherit;
  font: inherit;
  outline: none;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

body.page-inschrijvingsfiche .signup-page textarea{
  min-height: 88px;
  resize: vertical;
}

body.page-inschrijvingsfiche .signup-page input:focus, body.page-inschrijvingsfiche .signup-page textarea:focus, body.page-inschrijvingsfiche .signup-page select:focus{
  border-color: #005FAB;
  box-shadow: 0 0 0 3px rgba(0,95,171,.12);
}

body.page-inschrijvingsfiche .signup-page input[type="radio"]{
  width: 18px;
  height: 18px;
  margin: 0 5px 0 8px;
  accent-color: #005FAB;
  vertical-align: middle;
}

body.page-inschrijvingsfiche .signup-page button[type="submit"]{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 150px;
  padding: 11px 20px;
  border: 1px solid #005FAB;
  border-radius: 999px;
  background: #005FAB;
  color: #fff;
  font-family: "Nunito", sans-serif;
  font-weight: 800;
  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
}

body.page-inschrijvingsfiche .signup-page button[type="submit"]:hover{
  transform: translateY(-2px);
  filter: brightness(1.08);
}

body.page-inschrijvingsfiche .signup-page form#contactForm td em strong{
  font-style: normal;
}

body.page-inschrijvingsfiche .signup-page form#contactForm small, body.page-inschrijvingsfiche .signup-page form#contactForm td{
  line-height: 1.5;
}

/* Verplicht sterretje subtiel accent */
body.page-inschrijvingsfiche .signup-page form#contactForm td:first-child{
  font-weight: 600;
}

/* uitlegblokken UitPAS / drankkaart */
body.page-inschrijvingsfiche .signup-page form#contactForm tr td[colspan="4"]:not(:has(strong)){
  line-height: 1.7;
}

/* Mobiel: tabel omzetten naar leesbare blokken */
@media (max-width: 767.98px){
  body.page-inschrijvingsfiche .signup-page .site-hero, body.page-inschrijvingsfiche .signup-page .site-hero > .container > .row{
    padding-top: 16px !important;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm{
    padding: 14px;
    border-radius: 12px;
    margin-bottom: 38px;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm table, body.page-inschrijvingsfiche .signup-page form#contactForm tbody, body.page-inschrijvingsfiche .signup-page form#contactForm tr, body.page-inschrijvingsfiche .signup-page form#contactForm td{
    display: block;
    width: 100% !important;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm{
    overflow: hidden;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm tr{
    margin-bottom: 13px;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm td{
    padding: 3px 0;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm td:empty, body.page-inschrijvingsfiche .signup-page form#contactForm td:has(> div:empty){
    display: none;
  }

  body.page-inschrijvingsfiche .signup-page form#contactForm tr td[colspan="4"] > strong, body.page-inschrijvingsfiche .signup-page form#contactForm tr td[colspan="4"] > b{
    margin-top: 20px;
    padding: 11px 12px;
  }

  body.page-inschrijvingsfiche .signup-page input[type="radio"]{
    margin-left: 0;
    margin-right: 5px;
  }

  body.page-inschrijvingsfiche .signup-page button[type="submit"]{
    width: 100%;
    margin-top: 8px;
  }
}

/* 2 kolommen op desktop, 1 op gsm */
body.page-inschrijvingsfiche .signup-page form#contactForm{
  max-width: 1180px;
  margin: 0 auto 55px;
  padding: 22px 26px;
}

body.page-inschrijvingsfiche .signup-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  column-gap: 22px;
  row-gap: 12px;
}

body.page-inschrijvingsfiche .signup-section-title{
  grid-column: 1 / -1;
  margin-top: 10px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(0,95,171,.10);
  font-size: 1.08rem;
  font-weight: 800;
}

body.page-inschrijvingsfiche .signup-section-title:first-child{
  margin-top: 0;
}

body.page-inschrijvingsfiche .signup-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.page-inschrijvingsfiche .signup-field-full, body.page-inschrijvingsfiche .signup-info, body.page-inschrijvingsfiche .signup-submit{
  grid-column: 1 / -1;
}

body.page-inschrijvingsfiche .signup-field label{
  margin: 0;
  font-weight: 700;
  line-height: 1.35;
}

body.page-inschrijvingsfiche .signup-field small{
  margin-top: -3px;
  opacity: .65;
}

body.page-inschrijvingsfiche .signup-field input[type="text"], body.page-inschrijvingsfiche .signup-field input[type="email"], body.page-inschrijvingsfiche .signup-field input[type="date"], body.page-inschrijvingsfiche .signup-field input[type="month"], body.page-inschrijvingsfiche .signup-field textarea, body.page-inschrijvingsfiche .signup-field select{
  width: 100%;
  min-height: 40px;
  padding: 8px 10px;
  border: 1px solid rgba(127,127,127,.32);
  border-radius: 8px;
  background: transparent;
  color: inherit;
  font: inherit;
  box-sizing: border-box;
}

body.page-inschrijvingsfiche .signup-field textarea{
  min-height: 72px;
  resize: vertical;
}

body.page-inschrijvingsfiche .signup-field input:focus, body.page-inschrijvingsfiche .signup-field textarea:focus, body.page-inschrijvingsfiche .signup-field select:focus{
  outline: none;
  border-color: #005FAB;
  box-shadow: 0 0 0 3px rgba(0,95,171,.10);
}

body.page-inschrijvingsfiche .signup-radio-row{
  min-height: 40px;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 7px 10px;
  border: 1px solid rgba(127,127,127,.22);
  border-radius: 8px;
}

body.page-inschrijvingsfiche .signup-radio-option{
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0;
  cursor: pointer;
  font-weight: 600 !important;
}

body.page-inschrijvingsfiche .signup-radio-option input{
  width: 18px;
  height: 18px;
  accent-color: #005FAB;
}

body.page-inschrijvingsfiche .signup-info{
  padding: 12px 14px;
  border-radius: 9px;
  background: rgba(127,127,127,.045);
  line-height: 1.65;
}

body.page-inschrijvingsfiche .signup-submit{
  display: flex;
  justify-content: flex-end;
  padding-top: 8px;
}

body.page-inschrijvingsfiche .signup-submit button{
  min-width: 170px;
}

@media (max-width: 767.98px){
  body.page-inschrijvingsfiche .signup-page form#contactForm{
    padding: 14px;
  }

  body.page-inschrijvingsfiche .signup-grid{
    grid-template-columns: 1fr;
    gap: 11px;
  }

  body.page-inschrijvingsfiche .signup-section-title, body.page-inschrijvingsfiche .signup-field-full, body.page-inschrijvingsfiche .signup-info, body.page-inschrijvingsfiche .signup-submit{
    grid-column: 1;
  }

  body.page-inschrijvingsfiche .signup-submit button{
    width: 100%;
  }
}

/* Breder formulier + neutrale kaders */
body.page-inschrijvingsfiche .signup-page form#contactForm{
  max-width: 1320px !important;
  width: calc(100% - 30px);
  padding: 20px 28px !important;
  border: 1px solid rgba(127,127,127,.20) !important;
  background: transparent !important;
  box-shadow: none !important;
}

body.page-inschrijvingsfiche .signup-grid{
  column-gap: 26px !important;
}

/* Geen blauwe kleur in sectiekaders */
body.page-inschrijvingsfiche .signup-section-title{
  background: transparent !important;
  border: 1px solid rgba(127,127,127,.24);
  color: inherit !important;
}

/* Ook infokaders volledig neutraal */
body.page-inschrijvingsfiche .signup-info{
  background: transparent !important;
  border: 1px solid rgba(127,127,127,.20);
}

/* Velden neutraal; blauw alleen bij focus */
body.page-inschrijvingsfiche .signup-field input[type="text"], body.page-inschrijvingsfiche .signup-field input[type="email"], body.page-inschrijvingsfiche .signup-field input[type="date"], body.page-inschrijvingsfiche .signup-field input[type="month"], body.page-inschrijvingsfiche .signup-field textarea, body.page-inschrijvingsfiche .signup-field select, body.page-inschrijvingsfiche .signup-radio-row{
  background: transparent !important;
  border-color: rgba(127,127,127,.30) !important;
}

body.page-inschrijvingsfiche .signup-field input:focus, body.page-inschrijvingsfiche .signup-field textarea:focus, body.page-inschrijvingsfiche .signup-field select:focus{
  border-color: #005FAB !important;
}

@media (max-width: 767.98px){
  body.page-inschrijvingsfiche .signup-page form#contactForm{
    width: calc(100% - 20px);
    padding: 14px !important;
  }
}

/* =========================================================
   kampen.html
   ========================================================= */
body.page-kampen .camp-page{
    padding: 28px 0 70px;
    font-family: "Nunito", sans-serif;
  }

  body.page-kampen .camp-intro{
    max-width: 760px;
    margin: 0 auto 34px;
    text-align: center;
  }

  body.page-kampen .camp-intro .eyebrow{
    color: #005FAB;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
    font-size: .82rem;
    margin-bottom: 8px;
  }

  body.page-kampen .camp-intro h1{
    margin: 0 0 12px;
    font-size: clamp(2rem, 5vw, 3.4rem);
    font-weight: 800;
    line-height: 1.05;
    color: #005FAB;
  }

  body.page-kampen .camp-intro p{
    margin: 0 auto;
    max-width: 650px;
    opacity: .72;
  }

  body.page-kampen .camp-jump{
    display: flex;
    justify-content: center;
    gap: 10px;
    flex-wrap: wrap;
    margin-top: 22px;
  }

  body.page-kampen .camp-jump a{
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 120px;
    padding: 10px 17px;
    border-radius: 999px;
    border: 1px solid rgba(127,127,127,.28);
    color: inherit;
    text-decoration: none !important;
    font-weight: 700;
  }

  body.page-kampen .camp-jump a:hover{
    color: #fff !important;
    border-color: #005FAB;
    background: #005FAB;
  }

  body.page-kampen .camp-section{
    margin-top: 54px;
  }

  body.page-kampen .camp-section-head{
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 20px;
  }

  body.page-kampen .camp-section-head h2{
    margin: 0;
    font-size: clamp(1.6rem, 3vw, 2.35rem);
    font-weight: 800;
    color: inherit;
  }

  body.page-kampen .camp-section-head p{
    margin: 0;
    opacity: .58;
    font-size: .95rem;
  }

  body.page-kampen .camp-grid{
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 22px;
  }

  body.page-kampen .camp-card{
    position: relative;
    overflow: hidden;
    border-radius: 16px;
    border: 1px solid rgba(127,127,127,.20);
    background: rgba(127,127,127,.045);
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
  }

  body.page-kampen .camp-card:hover{
    transform: translateY(-5px);
    border-color: rgba(0,95,171,.55);
    box-shadow: 0 16px 34px rgba(0,0,0,.15);
  }

  body.page-kampen .camp-card-image{
    position: relative;
    aspect-ratio: 16 / 10;
    overflow: hidden;
    background: rgba(127,127,127,.10);
  }

  body.page-kampen .camp-card-image img{
    width: 100%;
    height: 100%;
    display: block;
    object-fit: cover;
    transition: transform .45s ease;
  }

  body.page-kampen .camp-card:hover .camp-card-image img{
    transform: scale(1.04);
  }

  body.page-kampen .camp-year{
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    padding: 6px 11px;
    border-radius: 999px;
    background: #005FAB;
    color: #fff;
    font-weight: 800;
    font-size: .92rem;
    box-shadow: 0 5px 16px rgba(0,0,0,.20);
  }

  body.page-kampen .camp-label{
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 2;
    padding: 6px 10px;
    border-radius: 999px;
    background: rgba(0,0,0,.72);
    color: #fff;
    font-size: .76rem;
    font-weight: 700;
  }

  body.page-kampen .camp-card-body{
    padding: 17px 18px 19px;
  }

  body.page-kampen .camp-date{
    color: #005FAB;
    font-weight: 800;
    font-size: .9rem;
    margin-bottom: 6px;
  }

  body.page-kampen .camp-card h3{
    margin: 0 0 8px;
    color: inherit;
    font-size: 1.2rem;
    font-weight: 800;
    line-height: 1.25;
  }

  body.page-kampen .camp-address{
    margin: 0;
    opacity: .68;
    line-height: 1.55;
    font-size: .94rem;
  }

  body.page-kampen .camp-card.featured{
    grid-column: span 2;
  }

  body.page-kampen .camp-card.featured .camp-card-image{
    aspect-ratio: 16 / 7.7;
  }

  body.page-kampen .camp-card.featured h3{
    font-size: 1.35rem;
  }

  @media (max-width: 991.98px){
    body.page-kampen .camp-grid{
      grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body.page-kampen .camp-card.featured{
      grid-column: span 2;
    }
  }

  @media (max-width: 575.98px){
    body.page-kampen .camp-page{
      padding-top: 18px;
    }

    body.page-kampen .camp-intro{
      margin-bottom: 24px;
    }

    body.page-kampen .camp-section{
      margin-top: 40px;
    }

    body.page-kampen .camp-section-head{
      align-items: flex-start;
      flex-direction: column;
      gap: 4px;
    }

    body.page-kampen .camp-grid{
      grid-template-columns: 1fr;
      gap: 16px;
    }

    body.page-kampen .camp-card.featured{
      grid-column: auto;
    }

    body.page-kampen .camp-card.featured .camp-card-image, body.page-kampen .camp-card-image{
      aspect-ratio: 16 / 10;
    }

    body.page-kampen .camp-card-body{
      padding: 15px 16px 17px;
    }
  }

/* =========================================================
   kledingsfiche.html
   ========================================================= */
/* =========================================
   KLEDINGSFICHE - zelfde stijl als inschrijving
   ========================================= */

body.page-kledingsfiche .clothing-page{
  font-family: "Nunito", sans-serif;
}

body.page-kledingsfiche .clothing-page .site-hero, body.page-kledingsfiche .clothing-page .site-hero > .container > .row{
  padding-top: 18px !important;
}

body.page-kledingsfiche .clothing-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-kledingsfiche .clothing-page form{
  max-width: 1320px;
  width: calc(100% - 30px);
  margin: 0 auto 55px;
  padding: 20px 28px;

  border: 1px solid rgba(127,127,127,.20);
  border-radius: 14px;

  background: transparent;
  box-shadow: none;
}

body.page-kledingsfiche .clothing-grid{
  display: grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  column-gap: 26px;
  row-gap: 12px;
}

body.page-kledingsfiche .clothing-section-title{
  grid-column: 1 / -1;

  margin-top: 10px;
  padding: 10px 12px;

  border: 1px solid rgba(127,127,127,.24);
  border-radius: 10px;

  background: transparent;

  color: inherit;
  font-size: 1.08rem;
  font-weight: 800;
}

body.page-kledingsfiche .clothing-section-title:first-child{
  margin-top: 0;
}

body.page-kledingsfiche .clothing-field{
  display: flex;
  flex-direction: column;
  gap: 6px;
}

body.page-kledingsfiche .clothing-field-full, body.page-kledingsfiche .clothing-info{
  grid-column: 1 / -1;
}

body.page-kledingsfiche .clothing-field label{
  margin: 0;
  color: inherit;
  font-weight: 700;
  line-height: 1.35;
}

body.page-kledingsfiche .clothing-field input[type="text"], body.page-kledingsfiche .clothing-field input[type="email"], body.page-kledingsfiche .clothing-field input[type="number"], body.page-kledingsfiche .clothing-field input[type="tel"], body.page-kledingsfiche .clothing-field select, body.page-kledingsfiche .clothing-field textarea{
  width: 100%;
  min-height: 40px;

  padding: 8px 10px;

  border: 1px solid rgba(127,127,127,.30);
  border-radius: 8px;

  background: transparent;
  color: inherit;

  font: inherit;
  box-sizing: border-box;
}

body.page-kledingsfiche .clothing-field textarea{
  min-height: 72px;
  resize: vertical;
}

body.page-kledingsfiche .clothing-field input:focus, body.page-kledingsfiche .clothing-field select:focus, body.page-kledingsfiche .clothing-field textarea:focus{
  outline: none;
  border-color: #005FAB;
  box-shadow: 0 0 0 3px rgba(0,95,171,.10);
}

body.page-kledingsfiche .clothing-field input[type="radio"], body.page-kledingsfiche .clothing-field input[type="checkbox"]{
  width: 18px;
  height: 18px;
  accent-color: #005FAB;
}

body.page-kledingsfiche .clothing-info{
  padding: 12px 14px;

  border: 1px solid rgba(127,127,127,.20);
  border-radius: 9px;

  background: transparent;

  line-height: 1.65;
  opacity: .82;
}

body.page-kledingsfiche .clothing-page button[type="submit"], body.page-kledingsfiche .clothing-page input[type="submit"]{
  min-width: 170px;
  padding: 11px 20px;

  border: 1px solid #005FAB;
  border-radius: 999px;

  background: #005FAB;
  color: #fff;

  font-family: "Nunito", sans-serif;
  font-weight: 800;

  cursor: pointer;
  transition: transform .2s ease, filter .2s ease;
}

body.page-kledingsfiche .clothing-page button[type="submit"]:hover, body.page-kledingsfiche .clothing-page input[type="submit"]:hover{
  transform: translateY(-2px);
  filter: brightness(1.08);
}

/* Geen ongewenste blauwe tekstlinks in het formulier */
body.page-kledingsfiche .clothing-page form a:not(.btn){
  color: inherit !important;
  text-decoration: none !important;
}

@media (max-width: 767.98px){
  body.page-kledingsfiche .clothing-page form{
    width: calc(100% - 20px);
    padding: 14px;
  }

  body.page-kledingsfiche .clothing-grid{
    grid-template-columns: 1fr;
    gap: 11px;
  }

  body.page-kledingsfiche .clothing-section-title, body.page-kledingsfiche .clothing-field-full, body.page-kledingsfiche .clothing-info{
    grid-column: 1;
  }

  body.page-kledingsfiche .clothing-page button[type="submit"], body.page-kledingsfiche .clothing-page input[type="submit"]{
    width: 100%;
  }
}

/* FIX: opties van dropdowns zichtbaar maken */
body.page-kledingsfiche .clothing-page select{
  color: inherit !important;
}

/* De geopende native keuzelijst is bij veel browsers wit */
body.page-kledingsfiche .clothing-page select option{
  background: #ffffff !important;
  color: #111111 !important;
}

/* Eventuele placeholder/lege optie ook leesbaar */
body.page-kledingsfiche .clothing-page select option[value=""]{
  color: #555555 !important;
}

body.page-kledingsfiche .clothing-recaptcha{
  margin-top: 4px;
}
body.page-kledingsfiche .clothing-recaptcha .g-recaptcha{
  transform-origin: left top;
}
body.page-kledingsfiche .clothing-page input[name="Submit"]{
  grid-column: 1 / -1;
}
@media (max-width: 420px){
  body.page-kledingsfiche .clothing-recaptcha .g-recaptcha{
    transform: scale(.88);
    margin-bottom: -8px;
  }
}

/* =========================================================
   leiding.html
   ========================================================= */
/* =========================
   LEIDINGSPAGINA
   ========================= */

body.page-leiding .leiding-page{
  font-family: "Nunito", sans-serif;
  padding: 24px 0 64px;
}

body.page-leiding .leiding-intro{
  max-width: 720px;
  margin: 0 auto 36px;
  text-align: center;
}

body.page-leiding .leiding-intro .eyebrow{
  margin-bottom: 7px;
  color: #005FAB;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

body.page-leiding .leiding-intro h1{
  margin: 0 0 10px;
  color: #005FAB;
  font-size: clamp(2.1rem, 4vw, 3.4rem);
  font-weight: 800;
  line-height: 1.05;
}

body.page-leiding .leiding-intro p{
  margin: 0;
  opacity: .70;
  line-height: 1.7;
}

body.page-leiding .leiding-section{
  margin-top: 54px;
}

body.page-leiding .leiding-section:first-of-type{
  margin-top: 0;
}

body.page-leiding .leiding-section-head{
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 17px;
  padding-bottom: 10px;
  border-bottom: 1px solid rgba(127,127,127,.18);
}

body.page-leiding .leiding-section-head h2{
  margin: 0;
  color: inherit;
  font-size: clamp(1.5rem, 2.5vw, 2rem);
  font-weight: 800;
}

body.page-leiding .leiding-groupmail{
  color: #005FAB !important;
  font-size: .92rem;
  font-weight: 700;
  text-decoration: none !important;
}

body.page-leiding .leiding-groupmail:hover{
  text-decoration: underline !important;
}

/* 4 kaarten op pc */
body.page-leiding .leiding-grid{
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 18px;
}

body.page-leiding .leiding-card{
  min-width: 0;
  overflow: hidden;
  border: 1px solid rgba(127,127,127,.18);
  border-radius: 14px;
  background: rgba(127,127,127,.035);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

body.page-leiding .leiding-card:hover{
  transform: translateY(-4px);
  border-color: rgba(0,95,171,.48);
  box-shadow: 0 12px 28px rgba(0,0,0,.11);
}

body.page-leiding .leiding-photo{
  position: relative;
  overflow: hidden;
  aspect-ratio: 4 / 5;
  background: rgba(127,127,127,.08);
}

body.page-leiding .leiding-photo img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  transition: transform .35s ease;
}

body.page-leiding .leiding-card:hover .leiding-photo img{
  transform: scale(1.025);
}

body.page-leiding .leiding-body{
  padding: 14px 14px 16px;
}

body.page-leiding .leiding-body h3{
  margin: 0 0 7px;
  color: inherit;
  font-size: 1.08rem;
  font-weight: 800;
  line-height: 1.25;
}

body.page-leiding .leiding-role{
  display: inline-block;
  margin-bottom: 9px;
  padding: 4px 8px;
  border-radius: 999px;
  color: #005FAB;
  background: rgba(0,95,171,.10);
  font-size: .72rem;
  font-weight: 800;
  line-height: 1.2;
}

body.page-leiding .leiding-role.normal{
  color: inherit;
  background: rgba(127,127,127,.10);
  opacity: .75;
}

body.page-leiding .leiding-mail{
  display: block;
  overflow-wrap: anywhere;
  color: inherit !important;
  opacity: .68;
  font-size: .87rem;
  text-decoration: none !important;
  line-height: 1.45;
}

body.page-leiding .leiding-mail:hover{
  color: #005FAB !important;
  opacity: 1;
}

/* Bij exact 5 kaarten: 5e kaart netjes centreren */
body.page-leiding .leiding-grid.five > .leiding-card:nth-child(5){
  grid-column: 2 / span 2;
  width: calc(50% - 9px);
  justify-self: center;
}

/* Hoofdleiding iets extra nadruk, maar subtiel */
body.page-leiding .leiding-section.hoofdleiding .leiding-section-head{
  border-bottom-color: rgba(0,95,171,.30);
}

body.page-leiding .leiding-section.hoofdleiding .leiding-card{
  border-color: rgba(0,95,171,.24);
}

/* Tablet */
@media (max-width: 1100px){
  body.page-leiding .leiding-grid{
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  body.page-leiding .leiding-grid.five > .leiding-card:nth-child(5){
    grid-column: auto;
    width: auto;
    justify-self: stretch;
  }
}

@media (max-width: 820px){
  body.page-leiding .leiding-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  body.page-leiding .leiding-section-head{
    align-items: flex-start;
    flex-direction: column;
    gap: 3px;
  }
}

/* GSM */
@media (max-width: 520px){
  body.page-leiding .leiding-page{
    padding-top: 18px;
  }

  body.page-leiding .leiding-intro{
    margin-bottom: 26px;
  }

  body.page-leiding .leiding-section{
    margin-top: 40px;
  }

  body.page-leiding .leiding-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.page-leiding .leiding-photo{
    aspect-ratio: 16 / 12;
  }

  body.page-leiding .leiding-body{
    padding: 13px 14px 15px;
  }
}

/* =========================================================
   main.html (gedeeld fragment)
   ========================================================= */
img {
  margin: 0 auto;
  display: block;
  margin-top: 20%;
}

/* =========================================================
   media.html
   ========================================================= */
html{ scroll-behavior: smooth; }
body.page-media .media-page{ padding-top: 18px; }
body.page-media .media-intro{ padding: 48px 0 30px; text-align: center; }
body.page-media .media-intro-inner{ max-width: 760px; margin: 0 auto; }
body.page-media .media-kicker{ display: inline-block; color: #005FAB; font-size: 13px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; margin-bottom: 8px; }
body.page-media .media-intro h1, body.page-media .media-section-heading h2{ margin: 0; font-family: "Nunito", sans-serif; font-weight: 800; color: inherit; }
body.page-media .media-intro h1{ font-size: clamp(2.2rem, 5vw, 4rem); color: #005FAB; }
body.page-media .media-intro p{ max-width: 620px; margin: 14px auto 0; font-size: 1.05rem; opacity: .82; }
body.page-media .media-jump-links{ display: flex; justify-content: center; gap: 10px; flex-wrap: wrap; margin-top: 22px; }
body.page-media .media-jump-links a{ padding: 10px 16px; border-radius: 999px; background: #005FAB; color: #fff !important; font-weight: 700; text-decoration: none !important; }
body.page-media .media-jump-links a:last-child{ background: rgba(127,127,127,.12); color: inherit !important; }
body.page-media .media-section{ padding: 38px 0 58px; }
body.page-media .media-section-heading{ display: flex; align-items: end; justify-content: space-between; gap: 30px; margin-bottom: 24px; }
body.page-media .media-section-heading h2{ font-size: clamp(1.7rem, 3vw, 2.4rem); }
body.page-media .media-section-heading p{ margin: 0; opacity: .72; }
body.page-media .media-grid{ display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 22px; }
body.page-media .media-card{ position: relative; display: block; min-height: 260px; border-radius: 16px; overflow: hidden; background: rgba(127,127,127,.12); text-decoration: none !important; box-shadow: 0 8px 24px rgba(0,0,0,.12); transform: translateY(0); transition: transform .22s ease, box-shadow .22s ease; }
body.page-media .media-card:hover{ transform: translateY(-5px); box-shadow: 0 14px 34px rgba(0,0,0,.20); }
body.page-media .media-card img{ width: 100%; height: 100%; min-height: 260px; object-fit: cover; display: block; transition: transform .35s ease; }
body.page-media .media-card:hover img{ transform: scale(1.035); }
body.page-media .media-card::after{ content: ""; position: absolute; inset: 0; background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.28) 47%, rgba(0,0,0,.05) 72%); }
body.page-media .media-card-overlay{ position: absolute; left: 0; right: 0; bottom: 0; z-index: 2; padding: 20px; color: #fff; }
body.page-media .media-year{ display: inline-block; margin-bottom: 5px; font-size: 12px; font-weight: 800; letter-spacing: .1em; color: #9fd2ff; }
body.page-media .media-card h3{ margin: 0 0 7px; color: #fff; font-size: 1.25rem; font-weight: 800; }
body.page-media .media-open{ font-size: .92rem; opacity: .88; }
body.page-media .media-video-section{ padding-top: 22px; }
body.page-media .video-grid{ display: grid; grid-template-columns: repeat(2, minmax(0,1fr)); gap: 22px; }
body.page-media .video-card{ aspect-ratio: 16/9; overflow: hidden; border-radius: 16px; background: #000; box-shadow: 0 8px 24px rgba(0,0,0,.14); }
body.page-media .video-card iframe{ width: 100%; height: 100%; border: 0; display: block; }
@media (max-width: 991px){ body.page-media .media-grid{ grid-template-columns: repeat(2, minmax(0,1fr)); } body.page-media .media-intro{ padding-top: 34px; } }
@media (max-width: 700px){ body.page-media .media-page{ padding-top: 0; } body.page-media .media-intro{ padding: 28px 0 18px; } body.page-media .media-section{ padding: 26px 0 42px; } body.page-media .media-section-heading{ display: block; margin-bottom: 18px; } body.page-media .media-section-heading p{ margin-top: 7px; } body.page-media .media-grid, body.page-media .video-grid{ grid-template-columns: 1fr; gap: 16px; } body.page-media .media-card, body.page-media .media-card img{ min-height: 230px; } body.page-media .media-card-overlay{ padding: 17px; } }

/* =========================================================
   sponsors.html
   ========================================================= */
/* =========================================
   SPONSORS - subtiel modern, inhoud behouden
   ========================================= */

body.page-sponsors .sponsors-page{
  font-family: "Nunito", sans-serif;
}

body.page-sponsors .sponsors-page .site-hero, body.page-sponsors .sponsors-page .site-hero > .container > .row{
  padding-top: 20px !important;
}

body.page-sponsors .sponsors-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

/* Grote sponsorblokken */
body.page-sponsors .sponsors-page .half-sm, body.page-sponsors .sponsors-page .unit-9, body.page-sponsors .sponsors-page .media-1, body.page-sponsors .sponsors-page .bg-white{
  border-radius: 16px !important;
  overflow: hidden;
}

body.page-sponsors .sponsors-page .half-sm{
  border: 1px solid rgba(127,127,127,.18);
  background: transparent !important;
  box-shadow: 0 8px 22px rgba(0,0,0,.05);
}

body.page-sponsors .sponsors-page .half-sm .text{
  padding: 24px !important;
}

/* Afbeeldingen/logo's */
body.page-sponsors .sponsors-page img{
  border-radius: 12px;
}

body.page-sponsors .sponsors-page .half-sm img{
  border-radius: 0;
}

/* Tekst iets rustiger */
body.page-sponsors .sponsors-page p{
  line-height: 1.7;
}

body.page-sponsors .sponsors-page h2, body.page-sponsors .sponsors-page h3{
  font-weight: 800;
}

/* Sponsorlogo's onderaan als nette blokken */
body.page-sponsors .sponsors-page .sponsor-logo-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
  margin-top: 22px;
}

body.page-sponsors .sponsors-page .sponsor-logo-card{
  display: flex;
  align-items: center;
  justify-content: center;

  min-height: 180px;
  padding: 18px;

  border: 1px solid rgba(127,127,127,.18);
  border-radius: 14px;

  background: transparent;

  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body.page-sponsors .sponsors-page .sponsor-logo-card:hover{
  transform: translateY(-3px);
  border-color: rgba(0,95,171,.38);
  box-shadow: 0 10px 24px rgba(0,0,0,.07);
}

body.page-sponsors .sponsors-page .sponsor-logo-card img{
  max-width: 100%;
  max-height: 120px;
  width: auto;
  height: auto;
  object-fit: contain;
  border-radius: 0;
}

@media (max-width: 991.98px){
  body.page-sponsors .sponsors-page .sponsor-logo-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 575.98px){
  body.page-sponsors .sponsors-page .site-hero, body.page-sponsors .sponsors-page .site-hero > .container > .row{
    padding-top: 16px !important;
  }

  body.page-sponsors .sponsors-page .half-sm, body.page-sponsors .sponsors-page .unit-9, body.page-sponsors .sponsors-page .media-1, body.page-sponsors .sponsors-page .bg-white{
    border-radius: 12px !important;
  }

  body.page-sponsors .sponsors-page .half-sm .text{
    padding: 17px !important;
  }

  body.page-sponsors .sponsors-page .sponsor-logo-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  body.page-sponsors .sponsors-page .sponsor-logo-card{
    min-height: 140px;
  }
}

/* =========================================================
   uitpas.html
   ========================================================= */
/* Alleen visuele aanpassingen — inhoud blijft origineel */
body.page-uitpas .steun-page .site-hero, body.page-uitpas .steun-page .site-hero > .container > .row{
  padding-top: 20px !important;
}

body.page-uitpas .steun-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-uitpas .steun-page .half-sm, body.page-uitpas .steun-page .media-1, body.page-uitpas .steun-page .unit-9, body.page-uitpas .steun-page .bg-white{
  border-radius: 16px !important;
  overflow: hidden;
}

body.page-uitpas .steun-page img{
  border-radius: 14px;
}

body.page-uitpas .steun-page .half-sm{
  border: 1px solid rgba(127,127,127,.18);
  background: transparent !important;
}

body.page-uitpas .steun-page .half-sm .text{
  padding: 24px !important;
}

body.page-uitpas .steun-page .btn, body.page-uitpas .steun-page a.btn{
  border-radius: 999px !important;
}

@media (max-width: 767.98px){
  body.page-uitpas .steun-page .site-hero, body.page-uitpas .steun-page .site-hero > .container > .row{
    padding-top: 16px !important;
  }

  body.page-uitpas .steun-page .half-sm, body.page-uitpas .steun-page img{
    border-radius: 12px !important;
  }

  body.page-uitpas .steun-page .half-sm .text{
    padding: 17px !important;
  }
}

/* =========================================================
   uniform.html
   ========================================================= */
/* =========================================
   UNIFORM - subtiel modern
   ========================================= */

body.page-uniform .uniform-page{
  font-family: "Nunito", sans-serif;
}

body.page-uniform .uniform-page .site-hero, body.page-uniform .uniform-page .site-hero > .container > .row{
  padding-top: 22px !important;
}

body.page-uniform .uniform-page .site-hero .heading{
  font-weight: 800;
  letter-spacing: -.02em;
}

body.page-uniform .uniform-intro{
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

body.page-uniform .uniform-intro p{
  margin: 0;
  line-height: 1.7;
  opacity: .72;
}

body.page-uniform .uniform-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 18px;
  margin-top: 24px;
}

body.page-uniform .uniform-card{
  overflow: hidden;
  border: 1px solid rgba(127,127,127,.18);
  border-radius: 14px;
  background: rgba(127,127,127,.03);
  transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease;
}

body.page-uniform .uniform-card:hover{
  transform: translateY(-3px);
  border-color: rgba(0,95,171,.42);
  box-shadow: 0 10px 24px rgba(0,0,0,.08);
}

body.page-uniform .uniform-card-image{
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: rgba(127,127,127,.08);
}

body.page-uniform .uniform-card-image img{
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}

body.page-uniform .uniform-card-body{
  padding: 16px;
}

body.page-uniform .uniform-card h3{
  margin: 0 0 7px;
  color: inherit;
  font-size: 1.15rem;
  font-weight: 800;
}

body.page-uniform .uniform-price{
  display: inline-block;
  margin-bottom: 10px;
  color: #005FAB;
  font-weight: 800;
}

body.page-uniform .uniform-card p{
  margin: 0;
  line-height: 1.6;
  opacity: .72;
  font-size: .94rem;
}

body.page-uniform .uniform-info{
  margin-top: 28px;
  padding: 18px 20px;
  border: 1px solid rgba(127,127,127,.18);
  border-radius: 14px;
  background: transparent;
}

body.page-uniform .uniform-info h2{
  margin: 0 0 8px;
  color: inherit;
  font-size: 1.35rem;
  font-weight: 800;
}

body.page-uniform .uniform-info p{
  margin: 0;
  line-height: 1.7;
  opacity: .75;
}

body.page-uniform .uniform-action{
  margin-top: 22px;
  text-align: center;
}

body.page-uniform .uniform-action .btn, body.page-uniform .uniform-action a.btn{
  border-radius: 999px !important;
  padding: 10px 18px;
  font-weight: 800;
}

@media (max-width: 991.98px){
  body.page-uniform .uniform-grid{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 575.98px){
  body.page-uniform .uniform-page .site-hero, body.page-uniform .uniform-page .site-hero > .container > .row{
    padding-top: 16px !important;
  }

  body.page-uniform .uniform-grid{
    grid-template-columns: 1fr;
    gap: 14px;
  }

  body.page-uniform .uniform-card-body{
    padding: 14px;
  }
}

/* Gewone tekstlinks op de uniformpagina niet blauw tonen */
body.page-uniform .uniform-page a:not(.btn):not(.site-menu a):not(.social a){
  color: inherit !important;
  text-decoration: none !important;
}

/* Alleen echte knoppen behouden hun voorziene styling */
body.page-uniform .uniform-page a:not(.btn):not(.site-menu a):not(.social a):hover{
  color: inherit !important;
  text-decoration: none !important;
}

/* =========================================================
   verhuur-aanvraag.php
   ========================================================= */
body.page-verhuur-aanvraag{margin:0;background:#000;color:#fff;font-family:Arial,sans-serif;display:grid;min-height:100vh;place-items:center}body.page-verhuur-aanvraag .box{max-width:620px;margin:24px;padding:30px;border:1px solid rgba(255,255,255,.18);border-radius:16px;text-align:center}body.page-verhuur-aanvraag .box h1{margin-top:0}body.page-verhuur-aanvraag .box a{display:inline-block;margin-top:14px;padding:10px 18px;border-radius:999px;background:#005FAB;color:#fff;text-decoration:none;font-weight:bold}

/* =========================================================
   verhuur-nieuw.html
   ========================================================= */
body.page-verhuur-nieuw .rental-page{font-family:"Nunito",sans-serif;padding:16px 0 64px}body.page-verhuur-nieuw .rental-intro{max-width:820px;margin:0 auto 30px;text-align:center}body.page-verhuur-nieuw .rental-intro h1{margin:0 0 10px;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:800;color:inherit}body.page-verhuur-nieuw .rental-intro p{margin:0;line-height:1.7;opacity:.72}body.page-verhuur-nieuw .rental-note{margin-top:10px;font-size:.9rem;opacity:.62}body.page-verhuur-nieuw .rental-category{margin-top:42px}body.page-verhuur-nieuw .rental-category-head{display:flex;justify-content:space-between;align-items:end;gap:16px;margin-bottom:14px;padding-bottom:9px;border-bottom:1px solid rgba(127,127,127,.18)}body.page-verhuur-nieuw .rental-category-head h2{margin:0;font-size:1.5rem;font-weight:800;color:inherit}body.page-verhuur-nieuw .rental-category-head span{font-size:.86rem;opacity:.58}body.page-verhuur-nieuw .rental-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}body.page-verhuur-nieuw .rental-card{overflow:hidden;border:1px solid rgba(127,127,127,.18);border-radius:15px;background:rgba(127,127,127,.025);transition:.2s}body.page-verhuur-nieuw .rental-card:hover{transform:translateY(-3px);border-color:rgba(0,95,171,.42);box-shadow:0 10px 25px rgba(0,0,0,.08)}body.page-verhuur-nieuw .rental-image{aspect-ratio:16/10;overflow:hidden;background:rgba(127,127,127,.08)}body.page-verhuur-nieuw .rental-image img{width:100%;height:100%;display:block;object-fit:cover}body.page-verhuur-nieuw .rental-body{padding:15px 16px 17px}body.page-verhuur-nieuw .rental-body h3{margin:0 0 6px;font-size:1.08rem;font-weight:800;color:inherit}body.page-verhuur-nieuw .rental-meta{min-height:42px;margin-bottom:8px;font-size:.88rem;line-height:1.5;opacity:.68}body.page-verhuur-nieuw .rental-price{margin-bottom:12px;font-size:.91rem;line-height:1.55}body.page-verhuur-nieuw .rental-price strong{color:#005FAB}body.page-verhuur-nieuw .rental-select-row{display:flex;align-items:center;gap:9px}body.page-verhuur-nieuw .rental-select-row input[type=checkbox]{width:18px;height:18px;accent-color:#005FAB}body.page-verhuur-nieuw .rental-select-row input[type=number]{width:68px;height:38px;padding:6px 8px;border:1px solid rgba(127,127,127,.28);border-radius:8px;background:transparent;color:inherit}body.page-verhuur-nieuw .rental-select-row label{margin:0;font-size:.85rem;font-weight:700}body.page-verhuur-nieuw .rental-booking{margin-top:55px;padding-top:34px;border-top:1px solid rgba(127,127,127,.18)}body.page-verhuur-nieuw .rental-booking-head{text-align:center;max-width:760px;margin:0 auto 24px}body.page-verhuur-nieuw .rental-booking-head h2{margin:0 0 7px;font-size:clamp(1.7rem,3vw,2.35rem);font-weight:800;color:inherit}body.page-verhuur-nieuw .rental-booking-head p{margin:0;opacity:.66}body.page-verhuur-nieuw .booking-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:start}body.page-verhuur-nieuw .booking-panel{padding:18px;border:1px solid rgba(127,127,127,.18);border-radius:15px;background:transparent}body.page-verhuur-nieuw .booking-panel h3{margin:0 0 12px;font-size:1.08rem;font-weight:800;color:inherit}body.page-verhuur-nieuw .calendar-header{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}body.page-verhuur-nieuw .calendar-header button{width:38px;height:38px;border:1px solid rgba(127,127,127,.22);border-radius:999px;background:transparent;color:inherit;font-size:18px;cursor:pointer}body.page-verhuur-nieuw .calendar-title{font-weight:800;text-transform:capitalize}body.page-verhuur-nieuw .calendar-weekdays, body.page-verhuur-nieuw .calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}body.page-verhuur-nieuw .calendar-weekdays div{text-align:center;padding:4px 0;font-size:.72rem;font-weight:800;opacity:.52}body.page-verhuur-nieuw .calendar-day{aspect-ratio:1;border:1px solid transparent;border-radius:8px;background:transparent;color:inherit;font:inherit;font-size:.84rem;cursor:pointer}body.page-verhuur-nieuw .calendar-day:hover:not(:disabled){border-color:rgba(0,95,171,.45)}body.page-verhuur-nieuw .calendar-day:disabled{opacity:.22;cursor:not-allowed}body.page-verhuur-nieuw .calendar-day.in-range{background:rgba(0,95,171,.12)}body.page-verhuur-nieuw .calendar-day.range-start, body.page-verhuur-nieuw .calendar-day.range-end{background:#005FAB;color:#fff;font-weight:800}body.page-verhuur-nieuw .date-summary{margin-top:12px;padding:9px 11px;border:1px solid rgba(127,127,127,.18);border-radius:9px;font-size:.9rem;line-height:1.5}body.page-verhuur-nieuw .selection-summary{margin-top:16px}body.page-verhuur-nieuw .selection-empty{opacity:.55;font-size:.9rem}body.page-verhuur-nieuw .selection-item{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid rgba(127,127,127,.11);font-size:.9rem}body.page-verhuur-nieuw .selection-item:last-child{border-bottom:0}body.page-verhuur-nieuw .rental-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px}body.page-verhuur-nieuw .rental-field{display:flex;flex-direction:column;gap:5px}body.page-verhuur-nieuw .rental-field.full{grid-column:1/-1}body.page-verhuur-nieuw .rental-field label{margin:0;font-size:.87rem;font-weight:700}body.page-verhuur-nieuw .rental-field input, body.page-verhuur-nieuw .rental-field textarea{width:100%;min-height:42px;padding:9px 11px;border:1px solid rgba(127,127,127,.28);border-radius:9px;background:transparent;color:inherit;font:inherit;box-sizing:border-box}body.page-verhuur-nieuw .rental-field textarea{min-height:100px;resize:vertical}body.page-verhuur-nieuw .rental-field input:focus, body.page-verhuur-nieuw .rental-field textarea:focus{outline:none;border-color:#005FAB;box-shadow:0 0 0 3px rgba(0,95,171,.1)}body.page-verhuur-nieuw .rental-submit{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:4px}body.page-verhuur-nieuw .rental-submit small{max-width:430px;line-height:1.45;opacity:.6}body.page-verhuur-nieuw .rental-submit button{padding:10px 18px;border:1px solid #005FAB;border-radius:999px;background:#005FAB;color:#fff;font-weight:800;cursor:pointer}body.page-verhuur-nieuw .rental-submit button:hover{filter:brightness(1.08)}body.page-verhuur-nieuw #form-status{grid-column:1/-1;padding:10px 12px;border-radius:9px;display:none}body.page-verhuur-nieuw #form-status.error{display:block;border:1px solid rgba(200,60,60,.35);background:rgba(200,60,60,.08)}body.page-verhuur-nieuw .contact-mini{margin-top:18px;text-align:center;font-size:.91rem;opacity:.72}body.page-verhuur-nieuw .contact-mini a{color:#005FAB!important;font-weight:700}
@media (max-width:1100px){body.page-verhuur-nieuw .rental-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.page-verhuur-nieuw .booking-layout{grid-template-columns:1fr}}@media (max-width:650px){body.page-verhuur-nieuw .rental-grid{grid-template-columns:1fr;gap:13px}body.page-verhuur-nieuw .rental-category-head{align-items:flex-start;flex-direction:column;gap:3px}body.page-verhuur-nieuw .booking-panel{padding:14px}body.page-verhuur-nieuw .rental-form{grid-template-columns:1fr}body.page-verhuur-nieuw .rental-field.full, body.page-verhuur-nieuw .rental-submit{grid-column:1}body.page-verhuur-nieuw .rental-submit{align-items:stretch;flex-direction:column}body.page-verhuur-nieuw .rental-submit button{width:100%}body.page-verhuur-nieuw .calendar-grid, body.page-verhuur-nieuw .calendar-weekdays{gap:3px}}
