/* TSA Design System — alles hangt aan body.tsa-ds. Zonder die klasse wordt dit bestand niet geladen en heeft het geen effect.
   Opbouw: 1 basis · 2 kop · 3 introductie · 4 tekst · 5 knoppen · 6 formulieren · 7 kaarten en tabellen · 8 beeld en galerij
   · 9 FAQ · 10 meldingen · 11 agenda · 12 lespagina · 13 slot en voet */

/* ---------- 1. Basis ---------- */
body.tsa-ds{--ink:#0e0e10;--ink-2:#17171a;--line:#2a2a2f;--paper:#f6f1e7;--paper-2:#fffdf8;--rand:#d9d1c0;--muted:#b9b2a3;--muted-dark:#5d574c;--gold:#c9a45c;--gold-2:#dcbb78;--gold-dark:#7a5a1c;--gold-ink:#15120b;--fout:#9b1c1c;--fout-bg:#fbeaea;--goed:#1f5f3a;--goed-bg:#e8f3ec;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,"Times New Roman",serif;--sans:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--pad:clamp(1.25rem,4vw,3rem);
  background:var(--paper)!important;color:var(--ink);font-family:var(--sans)}
html,body.tsa-ds{overflow-x:clip}
body.tsa-ds .wgl-theme-header,body.tsa-ds #footer,body.tsa-ds #scroll_up{display:none!important}
body.tsa-ds #tsaDsTop{display:contents}
body.tsa-ds .tsa-ds-top *,body.tsa-ds .tsa-ds-top *::before,body.tsa-ds .tsa-ds-top *::after,body.tsa-ds .tsa-ds-voet *,body.tsa-ds .tsa-ds-slot *,body.tsa-ds .tsa-ds-proefles,body.tsa-ds .tsa-ds-proefles *{box-sizing:border-box}
body.tsa-ds .tsa-ds-wrap{max-width:72rem;margin:0 auto;padding:0 var(--pad);width:100%}
body.tsa-ds :focus-visible{outline:3px solid var(--gold-dark)!important;outline-offset:3px!important}
body.tsa-ds .tsa-ds-header :focus-visible,body.tsa-ds .tsa-ds-intro :focus-visible,body.tsa-ds .tsa-ds-voet :focus-visible,body.tsa-ds .tsa-ds-slot :focus-visible,body.tsa-ds .tsa-ds-skip:focus-visible,body.tsa-ds #tsa-seo .hero :focus-visible,body.tsa-ds #tsa-seo .final :focus-visible{outline-color:var(--gold-2)!important}
body.tsa-ds .tsa-ds-skip{position:absolute;left:-9999px;top:0;z-index:10000;background:var(--gold);color:var(--gold-ink);padding:14px 18px;font:700 15px/1 var(--sans);text-decoration:none}
body.tsa-ds .tsa-ds-skip:focus{left:8px;top:8px}

/* ---------- 2. Kop ---------- */
body.tsa-ds .tsa-ds-header{position:sticky;top:0;z-index:9980;background:rgba(14,14,16,.96);box-shadow:0 1px 0 var(--line);font-family:var(--sans)}
body.tsa-ds.admin-bar .tsa-ds-header{top:32px}
@media(max-width:782px){body.tsa-ds.admin-bar .tsa-ds-header{top:46px}}
@media(max-width:600px){body.tsa-ds.admin-bar .tsa-ds-header{top:0}}
body.tsa-ds .tsa-ds-bar{max-width:76rem;margin:0 auto;padding:0 var(--pad);height:84px;display:flex;align-items:center;gap:1.5rem;transition:height .25s}
body.tsa-ds .tsa-compact .tsa-ds-bar{height:64px}
body.tsa-ds .tsa-ds-logo{display:inline-flex;align-items:center;flex:none;padding:6px 0;text-decoration:none}
body.tsa-ds .tsa-ds-logo img{height:46px;width:auto;max-width:none;display:block;transition:height .25s}
body.tsa-ds .tsa-compact .tsa-ds-logo img{height:38px}
body.tsa-ds .tsa-ds-nav{display:none;margin-left:auto;gap:1.9rem;align-items:center}
body.tsa-ds .tsa-ds-nav a{font:500 15px/1 var(--sans);letter-spacing:.02em;color:var(--paper);text-decoration:none;padding:14px 0;border-bottom:2px solid transparent;transition:color .2s,border-color .2s}
body.tsa-ds .tsa-ds-nav a:hover,body.tsa-ds .tsa-ds-nav a[aria-current=page]{color:var(--gold-2);border-color:var(--gold)}
body.tsa-ds .tsa-ds-navcta{display:none;align-items:center;min-height:44px;padding:0 20px;border:1px solid var(--gold);border-radius:3px;background:rgba(14,14,16,.35);color:var(--gold-2);font:700 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;transition:background-color .2s,color .2s}
body.tsa-ds .tsa-ds-navcta:hover,body.tsa-ds .tsa-ds-navcta[aria-current=page]{background:var(--gold);color:var(--gold-ink)}
body.tsa-ds .tsa-ds-menubtn{margin-left:auto;display:inline-flex;align-items:center;gap:10px;min-height:48px;min-width:48px;padding:0 14px;background:rgba(14,14,16,.45);color:var(--paper);border:1px solid rgba(246,241,231,.45);border-radius:3px;font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer}
body.tsa-ds .tsa-ds-burger,body.tsa-ds .tsa-ds-burger::before,body.tsa-ds .tsa-ds-burger::after{display:block;width:18px;height:2px;background:currentColor;content:"";position:relative}
body.tsa-ds .tsa-ds-burger::before{position:absolute;top:-6px}body.tsa-ds .tsa-ds-burger::after{position:absolute;top:6px}
body.tsa-ds .tsa-ds-mobiel{background:rgba(14,14,16,.98);padding:.25rem var(--pad) 1.5rem;max-height:calc(100vh - 84px);overflow:auto}
body.tsa-ds .tsa-ds-mobiel[hidden]{display:none}
body.tsa-ds .tsa-ds-mobiel a{display:block;padding:16px 0;border-bottom:1px solid var(--line);font:500 18px/1.2 var(--sans);color:var(--paper);text-decoration:none}
body.tsa-ds .tsa-ds-mobiel a[aria-current=page]{color:var(--gold-2)}
body.tsa-ds .tsa-ds-mobiel a.tsa-ds-mobielcta{margin-top:18px;border:0;background:var(--gold);color:var(--gold-ink);text-align:center;border-radius:3px;font:700 14px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;padding:19px 16px}
@media(min-width:1000px){
  body.tsa-ds .tsa-ds-nav{display:flex}body.tsa-ds .tsa-ds-navcta{display:inline-flex}
  body.tsa-ds .tsa-ds-menubtn,body.tsa-ds .tsa-ds-mobiel,body.tsa-ds .tsa-ds-mobiel[hidden]{display:none}
  body.tsa-ds .tsa-ds-bar{height:96px}body.tsa-ds .tsa-compact .tsa-ds-bar{height:68px}
  body.tsa-ds .tsa-ds-logo img{height:54px}body.tsa-ds .tsa-compact .tsa-ds-logo img{height:42px}
}

