:root{--sak-red:#d11f2a;--sak-red-dark:#a9151d;--sak-black:#111111;--sak-soft:#f7f7f7;--sak-line:#e1e1e1;--sak-text:#111827;--sak-muted:#6b7280}
.sakf-shell{max-width:1180px;margin:40px auto;padding:0 18px;color:var(--sak-text);font-family:inherit}.sakf-head{margin-bottom:26px}.sakf-head>span,.sakf-kicker{font-size:12px;letter-spacing:.15em;font-weight:800;color:var(--sak-red)}.sakf-head h1{font-size:38px;margin:7px 0;color:var(--sak-black)}.sakf-head p{color:var(--sak-muted);margin:0}.sakf-layout{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:28px;align-items:start}.sakf-main{display:grid;gap:18px;min-width:0}.sakf-panel,.sakf-summary-card,.sakf-course-card,.sakf-success,.sakf-msg{background:#fff;border:1px solid var(--sak-line);border-radius:18px;box-shadow:0 10px 35px rgba(0,0,0,.06)}.sakf-panel{padding:28px;min-width:0;overflow:hidden}.sakf-panel h2{margin:0 0 20px;font-size:23px;color:var(--sak-black)}.sakf-field,.sakf-grid label{display:grid;gap:7px;font-weight:700;font-size:14px;min-width:0}.sakf-field select,.sakf-grid input,.sakf-grid select,.sakf-component select{display:block;width:100%;max-width:100%;min-width:0;border:1px solid #d6d6d6;border-radius:10px;padding:12px 13px;background:#fff;font:inherit;box-sizing:border-box;color:var(--sak-black)}.sakf-field select:focus,.sakf-grid input:focus,.sakf-grid select:focus,.sakf-component select:focus{outline:none;border-color:var(--sak-red);box-shadow:0 0 0 2px rgba(209,31,42,.10)}.sakf-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.sakf-person{padding:18px 0;border-top:1px solid var(--sak-line)}.sakf-person:first-child{border-top:0;padding-top:0}.sakf-person-title{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.sakf-remove{border:0;background:var(--sak-red);color:#fff;cursor:pointer;font-weight:800;border-radius:999px;padding:11px 20px}.sakf-remove:hover{background:var(--sak-red-dark)}.sakf-add{margin-top:12px;border:1px solid var(--sak-red);background:#fff;color:var(--sak-black);font-weight:800;border-radius:999px;padding:12px 18px;cursor:pointer}.sakf-add:hover{background:#fff4f4;color:var(--sak-red)}.sakf-summary{position:sticky;top:28px;min-width:0}.sakf-summary-card{padding:26px}.sakf-summary-card h2{margin:8px 0 22px;color:var(--sak-black)}.sakf-summary-row{display:flex;justify-content:space-between;gap:15px;padding:10px 0;border-bottom:1px solid var(--sak-line);font-size:14px}.sakf-summary-row b{color:var(--sak-black)}.sakf-total{display:flex;justify-content:space-between;align-items:end;margin-top:18px;padding-top:18px;border-top:2px solid var(--sak-red)}.sakf-total strong{font-size:23px;color:var(--sak-red)}.sakf-reserve-note{background:var(--sak-soft);padding:12px;border-radius:10px;font-size:12px;color:var(--sak-muted)}.sakf-submit{width:100%;border:0;border-radius:999px;background:var(--sak-red);color:#fff;font-weight:800;padding:15px;cursor:pointer;font-size:16px}.sakf-submit:hover{background:var(--sak-red-dark)}.sakf-package{display:grid;gap:12px}.sakf-component{display:grid;grid-template-columns:1fr 1.3fr;gap:15px;align-items:center;padding:13px 0;border-bottom:1px solid var(--sak-line)}.sakf-later{background:#f4f4f4;border-radius:8px;padding:10px;color:#777}.sakf-paymethods{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.sakf-paymethods label{cursor:pointer}.sakf-paymethods input{position:absolute;opacity:0}.sakf-paymethods span{display:grid;gap:3px;border:1px solid var(--sak-line);padding:14px;border-radius:11px}.sakf-paymethods input:checked+span{border-color:var(--sak-red);box-shadow:0 0 0 2px rgba(209,31,42,.10)}.sakf-paymethods small{color:var(--sak-muted)}.sakf-address{margin-top:20px}.sakf-cardgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}.sakf-course-card{padding:22px;text-decoration:none!important;color:var(--sak-black)!important;display:grid;gap:9px}.sakf-course-card strong{font-size:18px}.sakf-course-card small{color:var(--sak-muted)}.sakf-course-card span{color:var(--sak-red);font-weight:800}.sakf-success,.sakf-msg{padding:45px;text-align:center}.sakf-success>span{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:50%;background:#fff0f1;color:var(--sak-red);font-size:30px;font-weight:800}
/* gezamenlijke sectie-inschrijving */
.sakf-choice-panel{overflow:hidden}.sakf-course-choice{display:grid;gap:16px;margin-top:16px;padding-top:18px;border-top:1px solid var(--sak-line);min-width:0}.sakf-course-choice[hidden],.sakf-date-set[hidden],[data-section-course-panel][hidden]{display:none!important}.sakf-date-set{min-width:0}.sakf-summary-row b[data-summary-date]{max-width:190px;text-align:right;font-size:12px;line-height:1.35}.sakf-section-booking .sakf-choice-panel>h2{margin-bottom:18px}.sakf-section-booking .sakf-field{width:100%;max-width:100%;box-sizing:border-box}.sakf-section-booking .sakf-course-choice,.sakf-section-booking select{max-width:100%}
@media(max-width:850px){.sakf-layout{grid-template-columns:1fr}.sakf-summary{position:static}.sakf-grid,.sakf-paymethods,.sakf-cardgrid{grid-template-columns:1fr}.sakf-component{grid-template-columns:1fr}.sakf-head h1{font-size:31px}.sakf-panel{padding:22px}}

/* v5.1.1: bovenste cursusvelden gebruiken exact hetzelfde raster als de cursistvelden */
.sakf-section-booking .sakf-choice-grid{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:0;
    box-sizing:border-box;
}
.sakf-section-booking .sakf-choice-grid.sakf-course-choice{
    margin-top:16px;
    padding-top:18px;
    border-top:1px solid var(--sak-line);
}
.sakf-section-booking .sakf-span-all{
    grid-column:1 / -1;
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    padding:0;
    box-sizing:border-box;
}
.sakf-section-booking .sakf-span-all select{
    width:100%;
    max-width:100%;
    min-width:0;
    margin:0;
    box-sizing:border-box;
}

/* v5.1.2: reset native select styling zodat bovenste keuzelijsten exact als de invoervelden renderen */
.sakf-section-booking .sakf-choice-panel .sakf-field,
.sakf-section-booking .sakf-choice-panel .sakf-date-set{
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}
.sakf-section-booking .sakf-choice-panel select{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:46px !important;
  margin:0 !important;
  padding:0 42px 0 14px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:10px !important;
  background-color:#fff !important;
  color:var(--sak-black) !important;
  box-sizing:border-box !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  background-image:linear-gradient(45deg,transparent 50%,#111 50%),linear-gradient(135deg,#111 50%,transparent 50%) !important;
  background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px !important;
  background-size:5px 5px,5px 5px !important;
  background-repeat:no-repeat !important;
}


/* v5.1.3: dezelfde select/dropdown-stijl gebruiken in alle klassikale secties */
.sakf-shell form select,
.sakf-shell [data-sak-form] select,
.sakf-shell .sakf-panel select,
.sakf-shell .sakf-component select{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:46px !important;
  margin:0 !important;
  padding:0 42px 0 14px !important;
  border:1px solid #d6d6d6 !important;
  border-radius:10px !important;
  background-color:#fff !important;
  color:var(--sak-black) !important;
  box-sizing:border-box !important;
  appearance:none !important;
  -webkit-appearance:none !important;
  -moz-appearance:none !important;
  background-image:linear-gradient(45deg,transparent 50%,#111 50%),linear-gradient(135deg,#111 50%,transparent 50%) !important;
  background-position:calc(100% - 18px) 20px,calc(100% - 13px) 20px !important;
  background-size:5px 5px,5px 5px !important;
  background-repeat:no-repeat !important;
}
.sakf-shell form select:focus,
.sakf-shell [data-sak-form] select:focus,
.sakf-shell .sakf-panel select:focus,
.sakf-shell .sakf-component select:focus{
  outline:none !important;
  border-color:var(--sak-red) !important;
  box-shadow:0 0 0 2px rgba(209,31,42,.10) !important;
}

/* v5.2.0: Code 95 sectie + pakketplanning */
.sakf-package h3{margin:0 0 2px;font-size:18px;color:var(--sak-black)}
.sakf-package-intro{margin:0 0 8px;color:var(--sak-muted);font-size:13px;font-weight:400}
.sakf-package .sakf-component:last-child{border-bottom:0}


/* v5.7.2 - strakke betaalbevestiging */
.sakf-success-wrap{max-width:900px;margin:38px auto 55px;padding:0 18px}
.sakf-success-card{background:#fff;border:1px solid var(--sak-line);border-radius:20px;box-shadow:0 14px 45px rgba(0,0,0,.07);padding:42px 44px;text-align:center}
.sakf-success-icon{display:grid;place-items:center;width:58px;height:58px;margin:0 auto 15px;border-radius:50%;background:#fff0f1;color:var(--sak-red);font-size:30px;font-weight:900}
.sakf-success-card h1{margin:8px 0 10px;color:var(--sak-black);font-size:34px;line-height:1.15}
.sakf-success-intro{max-width:650px;margin:0 auto 28px;color:var(--sak-muted);font-size:16px;line-height:1.65}
.sakf-confirm-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;text-align:left;margin:0 0 18px}
.sakf-confirm-item{display:flex;justify-content:space-between;align-items:center;gap:18px;border:1px solid var(--sak-line);border-radius:12px;padding:14px 16px;background:#fafafa}
.sakf-confirm-item span,.sakf-confirm-session span{color:var(--sak-muted);font-size:13px}
.sakf-confirm-item strong{color:var(--sak-black);text-align:right}
.sakf-paid-status{color:#168449!important;background:#eaf8ef;border-radius:999px;padding:5px 10px;font-size:13px}
.sakf-confirm-planning{margin-top:20px;border:1px solid var(--sak-line);border-radius:14px;padding:20px;text-align:left}
.sakf-confirm-planning h2{margin:0 0 12px;font-size:19px;color:var(--sak-black)}
.sakf-confirm-session{padding:13px 0;border-top:1px solid var(--sak-line)}
.sakf-confirm-session:first-of-type{border-top:0;padding-top:2px}
.sakf-session-name{display:block;margin-bottom:9px;color:var(--sak-black)}
.sakf-confirm-session>div{display:flex;justify-content:space-between;gap:20px;padding:4px 0}
.sakf-confirm-session b{color:var(--sak-black);text-align:right}
.sakf-arrival-note{margin-top:14px;padding:12px 14px;border-radius:10px;background:#fff6f6;border:1px solid #ffd7d9;color:#6f1d1f;font-size:13px;line-height:1.5}
.sakf-arrival-note strong{color:var(--sak-red)}
.sakf-confirm-total{display:flex;justify-content:space-between;align-items:center;margin-top:18px;padding:17px 18px;border-radius:12px;background:var(--sak-soft);text-align:left}
.sakf-confirm-total span{font-weight:700;color:var(--sak-black)}
.sakf-confirm-total strong{font-size:21px;color:var(--sak-red)}
.sakf-success-note{margin:20px 0 16px;color:var(--sak-muted);font-size:13px}
.sakf-success-button{display:inline-block;background:var(--sak-red);color:#fff!important;text-decoration:none!important;font-weight:800;border-radius:999px;padding:14px 24px;transition:.18s ease}
.sakf-success-button:hover{background:var(--sak-red-dark);transform:translateY(-1px)}
@media(max-width:680px){.sakf-success-card{padding:30px 20px}.sakf-success-card h1{font-size:28px}.sakf-confirm-grid{grid-template-columns:1fr}.sakf-confirm-item,.sakf-confirm-session>div{align-items:flex-start}.sakf-confirm-item{gap:10px}.sakf-confirm-planning{padding:16px}.sakf-confirm-total{gap:15px}}

/* v5.8.0 - kalenderdatumkiezer voor alle klassikale cursussen */
.sakf-calendar-native{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
  opacity:.01!important;
}
.sakf-calendar{width:100%;max-width:100%;border:1px solid var(--sak-line);border-radius:14px;background:#fff;overflow:hidden;box-sizing:border-box;margin-top:8px}
.sakf-calendar-head{display:grid;grid-template-columns:42px 1fr 42px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--sak-line)}
.sakf-calendar-head strong{text-align:center;font-size:16px;color:var(--sak-black)}
.sakf-cal-nav{width:36px;height:36px;border:0;border-radius:9px;background:#f5f5f5;color:var(--sak-black);font-size:25px;line-height:1;cursor:pointer}
.sakf-cal-nav:hover{background:#ededed;color:var(--sak-red)}
.sakf-calendar-week,.sakf-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;padding-left:12px;padding-right:12px}
.sakf-calendar-week{padding-top:10px;padding-bottom:6px;color:#7b7b7b;font-size:11px;font-weight:800;text-align:center;text-transform:uppercase}
.sakf-calendar-grid{padding-bottom:12px}
.sakf-cal-day{min-width:0;min-height:58px;border:1px solid transparent;border-radius:9px;background:#f6f7f7;color:var(--sak-black);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;box-sizing:border-box;text-align:center}
button.sakf-cal-day{cursor:pointer;font:inherit}
.sakf-cal-day .sakf-cal-number{font-size:15px;font-weight:800;line-height:1}
.sakf-cal-day small{font-size:10px;font-weight:800;line-height:1;color:#4b5563;white-space:nowrap}
.sakf-cal-day.is-disabled{background:transparent;color:#c1c1c1;border-color:transparent}
.sakf-cal-day.is-empty{background:transparent;border-color:transparent}
.sakf-cal-day.is-open{background:#eaf7ef;border-color:#d1eddc}
.sakf-cal-day.is-medium{background:#fff7df;border-color:#f7e5a7}
.sakf-cal-day.is-low{background:#fff0f1;border-color:#ffd4d8}
.sakf-cal-day.is-full{background:#f2f2f2;color:#aaa;border-color:#e5e5e5;cursor:not-allowed}
.sakf-cal-day.is-full small{color:#aaa}
.sakf-cal-day.is-selected{background:var(--sak-red);border-color:var(--sak-red);color:#fff;box-shadow:0 3px 10px rgba(209,31,42,.18)}
.sakf-cal-day.is-selected small{color:#fff}
.sakf-calendar-selected{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:12px 15px;border-top:1px solid var(--sak-line);background:#fafafa;font-size:12px;color:var(--sak-muted)}
.sakf-calendar-selected span{display:flex;flex-wrap:wrap;align-items:baseline;gap:5px}
.sakf-calendar-selected strong{color:var(--sak-black)}
.sakf-calendar-selected small{display:block;width:100%;font-size:11px;color:var(--sak-muted)}
.sakf-calendar-selected>b{flex:0 0 auto;border-radius:999px;padding:6px 9px;background:#fff0f1;color:var(--sak-red);font-size:11px}
@media(max-width:560px){
  .sakf-calendar-week,.sakf-calendar-grid{gap:3px;padding-left:7px;padding-right:7px}
  .sakf-cal-day{min-height:50px;border-radius:7px}
  .sakf-cal-day .sakf-cal-number{font-size:14px}
  .sakf-cal-day small{font-size:9px}
  .sakf-calendar-selected{align-items:flex-start;flex-direction:column;gap:7px}
}

/* v5.8.0 - kalender opent pas na klik op het datumveld */
.sakf-calendar{border:0;background:transparent;overflow:visible;margin-top:8px;position:relative}
.sakf-calendar-trigger{display:flex;width:100%;min-height:46px;align-items:center;justify-content:space-between;gap:12px;padding:0 14px;border:1px solid #d6d6d6;border-radius:10px;background:#fff;color:var(--sak-black);font:inherit;font-weight:700;text-align:left;cursor:pointer;box-sizing:border-box}
.sakf-calendar-trigger:hover,.sakf-calendar-trigger.is-open{border-color:var(--sak-red);box-shadow:0 0 0 2px rgba(209,31,42,.10)}
.sakf-calendar-trigger b{font-size:18px;transition:transform .15s ease}
.sakf-calendar-trigger.is-open b{transform:rotate(180deg)}
.sakf-calendar-panel{position:relative;z-index:20;margin-top:8px;border:1px solid var(--sak-line);border-radius:14px;background:#fff;overflow:hidden;box-shadow:0 14px 35px rgba(0,0,0,.10)}
.sakf-calendar-panel[hidden]{display:none!important}

/* v5.8.2 - rustigere kalendernavigatie en altijd zichtbare beschikbaarheid */
.sakf-calendar-head{grid-template-columns:38px 1fr 38px;padding:11px 12px}
.sakf-cal-nav{width:32px;height:32px;border:1px solid #e7e7e7;border-radius:50%;background:#fff;color:#222;font-size:0;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s ease,background .15s ease,transform .15s ease}
.sakf-cal-nav::before{content:'';width:7px;height:7px;border-top:2px solid currentColor;border-right:2px solid currentColor;display:block}
.sakf-cal-nav[data-cal-prev]::before{transform:rotate(-135deg);margin-left:3px}
.sakf-cal-nav[data-cal-next]::before{transform:rotate(45deg);margin-right:3px}
.sakf-cal-nav:hover{background:#fafafa;border-color:#cfcfcf;color:var(--sak-red)}
.sakf-cal-nav:active{transform:scale(.96)}
.sakf-cal-day small{display:block!important;opacity:1!important;visibility:visible!important}
.sakf-cal-day.is-open small,.sakf-cal-day.is-medium small,.sakf-cal-day.is-low small{color:#374151}

/* v5.8.3 - datum en beschikbaarheid tegelijk duidelijk zichtbaar */
.sakf-cal-day .sakf-cal-number{
  display:block!important;
  color:#111!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:15px!important;
  font-weight:800!important;
  line-height:1!important;
  margin:0 0 4px!important;
}
.sakf-cal-day small{
  display:block!important;
  color:#4b5563!important;
  opacity:1!important;
  visibility:visible!important;
  font-size:10px!important;
  font-weight:800!important;
  line-height:1!important;
}
.sakf-cal-day.is-selected .sakf-cal-number,
.sakf-cal-day.is-selected small{
  color:#fff!important;
}
.sakf-cal-day.is-full .sakf-cal-number,
.sakf-cal-day.is-full small{
  color:#999!important;
}

/* v5.8.4 - minimalistische maandnavigatie zonder pillen/cirkels */
.sakf-calendar-head{grid-template-columns:44px 1fr 44px;padding:12px 14px}
.sakf-cal-nav{
  width:34px!important;height:34px!important;padding:0!important;
  border:0!important;border-radius:8px!important;background:transparent!important;
  color:#555!important;box-shadow:none!important;font-size:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
}
.sakf-cal-nav::before{
  content:''!important;width:8px!important;height:8px!important;
  border-top:2px solid currentColor!important;border-right:2px solid currentColor!important;
}
.sakf-cal-nav[data-cal-prev]::before{transform:rotate(-135deg)!important;margin-left:4px!important}
.sakf-cal-nav[data-cal-next]::before{transform:rotate(45deg)!important;margin-right:4px!important}
.sakf-cal-nav:hover{background:#f5f5f5!important;color:var(--sak-red)!important}
.sakf-cal-nav:focus{outline:2px solid rgba(209,31,42,.18)!important;outline-offset:1px!important}

/* v5.9.0 betaalkeuze */
.sakf-payment-choices{display:flex;flex-direction:column;gap:10px;margin-top:16px}.sakf-payment-choice{display:flex;gap:12px;align-items:flex-start;border:1px solid #d9dde4;border-radius:10px;padding:16px;cursor:pointer;background:#fff}.sakf-payment-choice.is-selected{border-color:#111;box-shadow:0 0 0 1px #111}.sakf-payment-choice input{margin-top:4px}.sakf-payment-choice span,.sakf-payment-choice strong,.sakf-payment-choice small{display:block}.sakf-payment-choice strong{font-size:15px;color:#111}.sakf-payment-choice small{margin-top:4px;line-height:1.45;color:#68707d}.sakf-billing{margin-top:20px;padding-top:18px;border-top:1px solid #e5e7eb}.sakf-billing h3{margin:0 0 5px;font-size:17px}.sakf-billing>p{margin:0 0 14px;color:#68707d;font-size:13px}.sakf-billing[hidden]{display:none!important}@media(max-width:700px){.sakf-payment-choices{grid-template-columns:1fr}}

/* v5.9.3 - aparte betaalstap; geen technische Mollie-tekst voor klant */
.sakf-payment-step{max-width:760px!important}.sakf-payment-step-card{max-width:620px;margin:0 auto}.sakf-payment-step .sakf-payment-choices{margin-bottom:20px}.sakf-payment-step .sakf-submit{width:100%;margin-top:20px}

/* v5.9.4: betaalkeuze weer bij Mollie; contant blijft als aparte optie op de inschrijfpagina. */
.sakf-onsite-submit{
    width:100%;
    margin-top:10px;
    padding:12px 16px;
    border:1px solid #d9dde3;
    border-radius:12px;
    background:#fff;
    color:#222;
    font:inherit;
    font-weight:700;
    cursor:pointer;
}
.sakf-onsite-submit:hover{border-color:#111;background:#fafafa;}

/* v5.9.5: compact factuuradres voor BNPL-methoden; betaalkeuze blijft bij Mollie. */
.sakf-billing-mini{margin:18px 0 14px;padding:16px;border:1px solid var(--sak-line);border-radius:12px;background:#fff}.sakf-billing-mini h3{margin:0 0 12px;font-size:16px;color:var(--sak-black)}.sakf-billing-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.sakf-billing-grid label{display:grid;gap:6px;font-size:12px;font-weight:700}.sakf-billing-grid input{width:100%;box-sizing:border-box;border:1px solid #d6d6d6;border-radius:9px;padding:10px 11px;font:inherit}.sakf-billing-city{grid-column:1/-1}.sakf-onsite-submit{margin-top:10px;width:100%}@media(max-width:780px){.sakf-billing-grid{grid-template-columns:1fr}.sakf-billing-city{grid-column:auto}}


/* v5.9.7 - rustige betaalstap in één kolom */
.sakf-pay-shell{max-width:620px;margin:48px auto 80px;padding:0 18px;font-family:inherit}
.sakf-pay-brand{text-align:center;margin-bottom:28px}
.sakf-pay-brand>span{display:block;color:#d21f26;font-size:12px;font-weight:800;letter-spacing:.16em;margin-bottom:10px}
.sakf-pay-brand h1{font-size:34px;line-height:1.1;margin:0 0 6px;color:#111}
.sakf-pay-brand p{margin:0;color:#667085;font-size:15px}
.sakf-pay-card{background:#fff;border:1px solid #e2e6ea;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(16,24,40,.06)}
.sakf-pay-card h2{font-size:22px;margin:0 0 18px;color:#111}
.sakf-pay-methods{display:flex;flex-direction:column;gap:10px}
.sakf-pay-method{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;text-align:left;background:#fff;border:1px solid #d8dee5;border-radius:12px;padding:13px 15px;min-height:66px;cursor:pointer;color:#111;transition:.15s ease}
.sakf-pay-method:hover{border-color:#111;transform:translateY(-1px)}
.sakf-pay-method-main{display:flex;align-items:center;gap:13px;min-width:0}
.sakf-pay-method img{width:36px;height:36px;object-fit:contain;border-radius:7px;flex:0 0 36px}
.sakf-pay-fallback{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:8px;background:#f1f3f5;font-size:11px;font-weight:800;flex:0 0 36px}
.sakf-pay-method strong{display:block;font-size:15px;line-height:1.2;margin-bottom:3px}
.sakf-pay-method small{display:block;font-size:12px;line-height:1.35;color:#667085;font-weight:400}
.sakf-pay-arrow{font-size:29px;font-weight:300;line-height:1;color:#111}
.sakf-pay-method.is-disabled{opacity:.52;cursor:not-allowed;background:#f8f9fa}
.sakf-pay-method.is-disabled:hover{border-color:#d8dee5;transform:none}
.sakf-pay-note{text-align:center;margin:18px 0 0;color:#667085;font-size:12px}
@media(max-width:640px){.sakf-pay-shell{margin-top:24px}.sakf-pay-card{padding:18px}.sakf-pay-brand h1{font-size:30px}}

/* v5.9.8: factuuradres staat bij Gegevens cursist; online betaling gaat direct naar officiële Mollie Checkout. */
.sakf-billing-inline{margin:18px 0 6px;padding:18px 0 0;border:0;border-top:1px solid var(--sak-line);border-radius:0;background:transparent}
.sakf-billing-inline h3{font-size:17px;margin:0 0 12px}
.sakf-billing-inline .sakf-billing-grid{gap:16px}
.sakf-billing-inline .sakf-billing-grid label{font-size:14px}
.sakf-billing-inline .sakf-billing-grid input{padding:12px 13px;border-radius:10px}


/* v5.10.0 - mobiele stabiliteit + compactere kalender */
.sakf-shell,
.sakf-shell *,
.sakf-layout,
.sakf-main,
.sakf-summary,
.sakf-summary-card,
.sakf-panel,
.sakf-choice-panel,
.sakf-course-choice,
.sakf-date-set,
.sakf-calendar,
.sakf-calendar-panel{
  box-sizing:border-box;
}
.sakf-shell{
  width:100%;
  max-width:1180px;
  overflow-x:clip;
}
.sakf-layout,.sakf-main,.sakf-summary,.sakf-panel,.sakf-choice-panel,.sakf-date-set,.sakf-calendar,.sakf-calendar-panel{
  min-width:0;
  max-width:100%;
}
.sakf-calendar-week,.sakf-calendar-grid{
  width:100%;
  min-width:0;
  box-sizing:border-box;
}
.sakf-cal-day{
  width:100%;
  max-width:100%;
  min-width:0;
  padding:0!important;
  box-sizing:border-box!important;
  overflow:hidden;
}
.sakf-calendar-error{
  margin:7px 2px 0;
  color:var(--sak-red);
  font-size:12px;
  font-weight:700;
  line-height:1.35;
}
@media(max-width:850px){
  .sakf-shell{margin:22px auto;padding-left:12px;padding-right:12px;}
  .sakf-layout{display:block;width:100%;}
  .sakf-main{width:100%;}
  .sakf-summary{width:100%;margin-top:18px;}
  .sakf-panel{width:100%;padding:18px;}
}
@media(max-width:560px){
  .sakf-shell{padding-left:10px;padding-right:10px;overflow-x:hidden;}
  .sakf-panel{padding:16px;border-radius:14px;}
  .sakf-calendar-panel{border-radius:12px;}
  .sakf-calendar-head{grid-template-columns:32px 1fr 32px!important;padding:9px 8px!important;}
  .sakf-calendar-head strong{font-size:14px;}
  .sakf-cal-nav{width:28px!important;height:28px!important;}
  .sakf-calendar-week,.sakf-calendar-grid{gap:2px!important;padding-left:4px!important;padding-right:4px!important;}
  .sakf-calendar-week{font-size:9px;padding-top:8px;padding-bottom:5px;}
  .sakf-calendar-grid{padding-bottom:8px;}
  .sakf-cal-day{min-height:38px!important;height:38px;border-radius:8px!important;gap:1px!important;}
  .sakf-cal-day .sakf-cal-number{font-size:12px!important;margin:0 0 2px!important;}
  .sakf-cal-day small{font-size:7.5px!important;line-height:1!important;letter-spacing:-.15px;}
  .sakf-calendar-trigger{min-height:44px;padding-left:11px;padding-right:11px;font-size:13px;}
  .sakf-calendar-selected{padding:9px 10px;font-size:11px;}
}


/* v5.10.1 - harde fix tegen horizontaal verspringen bij validatie */
html.sakf-lock-x,body.sakf-lock-x{overflow-x:hidden!important;max-width:100%!important}
.sakf-calendar-native{
  position:fixed!important;left:0!important;top:0!important;
  width:1px!important;height:1px!important;margin:0!important;padding:0!important;
  opacity:0!important;pointer-events:none!important;clip-path:inset(50%)!important;
}
@media(max-width:560px){
  .sakf-cal-day{min-height:34px!important;height:34px!important;border-radius:7px!important;}
  .sakf-cal-day .sakf-cal-number{font-size:11px!important;margin-bottom:1px!important;}
  .sakf-cal-day small{font-size:7px!important;}
}

/* v5.10.29: korting op klantcode in de betaalweergave. */
.sakf-discount-row { color:#0b7753; }
.sakf-discount-row b { color:#0b7753; }
.sakf-discount-feedback { display:block; margin-top:7px; color:#147d4f; font-size:12px; }
.sakf-discount-feedback.is-error { color:#b91c1c; }
.sakf-summary-row.sakf-discount-row[hidden] { display:none !important; }
