/* Traplifts tools — alleen tool-specifieke opmaak. Kleuren, maten, vormen en focus komen uit tokens.css (thema, inline in <head>);
   gedeelde componenten (knop .tlx-btn, kaart .tlx-card, meldingen, badges .tlx-pill/.tlx-ev, velden, tabellen, kicker) staan in base.css.
   Ziel: de opgaande trede (voortgang), amber voor de ene volgende stap, blauw voor vertrouwen, groen alleen voor 'klaar/goed'. Merkboek: docs/merk/merkboek.md */
.tlx{max-width:44rem;margin:var(--tl-s-6) auto;font-size:var(--tl-fs-md);line-height:1.55;color:var(--tl-ink)}
.tlx *{box-sizing:border-box}
.tlx-calc,.tlx-offerte,.tlx-contact,.tlx-studies,.tlx-stats,.tlx-tracker,.tlx-index{max-width:48rem}
.prose .tlx{margin-left:0}
/* Trapvoortgang: de trap als voortgangsbalk (merk-signatuur) */
.tlx-stairs{display:flex;align-items:flex-end;gap:.9rem;margin:0 0 var(--tl-s-5)}
.tlx-stairs__bars{display:flex;align-items:flex-end;gap:4px;flex:1;height:44px;max-width:22rem}
.tlx-stairs__bars i{flex:1;background:var(--tl-line);border-radius:3px 3px 0 0;transition:background var(--tl-dur-slow)}
.tlx-stairs__bars i.is-past{background:var(--tl-primary)}.tlx-stairs__bars i.is-now{background:var(--tl-accent)}.tlx-stairs__bars i.is-done{background:var(--tl-secondary)}
.tlx-stairs__text{font-size:var(--tl-fs-sm);color:var(--tl-muted);min-width:0;overflow-wrap:anywhere}
/* Vraag en keuzes */
.tlx fieldset{border:0;margin:0;padding:0;min-width:0}.tlx legend{padding:0;float:left;width:100%}.tlx legend~*{clear:both}
.tlx-q,.tlx-result__title{font-family:var(--tl-serif);font-weight:600;font-size:var(--tl-fs-q);line-height:1.15;color:var(--tl-primary-ink);margin:0 0 .35rem}
.tlx-result__title{margin:.35rem 0 .75rem}
.tlx-help-text,.tlx-hint{color:var(--tl-muted);margin:0 0 var(--tl-s-4);font-size:1.05rem}
.tlx-choices{display:grid;gap:var(--tl-s-3);margin:var(--tl-s-2) 0 var(--tl-s-4)}
.tlx-choice{display:flex;align-items:center;gap:var(--tl-s-4);width:100%;min-height:72px;padding:var(--tl-s-4) 1.1rem;background:var(--tl-white);border:var(--tl-border) solid var(--tl-line);border-radius:var(--tl-radius-lg);font:inherit;color:inherit;text-align:left;cursor:pointer;box-shadow:var(--tl-shadow-sm);transition:border-color var(--tl-dur),background var(--tl-dur),transform .08s}
.tlx-choice:hover{border-color:var(--tl-primary)}.tlx-choice:active{transform:translateY(1px)}
.tlx-choice.is-selected{border-color:var(--tl-primary);background:var(--tl-tint)}
.tlx-choice__radio{flex:none;width:28px;height:28px;border-radius:50%;border:var(--tl-border) solid var(--tl-primary)}.tlx-choice.is-selected .tlx-choice__radio{background:radial-gradient(var(--tl-primary) 45%,var(--tl-white) 50%)}
.tlx-choice__icon{flex:none;width:52px;height:52px;border-radius:var(--tl-radius);background:var(--tl-tint);display:grid;place-items:center}
.tlx-choice__icon svg{width:36px;height:36px;fill:none;stroke:var(--tl-primary);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round}
.tlx-choice__label{display:block;font-weight:700;font-size:var(--tl-fs-lg)}.tlx-choice__sub{display:block;color:var(--tl-muted);font-size:var(--tl-fs-base);margin-top:.1rem}
@media (min-width:48rem){.tlx-kh .tlx-step[data-q="2"] .tlx-choices,.tlx-kh .tlx-step[data-q="5"] .tlx-choices,.tlx-kh .tlx-step[data-q="7"] .tlx-choices{grid-template-columns:1fr 1fr}}
.tlx-back{display:inline-flex;align-items:center;min-height:var(--tl-tap);font-weight:600;color:var(--tl-primary)}
.tlx-privacy{color:var(--tl-muted);font-size:var(--tl-fs-base);margin:var(--tl-s-4) 0}
/* Knoppen: volledig uit base.css (zelfde maten als de site); op smalle schermen volle breedte */
@media (max-width:30rem){.tlx-btn{width:100%}}
/* Kaarten en resultaat (basis .tlx-card + meldingvarianten in base.css) */
.tlx-card{margin:var(--tl-s-4) 0}
.tlx-card h3{margin:0 0 .4rem;font-size:var(--tl-fs-lg);color:var(--tl-primary-ink)}.tlx-card p{margin:.3rem 0}
.tlx-card--strong{border:var(--tl-border) solid var(--tl-primary);border-top-width:6px}
.tlx-card--frame{display:flex;flex-direction:column;gap:var(--tl-s-3);align-items:flex-start}
.tlx-kicker{margin:0}
.tlx-lead{font-size:var(--tl-fs-lg);margin:.4rem 0;color:var(--tl-ink)}
.tlx-h3{font-size:1.3rem;margin:1.75rem 0 .5rem}
/* Resultaatkaart: prijs als groot getal, altijd met bron-regel eronder */
.tlx-price{margin:.25rem 0}.tlx-price__label{margin:0;color:var(--tl-muted);font-size:var(--tl-fs-base)}
.tlx-price__value{margin:.1rem 0;font-family:var(--tl-serif);font-weight:600;font-size:var(--tl-fs-num);line-height:1.1;color:var(--tl-primary);font-variant-numeric:tabular-nums}
.tlx-grid2 .tlx-price{background:var(--tl-tint-2);border:1px solid var(--tl-tint);border-radius:var(--tl-radius);padding:var(--tl-s-4)}.tlx-grid2 .tlx-price__value{font-size:1.6rem}
.tlx-price.is-unknown{background:var(--tl-bg);border-radius:var(--tl-radius);padding:var(--tl-s-4)}
.tlx-source,.tlx-note{margin:.2rem 0 0;font-size:var(--tl-fs-sm);color:var(--tl-muted)}.tlx-source a{color:var(--tl-muted)}
.tlx-subsidy{margin-top:var(--tl-s-4);padding-top:var(--tl-s-4);border-top:1px solid var(--tl-line)}
.tlx-grid2,.tlx-grid3{display:grid;gap:var(--tl-s-3)}@media (min-width:36rem){.tlx-grid2{grid-template-columns:1fr 1fr}.tlx-grid3{grid-template-columns:repeat(3,1fr)}}
.tlx-chips{display:flex;flex-wrap:wrap;gap:var(--tl-s-2);margin:0 0 var(--tl-s-2)}
.tlx-chip{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--tl-tap);padding:.35rem .9rem;border-radius:var(--tl-radius-pill);background:var(--tl-tint);color:var(--tl-primary-dark);font-weight:600;font-size:var(--tl-fs-base);text-decoration:none;border:0;cursor:pointer;font-family:inherit}
.tlx-chip__edit{font-weight:400;text-decoration:underline;font-size:.9rem;color:var(--tl-primary)}
.tlx-list{padding-left:1.2rem}.tlx-list li{margin:.4rem 0}
.tlx-providers{list-style:none;padding:0;margin:0}.tlx-providers .tlx-card{display:flex;gap:var(--tl-s-4);align-items:flex-start;margin:.6rem 0}
.tlx-num{flex:none;width:34px;height:34px;border-radius:50%;background:var(--tl-primary);color:var(--tl-on-dark);font-weight:700;display:grid;place-items:center}
.tlx-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin:var(--tl-s-4) 0 .4rem}
.tlx-muted{font-size:var(--tl-fs-base)}
.tlx-mailme{border:1px dashed var(--tl-line-strong);border-radius:var(--tl-radius);padding:.4rem 1.1rem;margin:var(--tl-s-4) 0}.tlx-mailme summary{cursor:pointer;font-weight:700;color:var(--tl-primary);min-height:var(--tl-tap);display:flex;align-items:center}
/* Help-regel (vorm: melding 'info' in base.css) */
.tlx-help{margin:1.75rem 0 0;font-size:1.05rem}.tlx-help p{margin:0}.tlx-help a{font-weight:700}
/* Formulieren (velden zelf in base.css) */
.tlx-form{display:flex;flex-direction:column;gap:.25rem}
.tlx-field,.tlx-fs{margin:.9rem 0}.tlx-fs{display:flow-root;margin-top:var(--tl-s-6)}.tlx-fs .tlx-chipopts{margin-top:.4rem}
.tlx-field label.tlx-check,.tlx label.tlx-check{font-weight:400;font-size:1.08rem}.tlx-fs legend,.tlx-field label,.tlx-label{display:block;font-weight:700;font-size:var(--tl-fs-md);margin:0 0 .2rem}
.tlx-opt{font-weight:400;color:var(--tl-muted)}
.tlx-input--short,.tlx input.tlx-input--short{max-width:10rem}
.tlx-row{display:grid;grid-template-columns:2fr 1fr;gap:var(--tl-s-3);align-items:end}@media (max-width:22rem){.tlx-row{grid-template-columns:1fr}}
.tlx-field.has-error,.tlx-fs.has-error{border-left:4px solid var(--tl-error);padding-left:.9rem}
.tlx-field.has-error input,.tlx-field.has-error textarea{border-color:var(--tl-error);border-width:3px}
.tlx-error{color:var(--tl-error);font-weight:700;margin:.15rem 0 .35rem;font-size:1.05rem}
.tlx-errsum{border:4px solid var(--tl-error);border-radius:var(--tl-radius);padding:var(--tl-s-4) 1.2rem;margin:var(--tl-s-4) 0}.tlx-errsum h2{margin:0 0 .4rem;font-size:1.3rem}.tlx-errsum a{color:var(--tl-error);font-weight:700}
.tlx-chipopts{display:flex;flex-wrap:wrap;gap:var(--tl-s-2)}
.tlx-chipopt input,.tlx-seg__opt input{position:absolute;opacity:0;width:1px;height:1px}
.tlx-chipopt span{display:inline-flex;align-items:center;min-height:var(--tl-tap);padding:.4rem 1.1rem;border-radius:var(--tl-radius-pill);border:var(--tl-border) solid var(--tl-line-strong);background:var(--tl-white);font-weight:600;cursor:pointer}
.tlx-chipopt input:checked+span{border-color:var(--tl-primary);background:var(--tl-tint)}.tlx-chipopt input:checked+span::before{content:"✓ ";margin-right:.25rem}
.tlx-chipopt input:focus-visible+span,.tlx-seg__opt input:focus-visible+span{outline:var(--tl-focus-w) solid var(--tl-focus);outline-offset:2px}
.tlx-check{display:flex;gap:.8rem;align-items:flex-start;font-weight:400;margin:.4rem 0;cursor:pointer;min-height:var(--tl-tap)}
.tlx-check input{flex:none;width:28px;height:28px;margin:.1rem 0 0;accent-color:var(--tl-primary)}
.tlx-check--card{padding:.8rem 0;border-bottom:1px solid var(--tl-line)}
.tlx-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.tlx-status{min-height:1.5em;font-weight:700;color:var(--tl-ok)}.tlx-promise{color:var(--tl-muted);margin:.5rem 0 0}
/* Segment-keuzes (calculators) */
.tlx-seg{margin:var(--tl-s-4) 0}.tlx-seg__opts{display:flex;flex-wrap:wrap;gap:var(--tl-s-2)}
.tlx-seg__opt span{display:inline-flex;align-items:center;min-height:var(--tl-btn-h);padding:.5rem 1.2rem;border:var(--tl-border) solid var(--tl-line-strong);border-radius:var(--tl-radius);background:var(--tl-white);font-weight:700;cursor:pointer}
.tlx-seg__opt input:checked+span{border-color:var(--tl-primary);background:var(--tl-primary);color:var(--tl-on-dark)}
.tlx-range{width:100%;height:var(--tl-tap);accent-color:var(--tl-accent)}
/* Tabellen: basis = element-tabel in base.css; hier alleen de stapelweergave op smalle schermen */
.tlx-table-wrap{overflow-x:auto}.tlx-table{margin:var(--tl-s-2) 0}
@media (max-width:30rem){.tlx-table:not(.tl-table--stack){border:0}.tlx-table:not(.tl-table--stack) thead{display:none}.tlx-table:not(.tl-table--stack) tr{display:grid;grid-template-columns:1fr 1fr;padding:.6rem 0;border-bottom:1px solid var(--tl-line)}.tlx-table:not(.tl-table--stack) tbody tr:nth-child(even){background:none}.tlx-table:not(.tl-table--stack) th[scope=row]{grid-column:1/3;border:0;padding:.2rem 0}.tlx-table:not(.tl-table--stack) td{border:0;padding:.1rem 0}.tlx-table:not(.tl-table--stack) td[data-label]::before{content:attr(data-label) " ";color:var(--tl-muted);font-size:.9rem}.tlx-table:not(.tl-table--stack) td:last-child{grid-column:1/3;font-size:var(--tl-fs-sm)}}
/* Datavisualisatie: reeks 1 blauw, reeks 2 amber, bandbreedte groen; labels muted, altijd tekst-alternatief */
.tlx-chart{margin:var(--tl-s-4) 0}.tlx-chart svg{width:100%;height:auto}.tlx-chart text{font-size:15px;fill:var(--tl-muted)}@media (max-width:30rem){.tlx-chart text{font-size:22px}}.tlx-chart figcaption{font-size:var(--tl-fs-sm);color:var(--tl-muted)}
.tlx-chart__grid{stroke:var(--tl-data-grid)}.tlx-chart__koop{stroke:var(--tl-data-1)}.tlx-chart__huur{stroke:var(--tl-data-2)}
.tlx-price__from{font-size:.6em;font-weight:400;color:var(--tl-muted)}.tlx-list--cols{columns:2 12rem;column-gap:var(--tl-s-5)}.tlx-list--cols li{break-inside:avoid}
.tlx-key{display:inline-block;width:14px;height:4px;border-radius:2px;margin:0 .35rem .2rem .6rem;vertical-align:middle}.tlx-key--blue{background:var(--tl-data-1)}.tlx-key--amber{background:var(--tl-data-2)}
.tlx-dl{display:grid;grid-template-columns:auto 1fr;gap:.3rem var(--tl-s-4);margin:.5rem 0}.tlx-dl dt{color:var(--tl-muted)}.tlx-dl dd{margin:0;font-weight:700}
/* Bedankt */
.tlx-tick{width:60px;height:60px;border-radius:50%;background:var(--tl-secondary);color:var(--tl-on-dark);font-size:2rem;display:grid;place-items:center}
.tlx-timeline{list-style:none;padding:0 0 0 1.1rem;border-left:3px solid var(--tl-line);margin:var(--tl-s-4) 0}.tlx-timeline li{margin:0 0 var(--tl-s-4);position:relative}
.tlx-timeline li::before{content:"";position:absolute;left:-1.55rem;top:.4rem;width:14px;height:14px;border-radius:50%;background:var(--tl-primary)}.tlx-timeline strong{color:var(--tl-primary)}
.tlx-checklist{padding-left:0;list-style:none}
.tlx-contact__opt{display:flex;flex-direction:column;gap:.2rem;text-decoration:none;color:var(--tl-ink);min-height:120px;width:100%;font:inherit;text-align:left;cursor:pointer;transition:border-color var(--tl-dur),box-shadow var(--tl-dur),transform var(--tl-dur) var(--tl-ease)} /* ook als <button>: geen browserlettertype */
.tlx-contact__opt span{font-size:var(--tl-fs-base);color:var(--tl-muted)}.tlx-contact__opt strong{color:var(--tl-primary);font-size:var(--tl-fs-lg)}.tlx-contact__opt:hover{border-color:var(--tl-primary);box-shadow:var(--tl-shadow);transform:translateY(-2px)}
/* Hulpknop en assistent */
.tlx-helpdock{position:fixed;right:var(--tl-s-4);bottom:var(--tl-s-4);z-index:var(--tl-z-dock);font-size:1.05rem}
.tlx-helpdock__btn{display:flex;align-items:center;gap:.5rem;min-height:var(--tl-field-h);padding:.6rem 1.2rem;border-radius:var(--tl-radius-pill);border:0;background:var(--tl-primary);color:var(--tl-on-dark);font-weight:700;font-size:1.05rem;font-family:inherit;box-shadow:var(--tl-shadow-lg);cursor:pointer}
.tlx-helpdock__btn span{width:28px;height:28px;border-radius:50%;background:var(--tl-accent);color:var(--tl-on-accent);display:grid;place-items:center}
.tlx-helppanel{position:absolute;right:0;bottom:68px;width:min(380px,calc(100vw - 2rem));max-height:min(78vh,640px);overflow:auto;background:var(--tl-white);border:1px solid var(--tl-line);border-radius:var(--tl-radius-lg);box-shadow:var(--tl-shadow-lg);padding:var(--tl-s-4) 1.1rem}
.tlx-helppanel header{display:flex;justify-content:space-between;align-items:center}.tlx-helppanel h2{font-size:var(--tl-fs-lg);margin:0}
.tlx-helppanel__close{width:var(--tl-tap);height:var(--tl-tap);border:0;background:none;font-size:1.8rem;cursor:pointer;color:var(--tl-muted)}
.tlx-helppanel__opts{display:grid;gap:var(--tl-s-2);margin:.6rem 0}
.tlx-helpopt{display:flex;flex-direction:column;padding:.75rem .9rem;border:var(--tl-border) solid var(--tl-line);border-radius:var(--tl-radius);text-decoration:none;color:inherit}.tlx-helpopt strong{color:var(--tl-primary)}.tlx-helpopt span{color:var(--tl-muted);font-size:var(--tl-fs-sm)}.tlx-helpopt{transition:border-color var(--tl-dur),background var(--tl-dur)}.tlx-helpopt:hover{border-color:var(--tl-primary);background:var(--tl-tint-2)}
.tlx-chat__intro{margin:.8rem 0 .4rem}.tlx-chat__log{list-style:none;padding:0;margin:.4rem 0;display:flex;flex-direction:column;gap:var(--tl-s-2)}
.tlx-msg{padding:.7rem .9rem;border-radius:14px;max-width:92%}.tlx-msg--user{align-self:flex-end;background:var(--tl-tint)}.tlx-msg--bot{background:var(--tl-bg)}
.tlx-msg__src{font-size:.9rem;color:var(--tl-muted)}.tlx-msg__handoff{display:grid;gap:.4rem}.tlx-typing{color:var(--tl-muted)}
.tlx-chat__suggest{display:flex;flex-wrap:wrap;gap:.4rem;margin:.4rem 0}
.tlx-chat__form{display:flex;gap:var(--tl-s-2);align-items:flex-end}.tlx-chat__form textarea{flex:1;min-height:var(--tl-field-h);padding:.6rem}.tlx-chat__form .tlx-btn{width:auto;padding:.6rem 1rem}
.tlx-chat__privacy{font-size:var(--tl-fs-xs)}
@media (max-width:60rem){.tlx-helpdock{bottom:5.5rem}} /* boven de vaste mobiele balk */
@media print{.tlx-helpdock,.tlx-help,.tlx-actions,.tlx-mailme,.tlx-back,.tlx-card--frame{display:none!important}.tlx{font-size:12pt}.tlx-choice{min-height:0}}
@media (prefers-reduced-motion:reduce){.tlx *{transition:none!important}}
.tlx-banner{background:var(--tl-ok-bg);color:var(--tl-ink);font-weight:700;padding:14px 0;border-bottom:1px solid var(--tl-line);font-size:1.05rem}
.tlx-msg__fb{margin:.4rem 0 0}.tlx-msg__fb button{min-height:var(--tl-tap);padding:.2rem .8rem;border:1px solid var(--tl-line-strong);border-radius:var(--tl-radius-pill);background:var(--tl-white);font:inherit;font-size:.9rem;cursor:pointer}
/* Eigen data: bewijsbibliotheek, feiten en cijfers, regelingen-tracker, prijsindex */
.tlx-ev{font-size:var(--tl-fs-sm)}
.tlx-study header{display:flex;flex-wrap:wrap;gap:var(--tl-s-2);align-items:center;margin:0 0 var(--tl-s-2)}
.tlx-study__find{font-size:var(--tl-fs-lg);margin:.2rem 0 .6rem}.tlx-study__limit{margin:0 0 .6rem}.tlx-study__src{margin:0;font-size:var(--tl-fs-base);color:var(--tl-muted)}
.tlx-statgrid{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(15rem,100%),1fr));gap:var(--tl-s-4)}
.tlx-statgrid .tlx-card{margin:0;display:flex;flex-direction:column;gap:.35rem;border-top:4px solid var(--tl-primary)}
.tlx-stat{font-family:var(--tl-serif);font-size:2.2rem;line-height:1.1;color:var(--tl-primary);font-variant-numeric:tabular-nums}
.tlx-pill{margin:0 .4rem}
.tlx-timeline__item time{display:block;font-weight:700;color:var(--tl-primary)}
.tlx-timeline__item--gestopt::before{background:var(--tl-muted)!important}.tlx-timeline__item--nieuw::before{background:var(--tl-accent)!important}.tlx-timeline__item--geldt::before{background:var(--tl-secondary)!important}
.tlx-timeline .tlx-h3{margin:.3rem 0 .2rem}
.tlx-faqlist{list-style:none;padding:0;margin:0 0 var(--tl-s-6)}.tlx-faqlist li{border-bottom:1px solid var(--tl-line)}.tlx-faqlist a{display:flex;align-items:center;padding:.6rem 0;min-height:var(--tl-tap);font-size:var(--tl-fs-md);text-decoration:none;color:var(--tl-primary)}.tlx-faqlist a::after{content:"→";margin-left:.4rem;color:var(--tl-accent-dark)}