/* ---------- 3. Pagina-introductie ---------- */
body.tsa-ds .tsa-ds-intro{background:radial-gradient(120% 140% at 50% 0,#1d1a14 0,var(--ink) 70%);color:var(--paper);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.25rem,5vw,3.75rem);font-family:var(--sans)}
body.tsa-ds .tsa-ds-eyebrow{font:600 12px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-2);margin:0 0 16px;padding:0}
body.tsa-ds .tsa-ds-h1{font-family:var(--serif);font-weight:500;font-size:clamp(34px,5.4vw,58px);line-height:1.08;letter-spacing:-.01em;margin:0;padding:0;color:var(--paper);text-transform:none;text-wrap:balance;max-width:20ch}
body.tsa-ds .tsa-ds-lead{font-size:clamp(17px,2vw,20px);line-height:1.55;margin:18px 0 0;padding:0;max-width:40rem;color:var(--muted)}
body.tsa-ds .tsa-ds-zeker{list-style:none;margin:22px 0 0;padding:0;display:flex;flex-wrap:wrap;gap:8px 28px}
body.tsa-ds .tsa-ds-zeker li{margin:0;padding:0 0 0 24px;list-style:none;font-size:16px;line-height:1.5;color:var(--paper);background:linear-gradient(var(--gold),var(--gold)) no-repeat 0 .7em/14px 2px}
body.tsa-ds .tsa-ds-zeker li::before{content:none!important;display:none!important}

/* ---------- 4. Tekst op inhoudspagina's ---------- */
body.tsa-ds #main{background:var(--paper);color:var(--ink);padding:clamp(2.25rem,5vw,4rem) 0 clamp(3rem,6vw,5rem);font-family:var(--sans);font-size:17px;line-height:1.65}
body.tsa-ds #main>.wgl-container{max-width:72rem;width:100%;margin:0 auto;padding-left:var(--pad);padding-right:var(--pad);box-sizing:border-box}
body.tsa-ds #main h1,body.tsa-ds #main h2,body.tsa-ds #main h3,body.tsa-ds #main h4,body.tsa-ds #main h5,body.tsa-ds #main h6{font-family:var(--serif);font-weight:500;color:var(--ink);text-transform:none;letter-spacing:-.005em;line-height:1.2;margin:1.6em 0 .5em;padding:0}
body.tsa-ds #main h1{font-size:clamp(32px,5vw,52px);line-height:1.1;margin-top:0}
body.tsa-ds #main h2{font-size:clamp(25px,3.2vw,34px)}
body.tsa-ds #main h3{font-size:clamp(21px,2.4vw,25px)}
body.tsa-ds #main h4,body.tsa-ds #main h5,body.tsa-ds #main h6{font-size:20px}
body.tsa-ds #main p,body.tsa-ds #main li{font-family:var(--sans);font-size:17px;line-height:1.65;color:inherit}
body.tsa-ds #main p{margin:0 0 1em}
body.tsa-ds #main a{color:var(--gold-dark);text-decoration:underline;text-underline-offset:.2em}
body.tsa-ds #main a:hover{color:var(--ink)}
body.tsa-ds #main img{max-width:100%;height:auto}
body.tsa-ds-tekst #main #main-content{max-width:46rem;margin:0 auto;float:none}

/* ---------- 5. Knoppen ---------- */
body.tsa-ds .tsa-ds-btn,body.tsa-ds #main .wpcf7 input[type=submit],body.tsa-ds #main .tribe-common .tribe-common-c-btn,body.tsa-ds #tsa-seo .btn-primary{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:16px 28px;border:1px solid var(--gold);border-radius:3px;background:var(--gold);color:var(--gold-ink);font:700 14.5px/1.1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none;text-align:center;cursor:pointer;transition:background-color .2s,color .2s;box-shadow:none;width:auto;height:auto}
body.tsa-ds .tsa-ds-btn:hover,body.tsa-ds #main .wpcf7 input[type=submit]:hover,body.tsa-ds #main .tribe-common .tribe-common-c-btn:hover,body.tsa-ds #tsa-seo .btn-primary:hover{background:var(--gold-2);color:var(--gold-ink)}

/* ---------- 6. Formulieren (Contact Form 7; markup en veldnamen blijven ongewijzigd) ---------- */
body.tsa-ds .tsa-ds-proefles{display:grid;gap:1.5rem;align-items:start}
@media(min-width:960px){body.tsa-ds .tsa-ds-proefles{grid-template-columns:minmax(0,1fr) 20rem;gap:2.5rem}}
body.tsa-ds .tsa-ds-formkaart,body.tsa-ds-formulier #main .wpcf7{background:var(--paper-2);border:1px solid var(--rand);border-radius:4px;padding:clamp(1.25rem,4vw,2.5rem)}
body.tsa-ds-formulier #main .wpcf7{max-width:46rem;margin:0 auto}
body.tsa-ds .tsa-ds-formkaart>p:first-child{color:var(--muted-dark);font-size:16px;margin-bottom:1.5rem}
body.tsa-ds #main .wpcf7 form{margin:0}
body.tsa-ds #main .wpcf7 .f50{float:none;width:100%;max-width:none;margin:0;padding:0}
body.tsa-ds #main .wpcf7 h5{font-family:var(--serif);font-size:23px;margin:2.25rem 0 1rem;padding:1.5rem 0 0;border-top:1px solid var(--rand)}
body.tsa-ds #main .wpcf7 .f50:first-of-type>h5:first-child{margin-top:0;padding-top:0;border-top:0}
body.tsa-ds #main .wpcf7 p{margin:0 0 1.1rem}
body.tsa-ds #main .wpcf7 label{display:block;font:600 15.5px/1.4 var(--sans);color:var(--ink);margin:0}
body.tsa-ds #main .wpcf7 label br{display:none}
body.tsa-ds #main .wpcf7 .wpcf7-form-control-wrap{display:block;margin-top:6px}
body.tsa-ds #main .wpcf7 input[type=text],body.tsa-ds #main .wpcf7 input[type=email],body.tsa-ds #main .wpcf7 input[type=tel],body.tsa-ds #main .wpcf7 input[type=date],body.tsa-ds #main .wpcf7 input[type=number],body.tsa-ds #main .wpcf7 select,body.tsa-ds #main .wpcf7 textarea{display:block;width:100%;max-width:100%;min-height:52px;height:auto;margin:0;padding:12px 14px;box-sizing:border-box;background:#fff;color:var(--ink);border:1px solid #8d8676;border-radius:3px;font:400 17px/1.4 var(--sans);box-shadow:none;-webkit-appearance:none;appearance:none}
body.tsa-ds #main .wpcf7 select{-webkit-appearance:menulist;appearance:auto;background-image:none!important}
body.tsa-ds #main .wpcf7 input:focus,body.tsa-ds #main .wpcf7 select:focus,body.tsa-ds #main .wpcf7 textarea:focus{border-color:var(--gold-dark);outline:3px solid var(--gold-dark)!important;outline-offset:1px!important}
body.tsa-ds #main .wpcf7 .wpcf7-radio,body.tsa-ds #main .wpcf7 .wpcf7-checkbox{display:flex;flex-wrap:wrap;gap:10px}
body.tsa-ds #main .wpcf7 .wpcf7-list-item{display:block;margin:0}
body.tsa-ds #main .wpcf7 .wpcf7-list-item label,body.tsa-ds #main .wpcf7 .tsa-newsletter-optin label{display:flex;align-items:flex-start;gap:12px;min-height:48px;padding:11px 14px;background:#fff;border:1px solid #8d8676;border-radius:3px;font-weight:400;font-size:16px;line-height:1.45;cursor:pointer}
body.tsa-ds #main .wpcf7 .wpcf7-radio .wpcf7-list-item label{min-width:6.5rem;align-items:center}
body.tsa-ds #main .wpcf7 input[type=radio],body.tsa-ds #main .wpcf7 input[type=checkbox]{flex:none;width:22px;height:22px;min-height:0;margin:1px 0 0;padding:0;accent-color:var(--gold-dark);-webkit-appearance:auto;appearance:auto;position:static;opacity:1}
body.tsa-ds #main .wpcf7 .wpcf7-list-item label:has(input:checked),body.tsa-ds #main .wpcf7 .tsa-newsletter-optin label:has(input:checked){border-color:var(--gold-dark);box-shadow:inset 0 0 0 1px var(--gold-dark);background:#fdf8ec}
body.tsa-ds #main .wpcf7 .wpcf7-list-item-label::before,body.tsa-ds #main .wpcf7 .wpcf7-list-item-label::after{content:none!important;display:none!important}
body.tsa-ds #main .wpcf7 .tsa-newsletter-optin{margin:0 0 1.25rem}
body.tsa-ds #main .wpcf7 .wpcf7-turnstile{margin:1.25rem 0}
body.tsa-ds #main .wpcf7 input[type=submit]{width:100%;min-height:60px;font-size:15.5px}
/* 1.6.6 · De verzendknoptekst mag afbreken als hij niet op één regel past (lange vertaling, of NL op 320 px), zodat de
   formulierkaart nooit breder wordt dan het scherm. Past de tekst wel op één regel, dan verandert er niets. */
body.tsa-ds #main .wpcf7 input[type=submit]{white-space:normal;max-width:100%}
@media(max-width:359px){
  body.tsa-ds .tsa-ds-proefles>.tsa-ds-formkaart{min-width:0}
  /* Turnstile is vast 300 px breed; op de smalste schermen proportioneel verkleind zodat hij binnen de kaart blijft. */
  body.tsa-ds #main .wpcf7 .cf-turnstile{transform:scale(.82);transform-origin:0 0;margin-bottom:-12px}
}
body.tsa-ds #main .wpcf7 .wpcf7-spinner{display:block;margin:10px auto 0}
body.tsa-ds #main .wpcf7 .wpcf7-not-valid{border-color:var(--fout)!important}
body.tsa-ds #main .wpcf7 .wpcf7-not-valid-tip{display:block;margin-top:6px;padding:0 0 0 22px;color:var(--fout);font:600 15px/1.4 var(--sans);background:radial-gradient(circle at 7px 50%,var(--fout) 0 7px,transparent 7.5px) no-repeat 0 2px/16px 16px}
body.tsa-ds #main .wpcf7 form .wpcf7-response-output{margin:1.25rem 0 0;padding:14px 16px;border:1px solid var(--rand);border-left:4px solid var(--muted-dark);border-radius:3px;background:#fff;color:var(--ink);font:600 16px/1.5 var(--sans)}
body.tsa-ds #main .wpcf7 form.init .wpcf7-response-output,body.tsa-ds #main .wpcf7 form.resetting .wpcf7-response-output,body.tsa-ds #main .wpcf7 form.submitting .wpcf7-response-output{display:none}
body.tsa-ds #main .wpcf7 form.invalid .wpcf7-response-output,body.tsa-ds #main .wpcf7 form.unaccepted .wpcf7-response-output,body.tsa-ds #main .wpcf7 form.failed .wpcf7-response-output,body.tsa-ds #main .wpcf7 form.aborted .wpcf7-response-output,body.tsa-ds #main .wpcf7 form.spam .wpcf7-response-output{border-color:var(--fout);background:var(--fout-bg);color:var(--fout)}
body.tsa-ds #main .wpcf7 form.sent .wpcf7-response-output{border-color:var(--goed);background:var(--goed-bg);color:var(--goed)}
body.tsa-ds .tsa-ds-aside{background:var(--ink);color:var(--paper);border-radius:4px;padding:1.75rem 1.5rem}
body.tsa-ds #main .tsa-ds-aside h2{font-family:var(--serif);font-size:22px;color:var(--paper);margin:1.75rem 0 .6rem}
body.tsa-ds #main .tsa-ds-aside h2:first-child{margin-top:0}
body.tsa-ds #main .tsa-ds-aside ol{margin:0;padding:0;list-style:none;counter-reset:tsa-stap}
body.tsa-ds #main .tsa-ds-aside ol li{list-style:none;position:relative;padding:0 0 0 34px;margin:0 0 .65rem;counter-increment:tsa-stap}
body.tsa-ds #main .tsa-ds-aside ol li::before{content:none!important;display:none!important}
body.tsa-ds #main .tsa-ds-aside ol li::after{content:counter(tsa-stap);position:absolute;left:0;top:1px;width:22px;height:22px;border:1px solid var(--gold);border-radius:50%;color:var(--gold-2);font:700 12px/20px var(--sans);text-align:center}
body.tsa-ds #main .tsa-ds-aside li,body.tsa-ds #main .tsa-ds-aside p{font-size:16px;line-height:1.55;color:var(--muted);margin:0 0 .4rem}
body.tsa-ds #main .tsa-ds-aside a{display:block;padding:11px 0;color:var(--paper);text-decoration:underline;text-decoration-color:var(--gold);text-underline-offset:.25em}
body.tsa-ds #main .tsa-ds-aside .tsa-ds-klein a{display:inline;padding:0}
body.tsa-ds #main .tsa-ds-aside a:hover{color:var(--gold-2)}
body.tsa-ds #main .tsa-ds-aside :focus-visible{outline-color:var(--gold-2)!important}

/* ---------- 7. Kaarten en tabellen ---------- */
body.tsa-ds #main table{width:100%;border-collapse:collapse;border:1px solid var(--rand);background:var(--paper-2);font-size:16px;margin:1.25rem 0}
body.tsa-ds #main table th,body.tsa-ds #main table td{padding:14px 16px;border:0;border-bottom:1px solid var(--rand);text-align:left;vertical-align:top;color:var(--ink);background:transparent}
body.tsa-ds #main table thead th{background:var(--ink);color:var(--paper);font:600 12.5px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;border-bottom:0}
body.tsa-ds #main table tr:last-child td{border-bottom:0}

/* ---------- 8. Beeld en galerij (WPBakery-rijen blijven; alleen opmaak) ---------- */
body.tsa-ds #main .genesisexpo_module_spacing{display:none}
body.tsa-ds #main .genesisexpo_module_double_headings{text-align:left;margin:2.5rem 0 1.25rem;padding:0}
body.tsa-ds-galerij #main .vc_row:first-child .genesisexpo_module_double_headings,body.tsa-ds-galerij #main .wpb-content-wrapper>.vc_row:nth-child(-n+3) .genesisexpo_module_double_headings{margin-top:0}
body.tsa-ds #main .heading_bgtitle{display:none}
body.tsa-ds #main .heading_subtitle{font:600 12px/1.2 var(--sans);letter-spacing:.22em;text-transform:uppercase;color:var(--gold-dark);margin:0 0 10px;padding:0}
body.tsa-ds #main .heading_title{font-family:var(--serif);font-weight:500;font-size:clamp(25px,3.2vw,34px);line-height:1.2;color:var(--ink);text-transform:none;letter-spacing:-.005em;margin:0;padding:0}
body.tsa-ds-galerij #main .wpb_video_widget{margin:0 0 1.75rem}
body.tsa-ds-galerij #main .wpb_video_widget .wpb_video_wrapper{padding:0;height:auto;position:static}
body.tsa-ds #main .tsa-ds-video{display:block;position:relative;width:100%;aspect-ratio:16/9;height:auto;border:0;border-radius:4px;overflow:hidden;background:var(--ink)}
body.tsa-ds #main a.tsa-ds-video img{position:absolute;inset:0;width:100%;height:100%;max-width:none;object-fit:cover;transition:transform .4s ease,opacity .2s}
body.tsa-ds #main a.tsa-ds-video:hover img{transform:scale(1.03);opacity:.88}
body.tsa-ds #main .tsa-ds-play{position:absolute;left:50%;top:50%;width:64px;height:64px;margin:-32px 0 0 -32px;border-radius:50%;background:var(--gold);box-shadow:0 4px 18px rgba(0,0,0,.45)}
body.tsa-ds #main .tsa-ds-play::after{content:"";position:absolute;left:26px;top:20px;border-style:solid;border-width:12px 0 12px 19px;border-color:transparent transparent transparent var(--gold-ink)}
body.tsa-ds #main .tsa-ds-videotitel{display:block;margin-top:10px;font:500 16px/1.4 var(--sans);color:var(--ink)}
body.tsa-ds-galerij #main .wpb_gallery img,body.tsa-ds #main .wpb_single_image img{border-radius:4px}
/* 1.6.6 · Videokaarten per rij uitlijnen. WPBakery stapelt de video's per kolom; een langere titel duwde daardoor de kaarten
   eronder omlaag, waardoor kaarten naast elkaar niet meer op één lijn stonden. Vanaf tablet worden rijen met alleen gelijke
   videokolommen één raster: kolommen en volgorde blijven gelijk, maar elke rij kaarten begint op dezelfde hoogte.
   Geldt in alle talen gelijk; de inhoud verandert niet. Op mobiel blijft alles één kolom (ongewijzigd). */
@media(min-width:768px){
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-4 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4))),
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-6 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-6))){display:grid;grid-auto-flow:row dense;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:30px;align-items:start;padding-left:15px;padding-right:15px}
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-6 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-6))){grid-template-columns:repeat(2,minmax(0,1fr))}
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))::before,
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))::after{display:none}
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-4 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4)))>.wpb_column,
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-4 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4)))>.wpb_column>.vc_column-inner,
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-4 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4)))>.wpb_column>.vc_column-inner>.wpb_wrapper,
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-6 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-6)))>.wpb_column,
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-6 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-6)))>.wpb_column>.vc_column-inner,
  body.tsa-ds-galerij #main .vc_row:has(>.vc_col-sm-6 .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-6)))>.wpb_column>.vc_column-inner>.wpb_wrapper{display:contents}
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))>.wpb_column::before,
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))>.wpb_column::after,
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))>.wpb_column>.vc_column-inner::before,
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))>.wpb_column>.vc_column-inner::after,
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))>.wpb_column>.vc_column-inner>.wpb_wrapper::before,
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video):not(:has(>.wpb_column:not(.vc_col-sm-4,.vc_col-sm-6)))>.wpb_column>.vc_column-inner>.wpb_wrapper::after{display:none}
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video)>.wpb_column:nth-child(1 of .wpb_column) .wpb_wrapper>*{grid-column:1}
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video)>.wpb_column:nth-child(2 of .wpb_column) .wpb_wrapper>*{grid-column:2}
  body.tsa-ds-galerij #main .vc_row:has(>.wpb_column .tsa-ds-video)>.wpb_column:nth-child(3 of .wpb_column) .wpb_wrapper>*{grid-column:3}
}
@media(prefers-reduced-motion:reduce){body.tsa-ds *{transition:none!important}}

