/* ---------- Fonts ----------
   Titels: Cormorant Garamond (serif). Bodytekst: Montserrat.
   Beide open source (OFL), vrij te gebruiken op de website.
   Bestanden in assets/fonts/ (TTF). */

/* Cormorant Garamond — titels */
@font-face{
  font-family:'Cormorant Garamond';
  src:url('assets/fonts/CormorantGaramond-Regular.woff2') format('woff2'),url('assets/fonts/CormorantGaramond-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Cormorant Garamond';
  src:url('assets/fonts/CormorantGaramond-Medium.woff2') format('woff2'),url('assets/fonts/CormorantGaramond-Medium.ttf') format('truetype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Cormorant Garamond';
  src:url('assets/fonts/CormorantGaramond-SemiBold.woff2') format('woff2'),url('assets/fonts/CormorantGaramond-SemiBold.ttf') format('truetype');
  font-weight:600;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Cormorant Garamond';
  src:url('assets/fonts/CormorantGaramond-Bold.woff2') format('woff2'),url('assets/fonts/CormorantGaramond-Bold.ttf') format('truetype');
  font-weight:700;font-style:normal;font-display:swap;
}

/* Montserrat — bodytekst */
@font-face{
  font-family:'Montserrat';
  src:url('assets/fonts/Montserrat-Light.woff2') format('woff2'),url('assets/fonts/Montserrat-Light.ttf') format('truetype');
  font-weight:300;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('assets/fonts/Montserrat-Regular.woff2') format('woff2'),url('assets/fonts/Montserrat-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('assets/fonts/Montserrat-Medium.woff2') format('woff2'),url('assets/fonts/Montserrat-Medium.ttf') format('truetype');
  font-weight:500;font-style:normal;font-display:swap;
}
@font-face{
  font-family:'Montserrat';
  src:url('assets/fonts/Montserrat-SemiBold.woff2') format('woff2'),url('assets/fonts/Montserrat-SemiBold.ttf') format('truetype');
  font-weight:600;font-style:normal;font-display:swap;
}
/* 700 (voor <strong> en vetgedrukte labels): de Latin-subset van Google
   Fonts, zelf gehost zodat er geen verzoek naar Google meer nodig is. */
@font-face{
  font-family:'Montserrat';
  src:url('assets/fonts/Montserrat-Bold.woff2') format('woff2');
  font-weight:700;font-style:normal;font-display:swap;
}

/* Marcellus SC — menu-navigatie */
@font-face{
  font-family:'Marcellus SC';
  src:url('assets/fonts/MarcellusSC-Regular.woff2') format('woff2'),url('assets/fonts/MarcellusSC-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}

/* Laila — alleen voor de naam op het laadscherm: dit is de letter van de
   wordmark in logo.png (Regular, geen extra letterspatiëring). */
@font-face{
  font-family:'Laila';
  src:url('assets/fonts/Laila-Regular.woff2') format('woff2'),url('assets/fonts/Laila-Regular.ttf') format('truetype');
  font-weight:400;font-style:normal;font-display:swap;
}

/* ---------- Design tokens ---------- */
:root{
  /* logo.png als data-URI: CSS-maskers met een los bestand werken niet bij openen via file:// */
  --logo-mask:url("data:image/png;base64,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");
  --color-primary:#f9f5f1;     /* hoofdkleur  */
  --color-secondary:#584C45;   /* secundair   */
  --color-tertiary:#E6E4DC;    /* tertiair    */
  --color-white:#FFFFFF;
  --color-gray-soft:#584C45;
  /* legacy-aliassen op nieuw palet */
  --color-black:var(--color-secondary);
  --color-beige:var(--color-primary);
  --color-gray:var(--color-secondary);
  --color-line:rgba(88,76,69,.14);
  --font-serif:'Cormorant Garamond',Georgia,'Times New Roman',serif;
  --font-title:'Marcellus SC','Cormorant Garamond',Georgia,serif;
  --font-sans:'Montserrat',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  --nav-h:204px;
  --maxw:1240px;
  --gutter:clamp(20px,5vw,64px);
  --ease:cubic-bezier(.22,.61,.36,1);
  --shadow-sm:0 2px 14px rgba(0,0,0,.06);
  --shadow-md:0 12px 40px rgba(0,0,0,.12);
  --btn-hover:#584C45;   /* hover-kleur van alle knoppen behalve die in de hero */
  --radius-media:8px;    /* hoekafronding van alle foto's en beeldsecties, behalve de hero's */
}

/* ---------- Reset ---------- */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{
  font-family:var(--font-sans);
  font-weight:300;
  color:var(--color-black);
  background:var(--color-primary);
  line-height:1.65;
  overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
ul{list-style:none}
:focus-visible{outline:2px solid var(--color-black);outline-offset:3px}

/* ---------- Typography ---------- */
h1,h2,h3,h4{font-family:var(--font-title);font-weight:400;line-height:1.15;letter-spacing:.02em;font-synthesis:none}
.eyebrow{font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.28em;text-transform:uppercase;color:var(--color-gray-soft)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
h1.eyebrow{display:inline;line-height:inherit} /* conceptpagina's: het label is daar de paginakop; inline zoals de <span> die het was */
.section-title{font-size:clamp(2rem,4.4vw,3.3rem);font-weight:700;margin-top:.5rem}
.section-intro{max-width:560px;color:var(--color-gray);margin-top:1.1rem;font-size:1.02rem}

/* ---------- Layout helpers ---------- */
.container{max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter)}
.section{padding-block:clamp(64px,9vw,128px)}
/* Sinds 16 okt 2026 één achtergrond overal: #F9F5F1 (--color-primary).
   De klasse heet nog 'beige', maar is nu gelijk aan de rest. */
.section--beige{background:var(--color-primary)}
.section--dark{background:var(--color-black);color:var(--color-white)}
#abonnementen.section--dark{background:#584C45}
#extra-services.section--dark{background:#584C45}
.section--dark .section-intro{color:rgba(255,255,255,.72)}
.section--dark .eyebrow{color:rgba(255,255,255,.6)}
/* pijlen van een carrousel in een donkere sectie — de grijstint valt anders weg */
.section--dark .car-nav button{color:var(--color-white)}
.section--dark .car-nav button:hover{color:var(--color-white);opacity:1}
.center{text-align:center}
.center .section-intro{margin-inline:auto}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.6rem;
  font-family:var(--font-sans);font-size:.82rem;font-weight:500;letter-spacing:.12em;text-transform:uppercase;
  padding:1rem 2.1rem;border-radius:10px;transition:all .35s var(--ease);white-space:nowrap;
}
.btn--primary{background:var(--color-black);color:var(--color-white)}
.btn--primary:hover{background:var(--btn-hover);color:var(--color-white);transform:translateY(-2px)}
.btn--outline{background:transparent;color:var(--color-black);border:1px solid var(--color-black)}
.btn--outline:hover{background:var(--btn-hover);color:var(--color-white);border-color:var(--btn-hover)}

/* ===================== NAVIGATION ===================== */
.nav{
  position:fixed;inset:0 0 auto 0;z-index:150;height:var(--nav-h);
  display:flex;align-items:center;
  transition:height .4s var(--ease);
  /* Geleidelijk zichtbaar worden tijdens het scrollen: --nav-progress loopt van
     0 (bovenaan de pagina, balk volledig doorzichtig) naar 1 (hero-foto voorbij,
     balk op het oude niveau: #584C45 op 80% + blur 10px + --shadow-sm).
     main.js zet de waarde bij elke scroll; blijft die uit, dan is de balk
     doorzichtig en nemen .is-scrolled en de hero-tekst het beeld over.
     Géén transition op deze drie: die zou het scrollen laten naijlen. */
  background-color:rgba(88,76,69,calc(var(--nav-progress,0) * .8));
  box-shadow:0 2px 14px rgba(0,0,0,calc(var(--nav-progress,0) * .06));
}
.nav__inner{position:relative;max-width:var(--maxw);margin:0 auto;padding-inline:var(--gutter);width:100%;height:100%;display:flex;align-items:flex-start}
.nav__logo{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);display:flex;align-items:center;line-height:0}
.nav__logo-img{
  /* Alleen de hoogte bovenaan de pagina, over de hero. Het logo in de
     vaste balk bij het scrollen staat los daarvan op 110px — zie
     .nav.is-scrolled hieronder. */
  height:130px;width:auto;
  filter:brightness(0) invert(1);              /* wit logo op transparante hero-nav */
  transition:filter .4s var(--ease),height .4s var(--ease),opacity .3s var(--ease);
  animation:logoReveal 1.1s var(--ease) .15s both;
}
/* Rustig infaden, zonder draai of zoom. */
@keyframes logoReveal{
  0%{opacity:0}
  100%{opacity:1}
}
@media (prefers-reduced-motion:reduce){
  .nav__logo-img{animation:none}
}

/* Scrolled state — bruine balk in #584C45 */
/* 80% dekking i.p.v. vlak, zodat de balk het transparante karakter houdt maar
   wel duidelijk als #584C45 leest. De blur houdt het witte logo leesbaar
   wanneer er een onrustige foto onder doorschuift. */
.nav.is-scrolled{height:118px;
  -webkit-backdrop-filter:blur(calc(var(--nav-progress,0) * 10px));
          backdrop-filter:blur(calc(var(--nav-progress,0) * 10px))}
.nav.is-scrolled .nav__logo-img{height:110px}
body.menu-open .nav__logo-img{filter:none}
/* hamburger shrinks + stays vertically centred as the bar shrinks */
.nav.is-scrolled .nav__toggle{top:27px;width:46px;height:46px;gap:7px}
.nav.is-scrolled .nav__toggle span{width:30px}

/* Hamburger — fixed at the very top-left of the page, aligned with the sidebar close (X) */
.nav__toggle{position:fixed;top:calc(var(--nav-h)/2 - 26px);left:var(--gutter);display:flex;width:52px;height:52px;flex-direction:column;justify-content:center;gap:9px;z-index:120;transition:top .4s var(--ease),width .4s var(--ease),height .4s var(--ease),gap .4s var(--ease)}
.nav__toggle span{display:block;height:2.5px;width:36px;background:#fff;transition:transform .35s var(--ease),opacity .25s var(--ease),background .3s var(--ease),width .4s var(--ease);transform-origin:center}
/* morph the hamburger into an X when the sidebar opens — and back to bars on close */
body.menu-open .nav__toggle span{background:var(--color-black)}
body.menu-open .nav__toggle span:nth-child(1){transform:translateY(11.5px) rotate(45deg)}
body.menu-open .nav__toggle span:nth-child(2){opacity:0}
body.menu-open .nav__toggle span:nth-child(3){transform:translateY(-11.5px) rotate(-45deg)}
/* while the sidebar is open: keep only the morphing hamburger (X) visible above the panel */
/* backdrop-filter moet hier ook uit: die blijft anders een wazige band
   tekenen, ook al is de achtergrond doorzichtig */
body.menu-open .nav{background:transparent;box-shadow:none;pointer-events:none;
  -webkit-backdrop-filter:none;backdrop-filter:none}
body.menu-open .nav__toggle{pointer-events:auto}
body.menu-open .nav__logo{opacity:0;visibility:hidden}
/* hover colour on the hamburger / X */
.nav__toggle:hover span,
.nav.is-scrolled .nav__toggle:hover span,
body.menu-open .nav__toggle:hover span{background:#AA8453}
/* hover (alleen bij scrollen): logo krijgt dezelfde kleur als de menuknop.
   Een gemaskerde kopie van het logo geeft exact #AA8453 — dezelfde kleur als
   de menuknop en de links in het zijmenu. Een filterketen op een wit logo kan
   een kleur alleen benaderen. Het witte logo eronder vervaagt tegelijk weg,
   anders houd je een lichte rand langs de contour. */
.nav.is-scrolled .nav__logo::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background-color:#AA8453;
  -webkit-mask:var(--logo-mask) center/contain no-repeat;
          mask:var(--logo-mask) center/contain no-repeat;
  opacity:0;transition:opacity .3s var(--ease);
}
.nav.is-scrolled .nav__logo:hover::after{opacity:1}
.nav.is-scrolled .nav__logo:hover .nav__logo-img{opacity:0}

/* Knop rechtsboven (homepage): spiegelbeeld van de hamburger, met hetzelfde
   midden — bovenaan op de helft van --nav-h, in de vaste balk op 50px. */
.nav__acties{
  position:fixed;right:var(--gutter);top:calc(var(--nav-h)/2);transform:translateY(-50%);
  z-index:120;display:flex;align-items:center;
  transition:top .4s var(--ease),opacity .3s var(--ease),visibility 0s linear 0s;
}
.nav.is-scrolled .nav__acties{top:50px}
.nav__acties .btn-hero::after{border-color:#AA8453;color:#AA8453}
body.menu-open .nav__acties{opacity:0;visibility:hidden;transition:top .4s var(--ease),opacity .3s var(--ease),visibility 0s linear .3s}
@media (max-width:600px){
  .nav__acties .btn-hero{padding:.6rem 1.1rem}
}

/* ===================== INTRO SPLASH ===================== */
.intro-seen .intro{display:none}
/* hide the real nav logo while the intro logo is flying toward it */
.intro-playing .nav__logo-img{visibility:hidden}
.intro{
  position:fixed;inset:0;z-index:3000;overflow:hidden;
  display:flex;align-items:center;justify-content:center;
  /* no-JS safety net: if the flight script never runs, fade away anyway */
  animation:introOut .8s var(--ease) 4s forwards;
}
.intro__bg{position:absolute;inset:0;background:var(--color-primary)}
.intro__inner{position:relative;display:flex;flex-direction:column;align-items:center;will-change:transform,filter,opacity}
/* Ster en wordmark staan in dezelfde verhouding als in assets/logo.png, zodat
   de intro precies op het nav-logo landt. --ster is de breedte van
   snowflake.png (die heeft rondom 5% witruimte om de ster). */
/* 30% kleiner dan hiervoor (was 140/24vw/240). Ster, naam en de afstand
   ertussen schalen allemaal mee met --ster, dus dit ene getal volstaat. */
.intro__inner{--ster:clamp(98px,16.8vw,168px)}
.intro__flake{
  width:var(--ster);height:auto;display:block;
  transform-origin:center;
  animation:flakePop .62s cubic-bezier(.34,1.56,.64,1) .2s both;
}
.intro__word-wrap{
  overflow:hidden;
  /* In logo.png zit tussen ster en hoofdletters 5% van de sterbreedte;
     snowflake.png heeft onderin al bijna evenveel witruimte. */
  margin-top:calc(var(--ster) * -.013);
  padding-bottom:.2em;   /* ruimte voor de staart van de Q */
}
/* Zelfde letter als de wordmark in logo.png: Laila Regular, hoofdletters,
   geen extra letterspatiëring, in de grijstint van de ster. Lettergrootte en
   afstand schalen mee met de ster, zodat ster en naam dezelfde verhouding
   hebben als in het logo. */
.intro__word{
  display:block;
  font-family:'Laila',var(--font-sans);
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0;
  font-size:calc(var(--ster) * .1093);
  line-height:1;
  color:#2B2A2A;
  white-space:nowrap;
  transform:translateY(-115%);
  animation:wordDrop .75s var(--ease) .72s forwards;
}
/* Laadbalk onderin de intro: telt op naar 100%, en 100% pas als de pagina
   echt helemaal geladen is (window 'load'). Zie main.js. */
.intro__laden{
  position:absolute;left:50%;bottom:clamp(32px,7vh,64px);transform:translateX(-50%);
  width:min(220px,56vw);text-align:center;
  animation:ladenIn .5s var(--ease) .4s both;
}
.intro__balk{height:2px;background:rgba(88,76,69,.14);border-radius:2px;overflow:hidden}
.intro__vulling{display:block;height:100%;background:var(--color-secondary);transform:scaleX(0);transform-origin:left center;will-change:transform}
.intro__procent{
  display:block;margin-top:.7rem;
  font-family:var(--font-sans);font-size:.68rem;font-weight:500;letter-spacing:.16em;
  color:var(--color-secondary);font-variant-numeric:tabular-nums;
}
@keyframes ladenIn{from{opacity:0}to{opacity:1}}
@keyframes flakePop{
  0%{opacity:0;transform:scale(.6)}
  60%{opacity:1}
  100%{opacity:1;transform:scale(1)}
}
@keyframes wordDrop{
  0%{transform:translateY(-115%)}
  100%{transform:translateY(0)}
}
@keyframes introOut{
  to{opacity:0;visibility:hidden}
}
@media (prefers-reduced-motion:reduce){
  .intro__flake{animation:none;opacity:1}
  .intro__word{animation:none;transform:none}
  .intro{animation:introOut .4s linear 1s forwards}
}

/* ===================== HERO ===================== */
/* hoger dan het scherm, zodat de grens met sectie 1 — en daarmee het
   verloop — ~25mm lager valt */
.hero{position:relative;height:calc(100vh + 95px);min-height:715px;display:flex;align-items:center;justify-content:center;text-align:center;color:#fff;overflow:hidden}
.hero__media{position:absolute;inset:0;z-index:-2}
.hero__media picture{display:contents}
.hero__media img{width:100%;height:100%;object-fit:cover}
/* Video ligt bovenop het posterbeeld en faadt pas in zodra hij echt speelt,
   zodat een mislukte autoplay gewoon het beeld laat staan. */
.hero__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity 1.4s var(--ease)}
.hero__video.is-playing{opacity:1}
@media(prefers-reduced-motion:reduce){.hero__video{display:none}}
.hero__overlay{position:absolute;inset:0;z-index:-1;background:rgba(0,0,0,.45)}
/* onderkant van de hero vervaagt naar de achtergrondkleur van de sectie eronder */
.hero__fade{position:absolute;left:0;right:0;bottom:0;z-index:-1;height:clamp(180px,34vh,420px);pointer-events:none;background:linear-gradient(to bottom,rgba(0,0,0,0) 0%,rgba(0,0,0,.45) 55%,rgba(0,0,0,.85) 100%)}
.hero__title{font-size:clamp(2.6rem,6.8vw,5.4rem);font-weight:700;line-height:1.04}
.hero__sub{max-width:600px;margin:1.6rem auto 2.4rem;font-size:clamp(1rem,1.6vw,1.18rem);font-weight:300;color:rgba(255,255,255,.9)}
/* De knoppen stonden absoluut onderin de hero en schoven daardoor meteen uit
   beeld. Nu staan ze vast ten opzichte van het scherm en blijven ze staan
   zolang je door de hero scrollt; ondertussen vervagen ze geleidelijk.
   --hero-progress loopt van 0 (bovenaan) naar 1 (hero voorbij) en wordt in
   main.js gezet, dezelfde meting die de navigatiebalk gebruikt. */
.hero__actions{
  position:fixed;bottom:calc(clamp(68px,9vh,96px) + 76px);left:50%;
  transform:translateX(-50%);z-index:2;
  display:flex;flex-wrap:wrap;justify-content:center;gap:1rem;
  width:100%;padding-inline:var(--gutter);
  /* Op 80% van de hero zijn ze weg, zodat ze niet tot het laatst blijven hangen. */
  opacity:clamp(0,calc(1 - var(--hero-progress,0) * 1.25),1);
}
/* Volledig vervaagd: niet meer aanklikbaar en uit de tabvolgorde, anders
   vangen onzichtbare knoppen nog kliks op de sectie eronder. */
.is-past-hero .hero__actions{visibility:hidden;pointer-events:none}
@media (prefers-reduced-motion:reduce){
  .hero__actions{transition:none}
}
.btn-hero{
  position:relative;z-index:0;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.7rem 1.7rem;border:1px solid #fff;border-radius:10px;
  background:transparent;color:#fff;
  font-family:var(--font-sans);font-size:.72rem;font-weight:500;letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
}
/* gouden kopie die van links naar rechts wordt onthuld (alleen tekst + rand) */
.btn-hero::after{
  content:attr(data-label);position:absolute;inset:-1px;
  display:flex;align-items:center;justify-content:center;
  border:1px solid #AA8453;border-radius:10px;
  color:#AA8453;background:transparent;
  clip-path:inset(0 100% 0 0);
  transition:clip-path .45s var(--ease);
}
.btn-hero:hover::after{clip-path:inset(0 0 0 0)}
/* Buiten de hero veegt hij naar de standaard hover-kleur; alleen de
   knoppen ín de hero houden het goud. */
.btn-hero::after{border-color:var(--btn-hover);color:var(--btn-hover)}
.hero .btn-hero::after{border-color:#AA8453;color:#AA8453}

/* ===================== KNOP: gevuld, rand in de achtergrondkleur =====================
   Standaard: vlak #584C45 met een 1px rand in de kleur van de ondergrond,
   zodat de rand wegvalt. Bij hover veegt van links naar rechts de omgekeerde
   staat binnen: achtergrond weg, 1,5px rand en tekst in #584C45.
   De rand volgt --btn-edge; die zet je per sectie of kaart. */
.btn-solid{
  --btn-edge:var(--color-primary);        /* standaard de paginakleur */
  position:relative;z-index:0;
  display:inline-flex;align-items:center;justify-content:center;
  padding:.7rem 1.7rem;border-radius:10px;
  border:1px solid var(--btn-edge);
  background:var(--btn-hover);color:#fff;
  font-family:var(--font-sans);font-size:.72rem;font-weight:500;
  letter-spacing:.14em;text-transform:uppercase;white-space:nowrap;
}
.btn-solid::after{
  content:attr(data-label);position:absolute;inset:-1px;
  display:flex;align-items:center;justify-content:center;
  border:1.5px solid var(--btn-hover);border-radius:10px;
  background:var(--btn-edge);color:var(--btn-hover);
  clip-path:inset(0 100% 0 0);
  transition:clip-path .45s var(--ease);
}
.btn-solid:hover::after{clip-path:inset(0 0 0 0)}
@media (prefers-reduced-motion:reduce){
  .btn-solid::after{transition:none}
}

/* Randkleur per ondergrond */
#over-ons          .btn-solid{--btn-edge:var(--color-primary)}
/* Extra services: omgekeerd aan de standaardknop. In rust een vlak in
   #E6E4DC met bruin label; bij hover veegt van links naar rechts het bruine
   vlak met lichte rand naar binnen. De veeg zelf zit al in .btn-solid::after,
   hier worden alleen de kleuren omgedraaid. */
#instagram         .btn-solid{--btn-edge:var(--color-primary)}
.price             .btn-solid{--btn-edge:#fff}
.feature           .btn-solid{--btn-edge:#fff}
/* Concepten: zelfde maat als de knop in de hero (de standaardmaat van
   .btn-solid), alleen niet uitgerekt over de hele kaart. */
.feature__body     .btn-solid{margin-top:1.2rem;align-self:flex-start}
@media (prefers-reduced-motion:reduce){
  .btn-hero::after{transition:none}
}
.hero__scroll{position:absolute;bottom:92px;left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;font-size:.62rem;letter-spacing:.28em;text-transform:uppercase;opacity:.8}
.hero__scroll-line{width:1px;height:42px;background:linear-gradient(to bottom,rgba(255,255,255,.6),rgba(88,76,69,.55));animation:scrollPulse 2s var(--ease) infinite}
@keyframes scrollPulse{0%,100%{transform:scaleY(.4);opacity:.4}50%{transform:scaleY(1);opacity:1}}
@keyframes fadeUp{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}

/* ===================== CONCEPTS CAROUSEL ===================== */
.carousel{display:flex;gap:1.4rem;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:1.2rem;margin-inline:calc(-1 * var(--gutter));padding-inline:var(--gutter);scrollbar-width:thin}
.carousel::-webkit-scrollbar{height:4px}
.carousel::-webkit-scrollbar-thumb{background:rgba(26,26,26,.2);border-radius:4px}
.card{position:relative;flex:0 0 clamp(260px,30vw,330px);scroll-snap-align:start;border-radius:var(--radius-media);overflow:hidden;aspect-ratio:3/4;background:var(--color-gray)}
.card img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}
.card:hover img{transform:scale(1.06)}

/* ===================== ABOUT / INTRO ===================== */
.about__grid{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.about__media{position:relative;aspect-ratio:4/5;border-radius:var(--radius-media);overflow:hidden}
.about__media img{width:100%;height:100%;object-fit:cover}
.about__text p{font-size:1.12rem;color:var(--color-gray);margin-top:1.4rem;line-height:1.75}
.about__sign{font-family:var(--font-serif);font-size:1.5rem;margin-top:2rem;font-style:italic}

/* ---------- Intro section ---------- */
/* achtergrond: zie SECTIE-OVERGANGEN verderop */
.intro-section__grid{display:grid;grid-template-columns:0.85fr 1.15fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.intro-section__text .section-title{margin-top:.4rem}
.intro-section__text p{font-size:1.08rem;color:var(--color-gray);margin-top:1.4rem;line-height:1.8;max-width:540px}
.intro-section__media{position:relative}
/* Eén grote foto, normaal ingekaderd — de carrousel blijft */
.intro-fade{position:relative;aspect-ratio:1/1;width:100%;
  overflow:hidden;border-radius:var(--radius-media);box-shadow:var(--shadow-md)}
.intro-fade__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity 1.6s ease-in-out}
.intro-fade__img.is-active{opacity:1}

/* ===================== CARROUSELBEDIENING =====================
   Eén ontwerp voor alle carrousels: twee streepjes naast elkaar. Links
   bladert terug, rechts vooruit. Bij hover licht het streepje op en wordt
   het langer — richting blijkt uit de positie, niet uit een pijlpunt. */
.car-nav{display:flex;gap:.85rem;align-items:center}
.car-nav button{display:flex;align-items:center;justify-content:center;
  padding:.7rem 0;background:none;border:0;cursor:pointer;
  color:var(--color-gray);opacity:.45;
  transition:opacity .3s var(--ease),color .3s var(--ease)}
.car-nav button:hover{opacity:1;color:var(--btn-hover)}
.car-nav button span{display:block;width:38px;height:1px;background:currentColor;
  transition:width .3s var(--ease)}
.car-nav button:hover span{width:50px}
.intro-nav{margin-top:1rem}
@media (prefers-reduced-motion:reduce){
  .car-nav button span{transition:none}
}
@media (max-width:880px){
  .intro-section__grid{grid-template-columns:1fr}
  .intro-section__media{margin-top:1rem}
  .intro-fade{aspect-ratio:4/3}
}
@media (prefers-reduced-motion:reduce){
  .intro-fade__img{transition:none}
}

/* ===================== SECTIE-OVERGANGEN (homepage) =====================
   Alleen tussen de eerste drie vlakke secties: intro > concepten > over ons.
   Deze drie secties hebben nu dezelfde kleur, dus er valt niets te
   overbruggen: een verloop naar een mengkleur zou juist een lichte band op
   elke naad opleveren. Daarom vlak. */
.intro-section,.concepts-grid-section,#over-ons{background:var(--color-primary)}

/* ===================== STERWATERMERK =====================
   Het sterlogo in #584C45 (was de navbarkleur; die is inmiddels #584C45).
   Elke ster staat los in zijn eigen sectie (position:absolute), niet
   vastgezet aan het scherm. Daardoor scrollen ze gewoon mee als normale
   pagina-inhoud — dat is vanzelf vloeiend — en verschijnen ze nooit over
   een fotosectie, want daar staat er simpelweg geen. main.js geeft ze
   daarbovenop nog 1 cm drift. */
/* Geen overflow:hidden — dat zou de ster op de sectierand doorsnijden.
   Steekt hij uit in de volgende vlakke sectie, dan loopt hij daar gewoon
   door (zelfde kleurfamilie). Loopt hij door tot een fotosectie, dan dekt
   die hem af op zijn eigen harde rand. */
/* overflow-x:clip snijdt de ster af op de schermrand — precies het bedoelde
   beeld — zonder verticaal af te kappen. Met overflow-x:hidden zou de
   verticale as auto worden en de ster op de sectiegrens doorsnijden. */
.intro-section,.concepts-grid-section,#over-ons,.facilities,#instagram{
  position:relative;overflow-x:clip}
/* extra lucht tussen de hero en de eerste sectie */
.intro-section{padding-top:clamp(110px,15vw,220px)}
.star{position:absolute;z-index:0;display:block;aspect-ratio:1;
  background-color:#584C45;opacity:.06;pointer-events:none;will-change:transform;
  -webkit-mask:url("assets/snowflake.png") center/contain no-repeat;
          mask:url("assets/snowflake.png") center/contain no-repeat}

/* Elk in een andere sectie, wisselend van kant en op verschillende hoogte.
   Let op: elke ster moet inclusief de 1 cm drift binnen zijn eigen sectie
   passen, anders snijdt de volgende sectie hem er met een rechte lijn af. */
.star--intro    {left:-230px; top:28%;    width:clamp(340px,36vw,540px)}
.star--concepts {right:-180px;top:8%;     width:clamp(270px,29vw,450px)}
.star--about    {left:-200px; top:30%;    width:clamp(340px,37vw,560px)}
.star--fac      {right:-160px;top:14%;    width:clamp(250px,27vw,410px)}
.star--insta    {left:-190px; top:26%;    width:clamp(320px,34vw,540px)}

/* Overige pagina's: dezelfde sterren, om en om links en rechts in elke
   inhoudssectie (niet in de fotobanden). De drift komt uit main.js. */
.met-ster{position:relative;overflow-x:clip}
.met-ster>:not(.star){position:relative;z-index:1}
.star--links {left:-210px; top:18%; width:clamp(320px,34vw,520px)}
.star--rechts{right:-170px;top:10%; width:clamp(260px,28vw,430px)}
/* op donkere secties een lichte ster, net als bij "Meer dan trainen" */
.section--dark .star{background-color:#E6E4DC;opacity:.05}

.footer{position:relative;z-index:1}
/* De fotobanden (Ervaringen + CTA) zijn afgerond. In de hoekjes valt daardoor
   het paginavlak door, en dat is licht terwijl de aangrenzende sectie bruin kan
   zijn — je zag een lichte punt in de hoek plus een haarlijn over de naad.
   Oplossing: band en buursectie een radius laten overlappen. De band ligt er
   met z-index bovenop, dus de hoeken tonen nu precies de kleur van de sectie
   ernaast en de naad valt dicht. Werkt op elke pagina, ongeacht welke sectie
   er toevallig naast staat. */
.testimonials,.cta-banner{position:relative;z-index:2;
  margin-top:calc(-1 * var(--radius-media))}
.testimonials + *,.cta-banner + *{margin-top:calc(-1 * var(--radius-media))}
/* Tekst blijft boven de sterren */
.intro-section>.container,
.concepts-grid-section>.container,.concepts-grid,
#over-ons>.container,.facilities>.container,#instagram>.container{
  position:relative;z-index:1}

/* ===================== EXTRA SERVICES (carousel) ===================== */

.xs-carousel{position:relative;--xs-gap:clamp(16px,2vw,28px)}
.xs-track{
  display:flex;gap:var(--xs-gap);
  overflow-x:auto;scroll-snap-type:x mandatory;scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;scrollbar-width:none;
}
.xs-track::-webkit-scrollbar{display:none}
.xs-dots{display:flex;justify-content:center;align-items:center;gap:.85rem;margin-top:1.5rem}
/* Streepjes in plaats van bolletjes — dezelfde vorm als de .car-nav-streepjes
   in de eerste sectie van de homepage. Het streepje van wat in beeld staat is
   dikker. box-sizing:content-box is nodig omdat de pagina globaal op
   border-box staat: anders valt de padding binnen de hoogte en wordt het
   streepje nul pixels hoog. */
.xs-dot{width:38px;height:.5px;border-radius:0;border:0;cursor:pointer;
  box-sizing:content-box;padding:11.25px 0;background-clip:content-box;
  background-color:rgba(255,255,255,.45);
  transition:background-color .3s var(--ease),width .3s var(--ease)}
.xs-dot:hover{background-color:rgba(255,255,255,.85);width:50px}
.xs-dot.is-active{background-color:#AA8453;width:50px;height:2.5px;padding:10.25px 0}

/* ===================== FACILITIES (afwisselend beeld/tekst) =====================
   Omgekeerd kleurenschema: de sectie draagt het hoofdbruin, alle tekst staat
   in #E6E4DC. De tekst heeft geen eigen vlak meer, maar staat rechtstreeks op
   de sectiekleur; het beeld ernaast levert de begrenzing. */
.facilities{background:#584C45;color:#E6E4DC}
.facilities__head .eyebrow{color:#E6E4DC}
/* het sterwatermerk is dezelfde kleur als de sectie — hier dus juist licht */
.facilities .star{background-color:#E6E4DC;opacity:.05}
.facilities__head{margin-bottom:clamp(2.4rem,4vw,3.6rem)}
.facilities .section-intro{color:rgba(230,228,220,.8);margin-inline:auto}
/* ===================== CONCEPTS GRID (masonry / baksteen) ===================== */
.concepts-grid-section{padding-block:clamp(64px,9vw,128px)}  /* achtergrond: zie SECTIE-OVERGANGEN */
.concepts-grid__head{margin-bottom:clamp(2rem,4vw,3.5rem)}
.concepts-grid{
  display:grid;
  grid-template-columns:repeat(7,1fr);
  grid-auto-rows:clamp(352px,38vw,528px);
  gap:clamp(12px,1.4vw,22px);
  padding-inline:clamp(12px,3vw,40px);
}
.concept-tile{
  position:relative;overflow:hidden;border-radius:var(--radius-media);
  grid-column:span 2;background:var(--color-gray);
}
.concept-tile--lg{grid-column:span 3}
.concept-tile--md{grid-column:span 2}
.concept-tile--xl{grid-column:span 4}   /* alleen zolang Reformer Pilates uit staat (build.mjs) */
.concept-tile img{
  width:100%;height:100%;object-fit:cover;
  transform:scale(1.001);backface-visibility:hidden;
  transition:transform .8s var(--ease);
}
.concept-tile__overlay{
  position:absolute;inset:0;background:rgba(0,0,0,.5);
  opacity:0;transition:opacity .5s var(--ease);
}
.concept-tile__content{
  position:absolute;inset:0;z-index:2;
  display:flex;flex-direction:column;justify-content:flex-end;align-items:stretch;
  padding:clamp(1.1rem,2vw,1.8rem);color:#fff;
}
/* De naam staat in de gewone opbouw, direct boven de uitleg. Daardoor kunnen
   naam en uitleg nooit over elkaar heen lopen, hoe lang de tekst ook is.
   In rust schuift main.js hem met --titel-x/--titel-y naar het midden van de
   tegel; bij hover gaat die verschuiving eraf en glijdt hij naar zijn plek
   linksonder. Alleen transform, dus soepel. */
.concept-tile__title{
  align-self:flex-start;max-width:100%;
  margin:0 0 clamp(.5rem,1vw,.8rem);
  font-size:clamp(1.25rem,2vw,2rem);font-weight:400;letter-spacing:.03em;line-height:1.15;
  color:#fff;
  transform:translate(var(--titel-x,0px),var(--titel-y,0px));
  transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.concept-tile__foot{
  display:flex;align-items:flex-end;justify-content:space-between;gap:1.2rem;
}
.concept-tile__desc{
  margin:0;font-size:.86rem;line-height:1.5;font-weight:300;color:rgba(255,255,255,.92);
  max-width:42ch;
  opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease) .05s,transform .5s var(--ease) .05s;
}
.concept-tile__arrow{
  flex:none;display:inline-flex;align-items:center;justify-content:center;
  color:#fff;
  opacity:0;transform:translateY(14px);
  transition:opacity .5s var(--ease) .1s,transform .5s var(--ease) .1s;
}
.concept-tile__arrow svg{width:30px;height:30px}
.concept-tile__line{
  display:block;height:1.5px;background:rgba(255,255,255,1);
  margin-top:clamp(.8rem,1.4vw,1.2rem);
  transform:scaleX(0);transform-origin:left center;
  transition:transform 1.1s cubic-bezier(.22,1,.36,1) .15s;
}
.concept-tile:hover img,.concept-tile:focus-visible img{transform:scale(1.09)}
.concept-tile:hover .concept-tile__overlay,.concept-tile:focus-visible .concept-tile__overlay{opacity:1}
.concept-tile:hover .concept-tile__title,.concept-tile:focus-visible .concept-tile__title,
.concept-tile:hover .concept-tile__desc,.concept-tile:focus-visible .concept-tile__desc,
.concept-tile:hover .concept-tile__arrow,.concept-tile:focus-visible .concept-tile__arrow,
.concept-tile:hover .concept-tile__line,.concept-tile:focus-visible .concept-tile__line{opacity:1;transform:none}

/* Zonder muis (telefoon, tablet) of op smalle schermen: alleen de naam, in
   het midden, zonder hover-animatie. */
@media (hover:none),(pointer:coarse),(max-width:720px){
  .concept-tile__content{justify-content:center;align-items:center;text-align:center}
  .concept-tile__title{align-self:center;margin:0;transform:none;text-shadow:0 1px 18px rgba(0,0,0,.25)}
  .concept-tile__foot,.concept-tile__line{display:none}
  .concept-tile__overlay{opacity:.3}
  .concept-tile:hover .concept-tile__overlay{opacity:.3}
}
@media (max-width:720px){
  .concepts-grid{grid-template-columns:1fr;grid-auto-rows:clamp(260px,66vw,380px)}
  .concept-tile,.concept-tile--lg,.concept-tile--md,.concept-tile--xl{grid-column:span 1}
}
@media (prefers-reduced-motion:reduce){
  .concept-tile img,.concept-tile__overlay,.concept-tile__title,.concept-tile__desc,.concept-tile__arrow,.concept-tile__line{transition:none}
  .concept-tile:hover img,.concept-tile:focus-visible img{transform:scale(1.001)}
}

/* ===================== TESTIMONIALS ===================== */
/* ---------- Ervaringen (foto-achtergrond + quote-carousel) ---------- */
.testimonials{position:relative;overflow:hidden;border-radius:var(--radius-media);padding-block:clamp(56px,7vw,104px);--testi-indent:clamp(16px,11vw,200px)}
.testimonials::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:url("assets/testimonials-bg.jpg") center/cover no-repeat;
}
.testimonials::after{
  content:"";position:absolute;inset:0;z-index:-1;
  background:rgba(0,0,0,.65);
}
.testimonials .eyebrow{color:rgba(255,255,255,.7)}
/* groot decoratief aanhalingsteken rechts */
.testi-quote-mark{
  position:absolute;top:clamp(48px,6vw,96px);right:22%;z-index:0;
  font-family:Georgia,'Times New Roman',serif;font-weight:700;line-height:1;
  font-size:clamp(120px,13vw,210px);
  color:transparent;
  -webkit-text-stroke:2px rgba(232,228,221,.45);
  text-stroke:2px rgba(232,228,221,.45);
  pointer-events:none;user-select:none;
}
/* kop links uitgelijnd */
.testi-head{position:relative;z-index:1;max-width:820px;padding-inline-start:var(--testi-indent)}
.testi-head .section-title{color:#fff}
.testi-head__rule{display:block;width:56px;height:1px;background:rgba(255,255,255,.4);margin-top:1.3rem}
/* carousel: twee reviews naast elkaar */
.testi-carousel{position:relative;z-index:1;margin-top:clamp(1.8rem,3vw,2.6rem);--xs-gap:clamp(32px,5vw,80px)}
.testi-track{padding-bottom:.4rem}
.testi-item{flex:0 0 100%;scroll-snap-align:start;padding-inline-start:var(--testi-indent)}
.testi-item__quote{
  max-width:620px;
  font-family:var(--font-sans);font-weight:300;font-size:clamp(1rem,1.1vw,1.1rem);
  line-height:1.85;color:rgba(255,255,255,.86)}
.testi-item__person{display:flex;align-items:center;gap:1.1rem;margin-top:1.8rem}
.testi-item__avatar{
  width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;
  border:2px solid rgba(255,255,255,.35)}
.testi-item__stars{display:flex;gap:.28rem;margin-bottom:.5rem}
.testi-item__stars svg{width:16px;height:16px;fill:#AA8453}
.testi-item__name{font-family:var(--font-sans);font-weight:600;font-size:.95rem;letter-spacing:.14em;text-transform:uppercase;color:#fff}
.testi-item__role{font-size:.86rem;color:rgba(255,255,255,.6);margin-top:.25rem}
@media (max-width:760px){
  .testi-item{flex:0 0 100%}
}

/* ===================== HOURS ===================== */
.hours{display:grid;grid-template-columns:1fr 1fr;gap:clamp(2rem,6vw,5rem);align-items:center}
.hours__list{margin-top:2rem;border-top:1px solid rgba(255,255,255,.16)}
.hours__row{display:flex;justify-content:space-between;padding:1.1rem 0;border-bottom:1px solid rgba(255,255,255,.16);font-size:1.05rem}
.hours__row span:first-child{color:rgba(255,255,255,.78)}
.hours__row span:last-child{font-weight:500}

/* ===================== INSTAGRAM ===================== */
/* Bredere container dan de standaard 1240px, zodat de tegels ruimer ogen
   (zelfde patroon als .coaches__grid hieronder). */
/* Instagram: doorlopende band die van rechts naar links schuift. main.js zet
   de foto's er twee keer achter elkaar in en geeft --stap de breedte van één
   reeks; de animatie schuift precies die afstand op en begint dan opnieuw,
   zodat het naadloos doorloopt. Stil zolang je erover gaat of hem aanraakt. */
.insta-band{
  --snelheid:44;                    /* pixels per seconde */
  position:relative;margin-top:3rem;
  width:100vw;margin-inline:calc(50% - 50vw);
  overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
          mask-image:linear-gradient(90deg,transparent,#000 6%,#000 94%,transparent);
}
.insta-band__spoor{display:flex;width:max-content;animation:instaBand var(--duur,60s) linear infinite}
.insta-band:hover .insta-band__spoor,
.insta-band:focus-within .insta-band__spoor,
.insta-band.is-pauze .insta-band__spoor{animation-play-state:paused}
@keyframes instaBand{
  from{transform:translate3d(0,0,0)}
  to{transform:translate3d(calc(-1 * var(--stap,50%)),0,0)}
}
.insta-band .insta__tile{flex:none;width:clamp(190px,19vw,280px);margin-right:.9rem}
/* Zonder animatie: gewoon zelf zijwaarts te scrollen. */
@media (prefers-reduced-motion:reduce){
  .insta-band{overflow-x:auto;scroll-snap-type:x proximity}
  .insta-band__spoor{animation:none}
  .insta-band .insta__tile{scroll-snap-align:center}
}
.insta__tile{position:relative;aspect-ratio:4/5;overflow:hidden;border-radius:var(--radius-media)}
.insta__tile img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease)}
.insta__tile::after{content:"";position:absolute;inset:0;background:rgba(26,26,26,.0);transition:background .35s var(--ease)}
.insta__tile:hover img{transform:scale(1.08)}
.insta__tile:hover::after{background:rgba(26,26,26,.25)}

/* ===================== CTA BANNER ===================== */
.cta-banner{position:relative;color:#fff;text-align:center;overflow:hidden;border-radius:var(--radius-media);padding-block:clamp(80px,12vw,150px)}
.cta-banner__media{position:absolute;inset:0;z-index:-2}
.cta-banner__media img{width:100%;height:100%;object-fit:cover}
.cta-banner__overlay{position:absolute;inset:0;z-index:-1;background:rgba(26,26,26,.62)}
.cta-banner h2{font-size:clamp(2.2rem,5vw,3.8rem);max-width:760px;margin:.6rem auto 1.4rem}
.cta-banner p{max-width:520px;margin:0 auto 2.2rem;color:rgba(255,255,255,.85)}
.cta-banner .btn-hero{display:flex;width:fit-content;margin-inline:auto}
/* "Start vandaag": de knop hovert naar #AA8453, dezelfde kleur als het logo
   in de header. Twee knoptypes in gebruik, vandaar twee regels. */
.cta-banner .btn-hero::after{border-color:#AA8453;color:#AA8453}

/* ===================== FOOTER =====================
   Lichte footer: #F9F5F1 als vlak (zoals de rest), alles erop in #584C45.
   Lijnen en secundaire tekst zijn dezelfde kleur op lagere dekking, zodat
   de hiërarchie blijft kloppen zonder een tweede kleur te introduceren. */
/* Eén maat voor de ruimte boven én onder het logo: de afstand van de
   scheidingslijn tot het logo is de padding-top van de footer, de afstand van
   het logo tot de kolommen is de marge onder .footer__brand. Beide uit
   dezelfde variabele, dus het logo hangt altijd precies tussen de twee in. */
.footer{background:var(--color-primary);color:#584C45;
  --footer-logo-gap:clamp(2.6rem,5vw,4rem);
  padding-top:var(--footer-logo-gap)}
/* Scheidingslijn op de naad met de vorige sectie. Op de homepage heeft de
   laatste sectie exact dezelfde kleur als de footer, dus zonder deze lijn
   lopen ze naadloos in elkaar over. Hij tekent zichzelf van links naar
   rechts zodra je hem in beeld scrolt — dat gebeurt via de bestaande
   .reveal-observer in main.js, er is geen extra script voor nodig — en wordt
   naar rechts toe zwaarder. Hij loopt tot 1 cm van beide schermranden, dus
   je ziet aan de uiteinden dat het een lijn is en geen sectierand.
   Hogere specificiteit dan .reveal, want die staat verderop in dit bestand
   en zou anders de opacity en transform hieronder overschrijven. */
.footer .footer__rule{
  /* Niet op de naad zelf: de sectie erboven is afgerond en overlapt de footer
     met de hoekafronding, dus op top:0 raakte de lijn die rand. */
  position:absolute;top:clamp(16px,2.2vw,28px);left:0;right:0;margin-inline:auto;
  width:calc(100% - 2cm);height:2.5px;opacity:1;transform:none;
  --rule-col:#584C45;
  /* 0 = lijn komt net in beeld, 1 = volledig aangedikt. main.js schrijft deze
     waarde bij het scrollen; zonder JS blijft hij 0 en zie je de dunne lijn. */
  --rule-p:0;
}
/* Rusttoestand: over de hele lengte 0,5px, verticaal gecentreerd in de strook
   die net zo hoog is als de dikste stand. Op een retinascherm is dat precies
   één device-pixel; op een gewoon scherm kan de browser niet dunner dan 1px
   en toont hij hem lichter in plaats van dunner. */
.footer .footer__rule::before{
  content:"";position:absolute;left:0;right:0;top:50%;height:.5px;
  transform:translateY(-50%);background:var(--rule-col);
}
/* Het aangedikte deel, opgezet als .concept-tile__line in de conceptensectie:
   een strook van één dikte die met scaleX vanaf links uitrolt. Verschil is de
   aanleiding — daar hover met een transition, hier de scrollpositie, dus geen
   transition maar een waarde die main.js per frame bijwerkt. Daardoor rolt
   hij bij omhoog scrollen ook weer terug. */
.footer .footer__rule > span{
  position:absolute;left:0;top:0;height:100%;width:100%;
  background:var(--rule-col);
  transform:scaleX(var(--rule-p));transform-origin:left center;
}
@media (prefers-reduced-motion:reduce){
  .footer .footer__rule > span{transform:none}
}
/* logo staat los boven de kolommen, gecentreerd in de volle footerbreedte */
.footer__brand{display:flex;justify-content:center;margin-bottom:var(--footer-logo-gap)}
/* Drie gelijke kolommen: contact — menu — nieuwsbrief. Gelijk verdeeld, want
   met de brandkolom eruit is er geen reden meer om ze ongelijk te maken. */
.footer__top{display:grid;grid-template-columns:repeat(3,1fr);
  gap:clamp(2rem,5vw,4.5rem);padding-bottom:3.5rem;
  border-bottom:1px solid rgba(88,76,69,.16);align-items:start}
.footer__col{position:relative;min-width:0}
/* dunne verticale scheiding van ~3 cm tussen de drie delen */
.footer__col + .footer__col::before{
  content:"";position:absolute;top:.3rem;
  left:calc(-1 * clamp(1rem,2.5vw,2.25rem));
  width:1px;height:113px;background:rgba(88,76,69,.26)}
.footer__col--news .footer__wa{margin-top:1.6rem}
/* logo-star.png is zwarte vorm op transparant en werd met een filter wit
   gemaakt voor de donkere footer. Nu de footer licht is, staat er een eigen
   bestand in #584C45 naast (logo-star-brown.png, zelfde alfakanaal). Een
   CSS-masker zou eleganter zijn, maar maskerafbeeldingen laden niet vanaf
   file:// — en zo wordt deze site lokaal geopend. */
.footer__logo-img{width:clamp(70px,8vw,110px);height:auto;display:block}

.footer h4{font-family:var(--font-sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#584C45;font-weight:600;margin-bottom:1.3rem}
/* ---------- Uitklapbare kolommen in de footer (Menu, Contact) ---------- */
.footer__toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;background:none;border:0;padding:0 0 1.3rem;cursor:pointer;text-align:left;
  font-family:var(--font-sans);font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;
  color:#584C45;font-weight:600;transition:color .3s var(--ease)}
.footer__toggle:hover{color:#AA8453}
.footer__pm{position:relative;width:13px;height:13px;flex:none}
.footer__pm::before,.footer__pm::after{content:"";position:absolute;left:50%;top:50%;
  width:13px;height:1.5px;background:currentColor;border-radius:1px;
  transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.footer__pm::after{transform:translate(-50%,-50%) rotate(90deg)}
/* uitgeklapt: de verticale streep verdwijnt, dus blijft een min over */
.footer__group.is-open .footer__pm::after{transform:translate(-50%,-50%) rotate(90deg) scaleX(0)}
.footer__panel{display:grid;grid-template-rows:0fr;overflow:hidden;
  transition:grid-template-rows .35s var(--ease),opacity .35s var(--ease);opacity:0}
.footer__group.is-open .footer__panel{grid-template-rows:1fr;opacity:1}
.footer__panel > div{min-height:0;overflow:hidden}
/* overflow:hidden snijdt ook horizontaal af; lange adressen moeten
   daarom kunnen afbreken in plaats van weggeknipt te worden */
.footer__panel address,.footer__panel a{overflow-wrap:anywhere}
@media (prefers-reduced-motion:reduce){
  .footer__panel{transition:none}
}
.footer__list li{margin-bottom:.7rem;font-size:.94rem}
.footer__list a{transition:color .3s var(--ease)}
.footer__list a:hover{color:#AA8453}
.footer address{font-style:normal;font-size:.94rem;line-height:1.9}
/* standaard doorzichtig met een rand in de kleur van de omringende tekst
   (currentColor) — deze knop staat zowel in de donkere footer als op de
   lichte contactpagina;
   bij hover het bekende WhatsApp-groen met witte tekst */
.footer__wa{position:relative;z-index:0;overflow:hidden;
  display:inline-flex;align-items:center;gap:.6rem;background:transparent;
  color:inherit;border:1px solid currentColor;
  font-weight:600;font-size:.86rem;padding:.8rem 1.4rem;border-radius:10px;margin-top:1.2rem;
  transition:transform .3s var(--ease),border-color .3s var(--ease),
             color .18s var(--ease) .26s}
/* het groen veegt van links naar rechts binnen; de tekst wordt pas wit als
   de veeg er grotendeels overheen is, anders valt hij even weg */
.footer__wa::before{content:"";position:absolute;inset:0;z-index:-1;background:#25D366;
  transform:scaleX(0);transform-origin:left center;
  transition:transform .45s var(--ease)}
.footer__wa:hover::before{transform:scaleX(1)}
.footer__wa:hover{color:#fff;border-color:#25D366;transform:translateY(-2px)}
@media (prefers-reduced-motion:reduce){
  .footer__wa,.footer__wa::before{transition:none}
}
.footer__wa svg{width:20px;height:20px;fill:currentColor}
.footer__news{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1rem}
.footer__news input{flex:1 1 190px;min-width:0;background:transparent;border:1px solid rgba(88,76,69,.3);border-radius:10px;padding:.8rem 1rem;color:#584C45;font-family:inherit;font-size:.9rem}
.footer__news input::placeholder{color:rgba(88,76,69,.55)}
.footer__news input:focus{outline:none;border-color:#584C45}
/* omgekeerd aan de rest: gevuld vlak in #584C45 met de footerkleur als tekst */
.footer__news button{flex:0 0 auto;background:#584C45;color:#E6E4DC;padding:.85rem 1.4rem;border-radius:10px;font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;font-weight:600;transition:background .3s var(--ease),color .3s var(--ease)}
.footer__news button:hover{background:#AA8453;color:#fff}
.footer__socials{display:flex;gap:.8rem;margin-top:1.6rem}
.footer__socials a{width:42px;height:42px;border:1px solid rgba(88,76,69,.3);border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .3s var(--ease)}
.footer__socials a:hover{background:#584C45;color:#E6E4DC;border-color:#584C45}
.footer__socials svg{width:19px;height:19px;stroke-width:1.6}
.footer__bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;padding-block:1.8rem;font-size:.82rem;color:rgba(88,76,69,.9)}
.footer__legal{display:flex;gap:1.6rem;flex-wrap:wrap}
.footer__legal a{transition:color .3s var(--ease)}
.footer__legal a:hover{color:#AA8453}
/* footer link letters: colour wave left-to-right on hover (no movement) */
.footer__list a .ltr,.footer__legal a .ltr{transition:color .25s var(--ease);transition-delay:calc(var(--i) * .03s)}
.footer__list a:hover .ltr,.footer__legal a:hover .ltr{color:#AA8453}
.footer address a{transition:color .3s var(--ease)}
.footer address a:hover{color:#F6F1EB}

/* ===================== FLOATING WHATSAPP ===================== */
.wa-float{position:fixed;right:24px;bottom:24px;z-index:90;width:58px;height:58px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 26px rgba(37,211,102,.45);transform:translateY(120px) scale(.7);opacity:0;transition:transform .45s var(--ease),opacity .45s var(--ease)}
.wa-float.is-visible{transform:none;opacity:1}
.wa-float:hover{transform:scale(1.08)}
.wa-float svg{width:30px;height:30px;fill:#fff}
.wa-float::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid #25D366;animation:waPulse 2.4s var(--ease) infinite}
@keyframes waPulse{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}

/* ===================== ENTRY POPUP ===================== */
.popup{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;padding:24px;background:rgba(26,26,26,.6);backdrop-filter:blur(4px);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease)}
.popup.is-open{opacity:1;visibility:visible}
.popup__box{position:relative;background:var(--color-white);max-width:880px;width:100%;border-radius:4px;overflow:hidden;display:grid;grid-template-columns:1fr 1fr;box-shadow:var(--shadow-md);transform:translateY(24px) scale(.97);transition:transform .5s var(--ease)}
.popup.is-open .popup__box{transform:none}
.popup__media{position:relative}
.popup__media img{width:100%;height:100%;object-fit:cover}
.popup__body{padding:clamp(2rem,4vw,3.2rem)}
.popup__body .eyebrow{color:var(--color-gray-soft)}
.popup__body h3{font-size:clamp(1.8rem,3.4vw,2.6rem);margin:.6rem 0 1rem}
.popup__body p{color:var(--color-gray);margin-bottom:1.8rem}
.popup__actions{display:flex;flex-direction:column;gap:.8rem;align-items:flex-start}
.popup__dismiss{font-size:.82rem;letter-spacing:.06em;color:var(--color-gray-soft);text-decoration:underline;text-underline-offset:3px}
.popup__close{position:absolute;top:14px;right:14px;width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.85);display:flex;align-items:center;justify-content:center;z-index:2;transition:background .3s var(--ease)}
.popup__close:hover{background:#fff}
.popup__close svg{width:20px;height:20px;stroke-width:1.6}

/* ===================== SIDEBAR MENU (slides in from the left) ===================== */
/* dimmed backdrop behind the panel — click to close */
.menu-overlay{position:fixed;inset:0;z-index:105;background:rgba(0,0,0,.5);opacity:0;visibility:hidden;transition:opacity .4s var(--ease),visibility .4s var(--ease)}
body.menu-open .menu-overlay{opacity:1;visibility:visible}

.mobile-menu{position:fixed;top:0;left:0;bottom:0;z-index:110;width:min(600px,86vw);background:#F6F1EB;box-shadow:var(--shadow-sm);padding:calc(var(--nav-h) + 30px) var(--gutter) 40px;display:flex;flex-direction:column;transform:translateX(-100%);transition:transform .45s var(--ease);visibility:hidden;overflow-y:auto}
body.menu-open .mobile-menu{transform:none;visibility:visible}
.mobile-menu{font-family:var(--font-serif)}

/* ===================== TAALKEUZE (EN – NL) =====================
   Rechtsboven in het zijmenu, op dezelfde hoogte als het kruisje (de
   hamburger): bovenaan op de helft van --nav-h, in de vaste balk op 50px.
   De taal van de pagina (<html lang>) staat donker, de andere licht. */
.taalkeuze{
  position:absolute;top:calc(var(--nav-h)/2 - 17px);right:var(--gutter);
  display:flex;align-items:center;gap:.55rem;height:34px;
  font-family:var(--font-sans);font-size:13px;font-weight:500;letter-spacing:.12em;
  transition:top .4s var(--ease);
}
.nav.is-scrolled ~ .mobile-menu .taalkeuze{top:33px}
.taalkeuze a{color:rgba(88,76,69,.45);padding:.4rem .1rem;transition:color .3s var(--ease)}
.taalkeuze a:hover{color:#AA8453}
.taalkeuze__streep{color:rgba(88,76,69,.35)}
html[lang="nl"] .taalkeuze a[hreflang="nl"],
html[lang="en"] .taalkeuze a[hreflang="en"]{color:#584C45;font-weight:600;cursor:default}
/* the page links, generously spaced */
.mobile-menu__links{display:flex;flex-direction:column;gap:1.5rem}
.mobile-menu__links > a{display:block;font-family:'Marcellus SC',var(--font-serif);font-size:22px;color:#584C45;padding:.6rem 0;transition:color .3s var(--ease)}
.mobile-menu__links > a:hover{color:#AA8453}
/* Concepten group — click the word or the arrow to toggle the submenu */
.mobile-menu__group{position:relative}
.mobile-menu__toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;text-align:left;font-family:'Marcellus SC',var(--font-serif);font-size:22px;color:#584C45;padding:.6rem 0;border:0;background:none;cursor:pointer;transition:color .3s var(--ease)}
.mobile-menu__toggle:hover,
.mobile-menu__group.is-open > .mobile-menu__toggle{color:#AA8453}
.mobile-menu__chev{width:20px;height:20px;flex:none;transition:transform .35s var(--ease)}
.mobile-menu__group.is-open > .mobile-menu__toggle > .mobile-menu__chev{transform:rotate(180deg)}
.mobile-menu__sub{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .35s var(--ease),opacity .35s var(--ease);opacity:0}
.mobile-menu__group.is-open > .mobile-menu__sub{grid-template-rows:1fr;opacity:1}
.mobile-menu__sub-inner{min-height:0;overflow:hidden;display:flex;flex-direction:column;gap:.2rem;padding-top:.4rem}
.mobile-menu__sub a{font-family:'Marcellus SC',var(--font-serif);font-size:17px;color:#584C45;padding:.4rem 0 .4rem 1.2rem;transition:color .3s var(--ease)}
.mobile-menu__sub a:hover{color:#AA8453}
/* genest niveau — HIIT submenu binnen Concepten */
.mobile-menu__sub .mobile-menu__toggle{font-family:'Marcellus SC',var(--font-serif);font-size:17px;color:#584C45;padding:.4rem 0 .4rem 1.2rem}
.mobile-menu__sub .mobile-menu__group.is-open > .mobile-menu__toggle{color:#AA8453}
.mobile-menu__sub .mobile-menu__chev{width:16px;height:16px}
.mobile-menu__sub .mobile-menu__sub a{padding-left:2.4rem;font-size:16px}
/* social links — centred at the bottom of the sidebar */
.mobile-menu__socials{display:flex;justify-content:center;gap:1.6rem;margin-top:auto;padding-top:2.4rem}
.mobile-menu__socials a{display:inline-flex;color:#584C45;transition:color .3s var(--ease)}
.mobile-menu__socials a:hover{color:#AA8453}
.mobile-menu__socials svg{width:28px;height:28px}
/* the panel's own X is hidden — the hamburger morphs into the X in place instead */
.mobile-menu__close{display:none}

/* ===================== SCROLL REVEAL ===================== */
.reveal{opacity:0;transform:translateY(34px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal.is-in{opacity:1;transform:none}

/* ===================== RESPONSIVE ===================== */
@media(max-width:1024px){
  .about__grid,.hours{grid-template-columns:1fr}
  .about__media{max-height:480px}
  .footer__top{grid-template-columns:1fr}
  /* De kolommen staan hier al onder elkaar, dus de scheiding moet meteen
     horizontaal worden — anders staat er een verticale streep naast een
     kolom die niemand meer naast iets anders staat. */
  .footer__col + .footer__col::before{
    top:calc(-1 * clamp(1rem,2.5vw,2.25rem));left:0;transform:none;
    width:113px;height:1px}
}
@media(max-width:768px){
  :root{--nav-h:198px}
  .footer__top{grid-template-columns:1fr}
  .popup__box{grid-template-columns:1fr;max-width:420px}
  .popup__media{display:none}
  .footer__bottom{flex-direction:column;text-align:center;align-items:center}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition-duration:.01ms!important;scroll-behavior:auto!important}
  .reveal{opacity:1;transform:none}
}

/* ===================== SUBPAGE HERO (smaller than full viewport) ===================== */
.page-hero{position:relative;min-height:clamp(360px,52vh,520px);display:flex;align-items:flex-end;color:#fff;overflow:hidden}
.page-hero__media{position:absolute;inset:0;z-index:-2}
.page-hero__media img{width:100%;height:100%;object-fit:cover}
.page-hero__overlay{position:absolute;inset:0;z-index:-1;background:linear-gradient(to top,rgba(26,26,26,.78) 0%,rgba(26,26,26,.32) 60%,rgba(26,26,26,.45) 100%)}
.page-hero__inner{max-width:var(--maxw);margin:0 auto;width:100%;padding:0 var(--gutter) clamp(40px,7vw,72px)}
.page-hero .eyebrow{color:rgba(255,255,255,.75)}
.page-hero__title{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:500;line-height:1.04;margin-top:.4rem}
.page-hero__sub{max-width:580px;margin-top:1.1rem;font-size:clamp(1rem,1.6vw,1.18rem);font-weight:300;color:rgba(255,255,255,.9)}
.breadcrumb{display:flex;gap:.5rem;align-items:center;font-size:.78rem;letter-spacing:.06em;color:rgba(255,255,255,.7);margin-bottom:1.4rem}
.breadcrumb a{transition:color .3s var(--ease)}
.breadcrumb a:hover{color:#fff}
.breadcrumb span{opacity:.5}

/* ===================== GENERIC CONTENT BLOCKS ===================== */
.prose{max-width:720px}
.prose p{color:var(--color-gray);font-size:1.1rem;margin-bottom:1.3rem;line-height:1.75}
.prose h3{font-size:clamp(1.6rem,3vw,2.2rem);margin:2.4rem 0 1rem}

/* Feature grid (used on concepten / abonnementen) */
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6rem;margin-top:3rem}
.feature{background:var(--color-white);border:1px solid var(--color-line);border-radius:var(--radius-media);overflow:hidden;display:flex;flex-direction:column;scroll-margin-top:130px}
.section--beige .feature{background:#fff}
.feature__media{aspect-ratio:4/3;overflow:hidden}
.feature__media img{width:100%;height:100%;object-fit:cover;transition:transform .7s var(--ease)}
.feature:hover .feature__media img{transform:scale(1.05)}
.feature__body{padding:1.8rem;display:flex;flex-direction:column;flex:1}
.feature__title{font-size:1.55rem;font-weight:500;margin-bottom:.6rem}
.feature__body p{color:var(--color-gray);font-size:.96rem;flex:1}

/* Pricing cards (abonnementen) */
.price-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.6rem;margin-top:3rem}
.price{min-width:0;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-media);padding:2.4rem 2rem;display:flex;flex-direction:column;position:relative}
.price.is-featured{border-color:var(--color-black);box-shadow:var(--shadow-md)}
.price__badge{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:var(--color-black);color:#fff;font-size:.66rem;letter-spacing:.18em;text-transform:uppercase;padding:.4rem .9rem;border-radius:2px}
.price__name{font-family:var(--font-title);font-weight:400;font-size:1.7rem;margin-bottom:.4rem}
.price__amount{font-size:2.6rem;font-family:var(--font-serif);font-weight:600}
.price__amount span{font-family:var(--font-sans);font-size:.9rem;font-weight:400;color:var(--color-gray-soft)}
.price__list{margin:1.6rem 0 2rem;flex:1}
.price__list li{display:flex;gap:.6rem;align-items:flex-start;padding:.5rem 0;font-size:.95rem;color:var(--color-gray);border-bottom:1px solid var(--color-line)}
.price__list svg{width:18px;height:18px;stroke-width:2;flex-shrink:0;margin-top:3px}

/* Schedule table (rooster) */
.schedule{margin-top:3rem;border:1px solid var(--color-line);border-radius:3px;overflow:hidden}
.schedule table{width:100%;border-collapse:collapse;font-size:.94rem}
.schedule th,.schedule td{padding:1rem 1.2rem;text-align:left;border-bottom:1px solid var(--color-line)}
.schedule thead th{background:var(--color-black);color:#fff;font-family:var(--font-sans);font-weight:500;letter-spacing:.06em;font-size:.8rem;text-transform:uppercase}
.schedule tbody tr:hover{background:var(--color-beige)}
.schedule td:first-child{font-weight:500;white-space:nowrap}
.schedule .tag{display:inline-block;font-size:.78rem;color:var(--color-gray);transition:opacity .3s var(--ease),color .3s var(--ease)}
.table-wrap{overflow-x:auto}
/* schedule filter tabs */
#rooster-filter{margin:2rem auto .2rem}

/* weekly schedule (day columns, lessons stacked) */
.week{display:grid;grid-template-columns:repeat(7,minmax(150px,1fr));margin-top:2.4rem;background:#fff;border:1px solid var(--color-line);border-radius:6px;overflow:hidden}
.week__day{display:flex;flex-direction:column;border-right:1px solid var(--color-line)}
.week__day:last-child{border-right:0}
.week__dayname{background:#584C45;color:#fff;font-family:var(--font-sans);font-weight:500;font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;padding:.85rem .6rem;text-align:center}
.week__list{display:flex;flex-direction:column;gap:.55rem;padding:.6rem;flex:1}
.lesson{position:relative;background:var(--color-tertiary);border-radius:4px;padding:.62rem .7rem;overflow:hidden;transition:transform .3s var(--ease)}
.lesson:hover{transform:translateY(-2px)}
.lesson__name{font-family:var(--font-sans);font-weight:600;font-size:.82rem;color:#584C45;line-height:1.2}
.lesson__time{font-size:.74rem;color:var(--color-gray);margin-top:.22rem}
.week[data-filter="hiit"] .lesson:not([data-type="hiit"]),
.week[data-filter="pilates"] .lesson:not([data-type="pilates"]),
.week[data-filter="yoga"] .lesson:not([data-type="yoga"]){display:none}

/* ===================== CONTACTPAGINA — vier blokken =====================
   Twaalfkoloms raster met een ongelijke verdeling per rij (7/5 en 5/7), zodat
   de vier kaarten niet als een blokkenschema van vier gelijke vakken lezen.
   De kaarten in één rij strekken tot dezelfde hoogte. */
.contact-blocks{
  display:grid;
  /* minmax(0,1fr) en niet 1fr: een 1fr-kolom krimpt niet onder de min-content
     van wat erin staat, en een lang e-mailadres duwt het raster dan breder
     dan het scherm. */
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:clamp(1.1rem,2.2vw,1.8rem);
  margin-top:clamp(2.4rem,4vw,3.4rem);
}
.c-card{
  background:#fff;border:1px solid var(--color-line);border-radius:6px;
  padding:clamp(1.5rem,2.8vw,2.4rem);
  display:flex;flex-direction:column;min-width:0;
}
.c-card h3{
  font-family:var(--font-title);font-weight:400;
  font-size:clamp(1.35rem,2.1vw,1.85rem);margin:.45rem 0 .9rem;
}
.c-card p{color:var(--color-gray);line-height:1.7}
/* de standaardknop staat hier op wit, dus de rand volgt wit */
.c-card .btn-solid{--btn-edge:#fff}
.c-card--info {grid-column:span 7}
.c-card--hours{grid-column:span 5}
.c-card--form {grid-column:span 5}
.c-card--map  {grid-column:span 7;padding:0;overflow:hidden}

/* 1 — bedrijfsinfo */
.c-info__list{margin-top:1.5rem;display:grid;gap:1rem}
.c-info__list li{display:flex;gap:.85rem;align-items:flex-start;font-size:1rem;line-height:1.6}
.c-info__list svg{width:20px;height:20px;flex:none;margin-top:.15rem;
  fill:none;stroke:var(--color-secondary);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.c-info__list a{border-bottom:1px solid var(--color-line);transition:border-color .3s var(--ease);overflow-wrap:anywhere}
.c-info__list a:hover{border-color:var(--color-black)}
/* WhatsApp-knop onderaan de kaart, ongeacht hoe lang de tekst erboven is.
   De marge onder de lijst houdt er ook afstand als de kaart precies zo hoog
   is als zijn inhoud — dan levert margin-top:auto namelijk niets op. */
.c-info__list{margin-bottom:1.7rem}
.c-card--info .footer__wa{margin-top:auto;align-self:flex-start}

/* 2 — openingstijden. De basisregels van .hours__list staan op de donkere
   sectie en hebben witte lijnen; op deze witte kaart dus omgekeerd. */
.c-card--hours .hours__list{margin-top:1.1rem;border-top:1px solid var(--color-line)}
.c-card--hours .hours__row{
  border-bottom:1px solid var(--color-line);
  font-size:.98rem;padding:.72rem 0;
}
.c-card--hours .hours__row span:first-child{color:var(--color-gray)}
.c-card--hours .hours__row span:last-child{color:var(--color-black);font-weight:500}
.c-hours__note{margin-top:1.2rem;font-size:.9rem;color:var(--color-gray);line-height:1.6}

/* 3 — kort formulier */
.c-card--form .form{margin-top:1.1rem;gap:.85rem}
.c-card--form .form textarea{min-height:112px}

/* 4 — kaart. De iframe vult de kaart; de balk eronder houdt het adres en de
   routeknop bij elkaar. */
.c-map{flex:1 1 auto;min-height:clamp(300px,34vw,420px)}
.c-map iframe{display:block;width:100%;height:100%;border:0;filter:grayscale(.3) contrast(.96)}
.c-map__bar{
  display:flex;flex-wrap:wrap;gap:.9rem;align-items:center;justify-content:space-between;
  padding:1.1rem clamp(1.2rem,2.4vw,1.8rem);
  border-top:1px solid var(--color-line);font-size:.95rem;
}
@media(max-width:900px){
  .c-card--info,.c-card--hours,.c-card--form,.c-card--map{grid-column:span 12}
}

.form{display:grid;gap:1rem}
.form label{display:block;font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;font-weight:500;margin-bottom:.4rem;color:var(--color-gray)}
.form input,.form textarea,.form select{width:100%;background:#fff;border:1px solid var(--color-line);border-radius:2px;padding:.9rem 1rem;font-family:inherit;font-size:1rem;color:var(--color-black);transition:border-color .3s var(--ease)}
.form textarea{min-height:140px;resize:vertical}
.form input:focus,.form textarea:focus,.form select:focus{outline:none;border-color:var(--color-black)}
.form select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='none' stroke='%235C5552' stroke-width='1.6' d='M1 1.5 6 6.5 11 1.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1.1rem center;background-size:12px 8px;padding-right:2.8rem;cursor:pointer}
.form__row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}
.form__status{font-size:.92rem;color:var(--color-gray);min-height:1.2em}

@media(max-width:1024px){
  .feature-grid,.price-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:768px){
  .feature-grid,.price-grid{grid-template-columns:1fr}
  .form__row{grid-template-columns:1fr}
}

/* ===================== WHAT-TO-EXPECT concept layout ===================== */
/* Eerste sectie van de conceptpagina's: zelfde ondergrond als de secties op
   de homepage (#F9F5F1). Het tekstvak is ons bruin #584C45 op 10% dekking;
   --expect-vak-vol is die kleur als vlakke waarde op #F9F5F1, voor de rand
   van de knop (die moet ondoorzichtig zijn om weg te vallen). */
.expect,.expect-nav{background:var(--color-primary)}
.expect{position:relative;display:grid;grid-template-columns:1.05fr 1fr;align-items:center;overflow:hidden;
  --expect-gap:clamp(24px,4vw,72px);--expect-overlap:clamp(28px,3.5vw,72px);
  --expect-vak:rgba(88,76,69,.1);--expect-vak-vol:#E9E4E0}
.expect__panel{display:flex;justify-content:flex-end;padding:clamp(48px,6vw,100px) var(--expect-gap)}
.expect__inner{position:relative;z-index:0;width:100%;max-width:640px;background:var(--expect-vak);
  border-radius:3px 0 0 3px;padding:clamp(28px,3.5vw,52px)}
.expect__inner::after{content:"";position:absolute;top:0;bottom:0;left:100%;
  width:calc(var(--expect-gap) + var(--expect-overlap));background:var(--expect-vak)}
.expect__title{font-family:var(--font-title);font-weight:400;font-size:clamp(1.9rem,3.6vw,3rem);letter-spacing:.02em;margin:.4rem 0 1.4rem}
.expect__lead{color:var(--color-gray);font-size:1.02rem;line-height:1.7;margin-bottom:1.1rem}
.expect__note{color:var(--color-gray-soft);font-size:.92rem;line-height:1.6;margin-bottom:1.6rem}
.expect__acc{border-top:1px solid var(--color-line)}
.expect__item{border-bottom:1px solid var(--color-line)}
.expect__toggle{display:flex;align-items:center;gap:1rem;width:100%;padding:1.05rem 0;background:none;border:0;cursor:pointer;font-family:var(--font-sans);font-size:.9rem;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--color-black);text-align:left;transition:color .3s var(--ease)}
.expect__toggle:hover{color:var(--btn-hover)}
.expect__plus{position:relative;width:18px;height:18px;flex:none}
.expect__plus::before,.expect__plus::after{content:"";position:absolute;left:50%;top:50%;width:16px;height:2px;background:currentColor;border-radius:2px;transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.expect__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.expect__item.is-open .expect__plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.expect__body{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .35s var(--ease)}
.expect__item.is-open .expect__body{grid-template-rows:1fr}
.expect__body > div{min-height:0;overflow:hidden}
.expect__body p{padding:0 0 1.1rem 2.8rem;color:var(--color-gray);font-size:.96rem;line-height:1.65}
/* De knop in dit blok is een .btn-solid; alleen de bovenmarge is eigen.
   Breedte volgt de tekst, want .btn-solid is inline-flex.
   De rand volgt de kleur van het tekstvak (.expect__inner). */
.expect .btn-solid{--btn-edge:var(--expect-vak-vol);margin-top:1.8rem}
.expect__media{align-self:start;position:relative;z-index:1;height:clamp(420px,50vw,720px);margin:clamp(28px,4vw,56px) 0;border-radius:var(--radius-media);overflow:hidden;box-shadow:var(--shadow-md)}
.expect__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
/* Carrousel in de fotokolom: de kolom snijdt alles buiten de foto af, dus
   de bladerstreepjes staan in wit onderin op de foto zelf. */
.expect__media .car-nav{position:absolute;right:clamp(16px,2.5vw,28px);bottom:clamp(8px,1.5vw,16px);margin:0;z-index:2;
  filter:drop-shadow(0 1px 3px rgba(0,0,0,.45))}
.expect__media .car-nav button{color:#fff;opacity:.75}
.expect__media .car-nav button:hover{color:#fff;opacity:1}
/* Staande foto die niet bijgesneden mag worden (bv. een hoofdstand): zolang
   die in beeld is, krijgt het kader de verhouding van de foto (2:3) en wordt
   het smaller. main.js zet daarvoor .is-staand op het kader. */
.expect__media{--media-h:clamp(420px,50vw,720px);height:var(--media-h);width:100%;
  transition:width .9s var(--ease)}
.expect__media.is-staand{width:calc(var(--media-h) * 2 / 3)}
@media(max-width:860px){
  .expect__media{--media-h:clamp(300px,60vw,460px);justify-self:center}
}
@media(max-width:860px){
  .expect{grid-template-columns:1fr}
  .expect__panel{order:2;justify-content:flex-start;padding:clamp(36px,7vw,56px) var(--gutter)}
  .expect__inner{max-width:none;border-radius:3px}
  .expect__inner::after{display:none}
  .expect__media{order:1;margin:0;height:clamp(300px,60vw,460px)}
}

/* tab bar above a switching first section */
.expect-nav{padding:clamp(44px,5vw,80px) var(--gutter) 0;display:flex;justify-content:center}
.expect-nav .tabs{margin:0;width:100%;max-width:var(--maxw)}

/* trainers & coaches grid (4 per row) */
.container:has(.coaches__grid){max-width:1720px}
.coaches__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:clamp(.6rem,1.1vw,1rem);margin-top:clamp(2rem,4vw,3rem)}
.coach{margin:0}
.coach__photo{position:relative;aspect-ratio:2/3;overflow:hidden;border-radius:var(--radius-media);background:var(--color-gray)}
.coach__photo img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s var(--ease),transform .8s var(--ease)}
.coach:hover .coach__photo img,.coach:focus-within .coach__photo img{filter:grayscale(0);transform:scale(1.08)}
.coach__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,.72),rgba(26,26,26,0) 58%);opacity:0;transition:opacity .5s var(--ease)}
.coach:hover .coach__overlay,.coach:focus-within .coach__overlay{opacity:1}
.coach__role{position:absolute;left:1.2rem;bottom:1.15rem;z-index:2;color:#fff;opacity:0;transform:translateY(12px);transition:opacity .5s var(--ease),transform .5s var(--ease)}
.coach:hover .coach__role,.coach:focus-within .coach__role{opacity:1;transform:none}
.coach__role-title{display:block;font-family:var(--font-title);font-size:1.3rem;line-height:1.1}
.coach__name{margin-top:.9rem;font-family:var(--font-title);font-size:1.2rem;color:var(--color-black);text-align:left}
@media(max-width:900px){.coaches__grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.coaches__grid{grid-template-columns:1fr}}

/* trainers carousel */
.trainers__carousel{margin-top:clamp(2rem,4vw,3rem);margin-inline:0;padding-inline:0;scrollbar-width:none;-ms-overflow-style:none}
.trainers__carousel::-webkit-scrollbar{display:none;height:0;width:0}
.trainer{flex:0 0 calc((100% - 2 * 1.4rem) / 3);scroll-snap-align:start;position:relative;aspect-ratio:3/4;overflow:hidden;background:var(--color-gray)}
@media(max-width:768px){.trainer{flex:0 0 78%}}
/* bare thin arrows (no circle) */
.trainer img{width:100%;height:100%;object-fit:cover;filter:grayscale(1);transition:filter .6s var(--ease),transform .8s var(--ease)}
.trainer:hover img{filter:grayscale(0);transform:scale(1.05)}
.trainer__overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(26,26,26,.72),rgba(26,26,26,0) 55%)}
.trainer__content{position:absolute;left:0;bottom:0;z-index:2;padding:1.5rem 1.6rem;color:#fff}
.trainer__accent{display:block;width:40px;height:3px;background:#AA8453;margin-bottom:.9rem}
.trainer__name{font-family:var(--font-title);font-weight:400;font-size:1.5rem;line-height:1.1}
.trainer__link{display:inline-block;margin-top:.4rem;font-family:var(--font-sans);font-size:.7rem;font-weight:500;letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.82)}

/* ===================== PRICING TABS ===================== */
.tabs{display:flex;justify-content:center;flex-wrap:wrap;gap:clamp(1.2rem,3vw,2.6rem);margin:2.6rem 0 .5rem}
/* underlined text tabs — thin line under the word, drop-wedge thickens left→right on hover/active */
.tabs__btn{position:relative;background:none;border:0;border-radius:0;padding:.5rem .4rem .8rem;font-family:var(--font-title);font-size:clamp(.98rem,1.5vw,1.18rem);font-weight:400;letter-spacing:.08em;text-transform:uppercase;font-synthesis:none;color:var(--color-gray-soft);cursor:pointer;transition:color .3s var(--ease)}
.tabs__btn::after{content:"";position:absolute;left:0;right:0;bottom:0;height:.5px;background:var(--color-line)}
.tabs__btn::before{content:"";position:absolute;left:0;right:0;bottom:0;height:1px;background:#584C45;transform:scaleX(0);transform-origin:left;transition:transform .45s var(--ease)}
.tabs__btn:hover,.tabs__btn.is-active{color:var(--color-black)}
.tabs__btn:hover::before,.tabs__btn.is-active::before{transform:scaleX(1)}
.tabs--titlecase .tabs__btn{text-transform:none}
.tabs--sub{margin:1.4rem 0 .5rem;gap:clamp(1rem,2.4vw,2rem)}
.tabs--sub .tabs__btn{font-family:var(--font-sans);font-size:clamp(.76rem,1vw,.86rem);font-weight:500;letter-spacing:.1em}
/* card buttons match the tab buttons (hover + colours) */
.tabs__panel .btn-hero{border:2px solid var(--color-line);color:var(--color-gray)}
.tabs__panel .btn-hero::after{inset:-2px;border:2px solid #584C45;color:#584C45}
.tabs__panel{display:none}
.tabs__panel.is-active{display:block;animation:tabFade .4s var(--ease)}
@keyframes tabFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* grid variants */
.price-grid.price-grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:1024px){
  .price-grid.price-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:768px){
  .price-grid.price-grid--4{grid-template-columns:1fr;max-width:420px;margin-inline:auto}
}

/* subscription term + premium add-on box */
.price__term{font-size:.7rem;letter-spacing:.1em;text-transform:uppercase;color:var(--color-gray-soft);margin-bottom:.9rem}
/* checkable Reformer add-on box — scroll-header colour */
.price__addon{display:flex;flex-direction:column;margin:0 0 1rem;background:#584C45;border-radius:var(--radius-media)}
.price__addon-head{display:flex;flex-direction:column;gap:.25rem}
.price__addon-opts{display:flex;flex-direction:column}
.price__opt{display:flex;align-items:center;gap:.75rem;padding:.45rem 0;cursor:pointer}
/* Round the shared checkbox indicator into a radio dot for the frequency options */
.price__opt .price__addon-check{width:20px;height:20px;border-radius:50%}
.price__opt .price__addon-check::after{left:0;top:0;right:0;bottom:0;margin:auto;width:8px;height:8px;border:0;border-radius:50%;background:#584C45;transform:scale(0)}
.price__opt .price__addon-input:checked + .price__addon-check::after{transform:scale(1)}
.price__opt-name{flex:1;font-family:var(--font-sans);font-size:.84rem;color:rgba(255,255,255,.9);white-space:nowrap}
.price__opt-price{font-family:var(--font-serif);font-size:1.02rem;font-weight:600;color:#fff;white-space:nowrap}
.price__addon-input{position:absolute;width:1px;height:1px;opacity:0}
.price__addon-check{flex:none;width:24px;height:24px;border-radius:5px;border:2px solid rgba(255,255,255,.55);background:transparent;position:relative;transition:background .25s var(--ease),border-color .25s var(--ease)}
.price__addon-check::after{content:"";position:absolute;left:7px;top:2px;width:7px;height:13px;border:solid #584C45;border-width:0 2px 2px 0;transform:rotate(45deg) scale(0);transform-origin:center;transition:transform .2s var(--ease)}
.price__addon-input:checked + .price__addon-check{background:#fff;border-color:#fff}
.price__addon-input:checked + .price__addon-check::after{transform:rotate(45deg) scale(1)}
.price__addon-input:focus-visible + .price__addon-check{outline:2px solid #fff;outline-offset:2px}
.price__addon-info{display:flex;flex-direction:column;gap:.2rem;min-width:0;flex:1}
.price__addon-tag{font-size:.62rem;letter-spacing:.16em;text-transform:uppercase;color:#E0CBAD;font-weight:700;white-space:nowrap}
.price__addon-name{font-family:var(--font-serif);font-size:1.15rem;color:#fff;line-height:1.15}
.price__addon-name small{display:block;font-family:var(--font-sans);font-size:.76rem;color:rgba(255,255,255,.65);letter-spacing:.02em}
.price__addon-price{font-family:var(--font-serif);font-weight:600;font-size:1.35rem;color:#fff;white-space:nowrap;text-align:right}
.price__addon-price span{display:block;font-family:var(--font-sans);font-size:.64rem;font-weight:400;color:rgba(255,255,255,.6)}
/* total price under the add-on */
.price__total{display:flex;align-items:baseline;gap:.45rem;margin:0 0 1.6rem;font-family:var(--font-sans);font-size:.9rem;color:var(--color-gray)}
.price__total-amount{font-family:var(--font-serif);font-size:1.6rem;font-weight:600;color:var(--color-black)}
.price__total span{color:var(--color-gray-soft);font-size:.8rem}
.price-note{margin-top:2rem;color:var(--color-gray-soft);font-size:.88rem}
.price__bonus{display:flex;align-items:center;gap:1rem;margin:.8rem 0 0;padding:1.2rem 1.3rem;background:#584C45;border-radius:var(--radius-media)}

/* wider pricing container */
.pricing-container{max-width:1520px}

/* feature rows (plain + expandable) inside subscription cards */
.price__features{margin:1.6rem 0 2rem}
.price__row{padding:.5rem 0;border-bottom:1px solid var(--color-line);font-size:.95rem;color:var(--color-gray)}
.price__incl{margin:0}
.price__incl-toggle{display:flex;align-items:center;justify-content:space-between;gap:.6rem;width:100%;padding:.5rem 0;background:none;border:0;border-bottom:1px solid var(--color-line);cursor:pointer;font-family:var(--font-sans);font-size:.95rem;color:var(--color-gray);text-align:left;transition:color .3s var(--ease)}
.price__incl-toggle:hover{color:var(--color-black)}
.price__incl-head{display:flex;align-items:flex-start;gap:.6rem}
/* plus that animates into a minus when open */
.price__incl-plus{position:relative;width:16px;height:16px;flex:none}
.price__incl-plus::before,.price__incl-plus::after{content:"";position:absolute;left:50%;top:50%;width:14px;height:2px;background:var(--color-black);border-radius:2px;transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.price__incl-plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.price__incl.is-open .price__incl-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
.price__incl-panel{display:grid;grid-template-rows:0fr;overflow:hidden;transition:grid-template-rows .35s var(--ease)}
.price__incl.is-open .price__incl-panel{grid-template-rows:1fr}
.price__incl-panel > .price__list{min-height:0;margin:0;flex:none}
.price__incl-panel .price__list li{padding-left:1.7rem;font-size:.9rem;color:var(--color-gray-soft)}

/* ===================== WORD-LID conversion elements ===================== */
.page-hero__inner .btn-hero{margin-top:1.8rem}
.wl-stars{display:inline-flex;gap:.15rem}
.wl-stars svg{width:16px;height:16px;fill:#AA8453}
.wl-reviews{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1.2rem,2.4vw,1.8rem);margin-top:clamp(2.4rem,4vw,3.2rem)}
.wl-review{background:#fff;border:1px solid var(--color-line);border-radius:6px;padding:1.8rem;display:flex;flex-direction:column}
.wl-review__stars{display:flex;gap:.2rem;margin-bottom:1rem}
.wl-review__stars svg{width:16px;height:16px;fill:#AA8453}
.wl-review__quote{color:var(--color-gray);font-size:.98rem;line-height:1.7;flex:1}
.wl-review__name{margin-top:1.2rem;font-family:var(--font-title);font-size:1.05rem}
.wl-review__meta{font-size:.82rem;color:var(--color-gray-soft)}
.wl-faq{max-width:760px;margin:clamp(2rem,4vw,3rem) auto 0}
.wl-note{margin-top:1.4rem;font-size:.9rem;color:var(--color-gray-soft)}
@media(max-width:860px){.wl-reviews{grid-template-columns:1fr}}

/* ===================== INSCHRIJFFORMULIER (word-lid) ===================== */
.signup-form{max-width:820px;margin:clamp(2rem,4vw,3rem) auto 0}
.signup-form fieldset{border:0;padding:0;margin:0 0 2rem}
.signup-form legend{font-family:var(--font-title);font-size:1.3rem;color:#584C45;margin-bottom:1.1rem}
.signup-form fieldset > div{margin-bottom:1rem}
.signup-form fieldset > .form__row{margin-bottom:0}

/* ===================== JURIDISCHE PAGINA'S (voorwaarden / privacy / huisregels) ===================== */
.legal{display:grid;grid-template-columns:250px 1fr;gap:clamp(2rem,5vw,4.5rem);align-items:start}
.legal__nav{position:sticky;top:130px}
.legal__nav h4{font-family:var(--font-title);font-size:.95rem;letter-spacing:.04em;color:var(--color-secondary);margin-bottom:1rem}
.legal__nav ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--color-line)}
.legal__nav a{display:block;padding:.42rem 0 .42rem 1rem;font-size:.84rem;line-height:1.4;color:var(--color-gray-soft);border-left:2px solid transparent;margin-left:-1px;transition:color .3s var(--ease),border-color .3s var(--ease)}
.legal__nav a:hover,.legal__nav a.is-active{color:var(--color-secondary);border-left-color:#AA8453}
.legal__doc{max-width:820px}
.legal__intro{font-size:1.05rem;line-height:1.75;color:var(--color-gray)}
.legal__meta{margin-top:1.4rem;font-size:.82rem;letter-spacing:.04em;color:var(--color-gray-soft)}
.legal__download{display:inline-flex;align-items:center;gap:.6rem;margin-top:1.6rem;padding:.72rem 1.25rem;border:1px solid var(--color-line);border-radius:3px;background:var(--color-white);font-size:.84rem;letter-spacing:.04em;color:var(--color-secondary);transition:background-color .3s var(--ease),color .3s var(--ease)}
.legal__download svg{width:17px;height:17px;flex:none;stroke:currentColor;fill:none;stroke-width:1.7}
.legal__download:hover{background:var(--btn-hover);color:#fff}
.legal__art{margin-top:2.8rem;scroll-margin-top:150px}
.legal__art > h2{font-family:var(--font-title);font-size:clamp(1.25rem,2.2vw,1.6rem);letter-spacing:.02em;color:var(--color-secondary);padding-bottom:.7rem;border-bottom:1px solid var(--color-line)}
.legal__art h3{font-family:var(--font-title);font-size:1.05rem;letter-spacing:.02em;color:var(--color-secondary);margin:1.9rem 0 .7rem}
.legal__art p{color:var(--color-gray);font-size:.97rem;line-height:1.8;margin-top:1rem}
.legal__art ul,.legal__art ol{margin:1rem 0 0;padding-left:1.3rem;color:var(--color-gray);font-size:.97rem;line-height:1.8}
.legal__art ul{list-style:disc}   /* de globale reset zet ul op list-style:none — hier weer aan */
.legal__art ol:not(.legal__rules){list-style:decimal}
.legal__art li{margin-top:.35rem;padding-left:.25rem}
.legal__rules li{padding-left:3.4rem}
.legal__art li::marker{color:#AA8453}
.legal__art a{color:#AA8453;text-decoration:underline;text-underline-offset:3px}
.legal__clause{display:grid;grid-template-columns:3.1rem 1fr;gap:.5rem;margin-top:1.1rem}
.legal__clause > span{font-size:.9rem;font-weight:600;color:#AA8453;line-height:1.8}
.legal__clause > div > p:first-child{margin-top:0}
.legal__rules{list-style:none;margin:1.6rem 0 0;padding:0;counter-reset:huisregel}
.legal__rules li{counter-increment:huisregel;position:relative;padding:1.1rem 0 1.1rem 3.4rem;border-bottom:1px solid var(--color-line);color:var(--color-gray);font-size:1rem;line-height:1.7;margin:0}
.legal__rules li:first-child{border-top:1px solid var(--color-line)}
.legal__rules li::before{content:counter(huisregel,decimal-leading-zero);position:absolute;left:0;top:1.15rem;font-family:var(--font-title);font-size:.95rem;color:#AA8453}
.legal__callout{margin-top:2.4rem;padding:1.6rem 1.8rem;background:var(--color-tertiary);border-radius:3px}
.legal__callout h3{margin-top:0}
.legal__callout p:first-of-type{margin-top:.4rem}
@media(max-width:980px){
  .legal{grid-template-columns:1fr}
  .legal__nav{position:static;padding-bottom:1.4rem;border-bottom:1px solid var(--color-line)}
  .legal__nav ul{display:flex;flex-wrap:wrap;gap:.4rem .5rem;border-left:0}
  .legal__nav a{padding:.35rem .75rem;border:1px solid var(--color-line);border-radius:100px;font-size:.78rem;margin-left:0}
  .legal__nav a:hover,.legal__nav a.is-active{border-color:#AA8453;border-left-color:#AA8453}
}
@media(max-width:520px){
  .legal__clause{grid-template-columns:1fr;gap:0}
  .legal__clause > span{line-height:1.4;margin-bottom:.15rem}
}

/* ===================== TOESTEMMING & PRIVACY-NOTITIES BIJ FORMULIEREN ===================== */
.form-consent,.form .form-consent{display:flex;align-items:flex-start;gap:.7rem;margin-top:1.8rem;margin-bottom:0;font-size:.92rem;font-weight:400;line-height:1.6;letter-spacing:normal;text-transform:none;color:var(--color-gray);cursor:pointer}
.form-consent input[type=checkbox]{flex:none;width:18px;height:18px;margin-top:.16rem;accent-color:#584C45;cursor:pointer}
.form-consent a{color:#AA8453;text-decoration:underline;text-underline-offset:3px}
.tf-afspraak{margin-top:1rem}
.tf-afspraak[hidden]{display:none}
.tf-afspraak__uitleg{margin:.6rem 0 0;font-size:.85rem;line-height:1.6;color:var(--color-gray)}
.form-privacy{margin-top:.9rem;font-size:.8rem;line-height:1.6;color:var(--color-gray-soft);opacity:.85}
.form-privacy a{color:#AA8453;text-decoration:underline;text-underline-offset:3px}
.footer__news-note{margin-top:.7rem;font-size:.72rem;line-height:1.55;color:rgba(88,76,69,.9)}
.footer__news-note a{text-decoration:underline;text-underline-offset:2px}
.footer__news-note a:hover{color:#AA8453}

/* ===================== WORD LID — inschrijfpagina =====================
   Opbouw: beeldband → intro → keuze (alle vormen) → gegevens in een accordeon
   met digitale handtekening → resultaten. Alles in het bestaande palet:
   #584C45 (bruin), #AA8453 (goud), #E6E4DC (zand), var(--color-primary). */

/* --- beeldband zonder tekst --- */
.page-hero--plain{min-height:clamp(300px,42vh,460px)}

/* --- het formulier omvat twee secties, dus geen eigen breedte of raster --- */
.wl-form{display:block;max-width:none;margin:0}

/* --- digitale handtekening --- */
.wl-sign{position:relative;background:#fff;border:1px solid var(--color-line);
  border-radius:var(--radius-media);overflow:hidden}
.wl-sign__pad{display:block;width:100%;height:clamp(150px,22vw,200px);
  touch-action:none;cursor:crosshair}
.wl-sign__line{position:absolute;left:1.4rem;right:1.4rem;bottom:1.1rem;margin:0;
  border-top:1px solid rgba(88,76,69,.3);padding-top:.4rem;
  font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;
  color:var(--color-gray-soft);opacity:.55;pointer-events:none}
.wl-sign__bar{display:flex;align-items:center;justify-content:space-between;
  gap:1rem;margin-top:.7rem;margin-bottom:1.4rem}
.wl-sign__clear{background:none;border:0;padding:0;cursor:pointer;
  font-family:var(--font-sans);font-size:.78rem;letter-spacing:.1em;text-transform:uppercase;
  color:var(--color-gray-soft);border-bottom:1px solid rgba(88,76,69,.35);
  transition:color .3s var(--ease),border-color .3s var(--ease)}
.wl-sign__clear:hover{color:#AA8453;border-bottom-color:#AA8453}
.wl-sign__state{font-size:.82rem;color:var(--color-gray-soft)}
.wl-sign__state.is-signed{color:#AA8453}

/* --- resultaten + Google-beoordeling --- */
.wl-results__grid{display:grid;grid-template-columns:repeat(4,1fr);
  gap:clamp(1.2rem,2.4vw,2rem);margin-top:clamp(2.4rem,4vw,3.2rem)}
.wl-result{background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-media);
  padding:2rem 1.4rem;text-align:center;display:flex;flex-direction:column;
  align-items:center;justify-content:center;gap:.35rem}
.wl-result__num{font-family:var(--font-title);font-size:clamp(2.2rem,4vw,3rem);
  line-height:1;color:#584C45}
.wl-result__label{font-size:.88rem;color:var(--color-gray);line-height:1.5}
.wl-result__label a{color:#AA8453;text-decoration:underline;text-underline-offset:3px}
.wl-result__stars{margin-top:.1rem}
.wl-result--google{background:#584C45;border-color:#584C45}
.wl-result--google .wl-result__num{color:#E6E4DC}
.wl-result--google .wl-result__label{color:rgba(230,228,220,.85)}
.wl-result--google .wl-result__label a{color:#fff}
.wl-results .wl-reviews{margin-top:clamp(2.4rem,4vw,3.2rem)}

/* --- zwevende inschrijfbalk --- */
.wl-sticky{position:fixed;left:0;right:0;bottom:0;z-index:120;
  background:rgba(88,76,69,.96);color:#E6E4DC;
  -webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);
  box-shadow:0 -6px 24px rgba(0,0,0,.16);
  transform:translateY(110%);transition:transform .45s var(--ease);
  padding:.85rem var(--gutter)}
.wl-sticky.is-visible{transform:none}
.wl-sticky__inner{max-width:var(--maxw);margin:0 auto;display:flex;align-items:center;
  justify-content:space-between;gap:1.2rem;flex-wrap:wrap}
.wl-sticky__text{display:flex;flex-direction:column;gap:.15rem;margin:0}
.wl-sticky__text strong{font-family:var(--font-title);font-weight:400;font-size:1.1rem;letter-spacing:.02em}
.wl-sticky__text span{font-size:.82rem;color:rgba(230,228,220,.78)}
.wl-sticky__cta{--btn-edge:#584C45;background:#AA8453;flex:none}
/* De zwevende balk zou de WhatsApp-knop afdekken; die schuift mee omhoog. */
body:has(.wl-sticky.is-visible) .wa-float{bottom:calc(24px + 80px)}

@media(max-width:980px){
  .wl-results__grid{grid-template-columns:repeat(2,1fr)}
}
@media(max-width:620px){
  .wl-results__grid{grid-template-columns:1fr}
  .wl-submit .btn{width:100%;min-width:0}
  .wl-sticky__text span{display:none}
  .wl-sticky__cta{flex:1 1 auto}
}

/* Nog in te vullen cijfers vallen op, zodat ze niet per ongeluk live gaan.
   Verwijder de klasse --todo zodra het echte getal erin staat. */
.wl-result__num--todo{color:#AA8453;opacity:.65;font-style:italic}

/* --- het gegevensblok verschijnt pas na een keuze --- */
/* Verborgen tot er gekozen is; de animatie start pas op het moment dat het
   attribuut eraf gaat, niet al bij het laden van de pagina. */
.wl-details[hidden]{display:none}
.wl-details:not([hidden]){animation:fadeUp .6s var(--ease) both}
.wl-details__chosen{margin-top:1rem;font-size:.95rem;color:var(--color-gray)}
.wl-details__chosen strong{font-family:var(--font-title);font-size:1.15rem;font-weight:400;
  color:var(--color-secondary)}
.wl-details__change{background:none;border:0;padding:0;margin-left:.5rem;cursor:pointer;
  font-family:var(--font-sans);font-size:.78rem;letter-spacing:.08em;color:var(--color-gray-soft);
  border-bottom:1px solid rgba(88,76,69,.35);transition:color .3s var(--ease),border-color .3s var(--ease)}
.wl-details__change:hover{color:#AA8453;border-bottom-color:#AA8453}
.wl-sign__hint{font-size:.92rem;color:var(--color-gray);line-height:1.7;margin-bottom:1.1rem}
.wl-details .btn--primary{margin-top:1.8rem;min-width:260px}

@media(max-width:620px){
  .wl-details .btn--primary{width:100%;min-width:0}
}

/* ===================== TARIEVEN — omgekeerd kleurenschema =====================
   De abonnements- en strippenkaarten dragen het hoofdbruin in plaats van wit;
   alle tekst erin staat in #E6E4DC, met #fff voor de bedragen en koppen.
   Dezelfde omkering als de sectie Extra services op de homepage, zodat het
   binnen de huisstijl blijft. .price komt alleen op deze pagina voor. */
.price{background:#584C45;border-color:#584C45;color:#E6E4DC}
.price.is-featured{border-color:#AA8453;box-shadow:var(--shadow-md)}
.price__badge{background:#AA8453;color:#fff}
.price__name{color:#fff}
.price__amount{color:#fff}
.price__amount span{color:rgba(230,228,220,.72)}
.price__term{color:rgba(230,228,220,.72)}

/* opsommingen en regels: lichte tekst, scheidingslijnen in dezelfde kleur */
.price__list li{color:rgba(230,228,220,.92);border-bottom-color:rgba(230,228,220,.18)}
.price__list svg{color:#AA8453}
.price__row{color:rgba(230,228,220,.92);border-bottom-color:rgba(230,228,220,.18)}
.price__incl-toggle{color:rgba(230,228,220,.92);border-bottom-color:rgba(230,228,220,.18)}
.price__incl-toggle:hover{color:#fff}
.price__incl-plus::before,.price__incl-plus::after{background:#E6E4DC}
.price__incl-panel .price__list li{color:rgba(230,228,220,.75)}

/* totaalregel onder de kaart */
.price__total{color:rgba(230,228,220,.85)}
.price__total-amount{color:#fff}
.price__total span{color:rgba(230,228,220,.65)}

/* De keuzeblokken binnenin waren bruin op wit; bruin op bruin zou wegvallen,
   dus worden het lichte vlakken met een dunne rand. */
.price__addon,.price__bonus{background:rgba(230,228,220,.1);border:1px solid rgba(230,228,220,.22)}

/* Knoppen omgekeerd: licht vlak met bruine tekst, dat bij hover naar bruin
   met lichte tekst veegt — precies andersom dan hiervoor. */
.price .btn-solid{--btn-edge:#584C45;background:#E6E4DC;color:#584C45;border-color:#E6E4DC}
.price .btn-solid::after{background:#584C45;color:#E6E4DC;border-color:#E6E4DC}

/* --- Reformer add-on als uitklapper -----------------------------------------
   Dichtgeklapt toont de knop welke frequentie gekozen is, zodat inklappen geen
   informatie verbergt. Zelfde plusje en zelfde uitklapbeweging als de
   "inclusief"-lijsten erboven, zodat de kaart één taal spreekt. */
.price__addon-toggle{display:flex;align-items:center;gap:.8rem;width:100%;
  padding:1.1rem 1.3rem;background:none;border:0;cursor:pointer;text-align:left;
  font-family:var(--font-sans);color:inherit}
.price__addon-toggle .price__addon-head{flex:1;min-width:0}
.price__addon-chosen{flex:none;font-family:var(--font-serif);font-size:1.05rem;
  font-weight:600;color:#fff;white-space:nowrap}
.price__addon-toggle .price__incl-plus{flex:none}
.price__addon-toggle .price__incl-plus::before,
.price__addon-toggle .price__incl-plus::after{background:#E6E4DC}
.price__addon.is-open .price__incl-plus::after{transform:translate(-50%,-50%) rotate(0deg)}
/* min-height:0 is hier nodig: .price__addon is een flex-kolom, en een flexitem
   krimpt standaard niet onder zijn inhoud. Zonder dit bleef er een randje van
   het eerste bolletje zichtbaar. */
.price__addon-panel{display:grid;grid-template-rows:0fr;overflow:hidden;min-height:0;
  transition:grid-template-rows .35s var(--ease)}
.price__addon.is-open .price__addon-panel{grid-template-rows:1fr}
.price__addon-panel > .price__addon-opts{min-height:0;padding:0 1.3rem 1.1rem;
  /* Dichtgeklapt echt onzichtbaar én niet met tab bereikbaar. De vertraging
     laat de uitklapbeweging eerst aflopen voordat het verdwijnt. */
  visibility:hidden;transition:visibility 0s linear .35s}
.price__addon.is-open .price__addon-panel > .price__addon-opts{
  visibility:visible;transition-delay:0s}
/* De gekozen frequentie staat al in de knop; in het paneel hoeft hij niet nog
   eens vet te staan. */
.price__addon.is-open .price__addon-chosen{opacity:.55}

/* Knopje om de gekozen add-on weer los te laten; staat er alleen als er
   daadwerkelijk iets gekozen is. */
.price__addon-remove{display:block;margin-top:.4rem;background:none;border:0;padding:0;
  cursor:pointer;font-family:var(--font-sans);font-size:.74rem;letter-spacing:.08em;
  color:rgba(230,228,220,.7);border-bottom:1px solid rgba(230,228,220,.35);
  transition:color .3s var(--ease),border-color .3s var(--ease)}
.price__addon-remove:hover{color:#fff;border-bottom-color:#fff}
.price__addon-remove[hidden]{display:none}

/* --- Word lid, stap 1: het tarievenblok, maar kiesbaar --------------------
   De kaarten komen ongewijzigd van de tarievenpagina; hier komt alleen het
   kiezen erbij. Bewust géén klikvlak over de hele kaart: er zitten uitklappers
   en keuzerondjes in die anders niet meer te bedienen zijn. De knop onderaan
   is het label dat de kaart selecteert. */
.price--pick{transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.price__input{position:absolute;opacity:0;width:1px;height:1px}
.price__pick-btn{cursor:pointer;margin-top:auto}
.price--pick:has(.price__input:checked){border-color:#AA8453;box-shadow:0 0 0 2px rgba(170,132,83,.35)}
.price--pick:has(.price__input:focus-visible){outline:2px solid #AA8453;outline-offset:3px}
/* gekozen: de knop blijft in de hover-kleur staan, met een vinkje ervoor */
.price__input:checked ~ .price__pick-btn{background:#AA8453;border-color:#AA8453;color:#fff}
.price__input:checked ~ .price__pick-btn::after{clip-path:inset(0 100% 0 0)}
.price__input:checked ~ .price__pick-btn::before{content:"\2713\00a0\00a0"}

/* --- Word lid, stap 1: dezelfde kaarten als op de tarievenpagina ------------
   .price levert de vorm; hier komt alleen het kiesbare gedrag bij. De radio
   blijft bedienbaar met het toetsenbord, en het label eroverheen maakt de hele
   kaart aanklikbaar. */
.price--pick{cursor:pointer;transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.price__input{position:absolute;opacity:0;width:1px;height:1px}
.price__pick{position:static;margin-top:auto;padding-top:1.6rem;cursor:pointer}
/* het onzichtbare vlak dat de hele kaart aanklikbaar maakt */
.price__pick::before{content:"";position:absolute;inset:0;border-radius:var(--radius-media)}

/* gekozen kaart: gouden rand en een vinkje op de knop */
.price--pick:has(.price__input:checked){border-color:#AA8453;box-shadow:0 0 0 2px rgba(170,132,83,.35)}
.price--pick:has(.price__input:focus-visible){outline:2px solid #AA8453;outline-offset:3px}

/* ===================== GRATIS PROBEREN — proefweek of proefles =====================
   Zelfde stappen-opbouw als Word lid, maar zonder betaalgegevens. De keuze in
   stap 1 bepaalt welke stap 2 verschijnt; stap 3 komt daarna. */
.trial-choice{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(1rem,2vw,1.6rem);
  max-width:1180px;margin:clamp(2.4rem,4vw,3.2rem) auto 0}
.trial-option{position:relative;display:block;margin:0;cursor:pointer}
.trial-option__input{position:absolute;opacity:0;width:1px;height:1px}
.trial-option__box{position:relative;display:flex;flex-direction:column;height:100%;
  background:#584C45;color:#E6E4DC;border:1px solid #584C45;border-radius:var(--radius-media);
  padding:2.2rem 1.8rem 1.6rem;
  transition:border-color .3s var(--ease),box-shadow .3s var(--ease)}
.trial-option:hover .trial-option__box{border-color:#AA8453}
.trial-option__input:checked + .trial-option__box{border-color:#AA8453;box-shadow:0 0 0 2px rgba(170,132,83,.35)}
.trial-option__input:focus-visible + .trial-option__box{outline:2px solid #AA8453;outline-offset:3px}
.trial-option__badge{position:absolute;top:-11px;left:50%;transform:translateX(-50%);
  background:#AA8453;color:#fff;font-family:var(--font-sans);font-size:.6rem;font-weight:600;
  letter-spacing:.16em;text-transform:uppercase;padding:.32rem .8rem;border-radius:100px;white-space:nowrap}
.trial-option__name{font-family:var(--font-title);font-weight:400;font-size:1.8rem;color:#fff}
.trial-option__lead{font-size:.92rem;color:rgba(230,228,220,.78);margin-top:.3rem}
.trial-option__list{list-style:none;margin:1.4rem 0 1.8rem;padding:1.3rem 0 0;flex:1;
  border-top:1px solid rgba(230,228,220,.2)}
.trial-option__list li{position:relative;padding-left:1.5rem;font-size:.93rem;line-height:1.55;
  color:rgba(230,228,220,.92);margin-bottom:.55rem}
.trial-option__list li::before{content:"";position:absolute;left:0;top:.45em;width:8px;height:8px;
  border-radius:50%;background:#AA8453}

/* --- het rooster als keuzeraster --- */
.slot-filter{justify-content:center;margin-top:clamp(2rem,3vw,2.6rem)}
.slot-week{display:grid;grid-template-columns:repeat(7,minmax(160px,1fr));
  margin-top:2rem;background:#fff;border:1px solid var(--color-line);
  border-radius:var(--radius-media);overflow:hidden}
.slot-day{display:flex;flex-direction:column;border-right:1px solid var(--color-line);padding-bottom:.6rem}
.slot-day:last-child{border-right:0}
.slot-day__name{background:#584C45;color:#fff;font-family:var(--font-sans);font-weight:500;
  font-size:.72rem;letter-spacing:.09em;text-transform:uppercase;padding:.85rem .6rem;
  text-align:center;margin:0}
.slot{display:block;margin:.55rem .6rem 0;cursor:pointer}
.slot__input{position:absolute;opacity:0;width:1px;height:1px}
.slot__box{display:block;background:var(--color-tertiary);border:1px solid transparent;
  border-radius:6px;padding:.62rem .7rem;
  transition:background .25s var(--ease),border-color .25s var(--ease),transform .25s var(--ease)}
.slot:hover .slot__box{transform:translateY(-2px);border-color:#AA8453}
.slot__name{display:block;font-family:var(--font-sans);font-weight:600;font-size:.82rem;
  color:#584C45;line-height:1.2}
.slot__time{display:block;font-size:.74rem;color:var(--color-gray);margin-top:.22rem}
.slot__input:checked + .slot__box{background:#584C45;border-color:#AA8453}
.slot__input:checked + .slot__box .slot__name{color:#fff}
.slot__input:checked + .slot__box .slot__time{color:rgba(230,228,220,.8)}
.slot__input:focus-visible + .slot__box{outline:2px solid #AA8453;outline-offset:2px}
/* filter op lessoort */
.slot-week[data-filter="hiit"] .slot:not([data-type="hiit"]),
.slot-week[data-filter="yoga"] .slot:not([data-type="yoga"]),
.slot-week[data-filter="pilates"] .slot:not([data-type="pilates"]){display:none}

/* --- de gekozen les, groot en ondubbelzinnig --- */
.slot-chosen{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:center;
  gap:.4rem .9rem;max-width:820px;margin:clamp(1.6rem,2.6vw,2.2rem) auto 0;
  padding:1.2rem 1.6rem;background:#584C45;color:#E6E4DC;border-radius:var(--radius-media);
  text-align:center}
.slot-chosen[hidden]{display:none}
.slot-chosen__label{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;
  color:rgba(230,228,220,.7);width:100%}
.slot-chosen__les{font-family:var(--font-title);font-weight:400;font-size:1.5rem;color:#fff}
.slot-chosen__when{font-size:1.02rem;color:#AA8453}

.trial-start{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem;
  max-width:660px;margin:clamp(2rem,3vw,2.6rem) auto 0}

@media(max-width:1000px){
  .trial-choice{grid-template-columns:1fr;max-width:460px}
  .trial-start{grid-template-columns:1fr}
}
.trial-reassure{margin-top:1.2rem;font-size:.86rem;letter-spacing:.04em;color:var(--color-gray-soft)}

/* Knop onderaan het zijmenu. margin-top:auto duwt hem naar beneden; de
   sociale iconen stonden daar eerst zelf mee onderaan, dus die krijgen nu een
   vaste afstand tot de knop in plaats van hun eigen auto-marge. */
.mobile-menu__cta{
  /* Uiterlijk komt van .btn-solid; --btn-edge is exact de achtergrondkleur
     van het zijmenu, zodat de rand wegvalt en de hover-vulling klopt. */
  --btn-edge:#F6F1EB;
  margin-top:auto;width:100%;
  padding:1rem 1.6rem;font-size:.76rem;
}
.mobile-menu__cta + .mobile-menu__socials{margin-top:0;padding-top:1.6rem}

/* ===================== EXTRA SERVICES — foto + uitklappende tekst ============
   Compacter dan de vier volle rijen van hiervoor: één foto naast een lijst met
   alle titels. De open dienst toont zijn tekst; de rest blijft als titel staan.
   Springt de carrousel door, dan klapt de vorige terug naar zijn titel en rolt
   de volgende open. Kleuren komen uit de sectie zelf (#584C45 met #E6E4DC). */
.svc-block{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:clamp(1.6rem,4vw,3.4rem);align-items:center;
  margin-top:clamp(2.4rem,4vw,3.4rem)}

/* de foto's liggen op elkaar en wisselen met een overvloeier */
.svc__media{position:relative;aspect-ratio:4/3;border-radius:var(--radius-media);
  overflow:hidden;background:rgba(230,228,220,.08)}
.svc__img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  opacity:0;transition:opacity .7s var(--ease)}
.svc__img.is-active{opacity:1}

.svc__list{display:flex;flex-direction:column}
.svc{border-bottom:1px solid rgba(230,228,220,.22)}
.svc:first-child{border-top:1px solid rgba(230,228,220,.22)}
.svc__head{margin:0;font-size:inherit;font-weight:inherit}
.svc__toggle{display:flex;align-items:center;justify-content:space-between;gap:1rem;
  width:100%;padding:1.1rem 0;background:none;border:0;cursor:pointer;text-align:left;
  color:#E6E4DC;transition:color .3s var(--ease)}
.svc__toggle:hover{color:#AA8453}
.svc__labels{display:flex;flex-direction:column;gap:.15rem;min-width:0}
.svc__eyebrow{font-family:var(--font-sans);font-size:.64rem;font-weight:500;
  letter-spacing:.24em;text-transform:uppercase;color:rgba(230,228,220,.6);
  transition:color .3s var(--ease)}
.svc__title{font-family:var(--font-serif);font-weight:400;
  font-size:clamp(1.35rem,2.4vw,1.9rem);line-height:1.2}
.svc.is-open .svc__eyebrow{color:#AA8453}

/* plusje dat een minnetje wordt, zoals elders op de site */
.svc__plus{position:relative;width:16px;height:16px;flex:none}
.svc__plus::before,.svc__plus::after{content:"";position:absolute;left:50%;top:50%;
  width:14px;height:2px;background:currentColor;border-radius:2px;
  transform:translate(-50%,-50%);transition:transform .35s var(--ease)}
.svc__plus::after{transform:translate(-50%,-50%) rotate(90deg)}
.svc.is-open .svc__plus::after{transform:translate(-50%,-50%) rotate(0deg)}

/* de uitklappende tekst */
.svc__panel{display:grid;grid-template-rows:0fr;overflow:hidden;
  transition:grid-template-rows .4s var(--ease)}
.svc.is-open .svc__panel{grid-template-rows:1fr}
.svc__panel-inner{min-height:0;overflow:hidden}
.svc__panel-inner p{color:rgba(230,228,220,.9);font-size:1rem;line-height:1.75;
  padding-bottom:1.4rem}

@media(max-width:860px){
  .svc-block{grid-template-columns:1fr;gap:1.6rem}
  .svc__media{aspect-ratio:16/11}
}

/* Foutmelding in de statusregel van een formulier */
.form__status.is-error{color:#A33A2B}

/* Bladerstreepjes van de carrousel in Extra services: op het bruine vlak licht. */
.svc-nav{margin-top:1rem}
.facilities .car-nav button{color:#E6E4DC;opacity:.55}
.facilities .car-nav button:hover{color:#AA8453;opacity:1}
/* Lichte variant (Open Gym, "Inbegrepen"): de kleuren van de footer —
   achtergrond #E6E4DC, tekst #584C45. Alles hierboven omgedraaid. */
.facilities--licht{background:var(--color-primary);color:#584C45}
.facilities--licht .facilities__head .eyebrow{color:#584C45}
.facilities--licht .section-intro{color:rgba(88,76,69,.8)}
.facilities--licht .star{background-color:#584C45;opacity:.06}
.facilities--licht .svc__media{background:rgba(88,76,69,.08)}
.facilities--licht .svc{border-bottom-color:rgba(88,76,69,.22)}
.facilities--licht .svc:first-child{border-top-color:rgba(88,76,69,.22)}
.facilities--licht .svc__toggle{color:#584C45}
.facilities--licht .svc__toggle:hover{color:#AA8453}
.facilities--licht .svc__eyebrow{color:rgba(88,76,69,.6)}
.facilities--licht .svc.is-open .svc__eyebrow{color:#AA8453}
.facilities--licht .svc__panel-inner p{color:rgba(88,76,69,.9)}
.facilities--licht .car-nav button{color:#584C45}

/* Ervaringen: streepjes in de tekstkleur van de sectie, goud bij hover en als
   die ervaring in beeld staat. Ruim onder de quote. */
.testimonials .xs-dots{margin-top:2.4rem}
.testimonials .xs-dot{background-color:rgba(255,255,255,.86)}
.testimonials .xs-dot:hover{background-color:#AA8453}
.testimonials .xs-dot.is-active{background-color:#AA8453}

/* Verplichte velden en optionele velden in de formulieren. */
.req{color:#AA8453;font-weight:600}
.form-required-note{max-width:820px;margin:0 auto 1.4rem;text-align:center;
  font-size:.85rem;color:var(--color-gray-soft)}
.opt{display:none;font-size:.78rem;font-weight:400;letter-spacing:.02em;
  text-transform:none;color:var(--color-gray-soft)}
.is-optional .req{display:none}
.is-optional .opt{display:inline}
.opt-always{font-size:.78rem;font-weight:400;letter-spacing:.02em;
  text-transform:none;color:var(--color-gray-soft)}
.form-optional-note{margin:0 0 1rem;font-size:.86rem;line-height:1.6;color:var(--color-gray)}
.form-optional-note[hidden]{display:none}
.form-consent[hidden]{display:none}

/* Twee knoppen naast elkaar onder een conceptblok. */
.expect__actions{display:flex;flex-wrap:wrap;gap:1rem;margin-top:1.8rem}
.expect__actions .btn-solid{margin-top:0}

/* De kiesknop in stap 1 van Word lid is een <label>, en .form label{display:block}
   won het van .btn-solid — daardoor stond de tekst links in plaats van
   gecentreerd. Deze regel is specifieker en zet het knopgedrag terug. */
/* Word lid: na een keuze klappen de kaarten in tot één balk (main.js) */
.wl-kaarten{transition:opacity .22s var(--ease),transform .22s var(--ease)}
.wl-kaarten.is-weg{opacity:0;transform:translateY(-8px)}
.wl-keuze{display:flex;align-items:center;gap:1.1rem;max-width:56rem;margin:2.2rem auto 0;padding:1.15rem 1.4rem;background:#fff;border:1px solid #AA8453;border-radius:var(--radius-media);box-shadow:0 0 0 2px rgba(170,132,83,.18);animation:tabFade .4s var(--ease)}
.wl-keuze[hidden]{display:none}
.wl-keuze__vink{flex:none;width:2.1rem;height:2.1rem;border-radius:50%;background:#AA8453;position:relative}
.wl-keuze__vink::after{content:"";position:absolute;left:.72rem;top:.45rem;width:.5rem;height:.95rem;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.wl-keuze__tekst{flex:1;min-width:0;margin:0;display:flex;flex-direction:column;gap:.2rem}
.wl-keuze__label{font-size:.68rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#AA8453}
.wl-keuze__naam{font-family:var(--font-serif);font-size:clamp(1.1rem,1.8vw,1.3rem);font-weight:600;color:#584C45;line-height:1.3}
.wl-keuze__wijzig{flex:none;background:none;border:1px solid var(--color-line);border-radius:999px;padding:.6rem 1.2rem;font:500 .72rem/1 var(--font-sans);letter-spacing:.14em;text-transform:uppercase;color:#584C45;cursor:pointer;transition:border-color .25s var(--ease),background .25s var(--ease)}
.wl-keuze__wijzig:hover{border-color:#584C45;background:var(--color-primary)}
#lidmaatschap.is-gekozen{padding-bottom:clamp(1.2rem,2.4vw,2rem)}
#lidmaatschap.is-gekozen + .wl-details{padding-top:clamp(1.6rem,3vw,2.6rem)}
.is-gekozen ~ .wl-details .wl-details__chosen{display:none}
@media (max-width:600px){
  .wl-keuze{flex-wrap:wrap;padding:1rem 1.1rem}
  .wl-keuze__wijzig{margin-left:auto}
}
@media (prefers-reduced-motion:reduce){.wl-kaarten{transition:none}.wl-keuze{animation:none}}

/* Word lid: de add-on-opties staan binnen het inschrijfformulier; zonder dit
   krijgen ze de opmaak van formulierlabels en -velden (hoofdletters, volle
   breedte) en verdwijnen de rondjes. */
.wl-form .price__opt{display:flex;align-items:center;gap:.75rem;padding:.45rem 0;margin:0;font-size:inherit;font-weight:400;letter-spacing:normal;text-transform:none;color:inherit}
.wl-form .price__addon-input{position:absolute;width:1px;height:1px;opacity:0;padding:0;border:0}
.wl-form .price__pick-btn{
  display:inline-flex;align-items:center;justify-content:center;
  margin-bottom:0;font-size:.72rem;letter-spacing:.14em;
}

/* Om dezelfde reden: de keuzekaarten en de lesblokjes zijn <label>-elementen,
   en .form label maakte hun tekst hoofdletters, te klein en bruin. */
.wl-form .trial-option,
.wl-form .slot{
  font-size:1rem;letter-spacing:normal;text-transform:none;
  font-weight:400;margin-bottom:0;color:inherit;
}

/* De kiesknop op een proefkaart: hetzelfde ontwerp als op de tarievenpagina. */
.trial-option__pick{
  --btn-edge:#584C45;
  margin-top:auto;width:100%;
  background:#E6E4DC;color:#584C45;border-color:#E6E4DC;
}
.trial-option__pick::after{background:#584C45;color:#E6E4DC;border-color:#E6E4DC}
.trial-option__input:checked + .trial-option__box .trial-option__pick{
  background:#AA8453;border-color:#AA8453;color:#fff}
.trial-option__input:checked + .trial-option__box .trial-option__pick::after{clip-path:inset(0 100% 0 0)}
.trial-option__input:checked + .trial-option__box .trial-option__pick::before{content:"\2713\00a0\00a0"}

/* Turnstile (bescherming tegen bots): onzichtbaar tenzij Cloudflare twijfelt */
.form__turnstile{max-width:100%}
.form__turnstile:has(iframe){margin:.6rem 0}

/* ============================================================
   ROOSTERS OP DE TELEFOON (dagkiezer)
   Laptop: ongewijzigd (7 kolommen). Onder 900px een rij MA t/m ZO
   (.week-dagen, gemaakt in main.js) en één dag tegelijk als lijst.
   Geldt voor rooster.html (.week) en gratis-proberen.html (.slot-week),
   alleen als main.js .heeft-dagkiezer heeft gezet.
   ============================================================ */
.week-dagen,.week__geen{display:none}

@media (max-width:900px){
  .table-wrap{overflow:visible}

  .week-dagen{display:grid;grid-template-columns:repeat(7,1fr);gap:.3rem;margin-top:1.8rem}
  .week-dagen__btn{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:0;background:#fff;border:1px solid var(--color-line);border-radius:6px;padding:.6rem 0 .5rem;font:600 .78rem/1 var(--font-sans);letter-spacing:.06em;text-transform:uppercase;color:#584C45;cursor:pointer;transition:background .25s var(--ease),color .25s var(--ease)}
  .week-dagen__telling{font-weight:400;font-size:.66rem;letter-spacing:0;color:rgba(88,76,69,.6)}
  .week-dagen__btn.is-active{background:#584C45;border-color:#584C45;color:#fff}
  .week-dagen__btn.is-active .week-dagen__telling{color:rgba(255,255,255,.75)}

  .heeft-dagkiezer .week__geen{display:block;margin:0;padding:1.2rem 1.1rem;color:rgba(88,76,69,.6);font-size:.86rem;font-style:italic}
  .heeft-dagkiezer .week__geen[hidden]{display:none}

  /* rooster.html */
  .week.heeft-dagkiezer{display:block;margin-top:1.2rem;background:none;border:0;border-radius:0;overflow:visible}
  .week.heeft-dagkiezer .week__day{display:none;border:0}
  .week.heeft-dagkiezer .week__day.is-gekozen{display:block}
  .week.heeft-dagkiezer .week__dayname{background:none;color:#AA8453;text-align:left;padding:0 0 .7rem;font-size:.7rem;letter-spacing:.14em}
  .week.heeft-dagkiezer .week__list{gap:0;padding:0;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-media)}
  .week.heeft-dagkiezer .lesson{display:grid;grid-template-columns:6.4rem 1fr;align-items:baseline;column-gap:.8rem;background:none;border-radius:0;padding:.95rem 1.1rem;border-bottom:1px solid var(--color-line)}
  .week.heeft-dagkiezer .lesson:last-of-type{border-bottom:0}
  .week.heeft-dagkiezer .lesson:hover{transform:none}
  .week.heeft-dagkiezer .lesson__time{order:-1;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.82rem}
  .week.heeft-dagkiezer .lesson__name{font-size:.92rem;line-height:1.3}

  /* gratis-proberen.html: dezelfde lijst, maar elke regel is een keuze */
  .slot-week.heeft-dagkiezer{display:block;margin-top:1.2rem;background:none;border:0;border-radius:0;overflow:visible}
  .slot-week.heeft-dagkiezer .slot-day{display:none;border:0;padding:0;background:#fff;border:1px solid var(--color-line);border-radius:var(--radius-media);overflow:hidden}
  .slot-week.heeft-dagkiezer .slot-day.is-gekozen{display:block}
  .slot-week.heeft-dagkiezer .slot-day__name{background:none;color:#AA8453;text-align:left;padding:.9rem 1.1rem .5rem;font-size:.7rem;letter-spacing:.14em}
  .slot-week.heeft-dagkiezer .slot{margin:0;border-top:1px solid var(--color-line)}
  .slot-week.heeft-dagkiezer .slot__box{display:grid;grid-template-columns:6.4rem 1fr;align-items:baseline;column-gap:.8rem;background:none;border:0;border-radius:0;padding:.95rem 1.1rem}
  .slot-week.heeft-dagkiezer .slot:hover .slot__box{transform:none}
  .slot-week.heeft-dagkiezer .slot__time{order:-1;margin:0;white-space:nowrap;font-variant-numeric:tabular-nums;font-size:.82rem}
  .slot-week.heeft-dagkiezer .slot__name{font-size:.92rem;line-height:1.3}
  .slot-week.heeft-dagkiezer .slot__input:checked + .slot__box{background:#584C45}
  .slot-week.heeft-dagkiezer .slot__input:focus-visible + .slot__box{outline-offset:-3px}
}

/* ============================================================
   ROOSTERSCHUIF (rooster.html) — iOS-schuifje Alles/HIIT/Pilates/Yoga
   Het witte blokje schuift naar de knop die main.js in --schuif-i zet.
   Dezelfde stijl voor tabbladen: .tabs.tabs--schuif (tarieven, word-lid);
   main.js voegt daar het blokje toe en zet --schuif-n (aantal knoppen).
   ============================================================ */
.schuif{position:relative;display:grid;grid-template-columns:repeat(4,1fr);width:min(100%,34rem);margin:2.6rem auto .5rem;padding:4px;border-radius:10px;background:rgba(88,76,69,.08)}
.schuif__duim{position:absolute;top:4px;bottom:4px;left:4px;width:calc((100% - 8px) / var(--schuif-n,4));border-radius:10px;background:var(--color-secondary);box-shadow:0 3px 8px rgba(88,76,69,.24),0 1px 1px rgba(88,76,69,.12);transform:translateX(calc(var(--schuif-i,0) * 100%));transition:transform .4s cubic-bezier(.32,.72,0,1)}
.schuif__btn{position:relative;z-index:1;background:none;border:0;border-radius:10px;padding:.72rem .3rem;font-family:var(--font-title);font-size:clamp(.9rem,1.3vw,1.05rem);font-weight:400;letter-spacing:.08em;text-transform:uppercase;font-synthesis:none;color:rgba(88,76,69,.62);cursor:pointer;transition:color .3s var(--ease)}
.schuif__btn:hover{color:var(--color-secondary)}
.schuif__btn.is-active,.schuif__btn.is-active:hover{color:#fff}
.schuif__btn:focus-visible{outline:2px solid #AA8453;outline-offset:2px}
@media (max-width:480px){
  .schuif__btn{padding-inline:.15rem;font-size:.84rem;letter-spacing:.04em}
}
@media (prefers-reduced-motion:reduce){ .schuif__duim{transition:none} }

.tabs.tabs--schuif{position:relative;display:grid;grid-template-columns:repeat(var(--schuif-n,3),1fr);gap:0;width:min(100%,calc(var(--schuif-n,3) * 13rem));margin:2.6rem auto .5rem;padding:4px;border-radius:10px;background:rgba(88,76,69,.08)}
.tabs.tabs--schuif .tabs__btn{z-index:1;border-radius:10px;padding:.72rem .3rem;color:rgba(88,76,69,.62)}
.tabs.tabs--schuif .tabs__btn::before,.tabs.tabs--schuif .tabs__btn::after{display:none}
.tabs.tabs--schuif .tabs__btn:hover{color:var(--color-secondary)}
.tabs.tabs--schuif .tabs__btn.is-active,.tabs.tabs--schuif .tabs__btn.is-active:hover{color:#fff}
.tabs.tabs--schuif .tabs__btn:focus-visible{outline:2px solid #AA8453;outline-offset:2px}
.tabs.tabs--sub.tabs--schuif{width:min(100%,calc(var(--schuif-n,2) * 12rem));margin:1.4rem auto .5rem}
.tabs.tabs--sub.tabs--schuif .tabs__btn{padding:.6rem .3rem}
@media (max-width:480px){
  .tabs.tabs--schuif .tabs__btn{padding-inline:.15rem;font-size:.84rem;letter-spacing:.03em}
  .tabs.tabs--sub.tabs--schuif .tabs__btn{font-size:.72rem;letter-spacing:.06em}
  /* 5 of meer knoppen (Yoga): kleiner, en een naam van twee woorden mag op twee regels */
  .tabs.tabs--schuif-veel .tabs__btn{font-size:.68rem;letter-spacing:0;padding:.55rem .1rem;line-height:1.15;white-space:normal;overflow-wrap:normal}
}

/* Live rooster: zolang de lessen uit Virtuagym nog laden, het vaste rooster gedimd */
.week .week__list{transition:opacity .3s var(--ease)}
.week.is-laden .week__list{opacity:.3}
.slot-week .slot{transition:opacity .3s var(--ease)}
.slot-week.is-laden .slot{opacity:.3}

/* Filterknoppen op smalle telefoons op één regel */
@media (max-width:480px){
  .slot-filter{column-gap:.9rem}
  .slot-filter .tabs__btn{padding-inline:.15rem;letter-spacing:.05em;font-size:.92rem}
  .tabs__kort-weg{display:none}
}

/* ===================== 404 — PAGINA NIET GEVONDEN =====================
   Bruin vlak onder de doorzichtige nav, zodat het witte logo leesbaar blijft.
   Het gebarsten logo (assets/logo-gebarsten.webp) is crème met transparantie:
   de randen en barsten zijn halfdoorzichtig, dus het bruin schemert erdoor
   als door glas. Laptop: tekst links, logo rechts. Mobiel: logo boven. */
.niet-gevonden{
  position:relative;overflow:hidden;
  min-height:100vh;min-height:100svh;
  display:flex;align-items:center;
  background:var(--color-secondary);color:#fff;
  padding:calc(var(--nav-h) - 24px) 0 clamp(56px,8vw,96px);
}
.niet-gevonden__inner{
  max-width:var(--maxw);margin:0 auto;width:100%;padding-inline:var(--gutter);
  display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.05fr);
  align-items:center;gap:clamp(2rem,5vw,5rem);
}
.niet-gevonden__beeld{order:2;justify-self:center;width:min(100%,560px)}
.niet-gevonden__beeld img{
  width:100%;height:auto;
  animation:scherven 1.6s var(--ease) .2s both;
}
@keyframes scherven{
  0%{opacity:0;transform:scale(1.06) rotate(-4deg)}
  100%{opacity:1;transform:none}
}
.niet-gevonden__tekst{order:1;animation:fadeUp 1.2s var(--ease) .1s both}
.niet-gevonden .eyebrow{color:rgba(255,255,255,.7)}
.niet-gevonden__titel{font-size:clamp(2.3rem,5.2vw,4.2rem);font-weight:500;line-height:1.06;margin-top:.6rem}
.niet-gevonden__sub{max-width:480px;margin-top:1.3rem;font-size:clamp(1rem,1.5vw,1.12rem);color:rgba(255,255,255,.88)}
.niet-gevonden__knoppen{display:flex;flex-wrap:wrap;gap:1rem;margin-top:2.2rem}
.niet-gevonden .btn-hero::after{border-color:#AA8453;color:#AA8453}
.niet-gevonden__links{display:flex;flex-wrap:wrap;gap:.4rem 1.6rem;margin-top:2.4rem;padding-top:1.4rem;border-top:1px solid rgba(255,255,255,.18);max-width:480px}
.niet-gevonden__links a{font-size:.78rem;letter-spacing:.08em;color:rgba(255,255,255,.75);position:relative;transition:color .3s var(--ease)}
.niet-gevonden__links a::after{content:"";position:absolute;left:0;bottom:-3px;width:0;height:1px;background:currentColor;transition:width .3s var(--ease)}
.niet-gevonden__links a:hover{color:#fff}
.niet-gevonden__links a:hover::after{width:100%}
@media (max-width:900px){
  .niet-gevonden{align-items:flex-start}
  .niet-gevonden__inner{grid-template-columns:1fr;gap:1.6rem;text-align:center}
  .niet-gevonden__beeld{order:1;width:min(72vw,340px)}
  .niet-gevonden__tekst{order:2}
  .niet-gevonden__sub,.niet-gevonden__links{margin-inline:auto}
  .niet-gevonden__knoppen,.niet-gevonden__links{justify-content:center}
}
@media (prefers-reduced-motion:reduce){
  .niet-gevonden__beeld img,.niet-gevonden__tekst{animation:none}
}

/* ============================================================
   DATUMKIEZER (main.js) — vervangt het kleine browserkalendertje.
   Veld zoals de andere velden + kalendericoon; kaart met maand/jaar,
   ruime dagvakken (44px), vandaag omrand, keuze donkerbruin.
   ============================================================ */
.datum{position:relative}
.form .datum__veld{cursor:pointer;padding-right:3rem;caret-color:transparent}
.form .datum__veld::placeholder{color:rgba(88,76,69,.5)}
.datum.is-open .datum__veld{border-color:var(--color-secondary)}
.datum__icoon{position:absolute;right:1rem;top:50%;transform:translateY(-50%);display:flex;color:var(--color-secondary);cursor:pointer}
.datum__kaart{position:absolute;left:0;top:calc(100% + 8px);z-index:60;width:min(22.5rem,calc(100vw - 2rem));background:#fff;border:1px solid var(--color-line);border-radius:10px;box-shadow:0 18px 44px rgba(43,42,42,.18),0 2px 6px rgba(43,42,42,.06);padding:1rem 1rem .85rem;opacity:0;visibility:hidden;transform:translateY(-6px);transition:opacity .18s var(--ease),transform .18s var(--ease),visibility 0s linear .18s}
.datum__kaart.is-open{opacity:1;visibility:visible;transform:none;transition:opacity .18s var(--ease),transform .18s var(--ease),visibility 0s}
.datum__kaart.is-boven{top:auto;bottom:calc(100% + 8px)}
.datum__kop{display:flex;align-items:center;justify-content:space-between;gap:.5rem;margin-bottom:.8rem}
.datum__titel{display:flex;gap:.4rem;flex:1;justify-content:center}
.datum__pijl{flex:none;width:2.5rem;height:2.5rem;display:grid;place-items:center;border:1px solid var(--color-line);border-radius:10px;background:#fff;color:var(--color-secondary);cursor:pointer;transition:background .2s var(--ease),border-color .2s var(--ease)}
.datum__pijl:hover:not(:disabled){background:var(--color-primary);border-color:var(--color-secondary)}
.datum__pijl:disabled{opacity:.3;cursor:default}
.form .datum__keuze,.datum__keuze{width:auto;min-width:0;height:2.5rem;padding:0 2rem 0 .8rem;border:1px solid var(--color-line);border-radius:10px;background-color:#fff;background-position:right .7rem center;font-family:var(--font-sans);font-size:.95rem;font-weight:600;color:var(--color-secondary);text-transform:capitalize;cursor:pointer}
.datum__keuze:focus-visible,.datum__pijl:focus-visible,.datum__dag:focus-visible,.datum__link:focus-visible{outline:2px solid #AA8453;outline-offset:2px}
.datum__weekdagen,.datum__raster{display:grid;grid-template-columns:repeat(7,1fr);gap:.25rem}
.datum__weekdagen{margin-bottom:.35rem}
.datum__weekdagen span{text-align:center;font-family:var(--font-sans);font-size:.74rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:rgba(88,76,69,.6);padding:.3rem 0}
.datum__dag{aspect-ratio:1;min-height:2.75rem;display:grid;place-items:center;border:0;border-radius:10px;background:none;font-family:var(--font-sans);font-size:.98rem;font-weight:500;color:var(--color-secondary);cursor:pointer;font-variant-numeric:tabular-nums;transition:background .15s var(--ease),color .15s var(--ease)}
.datum__dag:hover:not(:disabled){background:var(--color-tertiary)}
.datum__dag.is-vandaag{box-shadow:inset 0 0 0 1px var(--color-secondary)}
.datum__dag.is-gekozen,.datum__dag.is-gekozen:hover{background:var(--color-secondary);color:#fff;box-shadow:none}
.datum__dag:disabled{color:rgba(88,76,69,.25);cursor:default}
.datum__voet{display:flex;justify-content:space-between;margin-top:.7rem;padding-top:.7rem;border-top:1px solid var(--color-line)}
.datum__link{border:0;background:none;padding:.3rem 0;font-family:var(--font-sans);font-size:.82rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--color-secondary);cursor:pointer}
.datum__link:hover{color:#AA8453}
.datum__link[hidden]{display:none}
@media (max-width:480px){
  .datum__kaart{width:100%;padding:.85rem .75rem .75rem}
  .datum__dag{min-height:2.6rem;font-size:.95rem}
}
@media (prefers-reduced-motion:reduce){.datum__kaart{transition:none}}

/* Openingstijden op rooster.html: tekst links, witte kaart rechts (zelfde
   kaart als op de contactpagina). */
.rooster-tijden{padding-top:0}
.rooster-tijden .hours{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
.rooster-tijden .c-card--hours{grid-column:auto}
.rooster-tijden .hours__list{margin-top:0}
@media (max-width:760px){ .rooster-tijden .hours{grid-template-columns:minmax(0,1fr);gap:1.6rem} }

/* Google-reviews op de homepage (gevuld door main.js). Zolang er geen
   reviews zijn staat de sectie op hidden; dan ook de overlap met de
   volgende sectie weg. */
.testimonials[hidden]{display:none}
.testimonials[hidden] + *{margin-top:0}
.testi-google{display:inline-block;margin-top:1.1rem;font-size:.86rem;letter-spacing:.06em;color:rgba(255,255,255,.78);border-bottom:1px solid rgba(255,255,255,.3);padding-bottom:2px;transition:color .3s var(--ease),border-color .3s var(--ease)}
.testi-google:hover{color:#fff;border-color:#fff}
a.testi-item__name{display:inline-block;text-decoration:none}
a.testi-item__name:hover{text-decoration:underline;text-underline-offset:4px}
.testi-item__quote{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:7;overflow:hidden}
.testi-item__avatar--letters{display:inline-grid;place-items:center;background:var(--color-secondary);color:#fff;font-family:var(--font-title);font-size:1.35rem;letter-spacing:.06em}
/* Teller onder de reviews als het er veel zijn: ‹ 3 / 30 › */
.testi-nav{display:flex;align-items:center;justify-content:center;gap:1.4rem;margin-top:2.4rem;position:relative;z-index:1}
.testi-nav__knop{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,.4);background:none;color:#fff;font-size:1.5rem;line-height:1;cursor:pointer;transition:background-color .3s var(--ease),border-color .3s var(--ease)}
.testi-nav__knop:hover{background:#AA8453;border-color:#AA8453}
.testi-nav__teller{min-width:4.5em;text-align:center;font-size:.86rem;letter-spacing:.14em;color:rgba(255,255,255,.8)}
@media (max-width:760px){ .testi-nav{margin-top:2rem} }
.xs-dots[hidden]{display:none}

/* Yoga: korte intro boven het stijlen-schuifje */
.expect-nav--intro{flex-direction:column;align-items:center}
.expect-nav__intro{max-width:680px;margin:0 auto clamp(1.6rem,3vw,2.4rem);text-align:center;color:var(--color-gray);font-size:1.02rem;line-height:1.8}

/* Bladerstreepjes bij een carrousel met één foto: main.js zet hidden, dit wint van display:flex */
.intro-nav[hidden]{display:none}

/* Contact: feestdagen als uitklapper onder de openingstijden */
.c-feestdagen{margin-top:1rem;border-top:1px solid var(--color-line)}
.c-feestdagen .expect__toggle{padding:.9rem 0;font-size:.82rem}
.c-feestdagen .expect__body p.c-feestdagen__intro{padding:0 0 .6rem;font-size:.9rem}
.c-card--hours .c-feestdagen .hours__list{margin-top:0;border-top:0}
.c-card--hours .c-feestdagen .hours__row{padding:.5rem 0;font-size:.92rem}
.c-card--hours .c-feestdagen .hours__row.is-dicht span:last-child{color:#9A3B2E}

/* Links in introteksten (bijv. L'Humain op personal training) herkenbaar maken */
.expect__lead a{text-decoration:underline;text-decoration-color:rgba(88,76,69,.4);text-underline-offset:3px}
.expect__lead a:hover{text-decoration-color:currentColor}
.c-feestdagen .expect__toggle{justify-content:space-between}
.c-feestdagen .expect__plus{order:2}

/* Bevestiging na aanmelden (gratis proberen): popup zonder foto */
.popup__box--tekst{grid-template-columns:1fr;max-width:560px}
.popup__box--tekst .popup__body{padding-right:clamp(3rem,5vw,3.6rem)}
@media (max-width:760px){ .testi-quote-mark{display:none} }
.tf-afspraak__uitleg a{color:#AA8453;text-decoration:underline;text-underline-offset:3px}
