/* Lettertypen: Cormorant Garamond en Alegreya Sans (SIL OFL 1.1), zelf gehost — geen verbinding met Google. */
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/cormorant-garamond-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Cormorant Garamond';font-style:italic;font-weight:500;font-display:swap;src:url('fonts/cormorant-garamond-latin-500-italic.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:400;font-display:swap;src:url('fonts/alegreya-sans-latin-400-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:italic;font-weight:400;font-display:swap;src:url('fonts/alegreya-sans-latin-400-italic.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:500;font-display:swap;src:url('fonts/alegreya-sans-latin-500-normal.woff2') format('woff2')}
@font-face{font-family:'Alegreya Sans';font-style:normal;font-weight:600 700;font-display:swap;src:url('fonts/alegreya-sans-latin-700-normal.woff2') format('woff2')}
/* Medisch & Mooi herontwerp — stijl naar het Via Visual-/Fysio4Fit-prototype: Apple-achtige lay-out,
   systeemfont, veel wit, zachte medische kleuren: teal #2f7f8a als accent (AA op wit), mintgrijze secties
   #f2f7f8 en diep blauwgroen #163a45 voor donkere blokken. Rustig, vertrouwen, zorg. */

*,::before,::after{box-sizing:border-box}
html{line-height:1.5;-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:90px}
body{margin:0;color:var(--ink);background:#fff;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased}
img,svg,video{display:block;max-width:100%;height:auto}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit;letter-spacing:inherit;color:inherit}
button{cursor:pointer;background:none;border:0;padding:0}
button,a,input,textarea,select{touch-action:manipulation}
button:disabled{opacity:.55;cursor:wait}
:focus-visible{outline:3px solid var(--accent);outline-offset:4px}
h1,h2,h3,h4,p,ul,ol,dl,dd,address,figure{margin:0}
ul,ol{padding:0;list-style:none}
address{font-style:normal}
h1,h2,h3,h4{font-weight:650}

:root{
  --ink:#1e2b30; --muted:#5f6d72; --soft:#8a979c; --line:#d3dde0; --grey:#f2f7f8; --grey-2:#e3ecee;
  --accent:#2f7f8a; --accent-hover:#276c76; --accent-soft:#e3f1f3; --cyan:#7fb8c0; --navy:#163a45; --gold:#7fb8c0;
  --green:#1f9d61; --radius:28px; --radius-s:18px;
}