/* ---------- 9. FAQ ---------- */
body.tsa-ds #main details{border-bottom:1px solid rgba(14,14,16,.2);margin:0;padding:0;background:transparent}
body.tsa-ds #main details:first-of-type{border-top:1px solid rgba(14,14,16,.2)}
body.tsa-ds #main summary{cursor:pointer;list-style:none;padding:18px 40px 18px 0;position:relative;font-family:var(--serif);font-size:20px;line-height:1.3;color:var(--ink);font-weight:500}
body.tsa-ds #main summary::-webkit-details-marker{display:none}
body.tsa-ds #main summary::after{content:"+";position:absolute;right:6px;top:50%;transform:translateY(-50%);font:400 26px/1 var(--sans);color:var(--gold-dark)}
body.tsa-ds #main details[open] summary::after{content:"–"}
/* 1.6.6 · Een vraag die als kop (h3) in een uitklapblok staat, ziet eruit als een gewone vraag; de kop blijft een kop. */
body.tsa-ds #main summary>h3,body.tsa-ds #main #tsa-seo summary>h3{display:inline;margin:0;padding:0;font:inherit;letter-spacing:inherit;color:inherit;text-transform:none}
/* 1.6.6 · Prijstabel met rijkoppen (th scope=row) oogt gelijk aan een tabel met gewone cellen. */
body.tsa-ds #main #tsa-seo .price-table tbody th{font-size:inherit;font-weight:inherit;text-transform:none;letter-spacing:normal}
body.tsa-ds #main #tsa-seo .price-table tbody tr:last-child th{border-bottom:0}
body.tsa-ds #main details>p,body.tsa-ds #main details>div{padding:0 0 18px;margin:0;color:var(--muted-dark)}

