/* SWITCH: AI-slop-reductie en contrast (voorheen WPCode-snippet 7910, batch 1 en 2, 06-11 en 07-11-2026).
   Bron: tasks/seo-livegang/design-fixes.md D1 tot D4, T3/D10, D11, D16, D20.
   Viervoudige classes en de :has(#id)-prefix winnen van de CSS in de Elementor-HTML-widgets. */
/* Basis uit global.css (DSN-bundel) waar de HTML-widget-pagina's op gebouwd zijn; de bundel zelf laadt daar niet meer.
   :where() houdt de specificiteit op die van een kaal element, net als de oorspronkelijke regel "span, a". */
:where(.switch-stage) span,:where(.switch-stage) a{display:inline-block}
/* D1: kopmarker als CSS-streep in merkgoud (de U+2014 is uit de HTML gehaald) */
html body .nl7-brand-rule,html body .s40-brand-rule,html body .s38-brand-rule{display:block!important;width:.75em;height:.08em;background:#B68330!important;margin:0 0 .15em;line-height:0!important;overflow:hidden}
/* D2: 1 radius voor alles wat klikbaar is */
.button.button.button.button,.elementor-button.elementor-button.elementor-button.elementor-button,.nl12-read.nl12-read.nl12-read.nl12-read,.s40-workout-more.s40-workout-more.s40-workout-more.s40-workout-more,.s39-workout-more.s39-workout-more.s39-workout-more.s39-workout-more,.i34-filter.i34-filter.i34-filter.i34-filter,body:has(.switch-stage) .switch-stage .button.button.button,body:has(.switch-stage) .switch-stage .header-cta.header-cta.header-cta,body:has(#switch-nl-line-v7) .switch-stage .button.button.button,body:has(#switch-nl-line-v7) .switch-stage .header-cta.header-cta.header-cta{border-radius:2px!important}
/* D3: geen diffuse schaduw op kaarten en knoppen (.sub-menu houdt zijn schaduw) */
.button.button.button.button,.textlink.textlink.textlink.textlink,.nl20-card.nl20-card.nl20-card.nl20-card,.s32-secondary.s32-secondary.s32-secondary.s32-secondary,.nl23-text-link.nl23-text-link.nl23-text-link.nl23-text-link,.nl18-quick.nl18-quick.nl18-quick.nl18-quick,.nl18-practical.nl18-practical.nl18-practical.nl18-practical,body:has(#switch-nl-line-v7) .switch-stage .button.button.button{box-shadow:none!important}
/* D4: cookiebanner in het merkfont, link leesbaar op wit (a11y S1) */
#cc--main,#cc_div,#cc--main *{font-family:"SWITCH Barlow","Barlow",sans-serif!important}
#cc--main .cc-link,button.cc-link{color:#100D09!important;text-decoration:underline!important}

/* ===== Batch 2: contrast T3/D10, D11, D16, D20 ===== */
/* T3: goud als tekst op licht naar #7F5817 (5,49:1 op #F2EEE7); goud als vlak en streep blijft */
html body .switch-stage [data-nl-tone="light"] .textlink.textlink.textlink,html body .switch-stage [data-nl-tone="light"] .w16-score-number.w16-score-number,body:has(#switch-nl-line-v7) .switch-stage [data-nl-tone="light"] .textlink.textlink.textlink,body:has(#switch-nl-line-v7) .switch-stage [data-nl-tone="light"] .w16-score-number.w16-score-number,body:has(#switch-nl-line-v7) .switch-stage [data-nl-tone="light"] :is(.textlink,.s33-link,.s32-textlink).textlink,html body .rooster-today{color:#7F5817!important}
/* D10: donkere tekst op gouden knoppen (5,79:1): rooster-tegels op de proeflespagina's en de legacy header en footer */
html body .rooster-tile .rooster-tile-button .button{color:#100D09!important;background:#B68330!important;background-image:none!important}
html body .rooster-tile{border-radius:2px!important}
html body .elementor-location-header .elementor-button .elementor-button-text,html body .elementor-location-header .elementor-button{color:#100D09!important}
html body .elementor-location-footer h2.elementor-heading-title{color:#100D09!important}
/* D11: reviewkaart zonder sfeerfoto van andere leden; kaart blijft #100D09 met citaat, naam en bron */
html body .s33-review-slide>img{display:none!important}
/* D16: tabs op de lidmaatschappenpagina zonder pilvorm */
html body .s12-tabs button{border-radius:2px!important}

/* Nacontrole batch 2 (07-11-2026): T3 restpunten uit de headless contrastmeting */
/* workout-detailpagina's (nl18): stappen-label in goud op licht (2,89:1) naar #7F5817; de ontdek-kaarten houden goud (tekst op foto, niet meetbaar) */
html body:has(#switch-nl-line-v7) .switch-stage.nl18-detail .nl18-flow-copy>span{color:#7F5817!important}
/* legacy proefles-formulier (855, 1427): verzendknop wit op goud (3,34:1) naar #100D09 */
html body .elementor-widget-form .elementor-button,html body .elementor-widget-form .elementor-button .elementor-button-text{color:#100D09!important}

/* ===== Afwerking voor livegang (08-11-2026, tasks/seo-livegang/visueel-fixes.md V1 t/m V22) =====
   Elke regel dekt alle widget-prefixen (s33, s39, s40, nl12, nl18, nl20, s12, s31, s37, w8, s32).
   Prefix "html body .switch-stage" plus !important waar de widget-CSS zelf !important of een id gebruikt. */
/* V1: header altijd op volle breedte. Hello Elementor zet max-width op .site-header:not(.dynamic-header);
   de EN-templates en pure-strength missen de override die de NL-widgets wel hebben. */
html body .switch-stage .site-header{max-width:none!important;width:100%!important;left:0!important;right:0!important;margin:0!important}
/* V2: header-inhoud in dezelfde container als de content (.s33-wrap en .wrap: 1160 px, 64 px marge; 40 px op mobiel) */
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .site-header .header-inner,html body .switch-stage :is(.wrap,.s33-wrap):not(:is(.wrap,.s33-wrap) :is(.wrap,.s33-wrap)){max-width:none!important;width:min(1160px,calc(100% - 64px))!important;margin-left:auto!important;margin-right:auto!important}
@media(max-width:760px){html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .site-header .header-inner,html body .switch-stage :is(.wrap,.s33-wrap):not(:is(.wrap,.s33-wrap) :is(.wrap,.s33-wrap)){width:calc(100% - 40px)!important}}
/* V9: 1 sectie-padding voor de contentsecties die afweken (75, 70, 80, 65, 30/54); 64 op desktop, 40 op mobiel */
html body .switch-stage :is(.s12-section,.s12-end,.nl31-reviews,.nl18-heart,.nl12-approach){padding-top:64px!important;padding-bottom:64px!important}
@media(max-width:760px){html body .switch-stage :is(.s12-section,.s12-end,.nl31-reviews,.nl18-heart,.nl12-approach){padding-top:40px!important;padding-bottom:40px!important}}
/* V3: carrouselknoppen, 1 stijl sitebreed: 44 px cirkel, rand en icoon in currentColor, icoon als masker
   (de tekstglyph en de svg uit de widgets worden verborgen), exact gecentreerd door flex in een knop zonder padding;
   geen grid: de tekstglyph (font-size 0) zou als anoniem grid-item een tweede rij maken en het icoon 5 px omhoog duwen. */
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button{display:flex!important;align-items:center!important;justify-content:center!important;width:44px!important;height:44px!important;padding:0!important;margin:0!important;border:1px solid currentColor!important;border-radius:50%!important;background:transparent!important;color:inherit!important;font-size:0!important;line-height:0!important;cursor:pointer;transition:background-color .2s,color .2s,border-color .2s}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button>*{display:none!important}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button::before{content:"";display:block;width:22px;height:22px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center/22px 22px no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12h16M13 5l7 7-7 7'/%3E%3C/svg%3E") center/22px 22px no-repeat}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button:is([data-s33-prev],.nl12-prev)::before{transform:scaleX(-1)}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button:not(:disabled):is(:hover,:focus-visible){background:#B68330!important;border-color:#B68330!important;color:#100D09!important}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button:focus-visible{outline:2px solid #B68330!important;outline-offset:3px}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls) button:disabled{opacity:.4!important;cursor:default}
html body .switch-stage .nl12-position{font-size:14px;line-height:1;color:inherit}
/* V3: controls op een vaste plek rechtsboven de kaartrij (de groep reserveert de ruimte), en verborgen
   zodra alles in beeld staat (JS zet hidden; de paginaregel #community{display:none} op de homepage vervalt). */
html body .switch-stage .s33-carousel-controls{display:flex!important;gap:8px!important;margin:0!important;position:absolute;top:0;right:0;z-index:2}
html body .switch-stage [data-s33-carousel]{position:relative}
html body .switch-stage [data-s33-carousel]:has(.s33-carousel-controls:not([hidden])){padding-top:60px}
@media(max-width:1000px){html body .switch-stage .nl12-controls{position:absolute;top:0;right:0;margin:0!important;gap:12px!important;z-index:2}html body .switch-stage .nl12-carousel{position:relative}html body .switch-stage .nl12-carousel:has(.nl12-controls:not([hidden])){padding-top:60px}}
html body .switch-stage :is(.s33-carousel-controls,.nl12-controls)[hidden]{display:none!important}
/* V4: kaarttitels in 1 rij op dezelfde y. Het tekstblok blijft onderaan uitgelijnd; de kop krijgt een vaste
   hoogte van 2 regels (tekst onderin), de alinea 3 regels met afkapping, de linkregel een vaste hoogte,
   ook als de kaart geen link heeft. lh = 1 regel van het element zelf. */
html body .switch-stage :is(.s33-slide-copy,.nl12-card-content)>:is(h2,h3){min-height:2lh;display:grid;align-content:end}
html body .switch-stage :is(.s33-slide-copy,.nl12-card-content)>p{min-height:3lh;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
html body .switch-stage .s33-slide:not(.s33-review-slide) .s33-slide-copy>a{font-size:15px!important;line-height:24px!important;margin-top:10px!important}
html body .switch-stage .s33-slide:not(.s33-review-slide) .s33-slide-copy:not(:has(>a))::after{content:"";display:block;height:34px}
html body .switch-stage .nl12-track{align-items:stretch!important}
html body .switch-stage .nl12-card-content>details{margin:0}
html body .switch-stage .nl12-card-content :is(a.nl12-read,summary.nl12-read){display:inline-flex!important;align-items:center;min-height:40px!important;padding:10px 17px!important;font-size:15px!important;line-height:1.3!important}
/* D21: kaartkoppen op studios, contact en workouts zijn h2 (ze volgen direct op de H1); zelfde maat als de h3 die er stond */
html body .switch-stage .s12-location h2{font-family:var(--display);font-size:37px;line-height:1.05;margin:21px 0 13px;font-weight:400;letter-spacing:0;text-transform:uppercase}
html body .switch-stage .s12-contact-block h2{font-family:var(--display);font-size:31px;line-height:1;margin:0 0 15px;font-weight:400;letter-spacing:0;text-transform:uppercase}
html body .switch-stage .nl12-card h2{font-family:var(--display);font-size:34px!important;line-height:1.05!important;color:#F2EEE7!important;margin:0 0 12px!important;font-weight:400;letter-spacing:0;text-transform:uppercase}
@media(max-width:760px){html body .switch-stage .s12-location h2{font-size:34px;margin:17px 0 12px}html body .switch-stage .s12-contact-block h2{font-size:29px}html body .switch-stage .nl12-card h2{font-size:31px!important}}
/* V5: 1 overlay op elke fotokaart: donker onder (96 procent), transparant boven. Tekst staat in de onderste helft (minimaal 80 procent dekking). */
html body .switch-stage .s33-slide:not(.s33-review-slide)::after,html body .switch-stage .s33-workout-card::after,html body .switch-stage .nl12-card::before,html body .switch-stage .nl18-discover-card::before{background:linear-gradient(0deg,rgba(16,13,9,.96) 0%,rgba(16,13,9,.8) 40%,rgba(16,13,9,.35) 70%,rgba(16,13,9,.08) 100%)!important}
/* V6 (herzien 08-11-2026, unslop-audit.md voorstel 2): hover op fotokaarten zonder schaal: foto 10 procent donkerder in 400 ms,
   tekstlink in de kaart in goud; hele kaart klikbaar (JS) met zichtbare focus. Ook de eigen schaal van de widget (1,025) staat uit. */
html body .switch-stage :is(.s33-slide,.s33-workout-card,.nl12-card,.nl18-discover-card,.s12-location) img{transition:filter .4s ease!important}
html body .switch-stage :is(.s33-slide,.s33-workout-card,.nl12-card,.nl18-discover-card,.s12-location):hover img{transform:none!important;filter:brightness(.9)}
html body .switch-stage :is(.s33-slide,.s12-location) a:not(.button){transition:color .2s,text-decoration-color .2s}
html body .switch-stage :is(.s33-slide,.nl12-card,.s12-location):has(a){cursor:pointer}
html body .switch-stage :is(.s33-slide,.s12-location):hover a:not(.button),html body .switch-stage .nl18-discover-card:hover span{text-decoration:underline;text-underline-offset:4px;color:#CAA356}
html body .switch-stage [data-nl-tone="light"] .s12-location:hover a:not(.button){color:#7F5817}
html body .switch-stage :is(.s33-slide,.nl12-card,.s12-location):has(:focus-visible){outline:2px solid #B68330;outline-offset:3px;border-radius:5px}
html body .switch-stage .s12-location>a img{overflow:hidden}
@media(prefers-reduced-motion:reduce){html body .switch-stage img{transition:none!important;transform:none!important}}
/* V7: reviews: sterren bovenaan op 1 lijn, naam en link onderaan op 1 lijn, citaat maximaal 4 regels (volledige tekst in title via JS). */
html body .switch-stage .s33-review-slide .s33-slide-copy{justify-content:flex-start!important}
html body .switch-stage .s33-review-slide cite{margin-top:auto!important}
html body .switch-stage .s33-review-slide blockquote{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
html body .switch-stage .s33-stars,html body .switch-stage .s35-review-bar .stars{display:inline-block;color:#CAA356}
/* V8: hero op mobiel niet hoger dan 72svh (maximaal 640 px) zodat de H1 boven de vouw staat (D24);
   1 overlay voor de fotohero's; de homepage-desktop houdt de zijwaartse fade (tekst naast de foto). */
@media(max-width:760px){html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) :is(#switch-nl-line-v7,.s31-hero--photo,.s37-home-hero){min-height:min(72svh,640px)!important;height:auto!important}html body .switch-stage.nl20-trial:is(#switch-nl-line-v7,.nl20-trial) :is(#switch-nl-line-v7,.s31-hero--photo){min-height:480px!important}}
/* (de :is(#id,.class)-vorm geeft id-specificiteit, nodig tegen de widgetregel body:has(#switch-nl-line-v7) ... {min-height:calc(100svh - 46px)!important}) */
html body .switch-stage .s31-hero--photo .s31-hero-media::after{background:linear-gradient(0deg,#100D09 0%,rgba(16,13,9,.88) 12%,rgba(16,13,9,.15) 48%,rgba(16,13,9,0) 75%)!important}
@media(min-width:761px){html body .switch-stage .s37-home-hero .s31-hero-media::after{background:linear-gradient(90deg,#100D09 0%,rgba(16,13,9,.64) 22%,rgba(16,13,9,0) 65%),linear-gradient(0deg,rgba(16,13,9,.6),transparent 70%)!important}}
/* V10: zichtbare focus op tekstlinks en kaartlinks (de widgets zetten outline:none) */
html body .switch-stage :is(.textlink,[class*="-textlink"],[class*="-link"],.s33-slide a,.s33-footer a,.nl12-read,summary):focus-visible{outline:2px solid #B68330!important;outline-offset:3px!important}
/* V13 en V17 (D12): zie het tabelblok onderaan (zebra en goudkolom in het palet) */
/* V16: hartslagzone-kaarten zonder rand; de zonekleur als strook blijft (D17) */
html body .switch-stage .s32-zone{border-left:0!important;border-right:0!important;border-bottom:0!important}
/* D8: skip-link, alleen zichtbaar bij toetsenbordfocus (zie inc/menus.php) */
.switch-skip{position:absolute;left:16px;top:-200px;z-index:10001;padding:12px 16px;background:#B68330;color:#100D09;font:700 16px/1.2 "SWITCH Barlow","Barlow",sans-serif;text-decoration:none;border-radius:2px}
.switch-skip:focus{top:12px;outline:2px solid #F2EEE7;outline-offset:2px}
html body .switch-stage #content:focus{outline:none}
/* Fase 3.5 (herzien 08-11-2026): footer-link "Sitemap" naar sitemap_index.xml, rechts in de copyrightregel (zie inc/menus.php) */
html body .switch-stage .s33-footer .s33-copyright:has(.switch-sitemap-link){display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 24px;max-width:none!important}
html body .switch-stage .switch-sitemap-link{margin-left:auto;color:inherit;text-decoration:underline;text-underline-offset:4px}
html body .switch-stage .switch-sitemap-link:hover{color:#CAA356}
html body .switch-stage .switch-sitemap-link:focus-visible{outline:2px solid #CAA356;outline-offset:4px}
/* Footer volle breedte zoals de header (V1): Hello Elementor zet .site-footer op max 1140 px op de pagina's zonder canvas-template (EN, juridisch); inhoud dan op 182 in plaats van 140 */
html body .switch-stage .site-footer{max-width:none!important;width:100%!important;margin-left:0!important;margin-right:0!important}
/* Uit de design-review (opus, 08-11-2026): 1, 2, 12, 14, 15, 18, 23, 31 */
@media(max-width:400px){html body .switch-stage .header-cta{font-size:12px!important;padding:9px 10px!important}}
/* 12: accordeons (FAQ, workoutpagina's) met een chevron die draait bij openen */
html body .switch-stage details:not(.s33-footer-more):not(.s40-pure-strength)>summary:not(.nl12-read){display:flex;align-items:center;justify-content:space-between;gap:16px;list-style:none;cursor:pointer}
html body .switch-stage details:not(.s33-footer-more):not(.s40-pure-strength)>summary:not(.nl12-read)::-webkit-details-marker{display:none}
html body .switch-stage details:not(.s33-footer-more):not(.s40-pure-strength)>summary:not(.nl12-read)::after{content:"";flex:0 0 auto;width:10px;height:10px;margin-right:4px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(45deg);transition:transform .2s}
html body .switch-stage details[open]:not(.s33-footer-more):not(.s40-pure-strength)>summary:not(.nl12-read)::after{transform:rotate(-135deg)}
/* 14 en 15: op tablet 2 kaarten per rij in de s33-carrousels (first timer en reviews), 4 is te smal */
@media(min-width:761px) and (max-width:1023px){html body .switch-stage .s33-carousel{grid-auto-columns:calc((100% - 18px)/2)!important}}
/* 18: oneven laatste workoutkaart (EN) over de volle rij, zoals NL */
html body .switch-stage .s33-workout-list>.s33-workout-card:last-child:nth-child(odd){grid-column:1/-1}
/* 23 en D12: tabellen zonder grijze vlakken (Hello Elementor); vergelijkingstabel met zebra en goudkolom in het palet */
html body .switch-stage table tbody>tr:nth-child(odd)>:is(td,th){background:transparent!important}
html body .switch-stage .w8-compare tr:nth-child(even) :is(th,td){background:rgba(16,13,9,.04)!important}
html body .switch-stage .w8-compare tr :is(th,td):last-child{background:rgba(182,131,48,.12)!important}
/* 31: gebalanceerde regels in koppen */
html body .switch-stage :is(h1,h2){text-wrap:balance}
/* Mobiel menu en header (08-11-2026): header-inhoud op de 20 px-marge (thuis en studios hadden 10 px extra links, de proefles-knop liep op studios tot de schermrand; knop nu overal 14 px),
   menu op volle hoogte onder de header, regels in Bebas met ruimte, proefles in goud, huidige pagina met de gouden merkstreep, taalwissel onderaan, pagina eronder scrolt niet mee.
   :is(#switch-nl-line-v7,.switch-stage) geeft id-specificiteit tegen body:has(#switch-home-brand-v5) .switch-stage * uit de widget. */
@media(max-width:760px){
html body .switch-stage .site-header .header-inner{padding-left:0!important;padding-right:0!important}
html body .switch-stage .site-header .header-cta .arrow{display:none!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .site-header .header-cta{font-size:14px!important;line-height:1.3!important;padding:9px 12px!important;gap:0!important;white-space:nowrap!important}
html:has(.site-header .mobile-nav:not([hidden])){overflow:hidden}
html body .switch-stage .s33-header .mobile-nav:not([hidden]){display:flex!important;flex-direction:column;top:72px!important;height:calc(100dvh - 72px);max-height:none!important;padding:20px 20px calc(28px + env(safe-area-inset-bottom))!important;gap:0!important;overflow-y:auto;overscroll-behavior:contain;box-shadow:none!important;border-bottom:0!important;animation:switch-menu-in .22s ease-out}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .s33-header .mobile-nav a{display:block;font-family:"SWITCH Bebas Neue","Bebas Neue",sans-serif!important;font-weight:400!important;font-size:38px!important;line-height:1!important;letter-spacing:.01em!important;text-transform:uppercase!important;min-height:0!important;padding:20px 0 14px!important;border-bottom:1px solid rgba(202,163,86,.18)!important;color:#F2EEE7!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .s33-header .mobile-nav a.s20-trial-link{color:#CAA356!important}
html body .switch-stage .s33-header .mobile-nav a[aria-current="page"]::before{content:"";display:inline-block;width:20px;height:3px;margin:0 12px 0 0;vertical-align:.32em;background:#B68330}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .s33-header .mobile-nav a[data-language-switch]{margin-top:auto;padding:28px 0 4px!important;border-bottom:0!important;font:500 15px/1.6 "SWITCH Barlow","Barlow",sans-serif!important;letter-spacing:.04em!important;text-transform:none!important;color:rgba(242,238,231,.78)!important}
html body .switch-stage .s33-header .mobile-nav a:focus-visible{outline:2px solid #CAA356;outline-offset:4px}
}
@keyframes switch-menu-in{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){html body .switch-stage .s33-header .mobile-nav:not([hidden]){animation:none}}
/* Unslop-polish (08-11-2026, unslop-audit.md voorstel 1 en 3, checklist heydamir/unslop, CC BY 4.0).
   1: knoppen en uitklapvragen van 700 naar 600. SWITCH Barlow had alleen 400 en 700 (600 viel terug op 700); 600 komt uit de
   lokaal gehoste Elementor-fonts, zelfde pad op staging en live. 3: geen transition op alle eigenschappen. */
@font-face{font-family:"SWITCH Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/elementor/google-fonts/fonts/barlow-4b3ff090.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"SWITCH Barlow";font-style:normal;font-weight:600;font-display:swap;src:url(/wp-content/uploads/elementor/google-fonts/fonts/barlow-5e03ee67.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) :is(a.button,span.button,summary:not(.s33-workout-card)){font-weight:600!important}
html body .switch-stage.nl20-page:is(#switch-nl-line-v7,.switch-stage) .nl20-booking summary.button{font-weight:600!important}
html body .switch-stage .site-header .menu-toggle,html body .switch-stage select{transition-property:color,background-color,border-color,opacity!important}
/* Proefles boeken (08-11-2026): het plugin-rooster (bibliotheeksectie 6417, widget customRooster van "Elementor Custom Heabb")
   staat in de slot trial-booking-nl op /proefles/ en /en/trial-lesson/. Opmaak in de huisstijl: studiokeuze als veld,
   dagen als uitklaplijst (eerste dag open), tijden als tegels met een gouden knop. De tegel linkt naar het Dewi-formulier. */
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster{margin-top:8px;color:#F2EEE7}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .rooster-select{display:grid;gap:8px;margin:0 0 20px;font:600 15px/1.4 "SWITCH Barlow","Barlow",sans-serif!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .rooster-select select{display:block;width:100%;max-width:420px;margin:0;padding:13px 12px;background:#F2EEE7;color:#100D09!important;border:1px solid #B68330;border-radius:2px;font:400 17px/1.3 "SWITCH Barlow","Barlow",sans-serif!important}
html body .switch-stage .switch-rooster .rooster-location{display:none}
html body .switch-stage .switch-rooster .rooster-day{border-bottom:1px solid rgba(202,163,86,.22)}
html body .switch-stage .switch-rooster .rooster-day.active{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding-bottom:20px}
html body .switch-stage .switch-rooster .rooster-day-toggle{grid-column:1/-1;display:flex;align-items:center;gap:14px;min-height:48px;padding:12px 0;cursor:pointer;font:600 16px/1.3 "SWITCH Barlow","Barlow",sans-serif!important}
html body .switch-stage .switch-rooster .rooster-day-toggle-icon{position:relative;flex:0 0 16px;width:16px;height:16px}
html body .switch-stage .switch-rooster .rooster-day-toggle-icon::before,html body .switch-stage .switch-rooster .rooster-day-toggle-icon::after{content:"";position:absolute;background:#CAA356}
html body .switch-stage .switch-rooster .rooster-day-toggle-icon::before{top:7px;left:0;width:16px;height:2px}
html body .switch-stage .switch-rooster .rooster-day-toggle-icon::after{top:0;left:7px;width:2px;height:16px}
html body .switch-stage .switch-rooster .rooster-day.active .rooster-day-toggle-icon::after{content:none}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .rooster-today{color:#CAA356!important;font-weight:400!important}
html body .switch-stage .switch-rooster .rooster-day .rooster-list{display:none}
html body .switch-stage .switch-rooster .rooster-day.active .rooster-list{display:block}
html body .switch-stage .switch-rooster .rooster-tile{margin:0;border:1px solid rgba(202,163,86,.35);border-radius:2px;background:rgba(242,238,231,.04);transition:border-color .2s,background-color .2s}
html body .switch-stage .switch-rooster .rooster-tile:hover,html body .switch-stage .switch-rooster .rooster-tile:has(a:focus-visible){border-color:#CAA356;background:rgba(182,131,48,.12)}
html body .switch-stage .switch-rooster .rooster-tile a{display:block;color:inherit;text-decoration:none}
html body .switch-stage .switch-rooster .rooster-tile a:focus-visible{outline:2px solid #CAA356;outline-offset:3px}
html body .switch-stage .switch-rooster .rooster-tile-wrap{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 10px 10px 14px}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .rooster-tile-time{min-width:0;font:600 18px/1 "SWITCH Barlow","Barlow",sans-serif!important;font-variant-numeric:tabular-nums;color:#F2EEE7!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .rooster-tile-button .button{display:inline-block;margin:0;padding:8px 12px!important;background:#B68330!important;color:#100D09!important;border:0!important;border-radius:2px!important;font:600 14px/1.2 "SWITCH Barlow","Barlow",sans-serif!important;text-transform:none!important;letter-spacing:0!important;white-space:nowrap}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .rooster-tile--vol{opacity:.6}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .switch-rooster .button--vol{padding:0!important;background:none!important;font:400 13px/1.3 "SWITCH Barlow","Barlow",sans-serif!important;color:#F2EEE7!important;text-align:right}
html body .switch-stage [data-wp-slot^="trial-booking"] .elementor-6417 :is(.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap){width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body .switch-stage [data-wp-slot^="trial-booking"] .elementor-6417 .elementor-widget{width:100%!important;max-width:780px!important;margin:0!important}
/* Proefles-formulierpagina's (08-11-2026): /proefles/gegevens/ (855) en /en/trial-lesson/data/ (1427) in de nieuwe layout. Het
   Elementor-formulier met de Dewi-actie staat als bibliotheeksectie 8220 (NL) en 8226 (EN) in de slot trial-form-nl/-en;
   opmaak gelijk aan de boekslot en de inschrijfwizard. Tekst-hero zonder lege band, intro los van de kop (review 13). */
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .s31-hero--text:has(:is(#gegevens-intro-title,#data-intro-title)){min-height:0!important;padding-bottom:24px!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) :is(#gegevens-intro-title,#data-intro-title)+.s31-lead{margin-top:20px!important}
html body .switch-stage [data-wp-slot^="trial-form"] :is(.elementor-section,.elementor-container,.elementor-column,.elementor-widget-wrap){width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-widget{width:100%!important;max-width:560px!important;margin:0!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-heading-title{margin:0!important;font:400 17px/1.5 "SWITCH Barlow","Barlow",sans-serif!important;color:#F2EEE7!important;text-transform:none!important;letter-spacing:0!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-widget-heading:first-child .elementor-heading-title{font-weight:600!important}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-widget-heading+.elementor-widget-heading{margin-bottom:24px!important}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-form .elementor-field-group{margin:0 0 16px!important;padding:0!important}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-form .elementor-form-fields-wrapper{margin:0!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-field-label{margin:0 0 6px!important;padding:0!important;font:600 15px/1.4 "SWITCH Barlow","Barlow",sans-serif!important;color:#F2EEE7!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-field-textual{min-height:48px;padding:12px!important;background:#F2EEE7!important;color:#100D09!important;border:1px solid #B68330!important;border-radius:2px!important;font:400 17px/1.3 "SWITCH Barlow","Barlow",sans-serif!important;box-shadow:none!important}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-field-textual::placeholder{color:rgba(16,13,9,.55)}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-field-textual:focus-visible{outline:2px solid #CAA356;outline-offset:2px}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-field-type-acceptance .elementor-field-subgroup{display:flex}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-field-type-acceptance .elementor-field-option{display:flex;align-items:flex-start;gap:10px}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-field-type-acceptance input[type="checkbox"]{flex:0 0 20px;width:20px;height:20px;margin:2px 0 0;accent-color:#B68330}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-field-type-acceptance label,html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-field-type-acceptance label *{font:400 15px/1.5 "SWITCH Barlow","Barlow",sans-serif!important;color:#F2EEE7!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-field-type-acceptance label a{color:#CAA356!important;text-decoration:underline!important;text-underline-offset:3px}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-field-type-submit{margin-top:8px!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-button{min-height:48px;padding:14px 20px!important;background:#B68330!important;color:#100D09!important;border:0!important;border-radius:2px!important;font:600 16px/1.2 "SWITCH Barlow","Barlow",sans-serif!important;text-transform:none!important;letter-spacing:0!important;transition:background-color .2s}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-button:is(:hover,:focus-visible){background:#CAA356!important}
html body .switch-stage [data-wp-slot^="trial-form"] .elementor-button:focus-visible{outline:2px solid #F2EEE7;outline-offset:3px}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] .elementor-message{margin-top:12px;font:400 15px/1.5 "SWITCH Barlow","Barlow",sans-serif!important;color:#F2EEE7!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) [data-wp-slot^="trial-form"] :is(.elementor-message-danger,.elementor-error .elementor-message){color:#F2B8A8!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-booking--form .nl20-back{margin:28px 0 0!important;font:400 15px/1.5 "SWITCH Barlow","Barlow",sans-serif!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-booking--form .nl20-back a{color:#CAA356!important;text-decoration:underline;text-underline-offset:4px}
/* Bedankpagina's proefles (1462 /proefles/gegevens/bedankt/, 1469 /en/trial-lesson/data/thank-you/, 08-11-2026): foto-hero,
   intro en twee blokken naast elkaar (mobiel onder elkaar), contactregel met gouden studiolinks. Teksten ongewijzigd van de oude pagina. */
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-thanks-section{padding-top:24px!important}
html body .switch-stage .nl20-thanks{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 48px}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-thanks h2{margin:0 0 12px!important;font-size:34px!important;line-height:1!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-thanks p{margin:0!important;max-width:60ch}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-thanks-contact{margin:40px 0 0!important;padding-top:24px;border-top:1px solid rgba(202,163,86,.22)}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-thanks-contact a{color:#CAA356!important;text-decoration:underline;text-underline-offset:4px}
@media(max-width:760px){html body .switch-stage .nl20-thanks{grid-template-columns:1fr;gap:28px}html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .nl20-thanks h2{font-size:29px!important}}
/* Mobiele header (08-11-2026): logo in de ruimte tussen menuknop en proefles-knop. De EN-header zette 1fr auto 1fr; de langere knop
   "Book a trial workout" viel daardoor 12 tot 21 px over het logo (390 en 360). */
@media(max-width:760px){html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .site-header .header-inner.wrap{grid-template-columns:auto minmax(0,1fr) auto!important;column-gap:10px!important}html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .site-header .header-inner.wrap .brand{justify-self:center!important}}
/* Proefles-rooster als dagkeuze (08-11-2026, zie js/switch-navigation.js): knoppenrij met de komende dagen, de tijden van de
   gekozen dag als tegels over de volle breedte van het boekblok. Zonder JS blijft de uitklaplijst. */
html body .switch-stage [data-wp-slot^="trial-booking"] .elementor-6417 .elementor-widget{max-width:none!important}
html body .switch-stage [data-wp-slot^="trial-booking"].sw-dagen-aan .rooster-day{display:none!important}
html body .switch-stage [data-wp-slot^="trial-booking"].sw-dagen-aan .rooster-day-toggle{display:none!important}
html body .switch-stage [data-wp-slot^="trial-booking"] .rooster-day.active,html body .switch-stage [data-wp-slot^="trial-booking"] .rooster-day{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
html body .switch-stage [data-wp-slot^="trial-booking"].sw-dagen-aan .rooster-day{border-bottom:0!important;padding-bottom:0!important;gap:10px}
html body .switch-stage .sw-dagen{display:flex;gap:8px;margin:4px 0 20px;padding:0 0 8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;scrollbar-color:rgba(202,163,86,.45) transparent}
html body .switch-stage .sw-dagen[hidden]{display:none}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .sw-dag{flex:0 0 auto;min-width:68px;display:grid;justify-items:center;gap:2px;padding:10px 12px;margin:0;scroll-snap-align:start;background:transparent!important;color:#F2EEE7!important;border:1px solid rgba(202,163,86,.4)!important;border-radius:2px!important;font:600 15px/1.2 "SWITCH Barlow","Barlow",sans-serif!important;text-transform:none!important;cursor:pointer;transition:border-color .2s,background-color .2s}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .sw-dag .sw-dag-datum{font-weight:400!important;font-size:13px!important;opacity:.8;white-space:nowrap}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .sw-dag:hover{border-color:#CAA356!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .sw-dag[aria-pressed="true"]{background:#B68330!important;border-color:#B68330!important;color:#100D09!important}
html body .switch-stage:is(#switch-nl-line-v7,.switch-stage) .sw-dag[aria-pressed="true"] .sw-dag-datum{opacity:1}
html body .switch-stage .sw-dag:focus-visible{outline:2px solid #CAA356;outline-offset:2px}