h2{font-size:clamp(2.3rem,4.4vw,4.2rem);line-height:1.08;letter-spacing:-.035em;margin-bottom:22px;text-wrap:balance}
h2 span{color:var(--soft)}
h3{font-size:1.5rem;line-height:1.18;letter-spacing:-.025em}
p{font-size:1.0625rem;line-height:1.55;color:var(--muted)}
p strong{color:var(--ink)}
.wrap{max-width:1280px;margin:0 auto;padding:0 52px}
.narrow{max-width:860px}
.eyebrow{font-size:1.0625rem;font-weight:600;letter-spacing:-.015em;color:var(--accent);margin-bottom:18px}
.section-grey{background:var(--grey)}
.section{padding:110px 0}
.section-title{margin-bottom:48px;max-width:860px}
.section-title h2{margin-bottom:0}
.section-intro{font-size:1.1875rem;margin-top:18px;max-width:700px}
.center{text-align:center}
.center .section-title{margin-left:auto;margin-right:auto}
.center .section-intro{margin-left:auto;margin-right:auto}
.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}
.skip{position:absolute;left:-999px;top:8px;background:var(--ink);color:#fff;padding:10px 16px;border-radius:30px;z-index:100}
.skip:focus{left:16px}
.note{font-size:.8125rem;color:var(--soft);line-height:1.5}

/* Knoppen en links */
.pill{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:13px 23px;min-height:46px;border-radius:30px;border:0;font-size:1rem;font-weight:500;white-space:nowrap;transition:background .2s,transform .2s,color .2s}
.pill.blue{background:var(--accent);color:#fff}
.pill.blue:hover{background:var(--accent-hover)}
.pill.dark{background:var(--ink);color:#fff}
.pill.dark:hover{background:#333336}
.pill.light{background:#fff;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line)}
.pill.light:hover{background:var(--grey)}
.pill.ghost{background:var(--grey-2);color:var(--ink)}
.pill.ghost:hover{background:#dedee3}
.pill.sm{padding:9px 16px;min-height:38px;font-size:.9375rem}
.text-link{display:inline-flex;align-items:center;gap:6px;color:var(--accent);font-size:1.0625rem;font-weight:500}
.text-link:hover{text-decoration:underline}
.round{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex-shrink:0;background:var(--grey-2);color:#55555b}
.round:hover{background:#d7d7dc}

/* Conceptlabel (alleen staging) */
.concept-label{background:var(--ink);color:#f5f5f7;font-size:.75rem;line-height:1.4;padding:7px 16px;text-align:center}

/* Navigatie */
.nav{position:sticky;top:0;z-index:40;border-bottom:1px solid #d3dde080;background:#fffffff0;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px)}
.nav-inner{max-width:1320px;margin:auto;height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 52px;gap:24px}
.brand{display:block}
.logo{width:auto;height:46px}
.nav nav{display:flex;align-items:center;gap:28px;font-size:.9rem;color:#333336}
.nav nav a[aria-current=page]{color:var(--accent);font-weight:600}
.nav-cta{background:var(--accent);color:#fff;padding:9px 17px;border-radius:30px;font-weight:500}
.nav-cta:hover{background:var(--accent-hover)}
.nav-status{display:inline-flex;align-items:center;gap:7px;font-size:.8125rem;color:var(--muted);white-space:nowrap}
.nav-status i{width:8px;height:8px;border-radius:50%;background:#c7c7cc;flex-shrink:0}
.nav-status.is-open i{background:var(--green);box-shadow:0 0 0 3px #1f9d6133}
.mobile-menu{display:none}
.mobile-menu .i-x{display:none}
.mobile-menu[aria-expanded=true] .i-x{display:block}
.mobile-menu[aria-expanded=true] .i-menu{display:none}

/* Hero (home) */
.hero{text-align:center;padding:54px 0 0;overflow:hidden}
.hero-copy{position:relative;z-index:2;max-width:1100px;margin:auto;padding:0 40px}
.hero .eyebrow{font-size:1.125rem;margin-bottom:12px}
.hero h1{font-size:clamp(3rem,5.6vw,5.4rem);line-height:1.04;letter-spacing:-.04em;text-wrap:balance;margin:0 auto 20px;max-width:16ch}
.hero-intro{font-size:1.1875rem;line-height:1.45;max-width:720px;margin:0 auto 26px;text-wrap:balance}
.hero-actions{display:flex;justify-content:center;align-items:center;gap:26px;flex-wrap:wrap}
.hero-stage{position:relative;max-width:1180px;margin:44px auto 0;border-radius:var(--radius) var(--radius) 0 0;overflow:hidden;background:var(--grey);transform-origin:center 40%;will-change:transform}
.hero-stage img{width:100%;height:clamp(360px,44vw,620px);object-fit:cover;object-position:center 40%}
.hero-stage .stage-badge{position:absolute;left:24px;bottom:24px;background:#ffffffe6;backdrop-filter:blur(12px);border-radius:16px;padding:12px 16px;text-align:left;display:flex;gap:12px;align-items:center;box-shadow:0 8px 24px #0000001a}
.stage-badge b{display:block;font-size:.9375rem}
.stage-badge small{color:var(--muted);font-size:.8125rem}
.hero-caption{max-width:1180px;margin:0 auto;padding:16px 8px 0;display:flex;justify-content:space-between;gap:20px;font-size:.8125rem;color:#747479}

/* Vertrouwensbalk */

/* Twee grote beeldkaarten (omgevingen) */
.env-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.env-card{position:relative;height:620px;border-radius:var(--radius);overflow:hidden;background:#d4d7dc;display:block;color:#fff}
.env-card>img{width:100%;height:100%;object-fit:cover;transition:transform .8s}
.env-card:hover>img{transform:scale(1.025)}
.env-card:after{content:'';position:absolute;inset:0;background:linear-gradient(0deg,#101217c9,transparent 60%);pointer-events:none}
.env-copy{position:absolute;bottom:38px;left:36px;right:28px;z-index:1}
.env-copy .eyebrow{margin-bottom:12px;font-size:1rem;color:#fff;opacity:.85}
.env-copy h3{font-size:clamp(2rem,3.1vw,3rem);line-height:1.08;margin-bottom:18px;letter-spacing:-.035em;text-wrap:balance}
.env-copy .white-link{display:inline-flex;align-items:center;gap:3px;color:#fff;font-size:1rem}

/* Kaarten-rail (behandelingen) */
.rail-toolbar{display:flex;justify-content:space-between;align-items:center;gap:20px;margin:0 0 30px;flex-wrap:wrap}
.filter-tabs{display:inline-flex;width:fit-content;align-items:center;background:var(--grey-2);height:46px;padding:4px;border-radius:30px}
.filter-tabs button{display:inline-flex;height:100%;align-items:center;gap:6px;white-space:nowrap;font-weight:500;font-size:.875rem;padding:8px 20px;border-radius:25px;color:#1d1d1f99;transition:color .2s,box-shadow .2s,background .2s}
.filter-tabs button:hover{color:var(--ink)}
.filter-tabs button[aria-selected=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000000d}
.count{font-size:.875rem;color:var(--muted)}
.rail{display:flex;gap:24px;overflow-x:auto;scroll-snap-type:x mandatory;padding:12px max(52px,calc((100vw - 1176px)/2)) 26px;scroll-padding-left:max(52px,calc((100vw - 1176px)/2));scrollbar-width:thin;scrollbar-color:var(--line) transparent}
.card{flex:0 0 352px;background:#fff;border-radius:25px;overflow:hidden;text-align:left;scroll-snap-align:start;color:var(--ink);box-shadow:0 4px 10px #00000004;transition:transform .3s,box-shadow .3s;display:flex;flex-direction:column}
.card[hidden]{display:none}
.card:hover{transform:translateY(-5px);box-shadow:0 10px 24px #00000009}
.card-copy{padding:28px 28px 20px;min-height:160px}
.card-tag{font-size:.875rem;color:var(--muted);margin-bottom:7px}
.card-copy h3{font-size:1.5rem;margin-bottom:10px}
.card-copy>p:last-child{font-size:1rem}
.card-image{height:260px;overflow:hidden;margin:0 15px;border-radius:14px;background:var(--grey);display:grid;place-items:center}
.card-image img{width:100%;height:100%;object-fit:cover}
.card-image .glyph{width:72px;height:72px;color:var(--accent)}
.card-foot{padding:20px 27px;display:flex;align-items:center;justify-content:space-between;font-size:.875rem;margin-top:auto}
.card-plus{width:30px;height:30px;background:var(--ink);color:#fff;border-radius:50%;display:grid;place-items:center}
.rail-footer{display:flex;align-items:center;justify-content:space-between;gap:35px;margin-top:10px}
.rail-buttons{display:flex;gap:14px}

/* Raster met kaarten (statisch) */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.tile{background:#fff;border-radius:25px;padding:32px;display:flex;flex-direction:column;gap:12px}
.section-grey .tile{box-shadow:0 4px 10px #00000004}
.tile .glyph{width:44px;height:44px;color:var(--accent);margin-bottom:6px}
.tile h3{font-size:1.375rem}
.tile p{font-size:1rem}
.tile .text-link{margin-top:auto;font-size:1rem}
.tile.dark{background:var(--ink);color:#fff}
.tile.dark p{color:#c7c7cc}
.tile.accent{background:var(--accent);color:#fff}
.tile.accent p,.tile.accent .eyebrow{color:#fff;opacity:.9}

/* Genummerde details (werkwijze) */
.details{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}
.details>div+div{border-left:1px solid var(--line);padding-left:35px}
.detail-number{font-size:.8125rem;font-weight:600;color:var(--soft);display:block;margin-bottom:9px}
.details h3{font-size:1.375rem;margin-bottom:10px}
.details p{font-size:1rem}

/* Split-layout (foto + tekst) */
.split{display:grid;grid-template-columns:1.1fr 1fr;gap:80px;align-items:center}
.split.rev{grid-template-columns:1fr 1.1fr}
.split-photo{position:relative;height:640px;overflow:hidden;border-radius:var(--radius);background:var(--grey)}
.split-photo img{width:100%;height:100%;object-fit:cover}
.split-copy>div+div{margin-top:34px}
.split-copy h3{margin-bottom:10px;font-size:1.6rem}
.split-copy p{max-width:420px}
.split-copy .pill{margin-top:28px}

/* Team */
.team-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.person{background:#fff;border-radius:25px;overflow:hidden;display:flex;flex-direction:column}
.section-grey .person{box-shadow:0 4px 10px #00000004}
.person img{width:100%;aspect-ratio:1/1;object-fit:cover;object-position:center top;background:var(--grey)}
.person-body{padding:24px 26px 26px;display:flex;flex-direction:column;gap:8px;flex:1}
.person-body h3{font-size:1.375rem}
.person-role{font-size:.9375rem;color:var(--accent);font-weight:600}
.person-body p{font-size:.9375rem}
.person-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:4px}
.person-tags li{font-size:.75rem;background:var(--grey);border-radius:20px;padding:5px 10px;color:var(--ink)}
.person-actions{display:flex;gap:8px;margin-top:auto;padding-top:14px}
.person-actions a{display:inline-flex;align-items:center;gap:7px;font-size:.875rem;font-weight:500;padding:8px 14px;border-radius:20px;background:var(--grey)}
.person-actions a:hover{background:var(--grey-2)}
.person-actions .wa{color:#128c5e}

/* Tarieven */
.price-table{width:100%;border-collapse:collapse;background:#fff;border-radius:25px;overflow:hidden}
.price-table th,.price-table td{padding:16px 22px;text-align:left;border-bottom:1px solid var(--grey-2);font-size:1rem;vertical-align:top}
.price-table th{font-size:.8125rem;font-weight:600;color:var(--soft);text-transform:uppercase;letter-spacing:.06em;background:var(--grey)}
.price-table td:last-child,.price-table th:last-child{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.price-table tr:last-child td{border-bottom:0}
.price-table small{display:block;color:var(--muted);font-size:.8125rem}
.price-table caption{caption-side:top;text-align:left;font-weight:650;font-size:1.25rem;padding:0 0 14px;color:var(--ink)}

/* Vergoedingscheck en klachtenwijzer (tools) */
.tool{display:grid;grid-template-columns:1.1fr 1fr;gap:24px;align-items:stretch}
.tool-inputs{background:var(--grey);border-radius:var(--radius);padding:36px 38px 30px}
.tool-tag{font-size:.8125rem;font-weight:600;color:var(--soft);margin-bottom:22px}
.tool-result{background:var(--navy);color:#fff;border-radius:var(--radius);padding:40px 40px 34px;display:flex;flex-direction:column;gap:14px}
.tool-result h3{color:#fff;font-size:1.6rem}
.tool-result p{color:#c7c7cc}
.tool-result .big{color:#fff;font-size:clamp(2.6rem,4.5vw,4rem);font-weight:650;line-height:1.05;letter-spacing:-.035em;font-variant-numeric:tabular-nums}
.tool-result .note{color:var(--soft);margin-top:auto}
.tool-result .pill{align-self:flex-start}
.tool-result ul{display:flex;flex-direction:column;gap:8px}
.tool-result li{display:flex;gap:10px;align-items:flex-start;color:#e5e5ea;font-size:1rem;line-height:1.45}
.tool-result li .i{flex-shrink:0;color:var(--accent);margin-top:3px}
.choice-group{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:22px}
.choice-group legend,.field>span{display:block;font-size:.9375rem;color:var(--ink);margin-bottom:10px;font-weight:500}
.choice-group label{display:inline-flex;align-items:center;gap:8px;background:#fff;border-radius:30px;padding:10px 16px;font-size:.9375rem;cursor:pointer;box-shadow:inset 0 0 0 1px transparent;transition:box-shadow .2s,background .2s}
.choice-group label:hover{box-shadow:inset 0 0 0 1px var(--line)}
.choice-group input{position:absolute;opacity:0;width:1px;height:1px}
.choice-group label:has(input:checked){background:var(--ink);color:#fff}
.choice-group label:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.field{display:block;margin-bottom:20px}
.field input[type=range]{width:100%;height:28px;padding:0;border:0;background:transparent;accent-color:var(--accent);cursor:pointer}
.field output{font-weight:650;font-variant-numeric:tabular-nums}
fieldset{border:0;padding:0;margin:0;min-width:0}

/* Lichaamskaart (klachtenwijzer) */
.bodymap{display:grid;grid-template-columns:minmax(260px,380px) 1fr;gap:48px;align-items:start}
#bodymap svg{width:100%;height:auto;max-height:640px}
.bodymap .zone{fill:#e8e8ed;stroke:#fff;stroke-width:2;cursor:pointer;transition:fill .2s}
.bodymap .zone:hover{fill:#cfd3d9}
.bodymap .zone.on{fill:var(--accent)}
.bodymap .zone:focus-visible{outline:none;fill:var(--accent-hover)}
.zone-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:28px}
.zone-list button{background:#fff;border-radius:30px;padding:10px 16px;font-size:.9375rem;box-shadow:inset 0 0 0 1px var(--line)}
.zone-list button[aria-pressed=true]{background:var(--ink);color:#fff;box-shadow:none}
.advice{background:#fff;border-radius:var(--radius);padding:34px 36px;min-height:300px}
.advice h3{font-size:1.75rem;margin-bottom:10px}
.advice .treats{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0 22px}
.advice .treats a{background:var(--accent-soft);color:var(--accent);border-radius:30px;padding:8px 14px;font-size:.9375rem;font-weight:500}
.advice .treats a:hover{background:#d8e9ff}
.advice ul{display:grid;gap:8px;margin-bottom:22px}
.advice li{display:flex;gap:10px;font-size:1rem;color:var(--muted)}
.advice li .i{flex-shrink:0;color:var(--accent);margin-top:3px}
.advice .warn{display:flex;gap:10px;background:#fff5e5;border-radius:14px;padding:12px 14px;font-size:.875rem;color:#7a4b00;margin-bottom:22px}
.advice .warn .i{flex-shrink:0;margin-top:2px}

/* Stappenformulier (afspraak) */
.steps{display:grid;grid-template-columns:1fr 360px;gap:40px;align-items:start}
.form-card{background:#fff;border-radius:var(--radius);padding:36px 40px;box-shadow:0 4px 10px #00000004}
.stepper{display:flex;gap:8px;margin-bottom:28px;flex-wrap:wrap}
.stepper li{display:inline-flex;align-items:center;gap:8px;font-size:.875rem;color:var(--soft);padding:7px 12px;border-radius:30px;background:var(--grey)}
.stepper li b{width:22px;height:22px;border-radius:50%;background:#fff;display:grid;place-items:center;font-size:.75rem;color:var(--ink)}
.stepper li[aria-current=step]{background:var(--ink);color:#fff}
.stepper li[aria-current=step] b{background:var(--accent);color:#fff}
.stepper li.done b{background:var(--green);color:#fff}
.step[hidden]{display:none}
.step h2{font-size:1.9rem;margin-bottom:8px}
.step>p{margin-bottom:22px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
form label.text{display:flex;flex-direction:column;gap:8px;font-size:.875rem;color:#49494f;margin-bottom:18px}
input[type=text],input[type=email],input[type=tel],textarea,select{width:100%;color:var(--ink);background:#fff;border:1px solid #b6b6bd;padding:13px 14px;border-radius:12px;outline:0;resize:vertical}
input::placeholder,textarea::placeholder{color:var(--soft)}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px #2f7f8a26}
input[aria-invalid=true],textarea[aria-invalid=true]{border-color:#b91c1c}
.honeypot{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.form-actions{display:flex;justify-content:space-between;align-items:center;gap:14px;margin-top:10px;flex-wrap:wrap}
.privacy-note{font-size:.75rem;margin:16px 0 0}
form [role=status]{font-size:.9375rem;margin:16px 0 0;color:var(--ink)}
form [role=status].error{color:#b91c1c}
.summary{background:var(--grey);border-radius:16px;padding:16px 18px;font-size:.9375rem;margin-bottom:20px}
.summary dt{font-size:.75rem;color:var(--soft);text-transform:uppercase;letter-spacing:.06em;margin-top:10px}
.summary dt:first-child{margin-top:0}
.summary dd{color:var(--ink)}
.side-card{background:var(--grey);border-radius:var(--radius);padding:30px 32px;display:flex;flex-direction:column;gap:14px;position:sticky;top:96px}
.side-card h3{font-size:1.25rem}
.side-card p{font-size:.9375rem}
.side-card .pill{align-self:flex-start}
.side-card dl.hours{font-size:.875rem}

/* FAQ */
.faq-search{display:flex;align-items:center;gap:10px;background:#fff;border-radius:30px;padding:6px 8px 6px 18px;box-shadow:inset 0 0 0 1px var(--line);max-width:520px;margin-bottom:34px}
.faq-search input{border:0;padding:8px 0;box-shadow:none;background:transparent}
.faq-search input:focus{box-shadow:none}
.faq-group{margin-bottom:44px}
.faq-group h3{font-size:1.1rem;color:var(--soft);margin-bottom:14px;text-transform:uppercase;letter-spacing:.06em;font-size:.8125rem}
.faq details{background:#fff;border-radius:18px;margin-bottom:10px;overflow:hidden}
.faq summary{list-style:none;cursor:pointer;padding:20px 24px;font-weight:600;font-size:1.0625rem;display:flex;justify-content:space-between;align-items:center;gap:16px}
.faq summary::-webkit-details-marker{display:none}
.faq summary .i{flex-shrink:0;transition:transform .25s;color:var(--soft)}
.faq details[open] summary .i{transform:rotate(45deg)}
.faq details>div{padding:0 24px 22px}
.faq details[hidden]{display:none}
.faq .empty{color:var(--muted)}

/* Nieuws */
.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.news-card{background:#fff;border-radius:25px;padding:30px 30px 26px;display:flex;flex-direction:column;gap:10px;min-height:260px;transition:transform .3s,box-shadow .3s}
.news-card:hover{transform:translateY(-4px);box-shadow:0 10px 24px #00000009}
.news-card time{font-size:.8125rem;color:var(--soft)}
.news-card h3{font-size:1.3rem}
.news-card p{font-size:.9375rem}
.news-card .text-link{margin-top:auto;font-size:.9375rem}
.news-card.featured{grid-column:span 2;background:var(--ink);color:#fff}
.news-card.featured p{color:#c7c7cc}
.news-card.featured h3{font-size:1.8rem}
.article{max-width:760px}
.article p+p{margin-top:16px}
.article h2{font-size:1.9rem;margin:34px 0 10px}
.article ul{list-style:disc;padding-left:22px;color:var(--muted);font-size:1.0625rem}
.article li+li{margin-top:6px}
.newsletter{display:grid;grid-template-columns:1fr 1fr;gap:48px;align-items:center;background:var(--accent);color:#fff;border-radius:var(--radius);padding:48px 52px}
.newsletter h2{color:#fff;font-size:2.4rem}
.newsletter p{color:#fff;opacity:.9}
.newsletter form{display:flex;gap:10px;background:#fff;border-radius:30px;padding:6px 6px 6px 18px}
.newsletter input{border:0;box-shadow:none;background:transparent;padding:10px 0;color:var(--ink)}
.newsletter input:focus{box-shadow:none}
.newsletter [role=status]{color:#fff}

/* Openingstijden en contact */
dl.hours div{display:flex;justify-content:space-between;gap:16px;padding:6px 0;border-bottom:1px solid var(--grey-2);font-size:.9375rem}
dl.hours div:last-child{border-bottom:0}
dl.hours dt{color:var(--muted)}
dl.hours dd{font-variant-numeric:tabular-nums;color:var(--ink)}
.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.map{border-radius:var(--radius);overflow:hidden;background:var(--grey);min-height:420px;position:relative}
.map iframe{width:100%;height:100%;min-height:420px;border:0;display:block}
.map-fallback{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:flex-end;padding:28px;background:linear-gradient(0deg,#f5f5f7,#e8e8ed)}
.status-pill{display:inline-flex;align-items:center;gap:8px;background:var(--grey);border-radius:30px;padding:8px 14px;font-size:.875rem;color:var(--ink)}
.status-pill i{width:8px;height:8px;border-radius:50%;background:#c7c7cc}
.status-pill.is-open i{background:var(--green)}

/* Ervaringen (placeholder) */
.quote-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.quote{background:#fff;border-radius:25px;padding:30px;display:flex;flex-direction:column;gap:14px;position:relative}
.quote .stars{color:#f5a623;letter-spacing:2px;font-size:.9rem}
.quote p{font-size:1rem;color:var(--ink)}
.quote footer{font-size:.875rem;color:var(--muted)}
.quote .ph{position:absolute;top:14px;right:16px;font-size:.6875rem;background:#fff5e5;color:#7a4b00;border-radius:20px;padding:3px 9px}
.score{display:flex;align-items:center;gap:22px;background:#fff;border-radius:25px;padding:26px 30px;margin-bottom:24px}
.score b{font-size:3rem;font-weight:650;letter-spacing:-.03em;line-height:1}
.score p{font-size:.9375rem}

/* Afsluiter */
.final{background:var(--navy);color:#fff;padding:120px 0;text-align:center}
.final h2{color:#fff}
.final p{color:#a1a1a6;max-width:600px;margin:0 auto 32px}
.final .hero-actions .text-link{color:#fff}

/* Breadcrumb + paginakop */
.page-head{padding:70px 0 40px}
.page-head h1{font-size:clamp(2.6rem,5vw,4.6rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:14px;text-wrap:balance;max-width:18ch}
.page-head .lead{font-size:1.25rem;max-width:720px}
.crumbs{display:flex;gap:8px;font-size:.8125rem;color:var(--soft);margin-bottom:22px;flex-wrap:wrap}
.crumbs a:hover{color:var(--ink)}

/* Footer */
body>footer{background:var(--grey);padding-bottom:0}
footer>.wrap{padding-top:64px;padding-bottom:30px}
.footer-grid{display:grid;grid-template-columns:1.3fr 1fr 1fr 1fr;gap:40px;margin-bottom:40px}
.footer-grid h3{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin-bottom:14px}
.footer-grid p,.footer-grid address{font-size:.9375rem;color:var(--muted);line-height:1.6}
.footer-grid a:hover{color:var(--ink);text-decoration:underline}
.footer-tagline{margin-top:14px;color:var(--ink)!important;font-weight:500}
.footer-small{font-size:.8125rem!important;margin-top:10px}
.footer-links li{font-size:.9375rem;color:var(--muted);padding:3px 0}
.footer-bottom{border-top:1px solid var(--line);padding-top:22px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#8a979c;font-size:.75rem;flex-wrap:wrap}

/* Mobiele actiebalk */
.actionbar{display:none}

/* Dialoog (behandeling) */
.dialog{position:fixed;inset:0;margin:auto;width:calc(100% - 2rem);max-width:960px;display:none;padding:32px;max-height:90svh;overflow:auto;border:0;border-radius:var(--radius);background:#fff;color:var(--ink);box-shadow:0 10px 15px -3px #0000001a}
.dialog[open]{display:block;animation:dialog-in .2s ease-out}
.dialog-content{display:grid;grid-template-columns:1fr 1.1fr;gap:40px;align-items:center}
.dialog::backdrop{background:#00000080}
@keyframes dialog-in{from{opacity:0;transform:scale(.96)}to{opacity:1;transform:none}}
.dialog-media{border-radius:18px;overflow:hidden;background:var(--grey);min-height:320px;display:grid;place-items:center}
.dialog-media img{width:100%;height:100%;object-fit:cover}
.dialog-media .glyph{width:96px;height:96px;color:var(--accent)}
.dialog h2{font-size:2.1rem;margin-bottom:10px}
.dialog .dialog-body p+p{margin-top:12px}
.dialog dl{margin:22px 0}
.dialog dt{font-size:.8125rem;color:var(--soft);margin-top:14px}
.dialog dd{font-size:.9375rem;margin-top:4px;color:var(--ink)}
.dialog .pill{margin-top:12px}
.dialog-close{position:absolute;top:16px;right:16px;display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--grey);color:var(--ink)}
html:has(.dialog[open]){overflow:hidden}

/* Reveal */
.reveal.motion-ready{opacity:0;transform:translateY(28px);transition:opacity .8s ease,transform .8s cubic-bezier(.2,.7,.3,1)}
.reveal.visible{opacity:1;transform:none}

/* 404 / bedankt */
.simple{padding:120px 0;max-width:760px}
.simple h1{font-size:clamp(2.4rem,5vw,3.8rem);line-height:1.05;letter-spacing:-.04em;margin-bottom:18px}
.simple p{margin-bottom:28px}

@media(max-width:1180px){
  .nav nav{gap:18px;font-size:.85rem}
  .nav-status{display:none}
}
@media(max-width:1000px){
  .wrap{padding-left:35px;padding-right:35px}
  .nav-inner{padding:0 35px}
  .section{padding:80px 0}
  .env-card{height:520px}
  .env-copy{left:28px;bottom:30px}
  .split,.split.rev{grid-template-columns:1fr;gap:40px}
  .split-photo{height:460px}
  .details{gap:24px}
  .details>div+div{padding-left:24px}
  .tool,.steps,.newsletter,.contact-grid{grid-template-columns:1fr}
  .side-card{position:static}
  .rail{padding-left:35px;padding-right:35px;scroll-padding-left:35px}
  .card{flex-basis:330px}
  .grid-3,.team-grid,.news-grid,.quote-grid{grid-template-columns:1fr 1fr}
  .news-card.featured{grid-column:span 2}
  .footer-grid{grid-template-columns:1fr 1fr}
  .bodymap{grid-template-columns:1fr;gap:28px}
  #bodymap svg{max-width:300px;margin:0 auto}
  .mobile-menu{display:block;color:var(--ink);padding:6px}
  .nav nav{display:none;position:absolute;top:68px;left:0;right:0;background:#fffffff9;backdrop-filter:blur(20px);padding:22px 35px 28px;border-bottom:1px solid var(--line);font-size:1.0625rem}
  .nav nav.open{display:flex;flex-direction:column;align-items:stretch;gap:18px}
  .nav-status{display:inline-flex}
  .nav-cta{text-align:center}
}
@media(max-width:700px){
  .wrap{padding-left:20px;padding-right:20px}
  .nav-inner{height:60px;padding:0 20px}
  .nav nav{top:60px;padding:20px 20px 26px}
  .logo{height:40px}
  .concept-label{text-align:left}
  .section{padding:64px 0}
  .section-title{margin-bottom:30px}
  h2{font-size:2.3rem}
  .section-intro{font-size:1.0625rem}
  .hero{padding-top:36px}
  .hero-copy{padding:0 4px}
  .hero .eyebrow{font-size:1rem}
  .hero h1{font-size:clamp(2.35rem,10vw,3.4rem);letter-spacing:-.035em}
  .hero-intro{font-size:1.0625rem}
  .hero-actions{gap:16px}
  .hero-stage{margin:28px 0 0;border-radius:22px 22px 0 0}
  .hero-stage img{height:auto;min-height:280px;max-height:420px}
  .hero-stage .stage-badge{left:14px;right:14px;bottom:14px;padding:10px 12px;flex-direction:column;align-items:flex-start;gap:6px}
  .hero-caption{display:block;padding:12px 4px 0}
  .hero-caption span{display:block}
  .env-grid{grid-template-columns:1fr;gap:16px}
  .env-card{height:480px}
  .env-copy h3{font-size:2.1rem}
  .rail{padding-left:20px;padding-right:20px;scroll-padding-left:20px;gap:16px}
  .card{flex-basis:min(315px,84vw)}
  .card-image{height:220px}
  .rail-footer .note{max-width:60%}
  .grid-3,.grid-2,.team-grid,.news-grid,.quote-grid{grid-template-columns:1fr}
  .news-card.featured{grid-column:auto}
  .tile{padding:26px}
  .details{grid-template-columns:1fr;gap:26px}
  .details>div+div{border:0;padding:0}
  .split-photo{height:360px}
  .split-copy p{max-width:none}
  .tool-inputs{padding:26px 22px 22px;border-radius:22px}
  .tool-result{padding:30px 24px 26px;border-radius:22px}
  .form-card{padding:26px 22px;border-radius:22px}
  .form-row{grid-template-columns:1fr;gap:0}
  .side-card{padding:24px 22px;border-radius:22px}
  .newsletter{padding:34px 26px;border-radius:22px}
  .newsletter h2{font-size:2rem}
  .newsletter form{flex-direction:column;background:transparent;padding:0;gap:10px}
  .newsletter input{background:#fff;border-radius:30px;padding:13px 18px}
  .advice{padding:26px 22px;border-radius:22px}
  .page-head{padding:44px 0 28px}
  .page-head .lead{font-size:1.0625rem}
  .footer-grid{grid-template-columns:1fr;gap:28px}
  footer>.wrap{padding-bottom:30px}
  .footer-bottom{flex-direction:column;align-items:flex-start;gap:8px}
  .final{padding:80px 0}
  .score{flex-direction:column;align-items:flex-start;gap:10px}
  .dialog{padding:22px}
  .dialog-content{grid-template-columns:1fr;gap:20px}
  .dialog-media{min-height:200px;max-height:240px}
  .dialog h2{font-size:1.8rem}
  .price-table th,.price-table td{padding:13px 14px;font-size:.9375rem}
  /* Mobiele actiebalk (duimbereik) */
  .actionbar{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:6px;position:fixed;left:0;right:0;bottom:0;z-index:45;background:#fffffff2;backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border-top:1px solid #d2d2d780;padding:8px 10px calc(8px + env(safe-area-inset-bottom))}
  .actionbar a{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:.6875rem;font-weight:500;color:var(--ink);padding:7px 4px;border-radius:14px;background:var(--grey)}
  .actionbar .ab-primary{background:var(--accent);color:#fff}
  body{padding-bottom:78px}
}
@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*:before,*:after{animation:none!important;transition:none!important}
  .reveal.motion-ready{opacity:1;transform:none}
  .hero-stage{transform:none!important}
}

/* ---- Afsprakenagenda (port van de Spreekruimte-reserveerwizard: stappen, maandkalender, starttijden) ---- */
.wizard{display:grid;grid-template-columns:1fr 360px;gap:32px;align-items:start}
.option-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.option{position:relative;display:flex;gap:14px;align-items:flex-start;background:#fff;border-radius:18px;padding:18px 20px;cursor:pointer;box-shadow:inset 0 0 0 1px var(--grey-2);transition:box-shadow .2s,background .2s}
.option:hover{box-shadow:inset 0 0 0 1px var(--line)}
.option input{position:absolute;opacity:0;width:1px;height:1px}
.option:has(input:checked){box-shadow:inset 0 0 0 2px var(--accent);background:var(--accent-soft)}
.option:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.option b{display:block;font-size:1rem;margin-bottom:3px}
.option small{display:block;color:var(--muted);font-size:.875rem;line-height:1.4}
.option .dur{margin-left:auto;flex-shrink:0;font-size:.75rem;font-weight:600;color:var(--accent);background:#fff;border-radius:20px;padding:4px 9px;box-shadow:inset 0 0 0 1px var(--grey-2)}
.option img{width:48px;height:48px;border-radius:50%;object-fit:cover;object-position:center top;flex-shrink:0;background:var(--grey)}
.option .glyph{width:40px;height:40px;color:var(--accent);flex-shrink:0}
.calhead{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px}
.calhead h2{font-size:1.5rem;margin:0;text-transform:capitalize}
.cal{display:grid;grid-template-columns:repeat(7,1fr);gap:8px}
.cal .dow{text-align:center;font-size:.6875rem;font-weight:700;color:var(--soft);text-transform:uppercase;letter-spacing:.06em;padding-bottom:4px}
.day{aspect-ratio:1/.9;border-radius:14px;display:flex;flex-direction:column;justify-content:space-between;padding:10px;background:#fff;box-shadow:inset 0 0 0 1px var(--grey-2);color:var(--ink);transition:transform .15s,box-shadow .15s}
.day .d{font-weight:650;font-size:1rem}
.day .t{font-size:.6875rem;font-weight:600}
.day.vrij{background:#e8f6ef;box-shadow:inset 0 0 0 1px #bfe6d1}.day.vrij .t{color:#15794a}
.day.deels{background:#fff3e2;box-shadow:inset 0 0 0 1px #f3d6a8}.day.deels .t{color:#a4631a}
.day.vol{background:#fbeae8;box-shadow:inset 0 0 0 1px #f0c3bd;cursor:not-allowed}.day.vol .t{color:#b03a2e}
.day.buiten{background:var(--grey);color:#b7b7bc;cursor:not-allowed}
.day.empty{background:transparent;box-shadow:none}
a.day:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--accent)}
.legend{display:flex;flex-wrap:wrap;gap:14px;margin-top:16px;font-size:.8125rem;color:var(--muted)}
.legend span{display:inline-flex;align-items:center;gap:6px}
.legend i{width:12px;height:12px;border-radius:4px;display:inline-block}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px;margin:14px 0 24px}
.slot{position:relative;display:block;text-align:center;padding:11px 0;border-radius:12px;background:#fff;box-shadow:inset 0 0 0 1px var(--line);font-weight:600;font-size:.9375rem;cursor:pointer;font-variant-numeric:tabular-nums}
.slot input{position:absolute;opacity:0;width:1px;height:1px}
.slot:hover{box-shadow:inset 0 0 0 1px var(--accent)}
.slot:has(input:checked){background:var(--accent);color:#fff;box-shadow:none}
.slot:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.slot small{display:block;font-weight:500;font-size:.6875rem;opacity:.75;margin-top:2px}
.res-rows div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-bottom:1px solid var(--grey-2);font-size:.9375rem}
.res-rows div:last-child{border-bottom:0}
.res-rows b{text-align:right}
.check{display:flex;align-items:flex-start;gap:10px;font-size:.875rem;color:#49494f;margin:14px 0}
.check input{margin-top:3px;accent-color:var(--accent)}
.alert{background:#fff3e2;color:#7a4b00;border-radius:14px;padding:12px 16px;font-size:.9375rem;margin-bottom:18px}
.alert.ok{background:#e8f6ef;color:#15794a}
.done-icon{display:inline-grid;place-items:center;width:64px;height:64px;border-radius:50%;background:#e8f6ef;color:#15794a;margin-bottom:16px}
.admin-table{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;font-size:.9rem}
.admin-table th,.admin-table td{padding:11px 14px;text-align:left;border-bottom:1px solid var(--grey-2);vertical-align:top}
.admin-table th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);background:var(--grey)}
.admin-table form{display:inline}
.badge{display:inline-block;font-size:.75rem;font-weight:600;border-radius:20px;padding:3px 9px;background:var(--grey-2)}
.badge.nieuw{background:#fff3e2;color:#a4631a}.badge.bevestigd,.badge.ingepland{background:#e8f6ef;color:#15794a}.badge.geannuleerd{background:#fbeae8;color:#b03a2e}
.tabs{display:flex;gap:8px;margin-bottom:22px;flex-wrap:wrap}
.tabs a{padding:9px 16px;border-radius:30px;background:var(--grey-2);font-size:.9375rem;font-weight:500}
.tabs a[aria-current=page]{background:var(--ink);color:#fff}
@media(max-width:1000px){.wizard{grid-template-columns:1fr}}
@media(max-width:700px){
  .option-grid{grid-template-columns:1fr}
  .cal{gap:5px}.day{padding:6px;border-radius:10px}.day .d{font-size:.875rem}.day .t{font-size:.6rem}
  .calhead h2{font-size:1.2rem}
  .slots{grid-template-columns:repeat(auto-fill,minmax(72px,1fr))}
  .admin-table{display:block;overflow-x:auto}
}

[hidden]{display:none!important}
.advice-start{display:flex;flex-direction:column;justify-content:center;align-items:flex-start;gap:12px}

/* ---- Behandelingen als raster (vervangt de horizontale rail) ---- */
.rail{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;overflow:visible;padding:0;scroll-snap-type:none}
.card{flex:none;padding:26px 26px 20px;min-height:0;gap:0;box-shadow:0 4px 10px #00000004;cursor:pointer}
.card-head{display:flex;align-items:center;gap:14px;margin-bottom:18px}
.card-icon{width:56px;height:56px;border-radius:16px;background:var(--accent-soft);color:var(--accent);display:grid;place-items:center;flex-shrink:0}
.card-icon .glyph{width:28px;height:28px}
.card-head .card-tag{margin:0}
.card>h3{font-size:1.35rem;margin-bottom:8px}
.card>p{font-size:.9375rem;margin-bottom:18px}
.card-foot{padding:14px 0 0;border-top:1px solid var(--grey-2)}
@media(max-width:1000px){.rail{grid-template-columns:1fr 1fr;padding:0}}
@media(max-width:700px){.rail{grid-template-columns:1fr;gap:12px;padding:0}.card{flex-basis:auto;padding:22px 20px 16px}}
.advice li .i,.tool-result li .i{width:18px;height:18px}
/* Planner: niet-bevoegde therapeuten */
.option.is-disabled{opacity:.45;cursor:not-allowed;background:var(--grey)}
.option.is-disabled:hover{box-shadow:inset 0 0 0 1px var(--grey-2)}
.option .why{color:#b03a2e;font-weight:500}
.planner-hint{font-size:.9375rem;color:var(--ink);background:var(--accent-soft);border-radius:12px;padding:10px 14px;margin:-6px 0 16px}
.planner-hint:empty{display:none}
.matrix{width:100%;border-collapse:collapse;background:#fff;border-radius:18px;overflow:hidden;font-size:.875rem}
.matrix th,.matrix td{padding:10px 12px;border-bottom:1px solid var(--grey-2);text-align:center}
.matrix th:first-child,.matrix td:first-child{text-align:left}
.matrix thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);background:var(--grey)}
.matrix .yes{color:#15794a;font-weight:700}.matrix .no{color:#d2d2d7}
.skills{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0 2px}
.skills li{font-size:.75rem;background:var(--accent-soft);color:var(--accent);border-radius:20px;padding:5px 10px;font-weight:500}
/* Klachtenwijzer: stappen */
#triage .stepper{margin-bottom:18px}
.tstep[hidden]{display:none!important}
.advice .choice-group{margin-bottom:18px}
.advice .choice-group label{box-shadow:inset 0 0 0 1px var(--grey-2)}
.advice-vragen li,.advice-list li{display:flex;gap:10px;font-size:1rem;color:var(--muted)}
.advice-vragen{display:grid;gap:8px;margin-bottom:22px}
.advice-bron{margin-top:10px}
/* Klachtenwijzer: vragen met schuifjes */
.q{margin:0 0 26px;padding:0 0 6px;border-bottom:1px solid var(--grey-2)}
.q[hidden]{display:none!important}
.q legend{font-size:1.0625rem;font-weight:600;color:var(--ink);margin-bottom:10px;display:flex;gap:10px;align-items:baseline}
.q .qn{color:var(--accent);font-variant-numeric:tabular-nums;min-width:1.6em}
.qrow{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:11px 0;border-top:1px solid var(--grey-2);cursor:pointer;font-size:.9875rem;color:var(--ink)}
.qrow:first-of-type{border-top:0}
.qrow input{position:absolute;opacity:0;width:1px;height:1px}
.qrow .sw{flex-shrink:0;width:46px;height:28px;border-radius:30px;background:var(--grey-2);position:relative;transition:background .2s}
.qrow .sw:after{content:'';position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 2px 6px #00000026;transition:transform .2s}
.qrow:hover .sw{background:#dedee3}
.qrow:has(input:checked) .sw{background:var(--accent)}
.qrow:has(input:checked) .sw:after{transform:translateX(18px)}
.qrow:has(input:checked) span{font-weight:600}
.qrow:has(input:focus-visible) .sw{outline:3px solid var(--accent);outline-offset:2px}
.qscale input[type=range]{width:100%;height:32px;accent-color:var(--accent);cursor:pointer;background:transparent;border:0;padding:0}
.qscale-labels{display:flex;justify-content:space-between;align-items:baseline;font-size:.8125rem;color:var(--soft)}
.qscale-labels output{font-size:1.5rem;font-weight:650;color:var(--ink);font-variant-numeric:tabular-nums}
.advice-samenvatting{margin-top:22px;font-size:.9375rem}
.advice-samenvatting summary{cursor:pointer;color:var(--accent);font-weight:500}
.advice-samenvatting ul{margin-top:10px;display:grid;gap:4px;color:var(--muted);padding-left:16px;list-style:disc}
.advice-samenvatting li{display:list-item}
/* Klachtenwijzer: één vraag per keer in een vast kader */
.qpanel{display:flex;flex-direction:column}
.qhead{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px}
.qprogress{font-size:.8125rem;color:var(--soft);white-space:nowrap}
.qviewport{height:640px;overflow:auto;border-top:1px solid var(--grey-2);border-bottom:1px solid var(--grey-2);padding:18px 4px 10px;margin-bottom:16px;scrollbar-width:thin}
.qviewport .q{margin:0;padding:0;border:0}
.qviewport .q legend{font-size:1.2rem;letter-spacing:-.02em;margin-bottom:4px;display:block}
.qviewport .q+.q{margin-top:26px;padding-top:22px;border-top:1px solid var(--grey-2)}
.qviewport .q .qhint{margin-bottom:12px}
.qviewport textarea{min-height:160px}
.qnav{display:flex;justify-content:space-between;gap:12px;margin-top:auto}
.qnav .pill{min-width:140px}
#triage [role=status]{min-height:1.4em;margin:0 0 10px}
@media(max-width:700px){.qviewport{height:auto;min-height:0;overflow:visible}.qnav .pill{min-width:0;flex:1}}
.qviewport.measuring .q{visibility:hidden;position:relative}
.qviewport.measuring{overflow:hidden}
/* Vast kader op desktop; op smalle schermen groeit de kaart mee zodat er nooit gescrold hoeft te worden */
.qviewport{height:680px}
.qrow{padding:9px 0}
@media(max-width:1000px){.qviewport{height:auto;min-height:0;overflow:visible}}
.admin-table details.anamnese{margin-top:6px;font-size:.8125rem}
.admin-table details.anamnese summary{cursor:pointer;color:var(--accent);font-weight:500}
.admin-table details.anamnese ul{margin:6px 0 0;padding-left:14px;list-style:disc;color:var(--muted);display:grid;gap:2px;min-width:260px}
/* Lichaamskaart: man/vrouw, voor-/achterkant */
#bodymap{display:flex;flex-direction:column;align-items:center;gap:14px}
.figure-tabs{display:flex;gap:10px;flex-wrap:wrap;justify-content:center}
.figure-tabs .filter-tabs{height:40px}
.figure-tabs button{padding:6px 16px;font-size:.8125rem}
.figure-tabs button[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000000d}
.figure-stage{width:100%;max-width:340px}
.figure{width:100%;height:auto;display:block}
.figure[hidden]{display:none}
.figure .head,.figure .neck,.figure .body{fill:#e6e7ec;stroke:#cfd1d8;stroke-width:1.5;stroke-linejoin:round}
.figure .hair{fill:#c6c9d2}
.figure .spine{fill:none;stroke:#cfd1d8;stroke-width:2;stroke-dasharray:3 6;stroke-linecap:round}
.figure .zone{fill:var(--accent);fill-opacity:.14;stroke:var(--accent);stroke-opacity:.35;stroke-width:1.5;cursor:pointer;transition:fill-opacity .2s,stroke-opacity .2s}
.figure .zone:hover,.figure .zone.hover{fill-opacity:.4;stroke-opacity:.8}
.figure .zone.on{fill-opacity:.95;stroke:#fff;stroke-opacity:1;stroke-width:2}
.figure .zone:focus-visible{outline:none;stroke:var(--navy);stroke-opacity:1;stroke-width:3}
.figure-caption{font-size:.9375rem;color:var(--ink);font-weight:500;text-align:center;min-height:1.5em;margin:0}
#bodymap svg{max-height:none}
/* Lichaamskaart: eerst man of vrouw kiezen */
.figure-choice{width:100%;max-width:360px;text-align:center}
.figure-choice h3{font-size:1.3rem;margin-bottom:16px}
.choice-cards{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.choice-cards button{background:#fff;border-radius:22px;padding:18px 12px 14px;display:flex;flex-direction:column;align-items:center;gap:8px;box-shadow:inset 0 0 0 1px var(--grey-2);transition:box-shadow .2s,transform .2s}
.choice-cards button:hover{box-shadow:inset 0 0 0 2px var(--accent);transform:translateY(-2px)}
.choice-cards svg{width:70%;height:auto}
.choice-cards svg .head,.choice-cards svg .neck,.choice-cards svg .body{fill:#e6e7ec;stroke:#cfd1d8;stroke-width:1.5}
.choice-cards svg .hair{fill:#c6c9d2}
.choice-cards b{font-size:1.0625rem}
.figure-wrap{display:flex;flex-direction:column;align-items:center;gap:14px;width:100%}
.figure-wrap[hidden],.figure-choice[hidden]{display:none}
.figure-tabs{display:flex;gap:10px;align-items:center;justify-content:space-between;width:100%;max-width:340px}
.figure-stage .figure[hidden]{display:none!important}
/* Gekozen figuur: compact, ongeveer zo groot als op de keuzekaarten */
.figure-stage{max-width:220px}
.figure-tabs{max-width:360px}
.figure-caption{max-width:360px}
.figure .zone{stroke-width:1.2}
.qrow[hidden]{display:none!important}
/* Pijnplek en uitstraling in rood; wolk vervaagt naar de rand */
:root{--pain:#d9342b}
.figure .zone.on{fill:var(--pain);fill-opacity:.9;stroke:#fff}
.figure .zone.on.hover{fill-opacity:1}
.figure .cloud{pointer-events:none}
.figure .cloud[hidden]{display:none!important}
/* Roodheid volgt de pijnscore: 0 = 70%, 10 = 100% */
.figure .zone.on{fill-opacity:var(--pain-alpha,1)}
.figure .clouds{opacity:var(--pain-alpha,1)}
/* Popup (klachtenwijzer invullen na het inplannen) */
.popup{border:0;border-radius:var(--radius);padding:34px 36px;max-width:520px;width:calc(100% - 2rem);background:#fff;color:var(--ink);box-shadow:0 20px 50px #0003;text-align:left}
.popup::backdrop{background:#00214366;backdrop-filter:blur(2px)}
.popup h2{font-size:1.6rem;margin-bottom:10px}
.popup[open]{animation:dialog-in .2s ease-out}
.advice-gekoppeld{margin:14px 0 0}
/* Paginakop met foto: tekst 2/3, foto 1/3 als achtergrond */
.page-head--photo{padding:48px 0 56px}
.page-head-grid{display:grid;grid-template-columns:2fr 1fr;gap:40px;align-items:stretch}
.page-head-grid h1{max-width:none}
.page-head-photo{border-radius:var(--radius);background-size:cover;background-position:center 30%;min-height:300px;background-color:var(--grey)}
@media(max-width:1000px){.page-head-grid{grid-template-columns:1fr;gap:24px}.page-head-photo{min-height:220px;border-radius:22px}}
/* Contact: rechterblok op gelijke hoogte met de eerste regel links (de witte kaart heeft 36px binnenmarge) */
.wizard--flush .side-card{margin-top:36px}
@media(max-width:1000px){.wizard--flush .side-card{margin-top:0}}
.details .pill{align-self:flex-start}
/* Beheer: therapeutenkaarten, weekrooster en compacte matrix */
.ther-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(360px,1fr));gap:20px;margin-bottom:44px}
.ther-card{background:#fff;border-radius:24px;padding:26px 28px;display:flex;flex-direction:column;gap:10px;box-shadow:0 4px 10px #00000004}
.ther-card header{display:flex;gap:16px;align-items:center;margin-bottom:6px}
.ther-card header img{width:64px;height:64px;border-radius:50%;object-fit:cover;object-position:center top;background:var(--grey)}
.ther-card h3{font-size:1.25rem}
.ther-card header p{font-size:.875rem;color:var(--muted);margin-top:2px}
.ther-card h4{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);font-weight:600;margin-top:10px}
.ther-card .skills{margin:2px 0 0}
.week{display:grid;grid-template-columns:repeat(5,1fr);gap:6px}
.week>div{border-radius:12px;padding:8px 4px;text-align:center;background:var(--grey);min-height:58px;display:flex;flex-direction:column;justify-content:center;gap:2px}
.week b{font-size:.75rem;color:var(--muted)}
.week span{font-size:.6875rem;line-height:1.25;color:var(--ink);font-variant-numeric:tabular-nums}
.week .on{background:var(--accent-soft)}.week .on b{color:var(--accent)}
.week .off span{color:#b7b7bc}
.ther-title{font-size:1.25rem;margin:0 0 14px}
.matrix-wrap{overflow-x:auto;border-radius:20px;background:#fff}
.matrix{border-radius:0}
.matrix td:first-child b{display:block;font-weight:600;font-size:.9375rem}
.matrix td:first-child small{display:block;color:var(--muted);font-size:.75rem;margin-top:2px}
.matrix td{font-size:.9375rem}
.matrix td.no{font-size:.75rem}
@media(max-width:700px){.ther-grid{grid-template-columns:1fr}.week span{font-size:.625rem}}
/* Beheer: agenda (maand/week/dag) */
.cal-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-bottom:16px}
.cal-chips{display:flex;gap:8px;flex-wrap:wrap}
.cal-chips a{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:30px;background:#fff;font-size:.9rem;font-weight:500;box-shadow:inset 0 0 0 1px var(--grey-2)}
.cal-chips a[aria-current=true]{background:var(--ink);color:#fff;box-shadow:none}
.cal-chips i,.dot{display:inline-block;width:10px;height:10px;border-radius:50%;flex-shrink:0}
.dot{margin-right:8px}
.vtab{display:inline-flex;height:100%;align-items:center;padding:8px 20px;border-radius:25px;font-size:.875rem;font-weight:500;color:#1d1d1f99}
.vtab[aria-pressed=true]{background:#fff;color:var(--ink);box-shadow:0 2px 8px #0000000d}
.cal-nav{display:flex;align-items:center;gap:14px;margin-bottom:16px;flex-wrap:wrap}
.cal-nav>div{display:flex;gap:8px}
.cal-nav h2{font-size:1.5rem;margin:0}
.cal-nav .note{margin-left:auto}
.cal-month{background:#fff;border-radius:22px;overflow:hidden}
.cal-mhead,.cal-mgrid{display:grid;grid-template-columns:repeat(7,1fr)}
.cal-mhead span{padding:10px;font-size:.75rem;font-weight:600;color:var(--soft);text-transform:uppercase;letter-spacing:.06em;background:var(--grey);text-align:center}
.cal-cell{min-height:112px;padding:8px;border-top:1px solid var(--grey-2);border-left:1px solid var(--grey-2);display:flex;flex-direction:column;gap:3px;color:var(--ink);min-width:0}
.cal-cell:nth-child(7n+1){border-left:0}
.cal-cell:hover{background:#fafafc}
.cal-cell.other{background:#fbfbfd;color:#b7b7bc}
.cal-cell.weekend{background:#f9f9fb}
.cal-cell.today .cal-num{background:var(--accent);color:#fff}
.cal-num{align-self:flex-start;min-width:26px;height:26px;border-radius:13px;display:grid;place-items:center;font-size:.8125rem;font-weight:600;padding:0 6px}
.cal-chip{font-size:.6875rem;line-height:1.3;padding:3px 7px;border-radius:7px;background:color-mix(in srgb,var(--c) 14%,#fff);border-left:3px solid var(--c);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cal-more{font-size:.6875rem;color:var(--accent);font-weight:600}
.cal-time{display:grid;grid-template-columns:52px 1fr;background:#fff;border-radius:22px;overflow:hidden}
.cal-hours{position:relative}
.cal-hours span{position:absolute;right:8px;font-size:.6875rem;color:var(--soft);transform:translateY(-6px)}
.cal-cols{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.cal-col{border-left:1px solid var(--grey-2);min-width:0}
.cal-colhead{height:46px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:var(--grey);border-bottom:1px solid var(--grey-2)}
.cal-colhead a{display:flex;flex-direction:column;align-items:center}
.cal-colhead b{font-size:.875rem}.cal-colhead small{font-size:.6875rem;color:var(--soft)}
.cal-col.is-dicht .cal-colhead{opacity:.55}
.cal-body{position:relative}
.cal-line{position:absolute;left:0;right:0;height:1px;background:var(--grey-2)}
.cal-off{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,#f3f3f6,#f3f3f6 6px,#ececf0 6px,#ececf0 12px);opacity:.9}
.cal-ev{position:absolute;overflow:hidden;border-radius:8px;padding:3px 6px;font-size:.75rem;line-height:1.25;background:color-mix(in srgb,var(--c) 16%,#fff);border-left:3px solid var(--c);color:var(--ink);box-shadow:0 1px 2px #0000000d}
.cal-ev b{font-variant-numeric:tabular-nums}
.cal-ev small{display:block;color:var(--muted);font-size:.6875rem}
.cal-ev:hover{background:color-mix(in srgb,var(--c) 28%,#fff);z-index:2}
/* Therapeut bewerken */
.ther-edit{margin-top:14px}
.ther-edit summary{cursor:pointer;list-style:none;display:inline-flex}
.ther-edit summary::-webkit-details-marker{display:none}
.ther-edit form{margin-top:14px;display:grid;gap:16px}
.ther-edit fieldset{border:0;background:var(--grey);border-radius:16px;padding:14px 16px}
.ther-edit legend{font-size:.8125rem;font-weight:600;padding:0 6px;color:var(--ink)}
.ther-edit legend small{font-weight:400;color:var(--soft)}
.roster-row{display:grid;grid-template-columns:34px 1fr 1fr;gap:8px;align-items:center;padding:4px 0}
.roster-row b{font-size:.8125rem;color:var(--muted)}
.roster-row span{display:flex;align-items:center;gap:6px;font-size:.8125rem}
.roster-row input[type=time]{padding:7px 8px;border-radius:10px;font-size:.8125rem;width:100%;min-width:0}
.check-row{display:flex;align-items:center;gap:10px;padding:6px 0;font-size:.875rem;cursor:pointer}
.check-row input{width:18px;height:18px;accent-color:var(--accent);flex-shrink:0}
.check-row small{color:var(--soft)}
.skills.soorten li{background:var(--grey);color:var(--ink)}
@media(max-width:700px){.cal-cell{min-height:70px;padding:4px}.cal-chip{display:none}.cal-time{grid-template-columns:38px 1fr}.roster-row{grid-template-columns:30px 1fr}.roster-row span:nth-of-type(2){grid-column:2}}
/* Planner: therapeutkeuze en weekoverzicht */
.pick-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:18px}
.form-card .cal-chips a{background:var(--grey);box-shadow:none}
.form-card .cal-chips a[aria-current=true]{background:var(--ink);color:#fff}
.wk{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}
.wk-day{background:var(--grey);border-radius:16px;padding:10px 8px;display:flex;flex-direction:column;gap:6px;min-width:0}
.wk-day.leeg{opacity:.6}
.wk-head{text-align:center;margin-bottom:2px}
.wk-head b{display:block;font-size:.875rem}.wk-head span{font-size:.75rem;color:var(--soft)}
.wk-slot{display:flex;flex-direction:column;align-items:center;padding:7px 4px;border-radius:10px;background:#fff;font-size:.8125rem;font-weight:600;font-variant-numeric:tabular-nums;box-shadow:inset 0 0 0 1px var(--line);transition:background .15s,color .15s}
.wk-slot small{font-size:.625rem;font-weight:500;color:var(--soft)}
.wk-slot:hover{background:var(--accent);color:#fff;box-shadow:none}.wk-slot:hover small{color:#ffffffcc}
.wk-geen{font-size:.75rem;color:var(--soft);text-align:center;margin:8px 0}
@media(max-width:700px){.wk{grid-template-columns:repeat(5,minmax(62px,1fr));overflow-x:auto;padding-bottom:6px}}
/* Verlof */
.verlof-item{display:flex;flex-direction:column;gap:4px;padding:12px 0;border-top:1px solid var(--grey-2);font-size:.9375rem}
.verlof-item:first-of-type{border-top:0}
.verlof-item small{color:var(--muted);font-size:.8125rem}
input[type=date]{width:100%;color:var(--ink);background:#fff;border:1px solid #b6b6bd;padding:12px 14px;border-radius:12px;outline:0}
/* Beheer: therapeuten toevoegen/uitzetten en verlof */
.ther-add summary{cursor:pointer;list-style:none;display:inline-flex;gap:8px;align-items:center}
.ther-add summary::-webkit-details-marker{display:none}
.ther-card.is-uit{opacity:.72;background:#fafafc}
.ther-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start;margin-top:10px}
.ther-actions form{display:inline-flex;flex-direction:column;gap:8px}
.ther-off summary{cursor:pointer;list-style:none}
.ther-off summary::-webkit-details-marker{display:none}
.ther-off form{margin-top:8px;background:var(--grey);border-radius:14px;padding:12px}
.verlof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px}
.verlof-card{background:#fff;border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;gap:6px}
.verlof-card header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.verlof-card h4{font-size:1.125rem;margin:0}
.verlof-per{font-size:1.0625rem;color:var(--ink);margin:2px 0}
.verlof-per small{color:var(--soft)}
.verlof-beslis{display:grid;gap:10px;margin-top:8px}
.verlof-beslis input{padding:10px 12px;border-radius:12px}
.verlof-matrix td{height:40px;font-size:.75rem}
.verlof-matrix td.v-ok{background:#e6f4ee;color:#15794a;font-weight:600}
.verlof-matrix td.v-wacht{background:#fff3e2;color:#a4631a;font-weight:700}
.verlof-matrix td.v-uit{background:var(--grey)}
.verlof-matrix th,.verlof-matrix td{padding:8px 6px}
.verlof-matrix td:first-child small{display:block;color:#b03a2e;font-size:.6875rem}
.ther-link{margin-top:10px;font-size:.9375rem}
.ther-link a{display:inline-flex;align-items:center;gap:8px;color:var(--accent);font-weight:500}
.ther-link a:hover{text-decoration:underline}
/* Beheer: therapeut-popup */
.ther-dialog{width:min(900px,calc(100% - 2rem));max-height:92vh;padding:0;border:0;border-radius:28px;background:#fff;color:var(--ink);box-shadow:0 30px 80px #00000040;overflow:hidden}
.ther-dialog[open]{display:flex;flex-direction:column;animation:dialog-in .2s ease-out}
.ther-dialog::backdrop{background:#00214366;backdrop-filter:blur(2px)}
.ther-dialog form{display:flex;flex-direction:column;min-height:0;max-height:92vh}
.td-head{display:flex;align-items:center;gap:16px;padding:22px 28px 14px;position:relative}
.td-head img{width:56px;height:56px;border-radius:50%;object-fit:cover;object-position:center top;background:var(--grey)}
.td-head h2{font-size:1.4rem;margin:0}
.td-head p{font-size:.875rem;color:var(--muted);margin:2px 0 0}
.td-head .dialog-close{top:20px;right:22px}
.td-tabs{display:flex;gap:6px;padding:0 28px;border-bottom:1px solid var(--grey-2);overflow-x:auto}
.td-tabs button{padding:12px 16px;font-size:.9375rem;font-weight:500;color:var(--muted);border-bottom:3px solid transparent;margin-bottom:-1px;white-space:nowrap}
.td-tabs button small{font-size:.6875rem;font-weight:600;background:var(--grey);color:var(--soft);padding:2px 7px;border-radius:10px;margin-left:6px}
.td-tabs button[aria-selected=true]{color:var(--accent);border-bottom-color:var(--accent)}
.td-body{padding:22px 28px;overflow:auto;flex:1;min-height:0}
.td-body h3{font-size:.8125rem;text-transform:uppercase;letter-spacing:.08em;color:var(--soft);margin:22px 0 10px;font-weight:600}
.td-body h3:first-of-type{margin-top:6px}
.td-note{font-size:.9375rem;margin-bottom:16px;max-width:640px}
.td-lock{display:flex;gap:10px;align-items:flex-start;background:#fff5e5;color:#7a4b00;border-radius:14px;padding:12px 14px}
.td-lock svg{flex-shrink:0;margin-top:2px}
.td-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 16px}
.td-grid-3{grid-template-columns:repeat(3,1fr)}
.td-grid .text small,.td-field small{color:var(--soft);font-weight:400}
.td-cols{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.td-cols fieldset{border:0;background:var(--grey);border-radius:18px;padding:14px 18px}
.td-cols legend{font-size:.8125rem;font-weight:600;padding:0 6px}
.td-roster{background:var(--grey);border-radius:18px;padding:12px 18px}
.td-field{margin-bottom:20px}
.td-field>b{display:block;font-size:.9375rem}
.td-field>small{display:block;font-size:.8125rem;margin-bottom:8px}
.td-body input[type=file]{padding:9px;font-size:.875rem}
.td-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 28px;border-top:1px solid var(--grey-2);background:#fff}
.rte{border:1px solid #b6b6bd;border-radius:14px;overflow:hidden;background:#fff}
.rte:focus-within{border-color:var(--accent);box-shadow:0 0 0 3px #2f7f8a26}
.rte-bar{display:flex;gap:2px;flex-wrap:wrap;align-items:center;padding:6px 8px;background:var(--grey);border-bottom:1px solid var(--grey-2)}
.rte-bar button{padding:6px 10px;border-radius:8px;font-size:.8125rem;color:var(--ink)}
.rte-bar button:hover{background:#fff}
.rte-sep{width:1px;height:18px;background:var(--line);margin:0 6px}
.rte-area{min-height:130px;max-height:260px;overflow:auto;padding:12px 14px;font-size:.9375rem;line-height:1.55;outline:0}
.rte-area:empty:before{content:attr(data-placeholder);color:var(--soft)}
.rte-area h3,.rich h3{font-size:1.0625rem;text-transform:none;letter-spacing:0;color:var(--ink);margin:12px 0 4px}
.rte-area p,.rich p{margin:0 0 .7em;color:var(--ink);font-size:.9375rem}
.rte-area ul,.rich ul{list-style:disc;padding-left:20px;margin:0 0 .7em}.rte-area ol,.rich ol{list-style:decimal;padding-left:22px;margin:0 0 .7em}
.rte-area a,.rich a{color:var(--accent);text-decoration:underline}
.rich{font-size:.9375rem}.rich p{color:var(--muted)}
.person-body details.opl{margin-top:4px;font-size:.875rem}.person-body details.opl summary{cursor:pointer;color:var(--accent);font-weight:500}
@media(max-width:700px){.td-grid,.td-grid-3,.td-cols{grid-template-columns:1fr}.td-head,.td-body,.td-foot,.td-tabs{padding-left:18px;padding-right:18px}.td-grid-3 .text{grid-column:auto!important}}
/* Rollen: beheer en portaal */
.role-badge{background:var(--ink);color:#fff;padding:4px 10px;border-radius:20px;font-size:.6875rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
.role-badge.portaal{background:var(--accent)}
.who{font-size:.875rem;font-weight:600}.who small{color:var(--soft);font-weight:400;margin-left:4px}
.ww-flash{margin-bottom:18px}.ww-flash code{background:#fff;border-radius:8px;padding:3px 9px;font-size:1rem;font-weight:600;user-select:all}

/* medewerkersportaal */
.portaal-twee{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:40px;align-items:start}
@media (max-width:860px){.portaal-twee{grid-template-columns:1fr}}
.verlof-lijst{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.verlof-lijst li{background:#fff;border-radius:14px;padding:12px 16px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.verlof-lijst li span{color:var(--muted,#6e6e73)}
.ther-foto-rij{display:flex;gap:16px;align-items:center;margin-bottom:14px}
.ther-foto-rij img{border-radius:50%;object-fit:cover}
.form-card .lbl{display:block;font-size:.875rem;font-weight:600;margin:6px 0}
.gegevens{display:grid;grid-template-columns:160px 1fr;gap:8px 16px;margin:0}
.gegevens dt{font-weight:600}.gegevens dd{margin:0}


/* ============ Medisch & Mooi: aanvullingen ============ */
.logo{height:40px}
@media(max-width:700px){.logo{height:34px}}
.footer-sub{display:block;font-size:.8125rem;color:var(--soft)}
.footer-links li a{color:var(--ink)}
.hero-stage img{object-position:center 30%}
.hero-stage .stage-badge .score{display:flex;align-items:center;gap:8px;font-weight:650;font-size:1rem}
.hero-stage .stage-badge .score .stars{color:#e0a93c;letter-spacing:1px;font-size:.9rem}
.hero-split{display:grid;grid-template-columns:1.05fr 1fr;gap:48px;align-items:center;max-width:1280px;margin:0 auto;padding:30px 52px 0;text-align:left}
.hero-split .hero-copy{padding:0;margin:0;max-width:none}
.hero-split .hero h1,.hero-split h1{margin-left:0;max-width:14ch}
.hero-split .hero-intro{margin-left:0}
.hero-split .hero-actions{justify-content:flex-start}
.hero-split .hero-stage{margin:0;border-radius:var(--radius)}
.hero-split .hero-stage img{height:clamp(420px,46vw,640px)}
.hero-proof{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:26px;font-size:.875rem;color:var(--muted)}
.hero-proof span{display:inline-flex;align-items:center;gap:7px}
.hero-proof .i{color:var(--accent)}
@media(max-width:1000px){.hero-split{grid-template-columns:1fr;padding:20px 35px 0;gap:28px}.hero-split .hero-stage img{height:auto;max-height:520px}}
@media(max-width:700px){.hero-split{padding:10px 20px 0}.hero-split .hero-stage{border-radius:22px}}
/* Score-tegels per vestiging */
.score-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.score-tile{background:#fff;border-radius:22px;padding:22px 24px;display:flex;flex-direction:column;gap:6px}
.score-tile b{font-size:2rem;letter-spacing:-.03em;line-height:1}
.score-tile .stars{color:#e0a93c;letter-spacing:2px;font-size:.9rem}
.score-tile small{color:var(--soft);font-size:.8125rem}
.score-tile h3{font-size:1.0625rem}
.thema{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:24px}
.thema ul{display:grid;gap:8px}
.thema li{display:flex;gap:10px;color:var(--muted);font-size:1rem}
.thema li .i{flex-shrink:0;margin-top:3px;color:var(--accent)}
.thema .min li .i{color:#a4631a}
@media(max-width:1000px){.score-grid{grid-template-columns:1fr 1fr}}
@media(max-width:700px){.score-grid,.thema{grid-template-columns:1fr}}
/* Vestigingskaarten */
.loc-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.loc-card{background:#fff;border-radius:25px;overflow:hidden;display:grid;grid-template-columns:200px 1fr;min-height:220px}
.loc-card img{width:100%;height:100%;object-fit:cover;background:var(--grey)}
.loc-body{padding:24px 26px;display:flex;flex-direction:column;gap:8px}
.loc-body h3{font-size:1.375rem}
.loc-body address{font-size:.9375rem;color:var(--muted)}
.loc-body .person-actions{padding-top:10px}
.loc-days{display:flex;gap:4px;margin-top:4px}
.loc-days span{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;font-size:.6875rem;font-weight:600;background:var(--grey);color:#b7aea4}
.loc-days span.on{background:var(--accent-soft);color:var(--accent)}
@media(max-width:1000px){.loc-grid{grid-template-columns:1fr}}
@media(max-width:700px){.loc-card{grid-template-columns:1fr}.loc-card img{height:180px}}
/* Artsenkaart: vestigingen */
.person-locs{display:flex;align-items:center;gap:6px;font-size:.8125rem;color:var(--soft)}
.person h3 a:hover{text-decoration:underline}
/* Behandelkaart: prijs in de voet */
.card-foot>span:first-child{font-weight:600;color:var(--ink)}
.card{color:var(--ink)}
/* Prijsindicatie */
.pc-rows{display:grid;gap:8px}
.pc-rows li{display:flex;justify-content:space-between;gap:12px;font-size:.9375rem;color:#e8e2da;border-bottom:1px solid #ffffff1f;padding-bottom:8px}
.pc-rows li b{white-space:nowrap;color:#fff}
.pc-rows s{color:#b5aba0;font-weight:400;margin-left:6px}
.pc-korting{font-size:.9375rem;color:var(--gold);font-weight:600}
.staffel{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:14px}
.staffel div{background:#fff;border-radius:16px;padding:14px;text-align:center}
.staffel b{display:block;font-size:1.375rem;letter-spacing:-.02em}
.staffel small{color:var(--soft);font-size:.75rem}
.staffel s{color:var(--soft);font-weight:400;font-size:.875rem}
.staffel .hit{box-shadow:inset 0 0 0 2px var(--accent)}
@media(max-width:700px){.staffel{grid-template-columns:1fr 1fr}}
/* Behandelwijzer: gezichtskaart */
.facemap{display:grid;grid-template-columns:minmax(260px,360px) 1fr;gap:48px;align-items:start}
.facemap svg{width:100%;height:auto;max-width:340px;margin:0 auto;display:block}
.facemap .skin{fill:#f1e7dc;stroke:#d8c8b6;stroke-width:1.5}
.facemap .hair{fill:#d9c9b7}
.facemap .line{fill:none;stroke:#c9b7a3;stroke-width:1.4;stroke-linecap:round}
.fz{fill:var(--accent);fill-opacity:.12;stroke:var(--accent);stroke-opacity:.45;stroke-width:1.4;cursor:pointer;transition:fill-opacity .2s}
.fz:hover{fill-opacity:.4}
.fz.on{fill-opacity:.9;stroke:#fff;stroke-opacity:1;stroke-width:2}
.fz:focus-visible{outline:none;stroke:var(--ink);stroke-opacity:1;stroke-width:3}
.face-caption{text-align:center;font-weight:500;margin-top:10px;min-height:1.5em}
.wstep[hidden]{display:none!important}
.wq{margin:0 0 22px}
.wq legend{font-size:1.0625rem;font-weight:600;margin-bottom:10px}
.advice .treats a{display:flex;flex-direction:column;gap:2px;background:var(--accent-soft);border-radius:16px;padding:12px 16px;color:var(--ink)}
.advice .treats a b{color:var(--accent)}
.advice .treats a span{font-size:.8125rem;color:var(--muted)}
.advice .treats{flex-direction:column;align-items:stretch}
.advice dl.res-rows{margin:16px 0}
.advice-tips li{display:flex;gap:10px;color:var(--muted);font-size:.9375rem}
.advice-tips li:before{content:'';width:7px;height:7px;border-radius:50%;background:var(--accent);flex-shrink:0;margin-top:9px}
@media(max-width:1000px){.facemap{grid-template-columns:1fr;gap:28px}.facemap svg{max-width:280px}}
/* Voor/na-vergelijking */
.compare{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/3;background:var(--grey);user-select:none}
.compare img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.compare-after{clip-path:inset(0 0 0 50%)}
.compare input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:ew-resize;margin:0;z-index:3}
.compare-handle{position:absolute;top:0;bottom:0;left:50%;width:2px;background:#fff;z-index:2;pointer-events:none}
.compare-handle:after{content:'⇔';position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px;border-radius:50%;background:#fff;color:var(--ink);display:grid;place-items:center;font-size:1.1rem;box-shadow:0 4px 14px #0000002e}
.compare-label{position:absolute;top:14px;z-index:2;background:#ffffffe6;border-radius:20px;padding:5px 12px;font-size:.75rem;font-weight:600}
.compare-label.l{left:14px}.compare-label.r{right:14px}
.ph-note{font-size:.75rem;color:#7a4b00;background:#fff5e5;border-radius:20px;padding:4px 10px;display:inline-block}
/* Methode */
.methode{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.methode .tile b.n{font-size:2.4rem;letter-spacing:-.04em;color:var(--gold);line-height:1}
.cijfers{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cijfers div{text-align:center;padding:24px 10px}
.cijfers b{display:block;font-size:clamp(2.2rem,4vw,3.4rem);letter-spacing:-.04em;line-height:1;color:var(--ink)}
.cijfers span{font-size:.9375rem;color:var(--muted)}
@media(max-width:1000px){.methode{grid-template-columns:1fr}.cijfers{grid-template-columns:1fr 1fr}}
/* Actiebanner */
.promo{display:flex;align-items:center;justify-content:center;gap:14px;background:var(--accent-soft);color:var(--ink);font-size:.9375rem;padding:11px 20px;text-align:center}
.promo b{color:var(--accent)}
.promo a{text-decoration:underline}
/* Behandelpagina: feiten */
.facts{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.facts div{background:#fff;border-radius:18px;padding:18px 20px}
.facts dt{font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--soft);font-weight:600}
.facts dd{font-size:1rem;color:var(--ink);margin-top:4px;font-weight:500}
@media(max-width:1000px){.facts{grid-template-columns:1fr 1fr}}
.steps-list{display:grid;gap:10px;counter-reset:s}
.steps-list li{display:flex;gap:14px;color:var(--muted);font-size:1rem;counter-increment:s}
.steps-list li:before{content:counter(s);flex-shrink:0;width:28px;height:28px;border-radius:50%;background:var(--accent-soft);color:var(--accent);font-weight:650;font-size:.8125rem;display:grid;place-items:center}
.split-photo img{object-position:center 25%}
.ext-link{font-size:.8125rem}
.nav-cta{background:var(--accent)}
.nav-cta:hover{background:var(--accent-hover)}
.pill.blue{background:var(--accent)}
.pill.blue:hover{background:var(--accent-hover)}
.actionbar .ab-primary{background:var(--accent)}
.final{background:var(--navy)}
.tool-result{background:var(--navy)}
.tile.dark{background:var(--navy)}
.eyebrow{color:var(--accent)}
.stepper li[aria-current=step] b{background:var(--accent)}
.score-tile .stars,.quote .stars,.hero-stage .stage-badge .score .stars{color:#e0a93c}
.facemap .skin{fill:#f3ece4;stroke:#dccfc1}
.facemap .hair{fill:#d9cfc4}
.facemap .line{stroke:#cbbcab}
.methode .tile b.n{color:var(--cyan)}
.promo{background:var(--accent-soft)}
.loc-days span.on{background:var(--accent-soft);color:var(--accent)}
.pc-korting{color:var(--cyan)}
.final .eyebrow,.final p.eyebrow{color:var(--cyan)!important}
/* Navigatie: items nooit afbreken; herofoto in eigen verhouding */
.nav nav a{white-space:nowrap}
@media(max-width:1180px){.nav nav{gap:14px;font-size:.8125rem}}
.hero-split .hero-stage img{height:auto;aspect-ratio:4/3;max-height:640px;object-position:center 30%}
@media(max-width:1000px){.hero-split .hero-stage img{max-height:520px}}
@media(max-width:700px){.promo{font-size:.8125rem;gap:8px;flex-wrap:wrap;line-height:1.35;padding:9px 16px}}

/* ===== Versie 2: herkenning en personalisatie ===== */
.link-btn{color:var(--accent);text-decoration:underline;font-size:inherit;font-weight:500}
.hero-back{margin-top:22px;font-size:.9375rem;color:var(--navy);background:var(--accent-soft);border-radius:16px;padding:12px 16px;display:inline-block}
.hero-back[hidden]{display:none}
.hero-back a{color:var(--accent);font-weight:600;text-decoration:underline}
.stage-score{display:flex;align-items:center;gap:8px;font-weight:650;font-size:1.05rem}
.stage-score .stars{color:#e0a93c;letter-spacing:1px;font-size:.9rem}
/* Herken je dit? */
.mirror-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.mirror-card{background:var(--grey);border-radius:24px;padding:26px;display:flex;flex-direction:column;gap:6px;min-height:210px;border:2px solid transparent;transition:background .2s,box-shadow .2s,transform .2s,border-color .2s}
.mirror-card:hover{background:var(--accent-soft);transform:translateY(-3px)}
.mirror-card.on{background:#fff;border-color:var(--accent);box-shadow:0 10px 30px #163a4514}
.mirror-card .card-icon{background:#fff;margin-bottom:12px}
.mirror-card.on .card-icon{background:var(--accent);color:#fff}
.mirror-card b{font-size:1.3rem;line-height:1.2;letter-spacing:-.02em;color:var(--ink);text-wrap:balance}
.mirror-card small{font-size:1rem;color:var(--muted)}
.mirror-yes{margin-top:auto;padding-top:14px;color:var(--accent);font-weight:600;font-size:.9375rem;display:inline-flex;align-items:center;gap:4px}
.mirror-more{margin-top:28px;font-size:1rem;color:var(--muted)}
.mirror-more a{color:var(--accent);text-decoration:underline}
.reading{margin-top:28px;display:grid;grid-template-columns:1.35fr 1fr;gap:32px;background:#fff;border-radius:var(--radius);box-shadow:0 0 0 1px var(--line),0 24px 60px #163a4512;padding:46px;scroll-margin-top:96px;outline:none}
.reading[hidden]{display:none}
.reading:not([hidden]){animation:readIn .5s ease both}
@keyframes readIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.reading h3{font-size:clamp(1.8rem,3vw,2.6rem);line-height:1.1;letter-spacing:-.03em;margin-bottom:18px;text-wrap:balance}
.reading h3 span{color:var(--soft);display:block}
.reading-text{font-size:1.1875rem;color:var(--ink);line-height:1.6;margin-bottom:24px;max-width:62ch}
.reading h4{font-size:1rem;margin-bottom:10px}
.reading-zie{display:grid;gap:8px;margin-bottom:28px}
.reading-zie li,.recognize li{display:flex;gap:10px;color:var(--muted)}
.reading-zie .i,.recognize .i{color:var(--accent);flex-shrink:0;margin-top:3px}
.reading .hero-actions{justify-content:flex-start;margin-bottom:16px}
.reading-side{background:var(--grey);border-radius:22px;padding:26px;display:flex;flex-direction:column;gap:14px}
.reading-side .treats{display:grid;gap:10px}
.reading-side .treats a{background:#fff;border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:2px;transition:box-shadow .2s}
.reading-side .treats a:hover{box-shadow:0 0 0 2px var(--accent)}
.reading-side .treats b{font-size:1rem}
.reading-side .treats span{font-size:.8125rem;color:var(--muted)}
.reading-quote{margin:auto 0 0;padding-top:18px;border-top:1px solid var(--line)}
.reading-quote p{font-size:.9375rem;color:var(--ink);font-style:italic}
.reading-quote footer{font-size:.8125rem;color:var(--muted);margin-top:8px}
/* Zo gaat het */
.journey{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.journey .n{width:42px;height:42px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center;font-size:1.1rem;margin-bottom:6px}
/* Waarom wij */
.h2-s{font-size:clamp(2rem,3.4vw,3.2rem);margin-bottom:0}
.founder p{font-size:1.25rem;color:var(--ink);line-height:1.45;font-style:italic;max-width:none}
.founder footer{margin-top:10px;font-size:.9375rem;color:var(--muted)}
.m3{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:14px}
.m3 li{display:inline-flex;gap:8px;align-items:center;background:var(--accent-soft);color:var(--navy);border-radius:30px;padding:8px 14px;font-size:.9375rem}
.m3 .i{color:var(--accent)}
.cijfers-s{grid-template-columns:repeat(4,1fr);gap:8px}
.cijfers-s div{text-align:left;padding:6px 0}
.cijfers-s b{font-size:clamp(1.6rem,2.4vw,2.2rem)}
.cijfers-s span{font-size:.8125rem}
/* Sociaal bewijs, prijs, vestigingen */
.score-strip{display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px;margin-top:24px;background:#fff;border-radius:20px;padding:18px 24px;font-size:.9375rem;color:var(--muted)}
.score-strip b{color:var(--ink);font-size:1.1rem;margin-right:3px}
.score-strip a:not(.text-link):hover{color:var(--accent)}
.score-strip .text-link{margin-left:auto;font-size:.9375rem}
.price-band{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.price-band div{background:var(--grey);border-radius:22px;padding:24px;display:flex;flex-direction:column;gap:4px}
.price-band small{font-size:.875rem;color:var(--muted)}
.price-band b{font-size:2.2rem;letter-spacing:-.03em;line-height:1.1}
.price-band span,.price-band s{font-size:.875rem;color:var(--muted)}
.price-band .hit{background:var(--navy);color:#fff}
.price-band .hit small,.price-band .hit span,.price-band .hit s{color:#b9d6da}
.loc-chips{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.loc-chip{background:#fff;border-radius:22px;padding:22px;display:flex;flex-direction:column;gap:10px;transition:box-shadow .2s}
.loc-chip:hover{box-shadow:0 0 0 2px var(--accent)}
.loc-chip b{font-size:1.25rem}
.loc-chip .status-pill{align-self:flex-start;font-size:.8125rem;padding:5px 11px}
.loc-chip small{font-size:.875rem;color:var(--muted)}
/* Artsen: match */
.past-bij{background:var(--accent-soft);border-radius:14px;padding:12px 14px;font-size:.9375rem;color:var(--navy);display:flex;flex-direction:column;gap:3px}
.person-body .past-bij{color:var(--navy)}
.past-bij b{color:var(--accent);font-size:.8125rem}
.past-bij--head{max-width:720px;margin-top:18px;font-size:1.0625rem}
.others{display:flex;flex-wrap:wrap;gap:12px 14px;align-items:center;font-size:1rem}
.others>span{color:var(--muted);margin-right:6px}
.others a:not(.text-link){background:#fff;border-radius:16px;padding:12px 16px;display:flex;flex-direction:column;font-weight:600;transition:box-shadow .2s}
.others a:not(.text-link):hover{box-shadow:0 0 0 2px var(--accent)}
.others a small{font-weight:400;color:var(--muted);font-size:.8125rem}
/* Personalisatie op andere pagina's */
.for-you-note{background:var(--accent-soft);color:var(--navy);border-radius:16px;padding:14px 18px;margin:0 0 22px;font-size:1rem}
.page-head .for-you-note{margin-top:20px;display:inline-block}
.for-you-note[hidden],.for-you-badge[hidden],.cat-intro[hidden]{display:none}
.for-you-badge{display:inline-flex;background:var(--accent-soft);color:var(--navy);border-radius:30px;padding:8px 14px;font-size:.9375rem;font-weight:500;margin-bottom:16px}
.card.for-you{box-shadow:0 0 0 2px var(--accent)}
.card.for-you .card-tag:after{content:' · past bij jouw wens';color:var(--accent);font-weight:600}
.cat-intro{font-size:1.0625rem;margin:-8px 0 22px;max-width:700px}
.recognize{background:var(--accent-soft);border-radius:22px;padding:24px}
.recognize ul{display:grid;gap:8px;margin:10px 0 12px}
.recognize li{color:var(--ink)}
.recognize p{font-size:.9375rem}
.head-score{margin-top:12px;font-size:.9375rem;color:var(--muted);display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.head-score .stars{color:#e0a93c;letter-spacing:1px}
.head-score b{color:var(--ink)}
.head-score a{text-decoration:underline}
.voorwaarden-toggle{margin-top:28px;background:var(--grey);border-radius:18px;padding:16px 20px}
.voorwaarden-toggle summary{cursor:pointer;font-weight:600;display:flex;justify-content:space-between;align-items:center;list-style:none}
.voorwaarden-toggle summary::-webkit-details-marker{display:none}
.voorwaarden-toggle .note{margin-top:10px}
.voorwaarden-toggle ul{display:grid;gap:8px;margin-top:10px}
.voorwaarden-toggle li{display:flex;gap:8px;font-size:.9375rem;color:var(--muted)}
.tile-line{box-shadow:0 0 0 1px var(--line)}
@media(max-width:1000px){.mirror-grid,.journey,.price-band,.loc-chips{grid-template-columns:1fr 1fr}.reading{grid-template-columns:1fr;padding:30px}}
@media(max-width:700px){.mirror-grid,.journey,.price-band,.loc-chips{grid-template-columns:1fr}.mirror-grid{gap:12px}.mirror-card{min-height:0;padding:20px}.reading{padding:22px;gap:18px;border-radius:22px}.score-strip .text-link{margin-left:0}.cijfers-s{grid-template-columns:1fr 1fr}.price-band b{font-size:1.8rem}}

/* ===== Versie 3: route herkennen → aanwijzen → prijs → afspraak ===== */
.route{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin:0 0 26px}
.route-label{font-size:.8125rem;font-weight:600;color:var(--soft);text-transform:uppercase;letter-spacing:.06em}
.route ol{display:flex;gap:6px;flex-wrap:wrap;counter-reset:none}
.route li a{display:inline-flex;align-items:center;gap:8px;padding:7px 14px 7px 7px;border-radius:30px;background:var(--grey);font-size:.875rem;color:var(--muted);transition:background .2s}
.section-grey .route li a{background:#fff}
.route li a:hover{background:var(--accent-soft);color:var(--ink)}
.route li b{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--ink);font-size:.75rem;box-shadow:inset 0 0 0 1px var(--line)}
.route li.done b{background:var(--green);color:#fff;box-shadow:none}
.route li.done a{color:var(--ink)}
.route li[aria-current=step] a{background:var(--navy);color:#fff}
.route li[aria-current=step] b{background:var(--accent);color:#fff;box-shadow:none}
.route-note{background:#fff;border-radius:18px;padding:16px 20px;margin:-18px 0 24px;display:grid;gap:10px;box-shadow:0 0 0 1px var(--line)}
.route-note p{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:1rem;color:var(--ink)}
.route-note .i{color:var(--green)}
.route-note--quiet{display:block;font-size:1rem;color:var(--muted);box-shadow:none;background:transparent;padding:0}
.route-note--quiet a{color:var(--accent);text-decoration:underline}
.route-add span{color:var(--muted);font-size:.9375rem}
.chip{display:inline-flex;align-items:center;gap:5px;background:var(--accent-soft);color:var(--navy);border-radius:30px;padding:6px 12px;font-size:.875rem;font-weight:500}
.chip:hover{background:var(--accent);color:#fff}
.advice-next{margin-top:24px;padding-top:22px;border-top:1px solid var(--grey-2)}
.advice-next .eyebrow{font-size:.875rem;margin-bottom:10px}
.reading .advice-next{margin-top:0;padding-top:0;border:0;margin-bottom:16px}
.facts-link{display:inline-flex;align-items:center;gap:3px;margin-top:6px;font-size:.875rem;color:var(--accent);font-weight:500}
.facts-link:hover{text-decoration:underline}
.facts dd{display:flex;flex-direction:column}
.recognize .text-link{margin-top:8px;font-size:.9375rem}
.route-summary{margin-top:28px;background:var(--accent-soft);border-radius:20px;padding:20px 22px;display:grid;gap:10px}
.route-summary[hidden]{display:none}
.route-summary h3{font-size:1.1rem}
.route-summary ul{display:grid;gap:6px}
.route-summary li{display:flex;justify-content:space-between;gap:16px;font-size:.9375rem;border-bottom:1px solid #2f7f8a22;padding-bottom:6px}
.route-summary li span{color:var(--muted);flex-shrink:0}
.route-summary li b{color:var(--navy);text-align:right;font-weight:600}
.route-summary .check{display:flex;gap:10px;align-items:flex-start;font-size:.9375rem;color:var(--ink)}
.route-summary .check input{margin-top:4px;accent-color:var(--accent)}
.route-summary .note:empty{display:none}
.route-summary .link-btn{justify-self:start;font-size:.875rem}
@media(max-width:700px){.route-label{display:none}.route li a span{display:none}.route li[aria-current=step] a span{display:inline}.route li a{padding:7px}.route li[aria-current=step] a{padding-right:14px}.route-summary li{flex-direction:column;gap:2px}.route-summary li b{text-align:left}}

/* ===== Versie 4: filmische hero (naar Velthuis) en serifkoppen ===== */
:root{--serif:"New York",ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif}
h1,.section-title h2,.final h2,.h2-s,.reading h3{font-family:var(--serif);font-weight:500;letter-spacing:-.02em}
h1 em,h2 em{font-style:italic;font-weight:400}
.hero-film{position:relative;min-height:min(86vh,820px);display:flex;align-items:center;overflow:hidden;background:var(--navy);color:#fff;isolation:isolate}
.hero-film-media{position:absolute;inset:0;z-index:-2}
.hero-film-media video{width:100%;height:100%;object-fit:cover;object-position:60% 40%;display:block}
.hero-film-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,#163a45d9 0%,#163a45a6 28%,#163a4540 50%,#163a4500 66%),linear-gradient(0deg,#163a4559 0%,#163a4500 30%)}
.hero-film-copy{position:relative;width:100%;padding-top:90px;padding-bottom:90px}
.hero-film .eyebrow{color:#cfe6e9;font-size:1rem;margin-bottom:16px}
.hero-film h1{font-size:clamp(3rem,6vw,5.6rem);line-height:1.02;letter-spacing:-.03em;max-width:15ch;margin-bottom:22px;color:#fff;text-wrap:balance}
.hero-film h1 em{display:block}
.hero-film .hero-intro{color:#e4f0f2;font-size:1.25rem;max-width:520px;margin:0 0 30px;text-wrap:pretty}
.hero-film .hero-actions{justify-content:flex-start}
.hero-film .pill.light{box-shadow:none}
.hero-film .text-link{color:#fff}
.hero-score{margin-top:30px;font-size:.9375rem;color:#d6e8eb;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.hero-score .stars{color:#f0c46a;letter-spacing:1px}
.hero-score b{color:#fff}
.hero-film .hero-back{background:#ffffff26;color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.hero-film .hero-back a{color:#fff}
.hero-film-pause{position:absolute;right:28px;bottom:28px;width:44px;height:44px;border-radius:50%;background:#ffffff33;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);display:grid;place-items:center;transition:background .2s}
.hero-film-pause:hover{background:#ffffff55}
.ico-pause{width:12px;height:14px;border-left:4px solid #fff;border-right:4px solid #fff}
.hero-film-pause[aria-pressed=true] .ico-pause{width:0;height:0;border-style:solid;border-width:8px 0 8px 13px;border-color:transparent transparent transparent #fff;margin-left:4px}
@media(max-width:800px){
  .hero-film{display:block;min-height:0}
  .hero-film-media{position:relative;inset:auto;height:min(44svh,380px);z-index:0}
  .hero-film-media video{object-position:58% 35%}
  .hero-film-shade{inset:auto 0 auto 0;top:calc(min(44svh,380px) - 110px);height:111px;background:linear-gradient(0deg,var(--navy) 0%,#163a4500 100%);z-index:1}
  .hero-film-copy{padding-top:4px;padding-bottom:40px;background:var(--navy)}
  .hero-film .eyebrow{font-size:.875rem;margin-bottom:10px}
  .hero-film h1{font-size:clamp(2.4rem,10.5vw,3.3rem);max-width:none}
  .hero-film .hero-intro{font-size:1.0625rem}
  .hero-film-pause{top:14px;bottom:auto;right:14px;width:38px;height:38px;z-index:2}
}
@media(prefers-reduced-motion:reduce){.hero-film-media video{display:none}.hero-film-media{background:url("../media/hero/poster.webp") center/cover}}

/* ===== Versie 5: prijsindicatie met duidelijke selectie en extra's ===== */
.sel-intro{font-size:.9375rem;margin:-12px 0 16px}
.pick-list{display:grid;gap:10px;margin-bottom:18px}
.pick{display:grid;grid-template-columns:28px 1fr auto;align-items:center;gap:14px;background:#fff;border-radius:16px;padding:14px 16px;cursor:pointer;box-shadow:inset 0 0 0 1.5px var(--accent);transition:box-shadow .2s,opacity .2s}
.pick input{position:absolute;opacity:0;width:1px;height:1px}
.pick-check{width:28px;height:28px;border-radius:50%;background:var(--accent);color:#fff;display:grid;place-items:center}
.pick-txt{display:flex;flex-direction:column}
.pick-txt b{font-size:1rem;font-weight:600}
.pick-txt small{font-size:.8125rem;color:var(--muted)}
.pick-act{font-size:.8125rem;color:var(--muted);text-decoration:underline}
.pick-act .off{display:none}
.pick:not(:has(input:checked)){box-shadow:inset 0 0 0 1px var(--line);opacity:.7}
.pick:not(:has(input:checked)) .pick-check{background:var(--grey-2);color:transparent}
.pick:not(:has(input:checked)) .pick-act .on{display:none}
.pick:not(:has(input:checked)) .pick-act .off{display:inline;color:var(--accent)}
.pick:has(input:focus-visible){outline:3px solid var(--accent);outline-offset:2px}
.pick--ml{display:block;cursor:default}
.pick--ml .field{margin:0}
.ml-field span small{display:block;font-weight:400;color:var(--muted);font-size:.8125rem;margin-top:2px}
.extras{border-top:1px solid var(--line);padding-top:6px}
.extras summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 0}
.extras summary::-webkit-details-marker{display:none}
.extras summary span{display:flex;flex-direction:column}
.extras summary b{font-size:1rem}
.extras summary small{font-size:.8125rem;color:var(--muted)}
.extras summary .i{color:var(--accent);transition:transform .2s;flex-shrink:0}
.extras[open] summary .i{transform:rotate(45deg)}
.extras-body{padding-top:8px}
.extras-body .tool-tag{margin-top:8px}
/* Gekozen opties duidelijk, niet zwart */
.choice-group label:has(input:checked){background:var(--accent-soft);color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--accent)}
.choice-group label:has(input:checked)::before{content:'✓';font-weight:700;color:var(--accent)}
.route-add{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-size:.9375rem;color:var(--muted)}

/* ===== Versie 5: rustiger typografie en premium, warme neutrale kleuren =====
   Lettertypen staan in twee variabelen; een webfont (bijv. Cormorant + Jost) is later in één regel te wisselen. */
:root{
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;
  --serif:"New York",ui-serif,"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --grey:#f6f2ec; --grey-2:#ece5dc; --line:#e3dbd1; --ivory:#fbf9f6;
  --gold:#a8865a; --gold-ink:#86683f;
  --muted:#5e6a6e;
}
body{font-family:var(--sans);font-weight:400}
p{line-height:1.65}
h1,h2,.section-title h2,.final h2,.h2-s,.reading h3,.page-head h1{font-family:var(--serif);font-weight:400;letter-spacing:-.012em}
h2,.section-title h2{font-size:clamp(2rem,3.4vw,3.2rem);line-height:1.12}
.page-head h1{font-size:clamp(2.4rem,4.4vw,3.9rem);line-height:1.08;letter-spacing:-.015em}
.hero-film h1{font-weight:400;letter-spacing:-.015em;font-size:clamp(2.8rem,5.2vw,5rem);line-height:1.06}
h3{font-weight:550;letter-spacing:-.01em}
.tile h3,.card>h3{font-size:1.25rem}
.eyebrow{font-family:var(--sans);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.16em;color:var(--gold-ink)}
.hero-film .eyebrow{color:#e9dcc6;font-size:.75rem}
.final .eyebrow{color:#d9c7a7!important}
.section-intro{font-size:1.125rem;line-height:1.65}
.tool-tag{text-transform:uppercase;letter-spacing:.14em;font-size:.6875rem;color:var(--gold-ink)}
.route-label{color:var(--gold-ink)}
.stars,.quote .stars,.score-tile .stars,.head-score .stars{color:var(--gold)!important}
.section-grey{background:var(--grey)}
.section:not(.section-grey){background:#fff}
.mirror-card{background:var(--ivory);box-shadow:inset 0 0 0 1px var(--line)}
.mirror-card:hover{background:#fff}
.promo{background:var(--grey);font-size:.875rem}
.promo b{color:var(--gold-ink);letter-spacing:.08em}
.pill{font-weight:500;letter-spacing:.01em}
.price-band div{background:var(--ivory);box-shadow:inset 0 0 0 1px var(--line)}
.price-band b,.tool-result .big,.score-tile b,.cijfers b{font-family:var(--serif);font-weight:400;letter-spacing:-.01em}
.n,.journey .n{font-family:var(--serif);font-weight:400}
.journey .n{background:transparent;color:var(--gold-ink);box-shadow:inset 0 0 0 1px var(--gold);font-size:1.05rem}
.methode .tile b.n{color:var(--gold)}

/* ===== Versie 5: "Wat past bij mij?" als atelier (naar Savoy, neutrale achtergrond) ===== */
.atelier{display:grid;grid-template-columns:minmax(260px,1fr) minmax(300px,1.15fr) minmax(220px,.8fr);gap:28px;align-items:center;position:relative;border-radius:32px;padding:44px 40px;background:radial-gradient(120% 90% at 55% 40%,#ffffff 0%,#f7f2ec 45%,#ece4da 100%);box-shadow:inset 0 0 0 1px #e8e0d6;overflow:hidden}
.atelier[hidden]{display:none}
.atelier-kicker{font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:14px}
.atelier-card{align-self:stretch;display:flex;flex-direction:column;justify-content:center;background:#ffffff8c;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid #ffffffd9;border-radius:24px;padding:34px 30px;box-shadow:0 18px 50px #5a46301a}
.atelier-card h2{font-size:clamp(1.9rem,2.8vw,2.6rem);line-height:1.1;margin-bottom:12px}
.atelier-card p{font-size:1rem}
.atelier-wensen{display:grid;gap:8px;margin:14px 0 22px}
.atelier-wensen li{position:relative;padding-left:20px;font-size:.9375rem;color:var(--ink)}
.atelier-wensen li::before{content:'';position:absolute;left:0;top:.6em;width:8px;height:1px;background:var(--gold)}
.atelier-card .pill{align-self:flex-start}
.atelier-note{margin-top:18px;font-size:.75rem!important;color:var(--soft)!important}
.atelier-figure{margin:0;position:relative}
.atelier-figure svg{width:100%;max-width:420px;margin:auto;display:block;filter:drop-shadow(0 24px 30px #5a46301f)}
.atelier-figure .body{fill:url(#porselein);stroke:#d9cfc3;stroke-width:1}
.atelier-figure .hair{fill:#e9e1d7;stroke:#d9cfc3;stroke-width:1}
.atelier-figure .lijn path{fill:none;stroke:#b9aa98;stroke-width:1.4;stroke-linecap:round}
.atelier-figure .lijn .lip{fill:#ecd9cf;stroke:#c9b3a5}
.atelier-figure .fz,.atelier-figure .fz *{fill:url(#gloed);opacity:0;transition:opacity .35s;cursor:pointer;pointer-events:all}
.atelier-figure .fz{opacity:1}
.atelier-figure .fz:not(g){opacity:0}
.atelier-figure .fz.hover:not(g),.atelier-figure g.fz.hover *{opacity:.55}
.atelier-figure .fz.on:not(g),.atelier-figure g.fz.on *{opacity:1;animation:gloei 2.6s ease-in-out infinite}
@keyframes gloei{0%,100%{opacity:.75}50%{opacity:1}}
.atelier-figure .zones{pointer-events:all}
.atelier-list{display:grid;gap:8px}
.atelier-list button{width:100%;display:flex;align-items:center;gap:14px;padding:12px 16px;border-radius:14px;background:#ffffff8c;border:1px solid #ffffffcc;text-align:left;transition:background .2s,box-shadow .2s,transform .2s}
.atelier-list button:hover{background:#fff;transform:translateX(-3px)}
.atelier-list .nr{font-size:.6875rem;letter-spacing:.16em;color:var(--gold-ink);font-variant-numeric:tabular-nums}
.atelier-list .nm{font-family:var(--serif);font-size:1.15rem;color:var(--ink)}
.atelier-list button[aria-pressed=true]{background:var(--navy);border-color:var(--navy);box-shadow:0 10px 24px #163a4533}
.atelier-list button[aria-pressed=true] .nm{color:#fff}
.atelier-list button[aria-pressed=true] .nr{color:#d9c7a7}
@media(max-width:1100px){.atelier{grid-template-columns:1fr 1fr;padding:32px 28px}.atelier-card{grid-column:1/-1;order:3}.atelier-figure{order:1}.atelier-kies{order:2}}
@media(max-width:700px){.atelier{grid-template-columns:1fr;padding:22px 16px;gap:16px;border-radius:24px}.atelier-figure svg{max-width:260px}.atelier-list{grid-template-columns:1fr 1fr;gap:6px}.atelier-list button{padding:10px 12px;gap:8px}.atelier-list .nm{font-size:1rem}.atelier-card{padding:24px 20px}}
@media(prefers-reduced-motion:reduce){.atelier-figure .fz.on:not(g),.atelier-figure g.fz.on *{animation:none}}

/* Behandelingen per probleem */
.filter-kop{font-size:.6875rem;font-weight:600;letter-spacing:.2em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:12px}
.wens-filter{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:26px}
.wens-filter button{display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;border-radius:16px;padding:14px 16px;box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .2s,background .2s}
.wens-filter button:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.wens-filter b{font-family:var(--serif);font-weight:400;font-size:1.1rem;color:var(--ink)}
.wens-filter small{font-size:.8125rem;color:var(--muted);line-height:1.4}
.wens-filter button[aria-selected=true]{background:var(--navy);box-shadow:none}
.wens-filter button[aria-selected=true] b{color:#fff}
.wens-filter button[aria-selected=true] small{color:#c9dfe2}
.filter-sub{font-size:.8125rem;color:var(--muted);margin-right:4px;align-self:center}
@media(max-width:1000px){.wens-filter{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.wens-filter{grid-template-columns:1fr}.filter-sub{width:100%}}

/* Altijd binnen handbereik: afspraak en WhatsApp (desktop) */
.float-cta{position:fixed;right:24px;bottom:24px;z-index:45;display:flex;gap:10px;align-items:center}
.float-cta a{display:inline-flex;align-items:center;gap:10px;border-radius:30px;font-weight:500;box-shadow:0 10px 30px #163a4533;transition:transform .2s}
.float-cta a:hover{transform:translateY(-2px)}
.float-cta .fc-book{background:var(--accent);color:#fff;padding:13px 20px}
.float-cta .fc-wa{background:#fff;color:#128c5e;width:48px;height:48px;justify-content:center}
.float-cta.is-hidden{opacity:0;pointer-events:none;transform:translateY(10px)}
.float-cta{transition:opacity .3s,transform .3s}
@media(max-width:1000px){.float-cta{display:none}}

.section-grey .tool-inputs{background:#fff;box-shadow:0 0 0 1px var(--line)}

/* ===== Versie 6: Cormorant Garamond (koppen) en Jost (tekst) ===== */
:root{--serif:'Cormorant Garamond',"Iowan Old Style",Georgia,serif;--sans:'Jost',-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif}
body{font-family:var(--sans);font-weight:400;letter-spacing:.005em}
p{font-size:1.0625rem;line-height:1.7}
h1,h2,.section-title h2,.final h2,.h2-s,.reading h3,.page-head h1,.atelier-card h2{font-family:var(--serif);font-weight:500;letter-spacing:-.005em}
h2,.section-title h2{font-size:clamp(2.3rem,3.9vw,3.7rem);line-height:1.06}
.page-head h1{font-size:clamp(2.7rem,5vw,4.5rem);line-height:1.02}
.hero-film h1{font-size:clamp(3.1rem,5.9vw,5.8rem);line-height:1}
.hero-film h1 em,h1 em,h2 em{font-weight:400}
.atelier-card h2{font-size:clamp(2.2rem,3.2vw,3rem);line-height:1.02}
.reading h3{font-size:clamp(2.1rem,3.4vw,3rem);line-height:1.04}
h3,.tile h3,.card>h3,.person-body h3{font-family:var(--sans);font-weight:500;letter-spacing:0}
.nav nav,.pill,.text-link,.nav-cta{font-family:var(--sans)}
.pill{font-weight:500;letter-spacing:.02em}
.eyebrow,.tool-tag,.filter-kop,.atelier-kicker,.route-label{font-family:var(--sans);font-weight:500;letter-spacing:.2em}
.price-band b,.tool-result .big,.score-tile b,.cijfers b{font-family:var(--serif);font-weight:500}
.tool-result .big{font-size:clamp(3rem,5vw,4.6rem)}
.atelier-list .nm,.wens-filter b{font-family:var(--serif);font-weight:500;font-size:1.3rem}
.founder p{font-family:var(--serif);font-size:1.6rem;line-height:1.35;font-style:italic;font-weight:400}
.reading-text{font-size:1.1875rem;line-height:1.7}
.hero-film .hero-intro{font-weight:300;font-size:1.3rem;line-height:1.6}
.section-intro,.page-head .lead{font-weight:300;font-size:1.2rem;line-height:1.7}
.quote p{font-family:var(--serif);font-size:1.25rem;line-height:1.45;font-weight:400}
.mirror-card b{font-family:var(--serif);font-weight:500;font-size:1.6rem;line-height:1.1;letter-spacing:0}
.mirror-card small{font-weight:300}
.pick-txt b,.reading-side .treats b{font-weight:500}
b,strong{font-weight:600}

/* ===== Versie 7: meerdere wensen en intakevragen in "Wat past bij mij?" ===== */
.wens-opties .option{grid-template-columns:26px 1fr;align-items:start;gap:14px}
.wens-opties .option input{position:absolute;opacity:0;width:1px;height:1px}
.opt-check{width:24px;height:24px;border-radius:7px;box-shadow:inset 0 0 0 1.5px var(--line);background:#fff;margin-top:2px;display:grid;place-items:center;transition:background .2s,box-shadow .2s}
.option:has(input:checked) .opt-check{background:var(--accent);box-shadow:none}
.option:has(input:checked) .opt-check::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}
.intake{margin-top:30px;padding-top:24px;border-top:1px solid var(--line);display:grid;gap:4px}
.intake-kop{font-family:var(--serif);font-size:1.5rem;color:var(--ink);margin-bottom:12px;line-height:1.2}
.intake-kop small{display:block;font-family:var(--sans);font-size:.875rem;color:var(--muted);margin-top:4px}
.intake .choice-group{margin-bottom:18px}
.intake .choice-group[hidden]{display:none}
.intake .choice-group legend{font-weight:500;font-size:1rem;margin-bottom:10px}
.intake .choice-group legend small{font-weight:400;color:var(--muted);font-size:.8125rem;margin-left:6px}
.wq-hint{width:100%;font-size:.8125rem!important;color:var(--muted);margin:-4px 0 4px}
.form-card .choice-group label{background:var(--ivory);box-shadow:inset 0 0 0 1px var(--line);padding:10px 16px}
.form-card .choice-group label:hover{box-shadow:inset 0 0 0 1px var(--gold)}
.form-card .choice-group label:has(input:checked){background:var(--accent-soft);color:var(--navy);box-shadow:inset 0 0 0 1.5px var(--accent)}
.advice-warn{display:grid;gap:8px;margin:0 0 20px}
.advice-warn li{display:flex;gap:10px;background:#fbf1e4;border-radius:14px;padding:12px 14px;font-size:.9375rem;color:#6b4513;line-height:1.5}
.advice-warn li::before{content:'!';flex-shrink:0;width:20px;height:20px;border-radius:50%;background:#b7791f;color:#fff;font-weight:700;font-size:.75rem;display:grid;place-items:center;margin-top:1px}

/* ============ v8: partnerprogramma (beheer) ============ */
.partner-intro{max-width:820px;margin-bottom:16px;display:grid;gap:8px}
.partner-nieuw{padding:0;overflow:hidden}
.partner-nieuw summary{cursor:pointer;padding:18px 24px;font-weight:500;list-style-position:inside}
.partner-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:14px 18px;padding:0 24px 24px;align-items:end}
.partner-form label.text{margin:0}
.partner-form button{justify-self:start}
.partner-table td.num,.partner-table th.num{white-space:nowrap;font-variant-numeric:tabular-nums}
.partner-table tr.uit td{color:var(--soft)}
.partner-table tr.uit .qr-mini{opacity:.35}
.partner-table tfoot th{background:var(--grey);color:var(--ink);font-size:.85rem;text-transform:none;letter-spacing:0}
.partner-notitie{display:inline-block;margin-top:4px;color:var(--soft)}
.qr-mini{width:76px;height:76px;margin-bottom:6px}
.qr-mini svg,.qr-box svg{display:block;width:100%;height:100%}

/* printpagina: A4 staand */
body.qr-print{background:#ece7e0;margin:0;font-family:var(--sans)}
.qr-toolbar{max-width:210mm;margin:0 auto;padding:18px 0;display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.qr-sheet{width:210mm;min-height:297mm;box-sizing:border-box;margin:0 auto 40px;background:#fff;padding:16mm 16mm 12mm;color:#2a2420}
.qr-head{display:flex;justify-content:space-between;align-items:center;gap:12px;padding-bottom:8mm;border-bottom:1px solid var(--line)}
.qr-head img{width:52mm;height:auto}
.qr-head span{font-size:11pt;color:#6b5f57}
.qr-groot{display:grid;grid-template-columns:70mm 1fr;gap:10mm;align-items:center;padding:12mm 0}
.qr-groot .qr-box{width:70mm;height:70mm}
.qr-kicker{font-size:9pt;letter-spacing:.18em;text-transform:uppercase;color:var(--gold-ink);font-weight:500;margin:0 0 3mm}
.qr-groot h1{font-family:var(--serif);font-weight:500;font-size:26pt;line-height:1.1;margin:0 0 4mm;letter-spacing:0}
.qr-groot p{font-size:11pt;line-height:1.5;margin:0 0 3mm}
.qr-url{font-size:10pt!important;color:#6b5f57;word-break:break-all}
.qr-knip{font-size:9pt;letter-spacing:.14em;text-transform:uppercase;color:#6b5f57;margin:0 0 4mm;padding-top:6mm;border-top:1px dashed #c9b9a3}
.qr-kaartjes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.qr-kaart{display:flex;gap:5mm;align-items:center;padding:5mm;border:1px dashed #c9b9a3;margin:-.5px}
.qr-kaart .qr-box{width:30mm;height:30mm;flex:none}
.qr-kaart b{display:block;font-family:var(--serif);font-weight:500;font-size:14pt;line-height:1.15;margin-bottom:2mm}
.qr-kaart span{font-size:9pt;color:#6b5f57}
@media (max-width:820px){.qr-toolbar{padding:14px 16px}.qr-sheet{width:auto;min-height:0;margin:0 16px 30px;padding:20px}.qr-groot{grid-template-columns:1fr}.qr-kaartjes{grid-template-columns:1fr}}
@media print{
  @page{size:A4;margin:0}
  body.qr-print{background:#fff}
  .qr-toolbar{display:none}
  .qr-sheet{margin:0;width:210mm;min-height:0;height:297mm;overflow:hidden}
  *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
}

/* Inloggen: patiëntportaal en medewerkersomgeving van de dossiersoftware */
.nav-login{position:relative}
.nav-login summary{list-style:none;cursor:pointer;display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
.nav-login summary::-webkit-details-marker{display:none}
.nav-login[open] summary{color:var(--accent)}
.nav-login-menu{position:absolute;right:0;top:calc(100% + 14px);width:320px;max-width:calc(100vw - 32px);background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 18px 40px rgba(0,0,0,.10);padding:8px;z-index:60;display:grid;gap:2px}
.nav-login-menu a,.nav nav .nav-login-menu a{display:grid;gap:2px;padding:11px 14px;border-radius:11px;white-space:normal;color:var(--ink)}
.nav-login-menu a:hover{background:#f5f5f7}
.nav-login-menu b{font-weight:600}
.nav-login-menu span{font-size:.8rem;color:#6e6e73;line-height:1.35}
@media(max-width:1000px){
  .nav-login-menu{position:static;width:auto;box-shadow:none;border:0;padding:6px 0 0}
  .nav-login-menu a{padding:9px 0}
}

/* Bevestiging van een aanvraag via de koppeling met het dossier */
.narrow-720{max-width:720px}
.form-card.center{text-align:center}
.klaar-kop{font-size:2.2rem;letter-spacing:-.03em;margin-bottom:10px}
.res-rows.left{text-align:left;margin:26px 0}

/* v9: zekerheden als rustige rij onder "Zo gaat het" (vervangt de pillen onder de hero) */
.zeker{display:grid;grid-template-columns:repeat(4,1fr);margin-top:40px;background:#fff;border-radius:22px;box-shadow:0 4px 10px #00000004}
.zeker li{display:flex;gap:14px;align-items:flex-start;padding:26px 24px}
.zeker li+li{border-left:1px solid var(--line)}
.zeker .glyph{width:26px;height:26px;flex-shrink:0;color:var(--gold-ink);margin-top:2px}
.zeker b{display:block;font-weight:500;color:var(--ink);line-height:1.3}
.zeker span{display:block;margin-top:4px;font-size:.875rem;line-height:1.45;color:var(--muted)}
@media(max-width:1000px){.zeker{grid-template-columns:1fr 1fr}.zeker li:nth-child(3){border-left:0}.zeker li:nth-child(n+3){border-top:1px solid var(--line)}}
@media(max-width:700px){.zeker{grid-template-columns:1fr}.zeker li{padding:20px}.zeker li+li{border-left:0;border-top:1px solid var(--line)}}

/* Voormalige inline stijlen, omgezet voor de strikte CSP (geen style-attributen). Zelfde voorrang als inline: !important. */
.st-dfb216{align-items:start !important}
.st-c9adc4{align-self:flex-start !important}
.st-f7dfe9{background:#bfe6d1 !important}
.st-8abdc6{background:#f0c3bd !important}
.st-5a7878{background:#f3d6a8 !important}
.st-ef9570{background:var(--grey-2) !important}
.st-fddafc{color:#15794a !important}
.st-729d2f{color:#fff !important}
.st-15434a{color:var(--cyan) !important}
.st-789157{color:var(--ink) !important}
.st-2a1b75{display:block !important}
.st-9ffad0{display:flex !important;align-items:center !important;gap:16px !important}
.st-289da0{display:flex !important;gap:10px !important;color:var(--muted) !important;font-size:1rem !important}
.st-6002dd{display:flex !important;gap:10px !important;flex-wrap:wrap !important}
.st-9aa121{display:grid !important;gap:10px !important}
.st-6788b4{display:grid !important;gap:12px !important}
.st-876b84{flex-basis:100% !important;margin:0 !important}
.st-109590{flex-direction:row !important;align-items:center !important;gap:16px !important;padding:18px 22px !important;background:var(--grey) !important}
.st-fd1d97{font-size:.875rem !important;color:var(--muted) !important}
.st-95df98{font-size:.9375rem !important}
.st-fe3b30{font-size:.9375rem !important;color:var(--muted) !important}
.st-bea3ad{font-size:1.4rem !important}
.st-44c1f7{font-size:1.6rem !important;margin-bottom:6px !important}
.st-469d1e{font-size:1.9rem !important;margin-bottom:8px !important}
.st-f7b5a6{font-size:1rem !important;color:var(--soft) !important}
.st-13ff24{font-size:1rem !important;margin-bottom:8px !important}
.st-615cca{font-size:1rem !important;margin:14px 0 8px !important}
.st-4de94d{font-size:2.2rem !important;letter-spacing:-.03em !important;margin-bottom:10px !important}
.st-cc6e6e{font-size:2.2rem !important;letter-spacing:-.03em !important;margin-bottom:18px !important}
.st-6384e3{grid-template-columns:1fr !important}
.st-893dde{grid-template-columns:repeat(2,1fr) !important}
.st-cec02f{grid-template-columns:repeat(6,1fr) !important}
.st-557e64{grid-template-columns:repeat(6,minmax(0,1fr)) !important}
.st-59a5a8{justify-content:flex-start !important}
.st-e8b254{justify-content:flex-start !important;margin-top:14px !important}
.st-44294a{justify-content:flex-start !important;margin-top:26px !important}
.st-a173bb{justify-content:flex-start !important;margin-top:28px !important}
.st-e9b393{list-style:decimal !important;padding-left:22px !important;color:var(--muted) !important}
.st-87c136{margin-bottom:16px !important}
.st-905d8b{margin-bottom:18px !important}
.st-13f24e{margin-bottom:22px !important}
.st-ba3f51{margin-bottom:22px !important;max-width:760px !important}
.st-fdf33f{margin-bottom:8px !important}
.st-d2c171{margin-top:10px !important}
.st-56f435{margin-top:12px !important}
.st-d6f2af{margin-top:14px !important}
.st-e068af{margin-top:14px !important;font-size:1.1rem !important}
.st-1b0f49{margin-top:16px !important}
.st-86de7a{margin-top:18px !important}
.st-2517a5{margin-top:22px !important}
.st-163ffd{margin-top:22px !important;display:flex !important;gap:24px !important;flex-wrap:wrap !important}
.st-49fcd8{margin-top:24px !important}
.st-eea880{margin-top:34px !important}
.st-fe7b49{margin-top:6px !important}
.st-8a77e5{margin-top:8px !important}
.st-b60259{margin:-10px 0 20px !important}
.st-b5d1ae{margin:34px 0 12px !important;font-size:1.1rem !important}
.st-83626d{max-width:440px !important;margin:40px auto !important}
.st-b12974{max-width:720px !important}
.st-ab75e4{min-height:70vh !important;padding-top:40px !important}
.st-c63944{padding-bottom:20px !important}
.st-dbd6bd{padding-top:30px !important}
.st-6c0243{padding-top:40px !important}
.st-0b1435{padding-top:4px !important}
.st-48a43d{padding:3px 10px !important;font-size:.75rem !important}
.st-74f69a{padding:60px 0 !important}
.st-91a870{text-align:center !important}
.st-6be0d8{text-align:left !important}
.st-53f66d{text-align:left !important;margin:0 0 20px !important}
.st-1ad463{text-align:left !important;margin:26px 0 !important}
.st-36ec74{text-decoration:underline !important}
.st-0de2ec{text-decoration:underline !important;color:var(--ink) !important}
.st-22f980{top:0 !important;height:100% !important}
[data-verborgen]{visibility:hidden !important}
[data-eerst]{order:-1}
[data-wit]{color:#fff !important}
.page-head-photo--spiegel{background-image:url('../media/kliniek-spiegel.webp')}

/* v10: Alegreya Sans voor tekst. Humanistisch met een kalligrafische hand, dus familie van de Cormorant-koppen.
   Het lettertype valt klein uit: tekst een maat groter, nergens meer 300, en iets donkerder grijs voor rust en leesbaarheid. */
:root{--sans:'Alegreya Sans',-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif;--muted:#4d5a5f}
body{font-family:var(--sans);letter-spacing:0}
p{font-size:1.1875rem;line-height:1.6}
.note{font-size:.9375rem}
.hero-film .hero-intro{font-weight:400;font-size:1.4rem;line-height:1.5}
.section-intro,.page-head .lead{font-weight:400;font-size:1.3125rem;line-height:1.6}
.mirror-card small{font-weight:400;font-size:1.0625rem}
.nav nav{font-size:1.0625rem}
.pill{font-size:1.0625rem;letter-spacing:.01em}
.text-link{font-size:1.125rem}
.eyebrow,.tool-tag,.filter-kop,.atelier-kicker,.route-label{font-size:.8125rem;letter-spacing:.16em}
h3,.tile h3,.card>h3,.person-body h3{font-size:1.5rem;line-height:1.2}
li,dd,dt,td,th,label,small,address{font-family:var(--sans)}

/* v10: artsenkliniek of budgetketen */
.verschil{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:64px;align-items:start}
.verschil-kop h2{margin-bottom:0}
.verschil-igj{margin-top:28px;padding:18px 22px;border-left:2px solid var(--gold);background:#fbf9f6;font-size:1.0625rem;color:var(--ink)}
.verschil-igj .text-link{margin-top:6px;font-size:1rem}
.verschil-lijst{background:#fff;border-radius:22px;box-shadow:0 0 0 1px var(--line);padding:6px 28px}
.verschil-lijst div{display:grid;grid-template-columns:180px 1fr;gap:20px;padding:20px 0;border-top:1px solid var(--line)}
.verschil-lijst div:first-child{border-top:0}
.verschil-lijst dt{display:flex;align-items:center;gap:12px;font-weight:500;color:var(--ink);font-size:1.125rem}
.verschil-lijst dt .glyph{width:24px;height:24px;color:var(--gold-ink);flex-shrink:0}
.verschil-lijst dd{margin:0;color:var(--muted);font-size:1.0625rem;line-height:1.55}
@media(max-width:1000px){.verschil{grid-template-columns:1fr;gap:32px}}
@media(max-width:600px){.verschil-lijst{padding:2px 20px}.verschil-lijst div{grid-template-columns:1fr;gap:6px;padding:16px 0}}
.person-big{font-size:.9375rem;margin-top:4px}
.person-big a{color:var(--accent)}
.person-big a:hover{text-decoration:underline}
.ymyl{margin-top:14px}
.ymyl a{color:var(--accent)}

/* v10: "In het kort" op vestigingspagina's (antwoordblok voor zoekmachines en AI) */
.kort{background:var(--grey);border-radius:22px;padding:30px 34px;margin-bottom:80px}
.kort h2{margin-bottom:14px}
.kort dl{display:grid;gap:0}
.kort dl div{display:grid;grid-template-columns:140px 1fr;gap:16px;padding:12px 0;border-top:1px solid var(--line)}
.kort dt{font-weight:500;color:var(--ink)}
.kort dd{margin:0;color:var(--muted)}
@media(max-width:600px){.kort{padding:22px 20px;margin-bottom:56px}.kort dl div{grid-template-columns:1fr;gap:2px}}

/* v10: afspraak — minder keuzes in beeld, de rest onder "Meer" */
.meer-opties{margin-top:12px;border-radius:16px;box-shadow:inset 0 0 0 1px var(--line);background:#fff}
.meer-opties>summary{list-style:none;cursor:pointer;padding:16px 20px;font-weight:500;color:var(--accent);display:flex;flex-direction:column;gap:2px}
.meer-opties>summary::-webkit-details-marker{display:none}
.meer-opties>summary::after{content:'+';position:absolute;right:20px;font-size:1.4rem;line-height:1;color:var(--soft)}
.meer-opties{position:relative}
.meer-opties[open]>summary::after{content:'–'}
.meer-opties>summary small{font-weight:400;color:var(--muted);font-size:.9375rem}
.meer-opties>.option-grid{padding:0 12px 12px}
.article .bronnen{margin-top:26px;padding-top:18px;border-top:1px solid var(--line)}
.article .bronnen h2{font-family:var(--sans);font-size:.8125rem;font-weight:500;letter-spacing:.16em;text-transform:uppercase;color:var(--gold-ink);margin-bottom:8px}
.article .bronnen li{font-size:1rem;padding:3px 0}
.article .bronnen a{color:var(--accent)}
.article .bronnen a:hover{text-decoration:underline}
@media(max-width:600px){
  .option:has(input[name=soort]) small{display:none}
  .option:has(input[name=soort]:checked) small{display:block}
  .wizard .step{margin-top:28px}
}
.inline-form{display:inline-block;margin:0 4px 4px 0}
