/* =========================================================
   Rijschool L - design system (RAK rebrand)
   ========================================================= */
:root{
  --rl-blue:#0b4da2; --rl-blue-dark:#08376f; --rl-blue-light:#eaf1fb;
  --rl-accent:#f5a623; --rl-accent-dark:#e0951a;
  --rl-wa:#25d366;
  --rl-ink:#15233a; --rl-grey:#5b6b7b; --rl-line:#e4eaf2;
  --rl-radius:14px; --rl-radius-sm:10px;
  --rl-shadow:0 10px 30px rgba(11,77,162,.08);
  --rl-shadow-sm:0 2px 8px rgba(16,42,67,.06);
  --rl-maxw:1140px;
}
*{box-sizing:border-box;}
body{color:var(--rl-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:1.05rem;line-height:1.7;-webkit-font-smoothing:antialiased;background:#fff;}
.wrapper{padding:0;margin:0;}
#content{padding:0;}
img{max-width:100%;height:auto;}

h1,h2,h3,h4{color:var(--rl-blue-dark);font-weight:800;line-height:1.18;letter-spacing:-.01em;}
h1{font-size:2.7rem;margin:0 0 .5em;}
h2{font-size:1.95rem;margin:0 0 .6em;}
h3{font-size:1.2rem;margin:0 0 .35em;}
p{margin:0 0 1rem;}
.rl-container{max-width:var(--rl-maxw);margin:0 auto;padding:0 24px;}
.rl-narrow{max-width:760px;}

/* Eyebrow / kicker */
.rl-kicker,.rl-eyebrow{display:inline-block;text-transform:uppercase;letter-spacing:.14em;
  font-weight:700;font-size:.78rem;color:var(--rl-blue);background:var(--rl-blue-light);
  padding:.4rem .8rem;border-radius:999px;margin-bottom:1rem;}
.rl-hero .rl-kicker{color:#cfe0f5;background:rgba(255,255,255,.12);}

/* Section rhythm */
.rl-section{padding:5rem 0;}
.rl-section--tint{background:var(--rl-blue-light);}
.rl-section--dark{background:var(--rl-blue-dark);color:#dbe7f7;}
.rl-section h2{position:relative;}
.rl-section--center{text-align:center;}
.rl-section--center .rl-usps{text-align:left;}
.rl-lead{font-size:1.22rem;color:var(--rl-grey);max-width:760px;}
.rl-section--center .rl-lead{margin-left:auto;margin-right:auto;}

/* ---------- HERO ---------- */
.rl-hero{position:relative;overflow:hidden;color:#fff;
  background:radial-gradient(1200px 500px at 80% -10%,#1763c0 0%,transparent 60%),
             linear-gradient(135deg,var(--rl-blue) 0%,var(--rl-blue-dark) 100%);
  padding:5.5rem 0;}
.rl-hero:after{content:"";position:absolute;right:-120px;top:-120px;width:420px;height:420px;
  border-radius:50%;border:60px solid rgba(255,255,255,.05);}
.rl-hero h1{color:#fff;}
.rl-hero .lead,.rl-hero p.lead{font-size:1.3rem;line-height:1.6;color:#e7f0fb;max-width:620px;}
.rl-hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:3rem;align-items:center;}
.rl-hero-actions{margin-top:1.6rem;display:flex;flex-wrap:wrap;gap:.7rem;}
.rl-hero-card{background:rgba(255,255,255,.97);color:var(--rl-ink);border-radius:18px;
  padding:1.8rem;box-shadow:0 24px 60px rgba(3,28,66,.35);}
.rl-hero-card h3{color:var(--rl-blue-dark);font-size:1.15rem;margin-bottom:1rem;}
.rl-checklist{list-style:none;margin:0;padding:0;}
.rl-checklist li{position:relative;padding:.5rem 0 .5rem 2.1rem;border-bottom:1px solid var(--rl-line);font-weight:600;color:var(--rl-ink);}
.rl-checklist li:last-child{border-bottom:0;}
.rl-checklist li:before{content:"";position:absolute;left:0;top:.7rem;width:1.3rem;height:1.3rem;border-radius:50%;
  background:var(--rl-blue) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/0.8rem no-repeat;}

/* ---------- Buttons ---------- */
.rl-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.9rem 1.7rem;border-radius:999px;
  font-weight:700;font-size:1rem;text-decoration:none;transition:transform .12s ease,box-shadow .12s ease,background .12s;cursor:pointer;}
.rl-btn:hover{transform:translateY(-2px);}
.rl-btn--call{background:var(--rl-accent);color:#3a2600;box-shadow:0 8px 20px rgba(245,166,35,.35);}
.rl-btn--call:hover{background:var(--rl-accent-dark);color:#3a2600;}
.rl-btn--form{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.7);}
.rl-btn--form:hover{background:#fff;color:var(--rl-blue-dark);border-color:#fff;}
.rl-section .rl-btn--form{color:var(--rl-blue-dark);border-color:var(--rl-blue);}
.rl-section .rl-btn--form:hover{background:var(--rl-blue);color:#fff;}
.rl-btn--ghost{background:#fff;border:2px solid var(--rl-line);color:var(--rl-blue-dark);}
.rl-btn--ghost:hover{border-color:var(--rl-blue);color:var(--rl-blue);}

/* ---------- Cards / USP grid ---------- */
.rl-usps{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.4rem;margin:2.2rem 0 0;}
.rl-usp{background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:1.7rem;
  box-shadow:var(--rl-shadow-sm);transition:transform .15s ease,box-shadow .15s ease,border-color .15s;}
.rl-usp:hover{transform:translateY(-4px);box-shadow:var(--rl-shadow);border-color:#cdddf3;}
.rl-usp h3{color:var(--rl-blue-dark);}
.rl-usp p{color:var(--rl-grey);margin:0;}
.rl-usp p + p{margin-top:.6rem;}
.rl-usp a{font-weight:700;text-decoration:none;color:var(--rl-blue);}
.rl-usp a:hover{text-decoration:underline;}
/* icon badge */
.rl-ico{display:inline-flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:14px;
  background:var(--rl-blue-light);color:var(--rl-blue);margin-bottom:1rem;}
.rl-ico svg{width:26px;height:26px;}
.rl-usp--link{display:flex;flex-direction:column;}

/* number list (stappen) */
.rl-steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:1.4rem;margin-top:2rem;counter-reset:step;}
.rl-step{position:relative;background:#fff;border:1px solid var(--rl-line);border-radius:var(--rl-radius);padding:1.6rem;box-shadow:var(--rl-shadow-sm);}
.rl-step:before{counter-increment:step;content:counter(step);position:absolute;top:-16px;left:1.4rem;
  width:36px;height:36px;border-radius:50%;background:var(--rl-blue);color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;}

/* Lists in content */
.rl-section ul:not(.rl-checklist):not(.rl-foot-links){list-style:none;padding:0;margin:1.2rem 0;}
.rl-section ul:not(.rl-checklist):not(.rl-foot-links) li{position:relative;padding:.35rem 0 .35rem 1.8rem;}
.rl-section ul:not(.rl-checklist):not(.rl-foot-links) li:before{content:"";position:absolute;left:0;top:.72rem;
  width:1.1rem;height:1.1rem;border-radius:50%;background:var(--rl-blue-light) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230b4da2' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/0.7rem no-repeat;}

/* ---------- Tabel ---------- */
.rl-table-wrap{overflow-x:auto;border-radius:var(--rl-radius);box-shadow:var(--rl-shadow-sm);margin:1.4rem 0;}
.rl-table{width:100%;border-collapse:collapse;background:#fff;min-width:640px;}
.rl-table th,.rl-table td{border-bottom:1px solid var(--rl-line);padding:.85rem 1rem;text-align:left;}
.rl-table thead th{background:var(--rl-blue);color:#fff;font-weight:700;border-bottom:0;}
.rl-table tr:last-child td{border-bottom:0;}
.rl-table tbody tr:hover td{background:#f6f9fe;}
.rl-todo{color:#b8002e;font-weight:700;}

/* ---------- CTA blok ---------- */
.rl-cta{position:relative;overflow:hidden;background:linear-gradient(135deg,var(--rl-blue) 0%,var(--rl-blue-dark) 100%);
  color:#fff;border-radius:20px;padding:3rem 2rem;text-align:center;box-shadow:var(--rl-shadow);}
.rl-cta:after{content:"";position:absolute;left:-80px;bottom:-100px;width:300px;height:300px;border-radius:50%;border:50px solid rgba(255,255,255,.05);}
.rl-cta h2{color:#fff;margin-top:0;}
.rl-cta p{color:#e7f0fb;font-size:1.12rem;max-width:560px;margin:0 auto 1.2rem;}
.rl-cta .rl-phone{display:inline-block;font-size:1.8rem;font-weight:800;color:#fff;text-decoration:none;margin:.2rem 0 1rem;}
.rl-cta-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;}

/* student doorverwijzing */
.rl-note{display:flex;gap:.9rem;align-items:flex-start;border-left:4px solid var(--rl-blue);
  background:#fff;border:1px solid var(--rl-line);border-left-width:4px;padding:1.1rem 1.3rem;border-radius:0 var(--rl-radius-sm) var(--rl-radius-sm) 0;margin:1.6rem 0;box-shadow:var(--rl-shadow-sm);}
.rl-note a{color:var(--rl-blue);font-weight:700;}

/* =========================================================
   NAVBAR
   ========================================================= */
#wrapper-navbar{position:sticky;top:0;z-index:1030;}
#wrapper-navbar #main-nav.navbar{background:#fff!important;border-bottom:1px solid var(--rl-line);
  box-shadow:0 1px 0 rgba(0,0,0,.02);padding:.55rem 0;}
#wrapper-navbar .container,#wrapper-navbar .container-fluid{max-width:var(--rl-maxw);margin:0 auto;padding:0 24px;width:100%;}
.navbar-brand img,.custom-logo{max-height:50px;width:auto;}
#wrapper-navbar h1.navbar-brand,#wrapper-navbar .custom-logo-link + .navbar-brand{display:none;}
#wrapper-navbar #main-nav .navbar-nav{gap:.2rem;align-items:center;}
#wrapper-navbar #main-nav .nav-link{color:var(--rl-ink)!important;font-weight:600;padding:.55rem .95rem!important;border-radius:999px;transition:background .12s,color .12s;}
#wrapper-navbar #main-nav .nav-link:hover{color:var(--rl-blue)!important;background:var(--rl-blue-light);}
#wrapper-navbar #main-nav .current-menu-item>.nav-link,#wrapper-navbar #main-nav .active>.nav-link{color:var(--rl-blue)!important;background:var(--rl-blue-light);}
/* laatste item als knop-CTA: Contact */
#wrapper-navbar #main-nav .menu-item:last-child .nav-link{background:var(--rl-accent);color:#3a2600!important;font-weight:700;}
#wrapper-navbar #main-nav .menu-item:last-child .nav-link:hover{background:var(--rl-accent-dark);color:#3a2600!important;}
.navbar-toggler{border:2px solid var(--rl-line)!important;padding:.35rem .55rem;}
.navbar-dark .navbar-toggler-icon{filter:invert(.5) sepia(1) saturate(6) hue-rotate(190deg);}

/* =========================================================
   FOOTER
   ========================================================= */
#wrapper-footer{background:var(--rl-blue-dark);color:#bcd2ee;padding:3.5rem 0 2rem;margin-top:0;}
#wrapper-footer .rl-foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:2.2rem;}}max-width:var(--rl-maxw);margin:0 auto;padding:0 24px;}
#wrapper-footer h4{color:#fff;font-size:1.05rem;margin:0 0 .8rem;}
#wrapper-footer a{color:#e7f0fb;text-decoration:none;}
#wrapper-footer a:hover{text-decoration:underline;}
#wrapper-footer p{margin:0 0 .6rem;line-height:1.6;}
#wrapper-footer .rl-container{padding-top:0;}

/* =========================================================
   FLOATING ACTIE-WIDGET
   ========================================================= */
.rl-fab{position:fixed;right:18px;bottom:18px;z-index:1040;display:flex;flex-direction:column;gap:.6rem;align-items:flex-end;}
.rl-fab a{display:inline-flex;align-items:center;gap:.6rem;padding:.7rem 1.1rem;border-radius:999px;
  font-weight:700;font-size:.98rem;text-decoration:none;color:#fff;box-shadow:0 8px 22px rgba(0,0,0,.22);
  transition:transform .12s ease,filter .12s;white-space:nowrap;}
.rl-fab a:hover{transform:translateY(-2px) scale(1.02);filter:brightness(1.05);}
.rl-fab .rl-fab-ico{display:inline-flex;width:22px;height:22px;}
.rl-fab .rl-fab-ico svg{width:22px;height:22px;fill:currentColor;}
.rl-fab .fab-call{background:var(--rl-accent);color:#3a2600;}
.rl-fab .fab-contact{background:var(--rl-blue);color:#fff;}
.rl-fab .fab-wa{background:var(--rl-wa);color:#fff;}

/* =========================================================
   RESPONSIVE / MOBIEL
   ========================================================= */
@media (max-width:992px){
  h1{font-size:2.2rem;} h2{font-size:1.7rem;}
  .rl-section{padding:3.5rem 0;}
  .rl-hero{padding:3.5rem 0;}
  .rl-hero-grid{grid-template-columns:1fr;gap:2rem;}
  .rl-hero-card{order:2;}
  #wrapper-footer .rl-foot{grid-template-columns:1fr 1fr;gap:1.6rem;}
}
@media (max-width:768px){
  body{font-size:1rem;}
  #wrapper-navbar #main-nav .navbar-nav{gap:.1rem;padding:.6rem 0;}
  #wrapper-navbar #main-nav .nav-link{display:block;padding:.7rem .9rem!important;}
  #wrapper-navbar #main-nav .menu-item:last-child .nav-link{text-align:center;margin-top:.3rem;}
  .navbar-brand img,.custom-logo{max-height:42px;}
}
@media (max-width:600px){
  h1{font-size:1.85rem;} h2{font-size:1.5rem;}
  .rl-container{padding:0 18px;}
  .rl-section{padding:2.8rem 0;}
  .rl-hero{padding:2.8rem 0;}
  .rl-hero .lead,.rl-hero p.lead{font-size:1.12rem;}
  .rl-btn{width:100%;justify-content:center;}
  .rl-hero-actions{flex-direction:column;}
  .rl-cta{padding:2rem 1.2rem;}
  .rl-cta-actions{flex-direction:column;}
  .rl-cta-actions .rl-btn{width:100%;}
  #wrapper-footer .rl-foot{grid-template-columns:1fr;}
  /* widget compacter: labels verbergen, ronde knoppen */
  .rl-fab a{padding:.8rem;border-radius:50%;}
  .rl-fab .rl-fab-label{display:none;}
  .rl-fab .rl-fab-ico{width:24px;height:24px;}
}

/* =========================================================
   Gelijke breedtes (geordend/professioneel)
   ========================================================= */
/* Hero-knoppen gelijk breed */
.rl-hero-actions .rl-btn{min-width:248px;justify-content:center;}
/* CTA-knoppen gelijk breed */
.rl-cta-actions .rl-btn{min-width:248px;justify-content:center;}
/* Ghost-knoppenrij netjes */
.rl-btn--ghost{min-width:220px;justify-content:center;}
/* Floating widget: alle pills zelfde breedte, label links uitgelijnd */
.rl-fab a{width:176px;justify-content:flex-start;}
@media (max-width:600px){
  .rl-hero-actions .rl-btn,.rl-cta-actions .rl-btn,.rl-btn--ghost{min-width:0;width:100%;}
  .rl-fab a{width:auto;justify-content:center;}
}

/* =========================================================
   Tarieventabel - strak, hairline, subtiel
   ========================================================= */
.rl-table{border:1px solid #eef2f7;border-radius:var(--rl-radius);overflow:hidden;}
.rl-table thead th{background:#f3f7fd!important;color:var(--rl-blue-dark)!important;font-weight:700;
  font-size:.86rem;letter-spacing:.02em;text-transform:none;border-bottom:1px solid #dde7f4;padding:.85rem 1.1rem;}
.rl-table th,.rl-table td{border:0;border-bottom:1px solid #eff3f8;padding:.72rem 1.1rem;font-size:.97rem;vertical-align:middle;}
.rl-table tbody tr:nth-child(even) td{background:#fafcff;}
.rl-table tbody tr:hover td{background:#f0f6ff;}
.rl-table tbody tr:last-child td{border-bottom:0;}
.rl-table td:first-child{font-weight:600;color:var(--rl-ink);}
.rl-table td:nth-child(2){color:var(--rl-grey);}
/* prijskolommen rechts uitlijnen en uitvullen */
.rl-table--prijs th:nth-child(n+3),.rl-table--prijs td:nth-child(n+3){text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;}
.rl-prijs{font-weight:800;color:var(--rl-blue-dark);}
.rl-table caption{caption-side:top;text-align:left;font-weight:700;color:var(--rl-blue-dark);padding:.2rem 0 .6rem;}

/* =========================================================
   Rustiger / zakelijker / betrouwbaar (verfijning)
   ========================================================= */
:root{
  --rl-shadow:0 6px 20px rgba(16,42,67,.06);
  --rl-shadow-sm:0 1px 3px rgba(16,42,67,.05);
  --rl-line:#e7ecf3;
}
/* Kalmere typografie */
h1{font-size:2.45rem;letter-spacing:-.015em;}
h2{font-size:1.7rem;}
.rl-section{padding:4.5rem 0;}
.rl-lead{font-size:1.14rem;color:var(--rl-grey);}

/* Kalmere hero: subtiele gradient, geen grote ring */
.rl-hero{background:linear-gradient(160deg,#0e54ad 0%,var(--rl-blue-dark) 100%);padding:4.8rem 0;border-bottom:3px solid var(--rl-accent);}
.rl-hero:after{display:none;}
.rl-hero .lead,.rl-hero p.lead{color:#dce7f6;}
.rl-hero-card{box-shadow:0 16px 40px rgba(3,28,66,.22);border:1px solid rgba(255,255,255,.6);border-radius:14px;}

/* Eyebrow rustiger: geen pil, maar label met accentstreepje */
.rl-eyebrow,.rl-kicker{background:transparent;padding:0;border-radius:0;color:var(--rl-blue);
  font-size:.8rem;letter-spacing:.16em;display:inline-flex;align-items:center;gap:.6rem;margin-bottom:1rem;}
.rl-eyebrow:before,.rl-kicker:before{content:"";width:26px;height:2px;background:var(--rl-accent);display:inline-block;}
.rl-hero .rl-kicker{color:#bcd2ee;}
.rl-hero .rl-kicker:before{background:var(--rl-accent);}

/* Icon-badges subtieler */
.rl-ico{width:46px;height:46px;border-radius:12px;background:#f1f5fb;color:var(--rl-blue);margin-bottom:.9rem;}
.rl-ico svg{width:23px;height:23px;}

/* Cards rustiger: minder lift */
.rl-usp{border-radius:12px;box-shadow:none;border:1px solid var(--rl-line);}
.rl-usp:hover{transform:none;box-shadow:var(--rl-shadow);border-color:#d5e0ef;}
.rl-btn:hover{transform:none;}
.rl-btn--call{box-shadow:none;}
.rl-fab a:hover{transform:translateY(-1px);}

/* Secties kalmer (neutraal i.p.v. fel blauw) */
.rl-section--tint{background:#f6f8fc;}

/* Navbar Contact-knop zakelijk blauw i.p.v. oranje */
#wrapper-navbar #main-nav .menu-item:last-child .nav-link{background:var(--rl-blue);color:#fff!important;}
#wrapper-navbar #main-nav .menu-item:last-child .nav-link:hover{background:var(--rl-blue-dark);color:#fff!important;}

/* CTA rustiger: geen ring, subtieler */
.rl-cta{background:linear-gradient(160deg,#0e54ad 0%,var(--rl-blue-dark) 100%);border-radius:16px;box-shadow:var(--rl-shadow);}
.rl-cta:after{display:none;}

/* Checklist subtieler */
.rl-checklist li{font-weight:600;color:var(--rl-ink);}
.rl-hero-card h3{font-weight:700;}

/* Hero-knoppen overal gelijk breed naast elkaar (ook zonder wrapper) */
.rl-hero .rl-btn{min-width:248px;justify-content:center;margin:.35rem .7rem .35rem 0;}
@media (max-width:600px){
  .rl-hero .rl-btn{min-width:0;width:100%;margin:.3rem 0;}
}

/* Iets kleinere fonts + minder dikke koppen */
body{font-size:1rem;}
h1{font-size:2.25rem;font-weight:800;}
h2{font-size:1.45rem;font-weight:700;letter-spacing:-.005em;}
h3{font-size:1.12rem;font-weight:700;}
.rl-lead{font-size:1.08rem;}
.rl-hero .lead,.rl-hero p.lead{font-size:1.18rem;}
.rl-section{padding:4rem 0;}

/* =========================================================
   Lettertype: Manrope (zakelijk, rustiger gewicht)
   ========================================================= */
body{font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;}
h1,h2,h3,h4{font-family:"Manrope",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;}
h1{font-weight:700;letter-spacing:-.02em;}
h2{font-weight:700;}
h3{font-weight:600;}
.rl-hero h1{font-weight:700;}
.rl-cta h2{font-weight:700;}
.navbar-brand,#wrapper-navbar .nav-link{font-weight:600;}

/* =========================================================
   Gravity Forms - strak & professioneel
   ========================================================= */
.gform_wrapper{max-width:620px;}
.gform_wrapper .gform_fields{display:grid;grid-template-columns:1fr;gap:1.1rem;}
.gform_wrapper .gfield_label{font-weight:600;color:var(--rl-blue-dark);font-size:.95rem;margin-bottom:.35rem;display:block;}
.gform_wrapper .gfield_required{color:#b8002e;margin-left:.2rem;}
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=url],
.gform_wrapper textarea,
.gform_wrapper select{
  width:100%!important;box-sizing:border-box;
  border:1px solid var(--rl-line)!important;border-radius:9px!important;
  padding:.72rem .9rem!important;font-size:1rem;font-family:inherit;color:var(--rl-ink);
  background:#fff;transition:border-color .12s, box-shadow .12s;box-shadow:none!important;}
.gform_wrapper input:focus,.gform_wrapper textarea:focus,.gform_wrapper select:focus{
  border-color:var(--rl-blue)!important;outline:none;box-shadow:0 0 0 3px rgba(11,77,162,.12)!important;}
.gform_wrapper textarea{min-height:140px;resize:vertical;}
.gform_wrapper .gfield_description{color:var(--rl-grey);font-size:.86rem;margin-top:.3rem;}
.gform_wrapper .ginput_container{margin:0;}
/* reCAPTCHA ruimte */
.gform_wrapper .gfield.gfield_captcha,.gform_wrapper .ginput_recaptcha{margin-top:.3rem;}
/* Verzendknop in huisstijl */
.gform_wrapper .gform_footer{margin-top:1.4rem;padding:0;}
.gform_wrapper .gform_footer input[type=submit],
.gform_wrapper .gform_footer button{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--rl-accent)!important;color:#3a2600!important;border:0!important;
  padding:.9rem 2rem!important;border-radius:999px!important;font-weight:700!important;font-size:1rem!important;
  cursor:pointer;transition:background .12s, transform .12s;width:100%;max-width:280px;}
.gform_wrapper .gform_footer input[type=submit]:hover{background:var(--rl-accent-dark)!important;}
/* validatie */
.gform_wrapper .validation_message{color:#b8002e;font-size:.88rem;margin-top:.3rem;}
.gform_wrapper .gfield_error input,.gform_wrapper .gfield_error textarea{border-color:#e0a0ad!important;}
.gform_confirmation_message{background:var(--rl-blue-light);border:1px solid #cdddf3;border-radius:12px;padding:1.2rem 1.4rem;color:var(--rl-blue-dark);font-weight:600;}

/* CTA-blok (donkere achtergrond): form-knop wit leesbaar */
.rl-cta .rl-btn--form{background:transparent;color:#fff!important;border:2px solid rgba(255,255,255,.75);}
.rl-cta .rl-btn--form:hover{background:#fff;color:var(--rl-blue-dark)!important;border-color:#fff;}
.rl-cta .rl-btn--call{background:var(--rl-accent);color:#3a2600!important;}

/* Knoppenparen overal exact dezelfde tussenruimte */
.rl-hero-actions,.rl-cta-actions{gap:1rem;}
.rl-hero-actions .rl-btn,.rl-cta-actions .rl-btn{margin:0;}

/* =========================================================
   Media-rij (tekst + foto)
   ========================================================= */
.rl-media{display:grid;grid-template-columns:1fr 1fr;gap:3rem;align-items:center;}
.rl-media--reverse .rl-figure{order:-1;}
.rl-media h2{margin-top:0;}
.rl-figure{border-radius:16px;overflow:hidden;box-shadow:var(--rl-shadow);margin:0;}
.rl-figure img{display:block;width:100%;height:100%;object-fit:cover;aspect-ratio:3/2;}
.rl-hero .rl-figure{box-shadow:0 16px 40px rgba(3,28,66,.3);}
@media (max-width:768px){
  .rl-media{grid-template-columns:1fr;gap:1.6rem;}
  .rl-media--reverse .rl-figure{order:0;}
}

/* =========================================================
   Contact Form 7 - strak & professioneel
   ========================================================= */
.wpcf7{max-width:620px;}
.wpcf7-form p{margin:0 0 1.1rem;}
.wpcf7-form label{display:block;font-weight:600;color:var(--rl-blue-dark);font-size:.95rem;}
.wpcf7-form input[type=text],
.wpcf7-form input[type=tel],
.wpcf7-form input[type=email],
.wpcf7-form input[type=url],
.wpcf7-form textarea,
.wpcf7-form select{
  width:100%;box-sizing:border-box;margin-top:.35rem;
  border:1px solid var(--rl-line);border-radius:9px;
  padding:.72rem .9rem;font-size:1rem;font-family:inherit;color:var(--rl-ink);
  background:#fff;transition:border-color .12s, box-shadow .12s;}
.wpcf7-form input:focus,.wpcf7-form textarea:focus,.wpcf7-form select:focus{
  border-color:var(--rl-blue);outline:none;box-shadow:0 0 0 3px rgba(11,77,162,.12);}
.wpcf7-form textarea{min-height:140px;resize:vertical;}
.wpcf7-form .wpcf7-submit{
  display:inline-flex;align-items:center;justify-content:center;
  background:var(--rl-accent);color:#3a2600;border:0;
  padding:.9rem 2rem;border-radius:999px;font-weight:700;font-size:1rem;
  cursor:pointer;transition:background .12s;width:100%;max-width:280px;}
.wpcf7-form .wpcf7-submit:hover{background:var(--rl-accent-dark);}
.wpcf7-form .wpcf7-not-valid-tip{color:#b8002e;font-size:.86rem;margin-top:.25rem;}
.wpcf7-form .wpcf7-not-valid{border-color:#e0a0ad!important;}
.wpcf7 .wpcf7-response-output{border-radius:10px;padding:.9rem 1.1rem;margin:1rem 0 0;font-weight:600;}
.wpcf7 form.sent .wpcf7-response-output{background:var(--rl-blue-light);border:1px solid #cdddf3;color:var(--rl-blue-dark);}
.wpcf7 form.invalid .wpcf7-response-output,.wpcf7 form.failed .wpcf7-response-output{background:#fdecef;border:1px solid #f0c3cd;color:#b8002e;}
/* reCAPTCHA v3 badge verborgen (vermelding staat bij formulier) */
.grecaptcha-badge{visibility:hidden!important;}

/* CF7 verzendknop forceren (overschrijft thema/bootstrap) */
.wpcf7 input[type=submit].wpcf7-submit,
.wpcf7-form input.wpcf7-submit{
  background:var(--rl-accent)!important;color:#3a2600!important;border:0!important;
  padding:.9rem 2rem!important;border-radius:999px!important;font-weight:700!important;
  width:auto!important;min-width:200px;box-shadow:none!important;}
.wpcf7 input[type=submit].wpcf7-submit:hover{background:var(--rl-accent-dark)!important;}

/* =========================================================
   Contactformulier als gecentreerde kaart
   ========================================================= */
.rl-formcard{max-width:680px;margin:2.5rem auto 0;background:#fff;border:1px solid var(--rl-line);
  border-radius:16px;padding:2.4rem;box-shadow:var(--rl-shadow-sm);text-align:center;}
.rl-formcard .rl-ico{margin:0 auto .9rem;}
.rl-formcard h2{margin:0 0 .3rem;}
.rl-formcard .rl-lead{margin:0 auto 1.4rem;}
.rl-formcard .wpcf7{max-width:100%;text-align:left;}
.rl-formcard .wpcf7-form .wpcf7-submit{display:block;margin:.4rem auto 0;}
.rl-formcard .rl-recaptcha-note{text-align:center;margin-top:1rem;}
@media (max-width:600px){.rl-formcard{padding:1.5rem;}}

/* =========================================================
   Contactpagina: balans + kaart + knop
   ========================================================= */
/* twee infokaarten gelijke hoogte, inhoud netjes verticaal */
.rl-contact-cards{align-items:stretch;}
.rl-contact-cards .rl-usp{display:flex;flex-direction:column;}
.rl-contact-cards .rl-usp p{margin-bottom:.4rem;}
/* Google Maps embed */
.rl-map{width:100%;height:230px;border:0;border-radius:10px;margin-top:auto;display:block;}
.rl-contact-cards .rl-usp .rl-mapwrap{margin-top:1rem;}
/* Versturen-knop prominenter (vol formulier-breedte) */
.rl-formcard .wpcf7-form .wpcf7-submit,
.wpcf7 input[type=submit].wpcf7-submit{
  width:100%!important;max-width:none!important;min-width:0!important;
  padding:1rem 2rem!important;font-size:1.05rem!important;letter-spacing:.01em;}

/* =========================================================
   Knoppen: duidelijke rand + tekst verticaal centreren
   ========================================================= */
.rl-btn--call{border:2px solid var(--rl-accent-dark)!important;}
.rl-btn--call:hover{border-color:#c9850f!important;}
/* CF7 verzendknop: rand + tekst gecentreerd */
.wpcf7 input[type=submit].wpcf7-submit,
.rl-formcard .wpcf7-form .wpcf7-submit{
  border:2px solid var(--rl-accent-dark)!important;
  line-height:1.1!important;
  -webkit-appearance:none;appearance:none;
  display:block;text-align:center;}
/* Bel direct in contactkaart: full-width blok */
.rl-btn--block{display:flex!important;width:100%;justify-content:center;min-width:0!important;}
.rl-contact-cards .rl-usp .rl-btn--block{margin-top:auto;}

/* Versturen-knop: tekst exact verticaal centreren (height = line-height truc) */
.wpcf7 input[type=submit].wpcf7-submit,
.rl-formcard .wpcf7-form .wpcf7-submit{
  box-sizing:border-box!important;
  height:56px!important;
  line-height:52px!important;
  padding-top:0!important;padding-bottom:0!important;
  padding-left:2rem!important;padding-right:2rem!important;
}

/* =========================================================
   L2 - Hero-visual (subtiel stuurwiel-motief rechts)
   ========================================================= */
.rl-hero:after{content:"";position:absolute;right:-70px;top:50%;transform:translateY(-50%);
  width:420px;height:420px;pointer-events:none;opacity:.10;display:block;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 100' fill='none' stroke='white' stroke-width='2.5'%3E%3Ccircle cx='50' cy='50' r='45'/%3E%3Ccircle cx='50' cy='50' r='39'/%3E%3Ccircle cx='50' cy='50' r='11'/%3E%3Cpath d='M50 39 V11 M40.5 53 L16 74 M59.5 53 L84 74'/%3E%3C/svg%3E") center/contain no-repeat;}
/* op de home zit de checklist-kaart rechts; motief daar verbergen */
.rl-hero-grid ~ .rl-hero:after,.rl-hero:has(.rl-hero-grid):after{display:none;}
@media (max-width:768px){.rl-hero:after{opacity:.06;width:280px;right:-90px;}}

/* =========================================================
   L8 - Scroll-reveal (subtiel)
   ========================================================= */
.rl-reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease;}
.rl-reveal.rl-in{opacity:1;transform:none;}
@media (prefers-reduced-motion:reduce){.rl-reveal{opacity:1!important;transform:none!important;transition:none;}}

/* =========================================================
   L9 - Cookie/consent-banner + embed-placeholder
   ========================================================= */
.rl-consent{position:fixed;left:16px;right:16px;bottom:16px;z-index:1060;max-width:880px;margin:0 auto;
  background:#fff;border:1px solid var(--rl-line);border-radius:14px;box-shadow:0 16px 40px rgba(3,28,66,.22);
  padding:1.2rem 1.4rem;display:flex;gap:1rem;align-items:center;flex-wrap:wrap;}
.rl-consent p{margin:0;flex:1 1 320px;font-size:.92rem;color:var(--rl-ink);}
.rl-consent a{color:var(--rl-blue);font-weight:600;}
.rl-consent .rl-c-actions{display:flex;gap:.6rem;flex-wrap:wrap;}
.rl-consent .rl-btn{padding:.6rem 1.2rem;font-size:.92rem;min-width:0;}
.rl-c-deny{background:#fff;border:2px solid var(--rl-line)!important;color:var(--rl-blue-dark)!important;}
.rl-c-deny:hover{border-color:var(--rl-blue)!important;}
/* embed-placeholder (Google Maps) */
.rl-embed-ph{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.7rem;text-align:center;
  background:#eef2f8;border:1px dashed #c5d3e6;border-radius:10px;min-height:230px;padding:1.2rem;color:var(--rl-grey);}
.rl-embed-ph p{margin:0;font-size:.9rem;}
@media (max-width:600px){.rl-consent{flex-direction:column;align-items:stretch;text-align:center;}.rl-consent .rl-c-actions{justify-content:center;}}

/* =========================================================
   Footer-koppen wit forceren + aparte serviceregio-balk
   ========================================================= */
#wrapper-footer h4,.rl-regios h4{color:#fff!important;}
.rl-foot-bottom{margin-top:1.6rem;border-top:1px solid rgba(255,255,255,.14);padding-top:1.1rem;font-size:.9rem;color:#acc4e6;}
.rl-foot-bottom a{color:#dbe7f7;}
/* Serviceregio-balk: lichtere blauwtint */
.rl-regios{background:#1763c0;color:#fff;padding:1.4rem 0;}
.rl-regios h4{margin:0 0 .5rem;font-size:1rem;color:#fff;}
.rl-regio-links{margin:0;line-height:2;}
.rl-regio-links a{color:#eaf2fd;text-decoration:none;font-weight:600;font-size:.95rem;}
.rl-regio-links a:hover{color:#fff;text-decoration:underline;}
.rl-regio-links .rl-sep{color:rgba(255,255,255,.45);margin:0 .6rem;}

/* =========================================================
   Serviceregio-balk - gecentreerd met pill-knoppen (override)
   ========================================================= */
.rl-regios{background:linear-gradient(135deg,#1763c0 0%,#1257b3 100%);color:#fff;padding:2.4rem 0;text-align:center;}
.rl-regios h4{display:none;}
.rl-regios-head{display:inline-flex;align-items:center;gap:.5rem;font-weight:700;font-size:1.15rem;color:#fff!important;}
.rl-regios-head svg{opacity:.9;}
.rl-regios-intro{margin:.5rem auto 1.1rem;color:#dce9fb;font-size:.98rem;max-width:640px;}
.rl-regio-links{margin:0;display:flex;flex-wrap:wrap;gap:.6rem;justify-content:center;line-height:1.4;}
.rl-regio-links a{display:inline-block;padding:.5rem 1.15rem;border:1px solid rgba(255,255,255,.4);border-radius:999px;
  color:#fff;text-decoration:none;font-weight:600;font-size:.95rem;transition:background .12s,border-color .12s,color .12s;}
.rl-regio-links a:hover{background:#fff;color:#1257b3;border-color:#fff;text-decoration:none;}
.rl-regio-links .rl-sep{display:none;}

/* C1 - FAQ accordion */
.rl-faq{max-width:820px;margin:1.5rem 0 0;}
.rl-faq-item{background:#fff;border:1px solid var(--rl-line);border-radius:12px;margin-bottom:.8rem;box-shadow:var(--rl-shadow-sm);overflow:hidden;}
.rl-faq-item summary{cursor:pointer;list-style:none;padding:1.1rem 1.3rem;font-weight:700;color:var(--rl-blue-dark);
  display:flex;justify-content:space-between;align-items:center;gap:1rem;}
.rl-faq-item summary::-webkit-details-marker{display:none;}
.rl-faq-item summary:after{content:"+";font-size:1.4rem;color:var(--rl-blue);font-weight:400;line-height:1;}
.rl-faq-item[open] summary:after{content:"\2212";}
.rl-faq-a{padding:0 1.3rem 1.2rem;color:var(--rl-grey);}
.rl-faq-a p{margin:0;}

/* C8 - locatielijst knoppen */
.rl-loclist{display:flex;flex-wrap:wrap;gap:.7rem;margin:1.5rem 0;}
.rl-loclist a{display:inline-block;padding:.6rem 1.2rem;background:#fff;border:1px solid var(--rl-line);border-radius:999px;
  color:var(--rl-blue-dark);text-decoration:none;font-weight:600;transition:border-color .12s,background .12s,color .12s;}
.rl-loclist a:hover{border-color:var(--rl-blue);background:var(--rl-blue);color:#fff;}

/* C3 - reviews */
.rl-reviews{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.3rem;margin-top:2rem;}
.rl-review{background:#fff;border:1px solid var(--rl-line);border-radius:14px;padding:1.5rem;box-shadow:var(--rl-shadow-sm);margin:0;display:flex;flex-direction:column;gap:.6rem;}
.rl-stars{color:#f5a623;letter-spacing:2px;font-size:1.05rem;}
.rl-review blockquote{margin:0;color:var(--rl-ink);font-size:1.02rem;line-height:1.6;}
.rl-review figcaption{color:var(--rl-grey);font-weight:700;}
.rl-review figcaption span{font-weight:500;color:var(--rl-grey);}

/* Grote merk-quote */
.rl-quoteband{background:radial-gradient(900px 400px at 50% -20%,#1763c0 0%,transparent 60%),linear-gradient(135deg,#0e54ad 0%,var(--rl-blue-dark) 100%);
  color:#fff;text-align:center;padding:5rem 0;position:relative;overflow:hidden;}
.rl-quoteband:before{content:"\201C";position:absolute;top:6px;left:50%;transform:translateX(-50%);
  font-size:11rem;line-height:1;opacity:.13;font-family:Georgia,'Times New Roman',serif;}
.rl-bigquote{position:relative;margin:0 auto;max-width:920px;font-size:2.3rem;font-weight:700;line-height:1.3;font-style:italic;color:#fff;padding:0 1rem;}
.rl-quoteband cite{display:block;margin-top:1.2rem;font-style:normal;font-weight:600;color:#cfe0f5;font-size:.95rem;letter-spacing:.12em;text-transform:uppercase;}
@media (max-width:600px){.rl-bigquote{font-size:1.6rem;}.rl-quoteband{padding:3.2rem 0;}}

/* =========================================================
   Light color-scheme forceren (geen auto-dark-mode verminking)
   ========================================================= */
:root{color-scheme:light dark;}
html,body{background:#fff;}
/* expliciete kleuren zodat OS/browser dark-mode niets overschrijft */
input,textarea,select,button{color-scheme:light;}
.wpcf7-form input,.wpcf7-form textarea,.wpcf7-form select{background:#fff;color:var(--rl-ink);}
.wpcf7-form input::placeholder,.wpcf7-form textarea::placeholder{color:#8a98a8;}
.rl-faq-item,.rl-usp,.rl-review,.rl-step,.rl-formcard,.rl-hero-card{background:#fff;}

/* =========================================================
   DARK MODE - nette donkere variant (prefers-color-scheme: dark)
   ========================================================= */
@media (prefers-color-scheme: dark){
  :root{
    --rl-ink:#e4ebf5; --rl-grey:#a9b7c9; --rl-line:#28384f; --rl-blue-light:#13243c;
    --rl-shadow:0 10px 30px rgba(0,0,0,.45); --rl-shadow-sm:0 1px 3px rgba(0,0,0,.4);
  }
  html,body{background:#0b1726;color:var(--rl-ink);}
  /* koppen lichtblauw i.p.v. donkerblauw */
  h1,h2,h3,h4{color:#eaf1fb;}
  .rl-lead{color:#b3c1d3;}
  a{color:#8fbaf0;}

  /* secties */
  .rl-section{background:#0b1726;}
  .rl-section--tint{background:#101f33;}

  /* cards / blokken */
  .rl-usp,.rl-faq-item,.rl-review,.rl-step,.rl-formcard,.rl-hero-card,.rl-note,.rl-loclist a{
    background:#15243b;border-color:#28384f;color:var(--rl-ink);}
  .rl-usp h3,.rl-review blockquote,.rl-step h3,.rl-faq-item summary,.rl-formcard h2{color:#eaf1fb;}
  .rl-usp p,.rl-review figcaption span,.rl-faq-a,.rl-step p{color:#a9b7c9;}
  .rl-ico{background:#1b2f4d;color:#8fbaf0;}
  .rl-hero-card h3{color:#eaf1fb;}
  .rl-checklist li{color:#e4ebf5;}
  .rl-eyebrow,.rl-kicker{color:#8fbaf0;}
  .rl-faq-item summary:after{color:#8fbaf0;}

  /* knoppen die op licht stonden */
  .rl-btn--ghost{background:#15243b;border-color:#34496a;color:#cfe0f5;}
  .rl-btn--ghost:hover{background:#1b2f4d;border-color:#8fbaf0;color:#fff;}
  .rl-loclist a{color:#cfe0f5;}
  .rl-loclist a:hover{background:#1b2f4d;color:#fff;border-color:#8fbaf0;}

  /* navbar */
  #wrapper-navbar #main-nav.navbar{background:#0e1d31!important;border-bottom-color:#22344c;}
  #wrapper-navbar #main-nav .nav-link{color:#dbe4f0!important;}
  #wrapper-navbar #main-nav .nav-link:hover,#wrapper-navbar #main-nav .current-menu-item>.nav-link{background:#1b2f4d;color:#fff!important;}

  /* tabellen */
  .rl-table{background:#15243b;border-color:#28384f;}
  .rl-table thead th{background:#1b2f4d!important;color:#cfe0f5!important;border-bottom-color:#34496a;}
  .rl-table th,.rl-table td{border-bottom-color:#28384f;color:var(--rl-ink);}
  .rl-table td:nth-child(2){color:#a9b7c9;}
  .rl-table tbody tr:nth-child(even) td{background:#182942;}
  .rl-table tbody tr:hover td{background:#1e3251;}
  .rl-prijs{color:#9fc4f5;}

  /* formulier */
  .wpcf7-form input,.wpcf7-form textarea,.wpcf7-form select{background:#0f1d31;color:#e6edf6;border-color:#2f4561;}
  .wpcf7-form label{color:#cfe0f5;}
  .wpcf7-form input::placeholder,.wpcf7-form textarea::placeholder{color:#7e8da0;}

  /* embed-placeholder + consent */
  .rl-embed-ph{background:#101f33;border-color:#2f4561;color:#a9b7c9;}
  .rl-consent{background:#15243b;border-color:#28384f;color:#dbe4f0;}
  .rl-consent p{color:#dbe4f0;}

  /* tarieven note tekstkleur */
  .rl-table caption{color:#cfe0f5;}
}
