/* Jasons Results: dock (WhatsApp + assistent) en chatvenster
   Zelfde tokens als de site: --blue, --ink, --line, --soft, --ease */
.jr-dock{position:fixed;right:clamp(14px,2.2vw,28px);bottom:max(clamp(14px,2.2vw,28px),env(safe-area-inset-bottom));z-index:80;display:flex;align-items:center;gap:10px;
  transition:transform .6s var(--ease),opacity .4s}
.jr-dock.is-hidden{transform:translateY(140%);opacity:0;pointer-events:none}
.jr-b{position:relative;display:inline-flex;align-items:center;justify-content:center;height:56px;border-radius:980px;overflow:hidden;isolation:isolate;
  transition:transform .5s var(--ease),box-shadow .5s var(--ease)}
.jr-b::after{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .55s var(--ease)}
.jr-b:hover::after,.jr-b:focus-visible::after{transform:none}
.jr-b:hover{transform:translateY(-2px)}
.jr-wa{width:56px;background:#fff;color:var(--ink);border:1px solid var(--line);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.jr-wa::after{background:#25D366}
.jr-wa:hover,.jr-wa:focus-visible{color:#fff;border-color:#25D366}
.jr-wa svg{transition:transform .5s var(--ease)}
.jr-wa:hover svg{transform:scale(1.06)}
.jr-ask{gap:12px;padding:0 22px 0 8px;background:var(--ink);color:#fff;box-shadow:0 14px 34px rgba(0,0,0,.22);font-size:.9375rem;letter-spacing:-.019em}
.jr-ask::after{background:var(--blue)}
.jr-ask__m{width:40px;height:40px;border-radius:50%;background:#fff;display:grid;place-items:center;flex:none;transition:transform .6s var(--ease)}
.jr-ask:hover .jr-ask__m{transform:rotate(-8deg)}
.jr-ask__m{position:relative}
.jr-ask__i{display:block;width:24px;transition:transform .5s var(--ease),opacity .3s}
.jr-ask__i svg{width:24px;height:auto;display:block}
.jr-ask__x{position:absolute;left:50%;top:50%;margin:-7px 0 0 -7px;opacity:0;transform:rotate(-90deg) scale(.6);transition:transform .5s var(--ease),opacity .3s}
.jr-ask[aria-expanded="true"] .jr-ask__i{opacity:0;transform:scale(.6)}
.jr-ask[aria-expanded="true"] .jr-ask__x{opacity:1;transform:none}
.jr-ask[aria-expanded="true"] .jr-ask__dot{display:none}
.jr-ask__dot{width:7px;height:7px;border-radius:50%;background:#3DDC84;flex:none;box-shadow:0 0 0 0 rgba(61,220,132,.5);animation:jrlive 2.6s ease-out infinite}
@keyframes jrlive{0%{box-shadow:0 0 0 0 rgba(61,220,132,.45)}70%{box-shadow:0 0 0 7px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.jr-ask[aria-expanded="true"] .jr-ask__t{display:none}
.jr-ask[aria-expanded="true"]{padding:0 8px}
.jr-tip{position:absolute;bottom:calc(100% + 10px);right:0;white-space:nowrap;background:var(--ink);color:#fff;font-size:.8125rem;padding:7px 12px;border-radius:8px;
  opacity:0;transform:translateY(4px);transition:opacity .35s var(--ease),transform .35s var(--ease);pointer-events:none}
.jr-wa:hover .jr-tip,.jr-wa:focus-visible .jr-tip{opacity:1;transform:none}
.jr-wa .jr-tip{right:auto;left:0}

/* nudge */
.jr-nudge{position:fixed;right:clamp(14px,2.2vw,28px);bottom:calc(max(clamp(14px,2.2vw,28px),env(safe-area-inset-bottom)) + 70px);z-index:79;
  width:min(300px,calc(100vw - 28px));background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px 40px 16px 16px;
  box-shadow:0 24px 60px rgba(0,0,0,.14);opacity:0;transform:translateY(10px);pointer-events:none;transition:opacity .5s var(--ease),transform .6s var(--ease)}
.jr-nudge.on{opacity:1;transform:none;pointer-events:auto}
.jr-nudge p{font-size:.9375rem;line-height:1.4;letter-spacing:-.018em}
.jr-nudge button.jr-nudge__go{margin-top:10px;color:var(--blue);font-size:.9375rem;display:inline-flex;gap:8px;align-items:center}
.jr-nudge button.jr-nudge__go svg{transition:transform .5s var(--ease)}
.jr-nudge button.jr-nudge__go:hover svg{transform:translateX(4px)}
.jr-nudge__x{position:absolute;top:10px;right:10px;width:26px;height:26px;display:grid;place-items:center;color:var(--mute);border-radius:50%}
.jr-nudge__x:hover{color:var(--ink);background:var(--soft)}

/* panel */
.jr-chat{position:fixed;right:clamp(14px,2.2vw,28px);bottom:calc(max(clamp(14px,2.2vw,28px),env(safe-area-inset-bottom)) + 70px);z-index:81;
  width:min(410px,calc(100vw - 28px));height:min(640px,calc(100dvh - 120px));display:flex;flex-direction:column;
  background:#fff;border:1px solid var(--line);border-radius:22px;overflow:hidden;box-shadow:0 40px 90px rgba(0,0,0,.2);
  clip-path:inset(92% 0 0 60% round 22px);opacity:0;pointer-events:none;visibility:hidden;
  transition:clip-path .75s var(--ease),opacity .35s ease,visibility 0s linear .75s}
.jr-chat.on{clip-path:inset(0 0 0 0 round 22px);opacity:1;pointer-events:auto;visibility:visible;transition:clip-path .75s var(--ease),opacity .25s ease,visibility 0s}

.jr-h{position:relative;background:#000;color:#fff;padding:18px 18px 22px;overflow:hidden;isolation:isolate;flex:none;transition:padding .6s var(--ease)}
.jr-h::before{content:"";position:absolute;left:50%;top:-120%;width:560px;aspect-ratio:1;transform:translateX(-30%);z-index:-1;
  background:radial-gradient(circle,rgba(7,91,255,.55),rgba(7,91,255,.1) 45%,transparent 66%)}
.jr-h__top{display:flex;align-items:center;gap:12px}
.jr-h__m{width:40px;height:40px;border-radius:12px;background:#fff;display:grid;place-items:center;flex:none}
.jr-h__m svg{width:25px;height:auto}
.jr-h__n{font-size:.9375rem;font-weight:500;letter-spacing:-.019em;line-height:1.2}
.jr-h__s{font-size:.8125rem;color:#A0A6AF;display:flex;align-items:center;gap:7px}
.jr-h__s .jr-ask__dot{width:6px;height:6px}
.jr-h__act{margin-left:auto;display:flex;gap:4px}
.jr-ib{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;color:#A0A6AF;transition:color .3s,background .3s}
.jr-ib:hover{color:#fff;background:rgba(255,255,255,.1)}
.jr-h__big{margin-top:22px;font-size:clamp(1.55rem,4.4vw,1.85rem);line-height:1.08;letter-spacing:-.022em;font-weight:400;max-width:14ch;transition:opacity .4s,margin .6s var(--ease),font-size .6s var(--ease)}
.jr-h__sub{margin-top:10px;color:#A0A6AF;font-size:.875rem;line-height:1.45;max-width:34ch}
.jr-chat.is-talking .jr-h{padding-bottom:16px}
.jr-chat.is-talking .jr-h__big,.jr-chat.is-talking .jr-h__sub{display:none}

.jr-body{flex:1;overflow:auto;overscroll-behavior:contain;scroll-behavior:smooth;padding:6px 18px 12px}
.jr-sugs{list-style:none;border-top:0;margin:0 0 6px}
.jr-sugs li{border-bottom:1px solid var(--line);position:relative}
.jr-sugs li::after{content:"";position:absolute;left:0;bottom:-1px;height:1px;width:100%;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:transform .6s var(--ease)}
.jr-sugs li:hover::after{transform:scaleX(1)}
.jr-sugs button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:14px;padding:15px 0;text-align:left;font-size:1rem;letter-spacing:-.018em;transition:color .3s}
.jr-sugs button:hover{color:var(--blue)}
.jr-sugs button svg{color:var(--mute);flex:none;transition:transform .5s var(--ease),color .3s}
.jr-sugs button:hover svg{transform:translateX(5px);color:var(--blue)}
.jr-sugs__k{font-size:.8125rem;color:var(--mute);padding:14px 0 2px}

.jr-log{display:grid;gap:16px;padding-top:12px}
.jr-m{animation:jrin .5s var(--ease) both}
@keyframes jrin{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.jr-m--u{justify-self:end;max-width:86%;background:var(--blue);color:#fff;padding:10px 15px;border-radius:20px 20px 6px 20px;font-size:.9375rem;line-height:1.42;overflow-wrap:anywhere}
.jr-m--b{display:grid;grid-template-columns:26px minmax(0,1fr);gap:10px;align-items:start}
.jr-m__av{width:26px;height:26px;border-radius:8px;background:var(--soft);display:grid;place-items:center;margin-top:1px}
.jr-m__av svg{width:16px;height:auto}
.jr-m__tx{font-size:.9375rem;line-height:1.5;color:var(--ink);overflow-wrap:anywhere}
.jr-m__tx p+p,.jr-m__tx p+ul,.jr-m__tx ul+p{margin-top:8px}
.jr-m__tx ul{list-style:none;margin-top:6px}
.jr-m__tx li{position:relative;padding:5px 0 5px 20px;color:var(--gray)}
.jr-m__tx li::before{content:"";position:absolute;left:0;top:15px;width:10px;height:1px;background:var(--blue)}
.jr-m__tx strong{font-weight:500}
.jr-caret{display:inline-block;width:7px;height:1.05em;background:var(--blue);vertical-align:-2px;margin-left:2px;animation:jrcaret 1s steps(2) infinite}
@keyframes jrcaret{50%{opacity:0}}
.jr-typing{display:inline-flex;gap:5px;padding:9px 0}
.jr-typing i{width:6px;height:6px;border-radius:50%;background:var(--mute);animation:jrblink 1.2s infinite}
.jr-typing i:nth-child(2){animation-delay:.18s}.jr-typing i:nth-child(3){animation-delay:.36s}
@keyframes jrblink{0%,60%,100%{opacity:.25}30%{opacity:1}}
.jr-acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.jr-pill{position:relative;display:inline-flex;align-items:center;gap:8px;height:38px;padding:0 16px;border-radius:980px;font-size:.875rem;letter-spacing:-.016em;overflow:hidden;isolation:isolate;transition:color .35s,border-color .35s}
.jr-pill::after{content:"";position:absolute;inset:0;z-index:-1;transform:translateY(101%);transition:transform .5s var(--ease)}
.jr-pill:hover::after{transform:none}
.jr-pill--blue{background:var(--blue);color:#fff}.jr-pill--blue::after{background:var(--blue-deep)}
.jr-pill--line{border:1px solid var(--line);color:var(--ink)}.jr-pill--line::after{background:var(--ink)}.jr-pill--line:hover{color:#fff;border-color:var(--ink)}
.jr-pill--wa{border:1px solid var(--line);color:var(--ink)}.jr-pill--wa::after{background:#25D366}.jr-pill--wa:hover{color:#fff;border-color:#25D366}
.jr-pill svg{flex:none}

/* lead form in chat */
.jr-lead{margin-top:12px;border:1px solid var(--line);border-radius:16px;padding:14px;display:grid;gap:10px}
.jr-lead label{display:grid;gap:5px;font-size:.8125rem;color:var(--gray)}
.jr-lead input{height:42px;border:1px solid var(--line);border-radius:10px;padding:0 12px;font-size:.9375rem;background:#fff;transition:border-color .3s}
.jr-lead input:focus{outline:none;border-color:var(--blue)}
.jr-lead input[aria-invalid="true"]{border-color:#D2312B}
.jr-lead__n{font-size:.75rem;color:var(--mute);line-height:1.4}
.jr-lead__n a{color:var(--gray);text-decoration:underline;text-underline-offset:2px}
.jr-lead .jr-pill{justify-self:start}

.jr-f{flex:none;padding:10px 14px 12px;border-top:1px solid var(--line);background:#fff}
.jr-f__in{display:flex;align-items:flex-end;gap:8px;border:1px solid var(--line);border-radius:24px;padding:5px 5px 5px 16px;transition:border-color .3s,box-shadow .3s}
.jr-f__in:focus-within{border-color:var(--ink)}
.jr-f textarea{flex:1;border:0;resize:none;background:transparent;font-size:1rem;line-height:1.4;padding:8px 0;max-height:120px;min-height:22px}
.jr-f textarea:focus{outline:none}
.jr-send{width:38px;height:38px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center;flex:none;transition:transform .4s var(--ease),background .3s,opacity .3s}
.jr-send:hover{transform:scale(1.06);background:var(--blue-deep)}
.jr-send:disabled{opacity:.35;transform:none;cursor:default}
.jr-f__note{margin-top:8px;font-size:.75rem;color:var(--mute);text-align:center;line-height:1.4}
.jr-f__note a{color:var(--gray);text-decoration:underline;text-underline-offset:2px}
.jr-f__note a:hover{color:var(--ink)}

@media (max-width:560px){
  .jr-ask__t{font-size:.875rem}
  .jr-chat{right:0;left:0;bottom:0;width:100%;height:calc(100dvh - 48px);max-height:none;border-radius:22px 22px 0 0;border-bottom:0;
    clip-path:inset(100% 0 0 0 round 22px 22px 0 0)}
  .jr-chat.on{clip-path:inset(0 0 0 0 round 22px 22px 0 0)}
  .jr-dock.chat-open{opacity:0;pointer-events:none}
  .jr-f{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .jr-f textarea{font-size:16px}
  .jr-lead input{font-size:16px}
}
@media (prefers-reduced-motion:reduce){
  .jr-ask__dot{animation:none}.jr-m{animation:none}.jr-caret{animation:none}
  .jr-chat,.jr-chat.on{transition:opacity .15s,visibility 0s}
  .jr-chat{clip-path:none}
}
/* ---- logo ---- */
.logo{display:inline-flex;align-items:center;gap:10px}
.logo__m{display:block;width:30px;flex:none;transition:transform .6s var(--ease)}
.logo__m svg{display:block;width:100%;height:auto}
a.logo:hover .logo__m{transform:translateY(-1px) rotate(-6deg)}
.foot .logo__m{width:38px}

/* ---- vakgrid ---- */
.vakgrid{margin-top:clamp(56px,7vw,110px)}
.vakgrid__h{display:flex;justify-content:space-between;align-items:baseline;gap:20px;flex-wrap:wrap;margin-bottom:22px}
.vakgrid__h h3{font-size:clamp(1.3rem,2vw,1.7rem)}
.vakgrid__l{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;background:var(--line);border:1px solid var(--line)}
.vakgrid__l a{background:var(--bg);padding:clamp(22px,2.4vw,34px);display:flex;flex-direction:column;gap:10px;min-height:210px;transition:background .5s}
.sec--soft .vakgrid__l a{background:var(--soft)}
.vakgrid__l a:hover{background:var(--blue-soft)}
.vakgrid__t{font-size:clamp(1.25rem,1.8vw,1.6rem);letter-spacing:-.017em;line-height:1.1}
.vakgrid__b{color:var(--gray);font-size:.9375rem;flex:1}
.vakgrid__go{color:var(--blue);font-size:.9375rem;display:inline-flex;gap:8px;align-items:center}
.vakgrid__go svg{transition:transform .5s var(--ease)}
.vakgrid__l a:hover .vakgrid__go svg{transform:translateX(4px)}
@media (max-width:1080px){.vakgrid__l{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.vakgrid__l{grid-template-columns:1fr}.vakgrid__l a{min-height:0}}

/* ---- zoekscherm (vakpagina's) ---- */
.srch{display:flex;flex-direction:column;gap:14px;justify-content:center;padding:clamp(8px,2vw,24px)}
.srch__box{display:flex;align-items:center;gap:12px;height:58px;border:1px solid var(--line);border-radius:980px;padding:0 22px;background:#fff;box-shadow:0 18px 40px rgba(0,0,0,.06)}
.srch__box svg{flex:none;color:var(--mute)}
.srch__q{font-size:clamp(1rem,1.4vw,1.1875rem);letter-spacing:-.018em;white-space:nowrap;overflow:hidden;text-overflow:clip}
.srch__c{width:2px;height:1.2em;background:var(--blue);animation:jrcaret 1s steps(2) infinite;flex:none;margin-left:-8px}
.srch__map{position:relative;height:clamp(120px,15vw,190px);border-radius:18px;overflow:hidden;background:var(--soft);border:1px solid var(--line)}
.srch__map svg{position:absolute;inset:0;width:100%;height:100%}
.srch__res{list-style:none;border:1px solid var(--line);border-radius:18px;background:#fff;overflow:hidden}
.srch__res li{display:grid;grid-template-columns:22px minmax(0,1fr);gap:12px;align-items:center;padding:14px 18px;border-top:1px solid var(--line)}
.srch__res li:first-child{border-top:0}
.srch__res .n{font-size:.8125rem;color:var(--mute)}
.srch__res i{display:block;height:8px;border-radius:4px;background:#E9ECEF}
.srch__res i+i{margin-top:7px;width:62%;background:#F1F3F5}
.srch__res .you{background:var(--blue-soft)}
.srch__res .you .n{color:var(--blue)}
.srch__you{display:flex;justify-content:space-between;gap:10px;align-items:baseline;flex-wrap:wrap}
.srch__you b{font-weight:500;letter-spacing:-.018em}
.srch__you span{font-size:.8125rem;color:var(--blue)}
.srch__meta{font-size:.8125rem;color:var(--gray);margin-top:3px}
@media (max-width:1080px){.srch{aspect-ratio:auto!important;min-height:0!important}}

/* ---- zoekvraag-lijst ---- */
.zq{border-top:1px solid var(--line)}
.zq__i{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.9fr) minmax(0,1fr);gap:clamp(14px,3vw,44px);padding:clamp(22px,2.6vw,36px) 0;border-bottom:1px solid var(--line)}
.zq__q{font-size:clamp(1.15rem,1.9vw,1.55rem);letter-spacing:-.016em;line-height:1.2}
.zq__w{color:var(--gray)}
.zq__d{color:var(--ink);position:relative;padding-left:24px}
.zq__d::before{content:"";position:absolute;left:0;top:.72em;width:12px;height:1px;background:var(--blue)}
@media (max-width:900px){.zq__i{grid-template-columns:1fr;gap:8px}.zq__d{margin-top:6px}}

/* ---- seizoen ---- */
.szn{display:grid;gap:22px;max-width:980px}
.szn__r{display:grid;grid-template-columns:minmax(0,200px) minmax(0,1fr);gap:20px;align-items:center}
.szn__l{font-size:.9375rem;color:var(--gray)}
.szn__m{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:4px}
.szn__m span{display:grid;gap:8px;justify-items:center;font-size:.75rem;color:var(--mute)}
.szn__m span::before{content:"";width:100%;height:36px;border-radius:6px;background:#E9ECEF;transition:background .6s var(--ease)}
.szn__m span.on::before{background:var(--blue)}
.sec--soft .szn__m span::before{background:#E2E5E9}
.sec--soft .szn__m span.on::before{background:var(--blue)}
@media (max-width:700px){.szn__r{grid-template-columns:1fr;gap:10px}.szn__m span::before{height:28px}}

/* ---- noscript counters ---- */
.count{font-variant-numeric:tabular-nums}
.stage.srch .srch__box svg{width:18px;height:18px}
.stage.srch{height:auto}

.foot__v{margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
.foot__v .small{margin-bottom:10px;color:var(--mute)}
.foot__v .foot__l{flex-wrap:wrap;gap:10px 24px}