/* ---------- 10. Meldingen ---------- */
body.tsa-ds #main .tribe-events-notices,body.tsa-ds #main .tribe-events-c-messages__message{background:var(--paper-2);border:1px solid var(--rand);border-left:4px solid var(--gold-dark);border-radius:3px;padding:14px 16px;margin:0 0 1.5rem;color:var(--ink);font:500 16px/1.5 var(--sans)}
body.tsa-ds #main .tribe-events-notices ul{margin:0;padding:0;list-style:none}
body.tsa-ds #main .tribe-events-notices li{margin:0;padding:0;list-style:none}
body.tsa-ds #main .tribe-events-notices li::before{content:none!important}

/* ---------- 11. Agenda (The Events Calendar; kalender en gegevens blijven van de plugin) ---------- */
body.tsa-ds .tribe-common,body.tsa-ds .tribe-events{--tec-font-family-sans-serif:var(--sans);--tec-color-accent-primary:var(--gold-dark);--tec-color-accent-primary-hover:#5f4514;--tec-color-accent-primary-active:#5f4514;--tec-color-text-primary:var(--ink);--tec-color-text-secondary:var(--muted-dark);--tec-color-text-events-title:var(--ink);--tec-color-link-primary:var(--ink);--tec-color-link-accent:var(--gold-dark);--tec-color-background:var(--paper);--tec-color-background-events:var(--paper);--tec-color-border-default:var(--rand);--tec-color-border-secondary:var(--rand);--tec-color-icon-active:var(--ink)}
body.tsa-ds-events #main{padding-top:clamp(1.5rem,3vw,2.5rem)}
body.tsa-ds-events #main .tribe-events .tribe-events-l-container{max-width:72rem;padding:0 var(--pad) 1rem;min-height:0}
body.tsa-ds-events #main .tribe-events-view{background:transparent}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__heading,body.tsa-ds-events #main .tribe-events .tribe-events-c-top-bar__datepicker-button{font-family:var(--serif);font-weight:500;letter-spacing:-.005em;text-transform:none}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title{font-size:clamp(22px,2.6vw,27px);line-height:1.2;margin:6px 0 8px}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title a,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title a{color:var(--ink);text-decoration:none;border:0}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title a:hover,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title a:hover{color:var(--gold-dark);text-decoration:underline}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__heading{font-size:clamp(25px,3.2vw,34px);margin:2rem 0 1.25rem;padding-top:2rem;border-top:1px solid var(--rand)}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-row,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-row{background:var(--paper-2);border:1px solid var(--rand);border-radius:4px;margin:0 0 1rem;padding:1.25rem 1.25rem 1.25rem .25rem;flex-wrap:nowrap}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-date-tag-weekday,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-date-tag-month{color:var(--gold-dark);font-weight:700;letter-spacing:.1em}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-date-tag-daynum,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-date-tag-daynum{font-family:var(--serif);font-weight:500;color:var(--ink)}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-datetime,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-datetime{font:600 13px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;color:var(--muted-dark)}
body.tsa-ds-events #main .tribe-events p,body.tsa-ds-events #main .tribe-events address{font-size:16px;line-height:1.55}
body.tsa-ds-events #main .tribe-events img{border-radius:4px}
body.tsa-ds-events #main .tribe-events a{text-decoration:none}
body.tsa-ds-events #main .tribe-events .tribe-events-c-ical__link,body.tsa-ds-events #main .tribe-events .tribe-events-c-subscribe-dropdown__button{border-color:var(--gold-dark);color:var(--gold-dark);border-radius:3px}
body.tsa-ds-events #main .tribe-events .tribe-events-c-subscribe-dropdown__button:hover,body.tsa-ds-events #main .tribe-events .tribe-events-c-subscribe-dropdown__button:focus-within{background:var(--gold-dark);color:#fff}
/* Los evenement */
body.tsa-ds-event #main #tribe-events-pg-template{max-width:60rem;margin:0 auto;padding:0 var(--pad)}
body.tsa-ds-event #main .tribe-events-back{margin:0 0 1.25rem}
body.tsa-ds-event #main .tribe-events-back a,body.tsa-ds-event #main .tribe-events-nav-pagination a{font:700 13px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--gold-dark);text-decoration:none;display:inline-block;padding:12px 0}
body.tsa-ds-event #main .tribe-events-single-event-title{font-size:clamp(32px,5vw,52px);line-height:1.1;margin:0 0 .5rem}
body.tsa-ds-event #main .tribe-events-schedule{display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 18px;margin:0 0 1.5rem;padding:0;background:transparent;border:0;font:600 16px/1.4 var(--sans);color:var(--muted-dark)}
body.tsa-ds-event #main .tribe-events-schedule h2,body.tsa-ds-event #main .tribe-events-schedule div{font:inherit;color:inherit;margin:0}
body.tsa-ds-event #main .tribe-events-cost{color:var(--gold-dark);font-weight:700}
body.tsa-ds-event #main .tribe-events-event-image{margin:0 0 1.75rem}
body.tsa-ds-event #main .tribe-events-event-image img{width:100%;border-radius:4px;display:block}
body.tsa-ds-event #main .tribe-events-single-section,body.tsa-ds-event #main .tribe-events-event-meta{background:var(--paper-2);border:1px solid var(--rand);border-radius:4px;margin:1.75rem 0;padding:1.25rem 1.5rem;width:auto;box-sizing:border-box}
body.tsa-ds-event #main .tribe-events-single-section .tribe-events-event-meta{border:0;padding:0;margin:0;background:transparent}
body.tsa-ds-event #main .tribe-events-single-section-title{font-family:var(--serif);font-size:22px;margin:0 0 .75rem}
body.tsa-ds-event #main .tribe-events-meta-group dt,body.tsa-ds-event #main .tribe-events-meta-group .tribe-events-meta-label{font:600 12px/1.3 var(--sans);letter-spacing:.1em;text-transform:uppercase;color:var(--muted-dark);margin:.75rem 0 2px}
body.tsa-ds-event #main .tribe-events-meta-group dd,body.tsa-ds-event #main .tribe-events-meta-group .tribe-events-meta-value{font-size:16px;margin:0;color:var(--ink)}
body.tsa-ds-event #main .tribe-events-nav-pagination{border-top:1px solid var(--rand);margin-top:2rem;padding-top:.5rem}
body.tsa-ds-event #main .tribe-events-sub-nav{list-style:none;margin:0;padding:0;display:flex;justify-content:space-between;gap:1rem}
body.tsa-ds-event #main .tribe-events-sub-nav li{list-style:none;margin:0;padding:0}
body.tsa-ds-event #main .tribe-events-sub-nav li::before{content:none!important}
body.tsa-ds-event #main iframe{max-width:100%;border-radius:4px}

/* ---------- 12. Lespagina (bestaande inhoud en eigen opmaak van #tsa-seo blijven; kleuren en letters gelijkgetrokken) ---------- */
body.tsa-ds-lessen #main{padding:0;background:var(--paper)}
body.tsa-ds-lessen #main>.wgl-container{max-width:none;padding:0}
body.tsa-ds #tsa-seo{--gold:#c9a45c;--ink:#0e0e10;--paper:#f6f1e7;--muted:#5d574c;--line:#d9d1c0;font-family:var(--sans)}
body.tsa-ds #main #tsa-seo h1,body.tsa-ds #main #tsa-seo h2,body.tsa-ds #main #tsa-seo h3{font-family:var(--serif);font-weight:500;margin:0;letter-spacing:-.01em}
body.tsa-ds #main #tsa-seo h2{margin-bottom:.55em}
body.tsa-ds #main #tsa-seo h3{margin-bottom:.4em}
body.tsa-ds #main #tsa-seo .hero p{margin:22px 0 0}
body.tsa-ds #main #tsa-seo .card p,body.tsa-ds #main #tsa-seo .lead{margin:0}
body.tsa-ds #main #tsa-seo .list{list-style:none;padding:0;margin:20px 0 0}
body.tsa-ds #main #tsa-seo .list li{list-style:none;margin:0 0 6px;padding:0 0 0 26px;background:linear-gradient(#7a5a1c,#7a5a1c) no-repeat 0 .8em/14px 2px}
body.tsa-ds #main #tsa-seo .list li::before{content:none!important;display:none!important}
body.tsa-ds #main #tsa-seo h1{font-size:clamp(36px,5.6vw,62px);line-height:1.08;color:#f6f1e7!important}
body.tsa-ds #main #tsa-seo .hero{background:radial-gradient(120% 140% at 50% 0,#1d1a14 0,#0e0e10 70%);padding:clamp(2.5rem,6vw,4.5rem) 0 clamp(2.5rem,5vw,4rem)}
body.tsa-ds #main #tsa-seo .eyebrow{font:600 12px/1.2 var(--sans);letter-spacing:.22em;color:var(--gold-dark,#7a5a1c)}
body.tsa-ds #main #tsa-seo .hero .eyebrow,body.tsa-ds #main #tsa-seo .final .eyebrow{color:#dcbb78}
body.tsa-ds #main #tsa-seo section{padding:clamp(3rem,6vw,5rem) 0}
body.tsa-ds #main #tsa-seo a{text-decoration:none;color:inherit}
body.tsa-ds #main #tsa-seo .btn{min-height:56px;padding:16px 26px;border-radius:3px;font:700 14px/1.1 var(--sans);letter-spacing:.12em;text-transform:uppercase}
body.tsa-ds #main #tsa-seo .btn-primary{background:#c9a45c;color:#15120b;border:1px solid #c9a45c}
body.tsa-ds #main #tsa-seo .btn-secondary{border:1px solid #c9a45c;color:#dcbb78;background:transparent}
body.tsa-ds #main #tsa-seo .cta-row br{display:none}
body.tsa-ds #main #tsa-seo .photo{border-radius:4px}
body.tsa-ds #main #tsa-seo .card{border-radius:4px}
body.tsa-ds #main #tsa-seo table{margin:0}
@media(max-width:700px){body.tsa-ds #main #tsa-seo .facts{grid-template-columns:repeat(2,1fr)}}

/* ---------- 13. Slot-CTA en voet ---------- */
body.tsa-ds .tsa-ds-slot{background:radial-gradient(120% 90% at 50% 0,#1d1a14 0,var(--ink) 70%);color:var(--paper);text-align:center;padding:clamp(3rem,6vw,5rem) 0;font-family:var(--sans)}
body.tsa-ds .tsa-ds-slot-kop{font-family:var(--serif);font-weight:500;font-size:clamp(28px,4.4vw,46px);line-height:1.12;margin:0 auto;padding:0;max-width:18ch;color:var(--paper);text-wrap:balance}
body.tsa-ds .tsa-ds-slot-sub{margin:14px 0 1.75rem;padding:0;color:var(--muted);font-size:17px;line-height:1.5}
body.tsa-ds .tsa-ds-voet{background:#09090a;border-top:1px solid var(--line);padding:3rem 0 1.5rem;color:var(--muted);font:400 15.5px/1.7 var(--sans);scroll-margin-top:72px}
body.tsa-ds .tsa-ds-voet-rij{display:grid;gap:2rem}
@media(min-width:620px){body.tsa-ds .tsa-ds-voet-rij{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){body.tsa-ds .tsa-ds-voet-rij{grid-template-columns:1.6fr 1fr 1fr 1fr .8fr}}
body.tsa-ds .tsa-ds-voet img{height:44px;width:auto;max-width:100%;margin:0 0 14px;display:block}
body.tsa-ds .tsa-ds-voet h2{font:600 12px/1.2 var(--sans);letter-spacing:.2em;text-transform:uppercase;color:var(--paper);margin:0 0 14px;padding:0}
body.tsa-ds .tsa-ds-voet p{margin:0;padding:0;line-height:1.7;color:var(--muted);font-size:15.5px}
body.tsa-ds .tsa-ds-voet a{color:var(--muted);text-decoration:none}
body.tsa-ds .tsa-ds-voet a:hover{color:var(--gold-2)}
body.tsa-ds .tsa-ds-voet-rij a{display:block;padding:11px 0;line-height:22px}
body.tsa-ds .tsa-ds-voet-onder{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:0 2rem;margin-top:2rem;padding-top:1rem;border-top:1px solid var(--line);font-size:14.5px}
body.tsa-ds .tsa-ds-voet-onder p{font-size:14.5px}
body.tsa-ds .tsa-ds-voet-onder a{display:inline-block;padding:11px 0;line-height:22px}
body.tsa-ds .tsa-ds-voet-jur{display:flex;flex-wrap:wrap;gap:0 1.5rem}
@media(min-width:1000px){body.tsa-ds .tsa-ds-voet-rij a,body.tsa-ds .tsa-ds-voet-onder a{padding:4px 0}}

/* ---------- Verfijning na controle tegen de echte thema- en agenda-CSS ---------- */
body.tsa-ds #main .heading_subtitle{font-size:12px!important;line-height:1.2!important}
body.tsa-ds-events #main .tribe-events .tribe-events-l-container{padding-top:0!important;padding-bottom:1rem!important}
body.tsa-ds-events #main .tribe-events .tribe-events-header{padding-top:0;margin-top:0}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title a,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title a,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__heading,body.tsa-ds-events #main .tribe-events .tribe-events-c-top-bar__datepicker-button{font-family:var(--serif)!important;font-weight:500!important}
body.tsa-ds-event #main .tribe-events-single-section{display:block;float:none;width:100%}
body.tsa-ds-event #main .tribe-events-event-meta.primary,body.tsa-ds-event #main .tribe-events-event-meta.secondary{display:flex;flex-wrap:wrap;gap:1.25rem 3rem;float:none;width:100%}
body.tsa-ds-event #main .tribe-events-meta-group{float:none;width:auto;flex:1 1 13rem;margin:0;padding:0}
body.tsa-ds-event #main .tribe-events-meta-group dl,body.tsa-ds-event #main .tribe-events-meta-group dd,body.tsa-ds-event #main .tribe-events-meta-group dt{margin-left:0;padding-left:0}
body.tsa-ds-event #main .tribe-events-venue-map{flex:1 1 16rem;float:none;width:auto;margin:0;border:0;padding:0}
body.tsa-ds-events #main .tribe-common{margin-top:0!important}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title{font-size:clamp(21px,2.6vw,27px)!important;line-height:1.2!important}
body.tsa-ds-event #main .tribe-events-meta-group dl,body.tsa-ds-event #main .tribe-events-meta-group dd,body.tsa-ds-event #main .tribe-events-meta-group dt{margin-left:0!important;padding-left:0!important}
body.tsa-ds #main h1 span[style],body.tsa-ds #main h2 span[style],body.tsa-ds #main h3 span[style]{font-family:inherit!important;font-size:inherit!important;font-weight:inherit!important;color:inherit!important}
body.tsa-ds-formulier #main .genesisexpo_module_double_headings{max-width:46rem;margin:0 auto 1.25rem}
body.tsa-ds-events #main .tribe-events .tribe-events-calendar-list__event-title a,body.tsa-ds-events #main .tribe-events .tribe-events-calendar-latest-past__event-title a{font-size:inherit!important;line-height:inherit!important}
body.tsa-ds #main #tsa-seo .final{background:radial-gradient(120% 90% at 50% 0,#1d1a14 0,#0e0e10 70%)}
body.tsa-ds #main #tsa-seo .final h2{color:#f6f1e7}
body.tsa-ds #main #tsa-seo details{border:0;border-bottom:1px solid rgba(14,14,16,.2);border-radius:0;background:transparent;padding:0}
body.tsa-ds #main #tsa-seo .faq{gap:0}

/* ---------- 1.0.1: mobiele correcties (desktop ongewijzigd) ---------- */
/* Voorbeeldlabel buiten de kop: klein, vast linksonder, niet aanklikbaar. */
body.tsa-ds-voorbeeld::after{content:"Voorbeeld";position:fixed;left:8px;bottom:8px;z-index:9990;pointer-events:none;font:700 10.5px/1 var(--sans);letter-spacing:.14em;text-transform:uppercase;color:var(--gold-ink);background:var(--gold-2);padding:6px 8px;border-radius:2px;box-shadow:0 1px 6px rgba(0,0,0,.35)}
body.tsa-ds .tsa-ds-logo{min-width:0;flex:0 1 auto}
body.tsa-ds .tsa-ds-menubtn{flex:none;white-space:nowrap}
/* 1.3.0: kop en mobiel menu met dezelfde maten als de homepage (84 px, logo 46 px; compact 64/38 na scrollen). */
@media(max-width:999px){
  body.tsa-ds .tsa-ds-mobiel{max-height:calc(100vh - 84px);max-height:calc(100dvh - 84px);overscroll-behavior:contain}
  html:has(#tsaDsHeader.tsa-open){overflow:hidden}
}
@media(max-width:700px){
  /* Compactere introductie: het formulier begint eerder. */
  body.tsa-ds .tsa-ds-intro{padding:1.4rem 0 1.25rem}
  body.tsa-ds .tsa-ds-intro .tsa-ds-eyebrow{margin-bottom:8px;font-size:11px;letter-spacing:.16em}
  body.tsa-ds .tsa-ds-h1{font-size:28px;line-height:1.12}
  body.tsa-ds .tsa-ds-lead{font-size:16px;margin-top:10px}
  body.tsa-ds .tsa-ds-zeker{margin-top:12px;gap:3px 18px}
  body.tsa-ds .tsa-ds-zeker li{font-size:15px;line-height:1.4;padding-left:20px;background-size:12px 2px;background-position:0 .68em}
  body.tsa-ds-proefles #main,body.tsa-ds-formulier #main{padding-top:1rem}
  body.tsa-ds .tsa-ds-formkaart{padding:1rem 1rem 1.25rem}
  body.tsa-ds .tsa-ds-formkaart>p:first-child{font-size:15px;line-height:1.5;margin-bottom:1rem}
  /* Minder aaneengesloten donker onderaan: licht zijpaneel en voet in twee kolommen. */
  body.tsa-ds .tsa-ds-aside{background:var(--paper-2);color:var(--ink);border:1px solid var(--rand);padding:1.25rem 1rem}
  body.tsa-ds #main .tsa-ds-aside h2{color:var(--ink);font-size:20px;margin-top:1.25rem}
  body.tsa-ds #main .tsa-ds-aside li,body.tsa-ds #main .tsa-ds-aside p{color:var(--muted-dark)}
  body.tsa-ds #main .tsa-ds-aside a{color:var(--ink);text-decoration-color:var(--gold-dark)}
  body.tsa-ds #main .tsa-ds-aside a:hover{color:var(--gold-dark)}
  body.tsa-ds #main .tsa-ds-aside ol li::after{border-color:var(--gold-dark);color:var(--gold-dark)}
  body.tsa-ds #main .tsa-ds-aside :focus-visible{outline-color:var(--gold-dark)!important}
  body.tsa-ds #main .tsa-ds-aside p:not(.tsa-ds-klein){display:flex;flex-wrap:wrap;gap:0 1.25rem}
  body.tsa-ds .tsa-ds-voet{padding:2rem 0 1rem}
  body.tsa-ds .tsa-ds-voet-rij{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:1.25rem 1rem}
  body.tsa-ds .tsa-ds-voet-rij a{font-size:14.5px}
  body.tsa-ds .tsa-ds-voet-rij>div:first-child{grid-column:1/-1}
  body.tsa-ds .tsa-ds-voet-rij>div{min-width:0}
  body.tsa-ds .tsa-ds-voet-rij a{overflow-wrap:anywhere}
  body.tsa-ds .tsa-ds-voet h2{margin-bottom:6px}
  body.tsa-ds .tsa-ds-voet-onder{margin-top:1.25rem}
}
body.tsa-ds #main .wpcf7 .wpcf7-form-control-wrap::before,body.tsa-ds #main .wpcf7 .wpcf7-form-control-wrap::after{content:none!important;display:none!important}

/* ---------- 1.1.0: achtergrondvideo achter de titelbalk ---------- */
/* De laag heeft de verhouding van het videobestand (mobiel 3:2, desktop 3:1) en wordt nooit hoger dan de balk: alleen bijsnijden, niet vergroten. */
body.tsa-ds .tsa-ds-heeft-video{position:relative;overflow:hidden;isolation:isolate}
body.tsa-ds .tsa-ds-vid{position:absolute;top:0;left:0;right:0;z-index:-1;height:min(100%,66.667vw);overflow:hidden;background:#0e0e10;margin:0;padding:0}
body.tsa-ds .tsa-ds-vid img,body.tsa-ds .tsa-ds-vid video{position:absolute;top:0;left:0;width:100%!important;height:100%!important;max-width:none!important;object-fit:cover;display:block;border:0;border-radius:0;margin:0}
body.tsa-ds .tsa-ds-vid video{opacity:0;transition:opacity .8s ease}
body.tsa-ds .tsa-ds-vid.tsa-speelt video{opacity:1}
body.tsa-ds .tsa-ds-vid::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(14,14,16,.74) 0,rgba(14,14,16,.66) 55%,#0e0e10 100%)}
body.tsa-ds .tsa-ds-vidknop{position:absolute;z-index:2;right:var(--pad);top:min(calc(100% - 54px),calc(66.667vw - 54px));display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:44px;min-height:44px;padding:0;margin:0;background:rgba(14,14,16,.6);color:#f6f1e7;border:1px solid rgba(246,241,231,.45);border-radius:3px;font:600 11px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;box-shadow:none}
body.tsa-ds .tsa-ds-vidknop[hidden]{display:none}
body.tsa-ds .tsa-ds-vidknop:hover{background:rgba(14,14,16,.85);border-color:var(--gold-2);color:var(--gold-2)}
body.tsa-ds .tsa-ds-vidknop:focus-visible{outline-color:var(--gold-2)!important}
body.tsa-ds .tsa-ds-vidicoon{display:block;width:10px;height:12px;border-left:3px solid currentColor;border-right:3px solid currentColor;box-sizing:border-box}
body.tsa-ds .tsa-gepauzeerd .tsa-ds-vidicoon{width:0;height:0;border-style:solid;border-width:6px 0 6px 10px;border-color:transparent transparent transparent currentColor}
body.tsa-ds .tsa-ds-vidtekst{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
@media(min-width:700px){
  body.tsa-ds .tsa-ds-vid{height:min(100%,33.333vw)}
  body.tsa-ds .tsa-ds-vid::after{background:linear-gradient(90deg,rgba(14,14,16,.9) 0,rgba(14,14,16,.78) 42%,rgba(14,14,16,.46) 70%,rgba(14,14,16,.22) 100%),linear-gradient(180deg,rgba(14,14,16,.3) 0,rgba(14,14,16,0) 28%,rgba(14,14,16,0) 60%,#0e0e10 100%)}
  body.tsa-ds .tsa-ds-vidknop{top:min(calc(100% - 56px),calc(33.333vw - 56px));padding:0 14px}
  body.tsa-ds .tsa-ds-vidtekst{position:static;width:auto;height:auto;overflow:visible;clip-path:none}
}
@media(min-width:1000px){
  body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video{min-height:clamp(260px,24vw,380px);display:flex;align-items:center}
  body.tsa-ds-proefles .tsa-ds-intro.tsa-ds-heeft-video,body.tsa-ds-formulier .tsa-ds-intro.tsa-ds-heeft-video{min-height:clamp(240px,20vw,300px)}
}
@media(max-width:699px){
  /* Ruimte voor de pauzeknop rechtsonder, zodat hij geen tekst afdekt. */
  body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-vidknop{top:calc(100% - 54px)}
  body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-h1:last-child,body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-lead:last-child,body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-zeker li:last-child{padding-right:56px}
  body.tsa-ds #main #tsa-seo .hero.tsa-ds-heeft-video .tsa-ds-vidknop{top:8px}
  body.tsa-ds #main #tsa-seo .hero.tsa-ds-heeft-video .eyebrow{padding-right:58px}
}
@media(prefers-reduced-motion:reduce){body.tsa-ds .tsa-ds-vid video{display:none}}
body.tsa-ds #main .tsa-ds-videonoot{display:block;margin-top:2px;font:400 13px/1.4 var(--sans);color:var(--muted-dark)}
/* ---------- 1.4.0 ---------- */
/* Kleine, onopvallende videobediening (zelfde vorm als op de homepage); tikvlak blijft 44 px. */
body.tsa-ds .tsa-ds-vidknop{width:44px;min-width:44px;height:44px;min-height:44px;padding:0;gap:0;background:transparent;border:0;border-radius:50%;color:rgba(246,241,231,.82)}
body.tsa-ds .tsa-ds-vidknop::before{content:"";position:absolute;inset:7px;border-radius:50%;background:rgba(14,14,16,.38);border:1px solid rgba(246,241,231,.3);transition:background-color .2s,border-color .2s}
body.tsa-ds .tsa-ds-vidknop:hover{background:transparent;color:var(--gold-2)}
body.tsa-ds .tsa-ds-vidknop:hover::before,body.tsa-ds .tsa-ds-vidknop:focus-visible::before{background:rgba(14,14,16,.7);border-color:var(--gold-2)}
body.tsa-ds .tsa-ds-vidicoon{position:relative;transform:scale(.8)}
body.tsa-ds .tsa-ds-vidtekst{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap}
/* Los evenement met titelbalk (paginatype "eventkop"): de titel staat in de balk, niet nog eens in de inhoud. */
body.tsa-ds-eventkop .tribe-events-single-event-title{position:absolute!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important;border:0!important}
body.tsa-ds-eventkop .tsa-ds-intro .tsa-ds-h1{max-width:26ch}
/* 404-pagina */
body.tsa-ds-fout404 #main.tsa-ds-404-main{padding:clamp(2.5rem,7vw,5rem) 0 clamp(3.5rem,8vw,6rem)}
body.tsa-ds-fout404 .tsa-ds-404-wrap{max-width:44rem;margin:0 auto;padding:0 var(--pad)}
body.tsa-ds-fout404 #main .tsa-ds-404-wrap p{font-size:18px;line-height:1.6;margin:0 0 1.75rem;color:var(--ink)}
body.tsa-ds-fout404 .tsa-ds-404-acties{display:flex;flex-wrap:wrap;gap:12px;margin:0 0 2rem}
body.tsa-ds-fout404 #main a.tsa-ds-404-btn{display:inline-flex;align-items:center;justify-content:center;min-height:56px;padding:0 28px;border-radius:3px;border:1px solid var(--gold);background:var(--gold);color:var(--gold-ink);font:700 14px/1.1 var(--sans);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}
body.tsa-ds-fout404 #main a.tsa-ds-404-btn.tsa-ds-404-btn2{background:transparent;color:var(--gold-dark);border-color:var(--gold-dark)}
body.tsa-ds-fout404 #main a.tsa-ds-404-btn:hover{background:var(--gold-2);border-color:var(--gold-2);color:var(--gold-ink)}
body.tsa-ds-fout404 #main .tsa-ds-404-links{list-style:none;margin:0;padding:1.25rem 0 0;border-top:1px solid var(--rand);display:flex;flex-wrap:wrap;gap:6px 22px}
body.tsa-ds-fout404 #main .tsa-ds-404-links li{list-style:none;margin:0;padding:0}
body.tsa-ds-fout404 #main .tsa-ds-404-links li::before{content:none!important}
body.tsa-ds-fout404 #main .tsa-ds-404-links a{display:inline-block;padding:10px 0;font:600 15px/1.3 var(--sans);color:var(--gold-dark);text-decoration:underline;text-underline-offset:3px}
/* ---------- 1.4.2: geen zichtbare videobediening meer; de ruimte die daarvoor was vrijgehouden vervalt ---------- */
@media(max-width:699px){
  body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-h1:last-child,body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-lead:last-child,body.tsa-ds .tsa-ds-intro.tsa-ds-heeft-video .tsa-ds-zeker li:last-child{padding-right:0}
  body.tsa-ds #main #tsa-seo .hero.tsa-ds-heeft-video .eyebrow{padding-right:0}
}
/* ---------- 1.5.0: op pagina's met een titelbalkvideo zweeft de kop doorzichtig over de video ---------- */
/* De kop staat vast bovenaan (zoals op de homepage). De titelbalk begint helemaal bovenaan de pagina; de video ligt dus ook achter
   logo en menu. Na scrollen of bij een open menu krijgt de kop zijn donkere achtergrond terug. Logo en tekst blijven volledig helder:
   alleen de achtergrond is doorzichtig, niet de kop zelf. */
body.tsa-ds-videokop .tsa-ds-header{position:fixed;left:0;right:0;top:0;background:transparent;box-shadow:none;transition:background-color .25s,box-shadow .25s}
body.tsa-ds-videokop.admin-bar .tsa-ds-header{top:32px}
@media(max-width:782px){body.tsa-ds-videokop.admin-bar .tsa-ds-header{top:46px}}
body.tsa-ds-videokop .tsa-ds-header.tsa-compact,body.tsa-ds-videokop .tsa-ds-header.tsa-open{background:rgba(14,14,16,.94);box-shadow:0 1px 0 var(--line)}
body.tsa-ds-videokop .tsa-ds-nav a,body.tsa-ds-videokop .tsa-ds-menubtn{text-shadow:0 1px 8px rgba(0,0,0,.55)}
/* Ruimte voor de kop bovenin de balk, zodat de titel niet onder het logo of de menuknop komt. */
body.tsa-ds-videokop .tsa-ds-intro{padding-top:calc(84px + 1.25rem)}
body.tsa-ds-videokop #main #tsa-seo .hero.tsa-ds-heeft-video{padding-top:calc(84px + 1.75rem)}
/* Iets lichtere sluier bovenin, zodat het beeld achter de kop zichtbaar blijft; onderaan blijft de overgang naar de pagina. */
body.tsa-ds-videokop .tsa-ds-vid::after{background:linear-gradient(180deg,rgba(14,14,16,.46) 0,rgba(14,14,16,.6) 52%,#0e0e10 100%)}
@media(min-width:700px){
  body.tsa-ds-videokop .tsa-ds-vid::after{background:linear-gradient(90deg,rgba(14,14,16,.86) 0,rgba(14,14,16,.72) 42%,rgba(14,14,16,.42) 70%,rgba(14,14,16,.2) 100%),linear-gradient(180deg,rgba(14,14,16,.34) 0,rgba(14,14,16,0) 30%,rgba(14,14,16,0) 60%,#0e0e10 100%)}
}
@media(min-width:1000px){
  /* Desktop: een lichte sluier achter de menutekst, alleen bovenaan, zodat de tekst ook op een licht videobeeld leesbaar blijft (gemeten contrast minimaal 4,5:1). */
  body.tsa-ds-videokop .tsa-ds-header:not(.tsa-compact):not(.tsa-open){background:linear-gradient(180deg,rgba(14,14,16,.42) 0,rgba(14,14,16,.3) 60%,rgba(14,14,16,0) 100%)}
  body.tsa-ds-videokop .tsa-ds-intro{padding-top:calc(96px + 2rem)}
  body.tsa-ds-videokop #main #tsa-seo .hero.tsa-ds-heeft-video{padding-top:calc(96px + 2.5rem)}
}

/* ---------- Taalkeuze NL | TR | EN (alleen aanwezig als de site meertalig is) ---------- */
body.tsa-ds .tsa-taal{display:none;flex:none;position:relative;font-family:var(--sans)}
body.tsa-ds .tsa-taal ul{display:flex;align-items:center;list-style:none!important;margin:0!important;padding:0!important}
body.tsa-ds .tsa-taal li{list-style:none!important;margin:0!important;padding:0!important;line-height:1;background:none}
body.tsa-ds .tsa-taal a{display:inline-flex;align-items:center;justify-content:center;border:0;font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;color:var(--paper);text-decoration:none;transition:color .2s}
body.tsa-ds .tsa-taal a:hover,body.tsa-ds .tsa-taal a[aria-current]{color:var(--gold-2)}
body.tsa-ds .tsa-taal a[aria-current]{font-weight:700}
body.tsa-ds .tsa-taal-naam{display:none}
/* Compacte kop (tot 1180 px): één rustige knop met de huidige taal naast de menuknop; de lijst klapt eronder uit. Blijft staan na scrollen. */
body.tsa-ds .tsa-taal-balk{display:block;margin-left:auto}
body.tsa-ds .tsa-taal-balk+.tsa-ds-menubtn{margin-left:0}
body.tsa-ds .tsa-taal-knop{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:48px;min-height:48px;margin:0;padding:0 8px;background:none!important;border:0!important;border-radius:3px;box-shadow:none!important;color:var(--paper);font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;}
body.tsa-ds .tsa-taal-knop::after{content:"";width:0;height:0;border-left:4px solid transparent;border-right:4px solid transparent;border-top:5px solid currentColor;opacity:.75;transition:transform .2s}
body.tsa-ds .tsa-taal-open .tsa-taal-knop{color:var(--gold-2)}
body.tsa-ds .tsa-taal-open .tsa-taal-knop::after{transform:rotate(180deg)}
body.tsa-ds .tsa-taal-balk ul{display:none;position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:176px;padding:4px 0!important;background:rgba(14,14,16,.98);border:1px solid var(--line);border-radius:3px;box-shadow:0 14px 32px rgba(0,0,0,.5)}
body.tsa-ds .tsa-taal-open ul{display:block}
body.tsa-ds .tsa-taal-balk li+li{border-top:1px solid var(--line)}
body.tsa-ds .tsa-taal-balk a{display:flex;justify-content:flex-start;gap:14px;min-height:48px;padding:0 18px;font:500 16px/1.2 var(--sans);letter-spacing:.01em;text-transform:none;text-shadow:none}
body.tsa-ds .tsa-taal-balk .tsa-taal-code{flex:none;width:22px;font:600 11.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;opacity:.7}
body.tsa-ds .tsa-taal-balk .tsa-taal-naam{display:inline}
body.tsa-ds .tsa-open .tsa-taal-balk,body.tsa-ds.tsa-open .tsa-taal-balk{visibility:hidden}
/* In het geopende mobiele menu: NL | TR | EN bovenaan, met een streep ertussen. */
body.tsa-ds .tsa-ds-mobiel .tsa-taal{display:block;border-bottom:1px solid var(--line);padding:4px 0}
body.tsa-ds .tsa-ds-mobiel .tsa-taal ul{justify-content:flex-end;margin-right:-12px!important}
body.tsa-ds .tsa-ds-mobiel .tsa-taal li+li{border-left:1px solid rgba(246,241,231,.45)}
body.tsa-ds .tsa-ds-mobiel .tsa-taal a{display:inline-flex;min-width:52px;min-height:48px;padding:0 12px;border:0;font:600 14px/1 var(--sans);letter-spacing:.12em;text-shadow:none}
@media(max-width:1179px){
  body.tsa-meertalig.tsa-ds .tsa-ds-bar{gap:.5rem}
}
/* Zeer smalle telefoons: de menuknop toont alleen het pictogram, zodat logo, taal en menu naast elkaar passen. */
@media(max-width:374px){
  body.tsa-meertalig.tsa-ds .tsa-ds-menulbl{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  body.tsa-meertalig.tsa-ds .tsa-ds-menubtn{gap:0;padding:0;justify-content:center}
}
/* Brede kop (vanaf 1180 px): NL | TR | EN uitgeschreven, uiterst rechts. */
@media(min-width:1180px){
  body.tsa-ds .tsa-taal-balk{margin-left:-.4rem;margin-right:-9px}
  body.tsa-ds .tsa-taal-knop{display:none}
  body.tsa-ds .tsa-taal-balk ul{display:flex;position:static;min-width:0;padding:0!important;background:none;border:0;border-radius:0;box-shadow:none}
  body.tsa-ds .tsa-taal-balk li+li{border-top:0;border-left:1px solid rgba(246,241,231,.45)}
  body.tsa-ds .tsa-taal-balk a{display:inline-flex;justify-content:center;gap:0;min-height:44px;padding:0 9px;font:600 12.5px/1 var(--sans);letter-spacing:.12em;text-transform:uppercase;}
  body.tsa-ds .tsa-taal-balk .tsa-taal-code{width:auto;font:inherit;letter-spacing:inherit;opacity:1}
  body.tsa-ds .tsa-taal-balk .tsa-taal-naam{display:none}
}
/* Met taalkeuze past het brede menu pas vanaf 1180 px; tot die breedte blijft de compacte kop met menuknop staan. */
@media(min-width:1000px) and (max-width:1179px){
  body.tsa-meertalig.tsa-ds .tsa-ds-nav,body.tsa-meertalig.tsa-ds .tsa-ds-navcta{display:none}
  body.tsa-meertalig.tsa-ds .tsa-ds-menubtn{display:inline-flex}
  body.tsa-meertalig.tsa-ds .tsa-ds-mobiel{display:block}
  body.tsa-meertalig.tsa-ds .tsa-ds-mobiel[hidden]{display:none}
  html:has(body.tsa-meertalig #tsaDsHeader.tsa-open){overflow:hidden}
}