/* Pflegegrad-Rechner, Eigen bijdrage, Wmo-brief */
.tlx-pg__mod{border-top:3px solid var(--tl-tint);padding-top:var(--tl-s-3)}.tlx-pg__mod>legend{font-size:1.3rem;color:var(--tl-primary-ink)}
.tlx-pg__modnr{display:inline-block;font-size:var(--tl-fs-xs);font-weight:700;letter-spacing:var(--tl-track-caps);text-transform:uppercase;color:var(--tl-secondary-ink);margin-right:.4rem}
.tlx-pg__q{margin:.9rem 0}.tlx-pg__q>legend{font-weight:700;font-size:var(--tl-fs-md);margin-bottom:.35rem}
.tlx-pg .tlx-seg__opt span{flex-direction:column;align-items:flex-start;justify-content:center;text-align:left}
.tlx-seg__opt small{display:block;font-weight:400;font-size:.9rem;color:inherit;opacity:.85}
.tlx-letter{background:var(--tl-white);border:1px solid var(--tl-line);border-radius:var(--tl-radius);padding:var(--tl-s-6) 1.4rem;margin:var(--tl-s-4) 0;font-family:var(--tl-serif);box-shadow:var(--tl-shadow-sm)}
.tlx-letter__title{font-family:inherit;font-size:1.15rem;color:var(--tl-muted);margin:0 0 var(--tl-s-4)}
.tlx-letter__body p{margin:0 0 .9rem}.tlx-letter__free{white-space:pre-wrap}.tlx-letter__sign{color:var(--tl-muted);margin-top:1.6rem!important}
.tlx-wb-f{background:var(--tl-accent-light);border-radius:4px;padding:0 .2rem}.tlx-wb-f.is-filled{background:none;padding:0}
.tlx-wb.is-live .tlx-letter__title{display:none}
@media print{body.tlx-print-letter *{visibility:hidden}body.tlx-print-letter .tlx-letter.is-active,body.tlx-print-letter .tlx-letter.is-active *{visibility:visible}
  body.tlx-print-letter .tlx-letter.is-active{position:absolute;left:0;top:0;width:100%;border:0;padding:0;box-shadow:none}.tlx-wb-f{background:none}}
.tlx [hidden]{display:none!important}
